Perform only asymmetric encryption/decryption
Erik Nellessen
erik.nellessen at informatik.hu-berlin.de
Mon Apr 11 10:49:32 CEST 2016
If I understand it correctly, --override-session-key does not allow me to set the session key before encryption. It allows me to set the session key when decrypting, so I can do it without using the private key. The option is used to reveal the content of messages without revealing the private key.
See: http://security.stackexchange.com/questions/115231/how-to-decrypt-a-message-using-only-session-key
But following this approach, I would need to be able to change the session key before encryption. So I think this does not solve the problem yet. Am I right? Any other ideas?
Kind regards,
Erik
Neal H. Walfield:
> On Sun, 10 Apr 2016 12:56:09 +0200,
> Erik Nellessen wrote:
>> No, this is not about encrypting large amounts of data with asymmetric encryption. ;) It is about encrypting and decrypting small strings, which are still way smaller than the public/private key. So I guess this could be possible using the interfaces for encrypting/decrypting a data encryption key. What is the best way in OpenPGP to encrypt/decrypt small strings using asymmetric encryption/decryption directly?
>
> You can extract the session key using --show-session-key and set the
> session key using --override-session-key
>
> $ echo | gpg2 --no-options -c | gpg2 --show-session-key -d
> gpg: session key: '7:7BF4443B3652BD25CEC2BA641135AC58'
>
> The format of the session key is algorithm id and the hex-encoded
> data.
>
> The created message has the following form:
>
> echo | gpg2 --no-options -c | gpg2 --list-packets
> # off=0 ctb=8c tag=3 hlen=2 plen=13
> :symkey enc packet: version 4, cipher 7, s2k 3, hash 2
> salt 6E31D6F821C697BD, count 24117248 (231)
> # off=15 ctb=d2 tag=18 hlen=2 plen=54 new-ctb
> :encrypted data packet:
> length: 54
> mdc_method: 2
> # off=36 ctb=a3 tag=8 hlen=1 plen=0 indeterminate
> :compressed packet: algo=1
> # off=38 ctb=cb tag=11 hlen=2 plen=7 new-ctb
> :literal data packet:
> mode b (62), created 1460360139, name="",
> raw data: 1 bytes
>
> That is, it has an SK-ESK packet and a symmetrically encrypted packet.
> You just want the SK-ESK, which should be relatively straightforward
> to extract. Unfortunately, IIRC, if GnuPG doesn't have an encrypted
> body, it won't show the session key when --show-session-key is used.
> But, this can be changed relatively easily.
>
> A more fundamental problem is that GnuPG will warn (or perhaps error
> out?) if the provided session key is weak.
>
> Good luck!
>
> :) Neal
>
More information about the Gnupg-users
mailing list