Cryptography Reference
In-Depth Information
3. Alice generates the message m , and the digital signature d A ( h ( m )) is formed
as in the authentication protocol described on page 274. However, the
public-key identifier, I e A , her public-key identifier from the signature com-
ponent of the message (see part 2 on page 279), must be appended to the
signature since Bob must know which public key is intended for use given
that Alice could have many private keys.
4. The PGP program uses a random-number generator to create a session key
k , as above, and forms E k ( m ).
5. The PGP program gets e B , Bob's public key from Alice's public-key ring
using ID B (for example, BOB@PGPpublicRing.ca ) as an index.
6. Then the PGP program forms e B ( m ), and ( e B ( k ) ,E k ( m )) is sent to Bob.
7. Upon reception, the PGP program obtains Bob's encrypted private key, d B ,
from his own private key ringusing I e B , from the session key component
of the message (see part 1 on page 279), as an index.
8. The PGP program requests Bob's passphrase, which he delivers, and de-
crypts to get the session key, k , which is used to recover the message
( d A ( h ( m )) ,m ).
9. The PGP program gets e A from Bob's public key ring, using I e A from the
signature component of the message (see part 2 on page 279), as an index.
This is used to recover the h ( m ) sent by Alice.
10. The PGP program computes h ( m ) from Alice's sent message m , and
compares it to the h ( m ), sent by Alice for authentication.
In step 4 above, we mentioned the PGP random-number generation (PG-
PRNG). We will not describe the algorithm here since it is based upon the
ANSI X9.17 algorithm, which is described in detail in Appendix B (see page
506). However, before we turn to diagrams illustrating the details of the PGP
message scheme in action, there are some features of the PGPRNG that deserve
to be elucidated. PGPRNG generates random numbers from the content and
timingof keystrokes. This provides an intricate and formidable scheme for gen-
eratingboth random and pseudorandom numbers. The PGP mechanism uses
the random-number generation for initial seed inputs to PRNGs (see page 151);
an alternative input duringthe actual operation of a PRNG; and the generation
of RSA key pairs. The PGPRNG generates pseudorandom numbers for session
key generation (see page 275); and to generate an IV for CFB mode (see pages
135 and 275). The PGPRNG employs a 256-byte buffer of random bits in the
followingfashion. When the PGPRNG anticipates a keystroke, it records the
time in 4-byte configuration, then it waits. When it receives the keystroke,
it records the time the key was pressed and the byte value of the keystroke.
This information is used to generate a key, and this key is used to encipher the
current value of the random-bit buffer.
Search WWH ::




Custom Search