From: Jon Callas <jon(_at_)pgp(_dot_)com>
At 08:04 AM 8/21/97 -0400, Tony Mione wrote:
4) It would be really helpful to use ascii-character box diagrams to
illustrate the CTB, packet length, and the assorted packet layouts (ala
older
IP/TCP RFCs). They look kind of old and crufty but can clear up a great
deal
of confusion when done correctly.
Thanks for the suggestion, I'll look at it.
I suggest something like the following:
5.1 Public-Key-Encrypted Symmetric-Key
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Content | Length* | Version |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PK-Identifier ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PK-Algorithm | Data ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Content (CTB) 0x85
Length* 2 bytes. Range 10 to 8191, beginning with
Version field.
Will PGP 2.6.2 generate a 2 byte length even
when a short (256 bit) RSA key is used??? Will
a 1 byte length be interpreted correctly by 2.6
and 5.0??? Need testing.
Version 1 byte. Indicates format. Valid values are:
(2) identical to format (3).
(3) current format described.
The change in version from (2) to (3) prevents
early releases of PGP from parsing output from
later releases, but has no other effect. See
"Version Fields" for details.
Public-Key-Identifier (PKID)
8 bytes. Aids in identifying the public key
used to encrypt the symmetric session key. See
"Public Keys" for details.
PK-Algorithm (PKA) 1 byte. The public-key algorithm used. See
"Public Keys" for details. Valid values are:
(1) RSA
Data variable. A string of octets that is the
encrypted symmetric session key.
This element is used in a message. One or more of these elements
precede a Symmetric-Key-Encrypted Data Element. The recipient of the
message finds a PK-Identifier that matches their public key, decrypts
the symmetric session key, and then uses the session key to decrypt
the Data Element.
WSimpson(_at_)UMich(_dot_)edu
Key fingerprint = 17 40 5E 67 15 6F 31 26 DD 0D B9 9B 6A 15 2C 32
BSimpson(_at_)MorningStar(_dot_)com
Key fingerprint = 2E 07 23 03 C5 62 70 D3 59 B1 4F 5E 1D C2 C1 A2