Hi all,
With this (a bit large) patch, encrypting to only RSA v3 pubkeys,
signing with RSA v3 seckeys or symmetric encrypting with --rfc1991
selects a slightly different output format which is compatible with
PGP 2.6.3i and PGP 5.0i.
This patch automatically select the right format, cipher algo,
compression algo, hash algo based on the list of pubkeys and seckey
used. You can easily change this by requiring --rfc1991 to be present
before using the PGP 2.x format, but this will produce by default
files which at least PGP 2.6.3i and PGP 5.0i can't grok. This is IMHO
a bad thing, since people who didn't bothered to generate an
DSA/ElGamal key pair are probably still using PGP 2.x, for example to
use the type 1 remailer network (which is still heavly based on PGP
2.x format).
PGP 2.6.3i and PGP 5.0i needs an exact byte count in nearly all
packets (encrypted data packet, compressed packet, litteral data
packet), so GPG needs to use temp files to compute those
lengths.
Additionaly, I've found that PGP 2.6.3i and 5.0i put the signature
packet *before* the litteral data packet in an encrypted and signed
file, and cannot verify the signature if it's after the litteral data
packet like GPG does (in fact PGP 2.6.3i don't see the signature, and
PGP 5.0i think it's a detached signature...). The pach use another=20
temp file to swap those packets.
I also added textmode support in the symmetric encrypting code and in
the store code (this is not related to PGP 2.x compatibility, but it
doesn't hurt :-).
PS: I've done all tests using the Debian PGP 2.6.3i and 5.0i
packages. I didn't had time to test the files produced by PGP 5.5.3i
or 6.0.2i as I don't have a win32 box handy.
--
RĂ©mi <rguyom@mail.dotcom.fr> | Don't waste your computer's time :
PGP-encrypt anything important: | http://www.distributed.net/
www.gnupg.org - KeyID:0x85BD8B1B | http://www.distributed.net/cores/
With this (a bit large) patch, encrypting to only RSA v3 pubkeys,
signing with RSA v3 seckeys or symmetric encrypting with --rfc1991
selects a slightly different output format which is compatible with
PGP 2.6.3i and PGP 5.0i.
This patch automatically select the right format, cipher algo,
compression algo, hash algo based on the list of pubkeys and seckey
used. You can easily change this by requiring --rfc1991 to be present
before using the PGP 2.x format, but this will produce by default
files which at least PGP 2.6.3i and PGP 5.0i can't grok. This is IMHO
a bad thing, since people who didn't bothered to generate an
DSA/ElGamal key pair are probably still using PGP 2.x, for example to
use the type 1 remailer network (which is still heavly based on PGP
2.x format).
PGP 2.6.3i and PGP 5.0i needs an exact byte count in nearly all
packets (encrypted data packet, compressed packet, litteral data
packet), so GPG needs to use temp files to compute those
lengths.
Additionaly, I've found that PGP 2.6.3i and 5.0i put the signature
packet *before* the litteral data packet in an encrypted and signed
file, and cannot verify the signature if it's after the litteral data
packet like GPG does (in fact PGP 2.6.3i don't see the signature, and
PGP 5.0i think it's a detached signature...). The pach use another=20
temp file to swap those packets.
I also added textmode support in the symmetric encrypting code and in
the store code (this is not related to PGP 2.x compatibility, but it
doesn't hurt :-).
PS: I've done all tests using the Debian PGP 2.6.3i and 5.0i
packages. I didn't had time to test the files produced by PGP 5.5.3i
or 6.0.2i as I don't have a win32 box handy.
--
RĂ©mi <rguyom@mail.dotcom.fr> | Don't waste your computer's time :
PGP-encrypt anything important: | http://www.distributed.net/
www.gnupg.org - KeyID:0x85BD8B1B | http://www.distributed.net/cores/