how vulnerable is "hidden-encrypt-to"

vedaal at nym.hush.com vedaal at nym.hush.com
Tue Aug 21 19:55:47 CEST 2012


On Tue, 21 Aug 2012 11:59:20 -0400 Jens Lechtenboerger 
<cloudpg at informationelle-selbstbestimmung-im-internet.de> wrote:

>Also, "different" would need to be random and of sufficient
>length...

=====

It is.  See RFC4880, 
(it's one of the 'MUST' implementations for all open-pgp's) 

http://tools.ietf.org/html/rfc4880

(specific sections will be quoted below)

=====

>I'm not concerned whether the average user can do this right now 
>or not.  I'm concerned about experts (that could also provide 
attack
>tools to average users).

=====

Even the experts should not be able to.
See the quoted sections below.


=====[ begin quoted sections ]=====


5.1.  Public-Key Encrypted Session Key Packets (Tag 1)

...

Note that when an implementation forms several PKESKs with one
session key, forming a message that can be decrypted by several 
keys,
   the implementation MUST make a new PKCS#1 encoding for each key.

...


7.2 RSAES-PKCS1-v1_5

* It is recommended that the pseudorandom octets in step 2 in
      Section 7.2.1 be generated independently for each encryption
      process, especially if the same data is input to more than 
one
      encryption process.  Haastad's results [24] are one 
motivation for
      this recommendation.

    * The padding string PS in step 2 in Section 7.2.1 is at least 
eight
      octets long, which is a security condition for public-key
      operations that makes it difficult for an attacker to recover 
data
      by trying all possible encryption blocks.

...
	  
13.1.1.  EME-PKCS1-v1_5-ENCODE

   Input:

   k  = the length in octets of the key modulus

   M  = message to be encoded, an octet string of length mLen, 
where
        mLen <= k - 11

   Output:

   EM = encoded message, an octet string of length k

   Error:   "message too long"

     1. Length checking: If mLen > k - 11, output "message too 
long" and
        stop.

     2. Generate an octet string PS of length k - mLen - 3 
consisting of
        pseudo-randomly generated nonzero octets.  The length of PS 
will
        be at least eight octets.

     3. Concatenate PS, the message M, and other padding to form an
        encoded message EM of length k octets as

        EM = 0x00 || 0x02 || PS || 0x00 || M.

     4. Output EM.


=====[ end quoted sections ]=====


vedaal

n.b.

If you are interested in looking into this rigorously further, I 
recommend you contact Professor Dan Boneh.

http://crypto.stanford.edu/~dabo/

(He is an authority on RSA, teaches a free online Cryptography 
course at Stanford University, and has a clear style and is 
reasonably accessible.)





More information about the Gnupg-users mailing list