so knows m, n, she has no clue as to the exponent AB of the key. And since Alice and Bob chose large secret numbers, AB is also very large! For instance, if A and B are of the order of 1000, the exponent of the key is of the order of 000 000, representing a 20-bit key in the binary system. They might as well choose numbers in the order of 10000, which generate 100 000 00 different key possibilities (26-bit key). Note that from Alice's or Bob's ends, the whole procedure actually involves only two steps (1 and 3 and 2 and 4, respectively), which I have decomposed here for clarity. It is completely remarkable and counterintuitive that two persons can mutually agree on a secret key by openly exchanging information via a public communication channel (even an eavesdropped line!) without this secret ever being known. The Diffie-Hellman- Merkle algorithm of "key generation without key exchange" can even be generalized to 25.4 Cryptography without key exchange parties of three or more. Consider the following sequence with Alice, Bob, and Cindy, now grouped into simultaneous steps: Step 1 Alice chooses a large integer number A and keeps it secret; she computes a = m' A mod n and sends the result to Bob; Bob chooses a large integer number B and keeps it secret; he computes b = m B mod n and sends the result to Cindy; Cindy chooses a large integer number C and keeps it secret; she computes C = mc mod n and sends the result to Alice. Alice computes c' = CA mod n and sends the result to Bob; Bob computes a' = aB mod n and sends the result to Cindy; Cindy computes b' = bc mod n and sends the result to Alice. Step 3 Alice computes k = (b')^ mod Bob computes k' = (c')^ mod n; Cindy computes = (a')4 mod N. As immediately checked, the three results k, k', k", computed separately by Alice, Bob, and Cindy, are all identical to MABC, , which now represents their secret key. Note that the initial secret numbers A, B, C don't need to be as large as in the previous case. Numbers of the order of 1000 generate as many as 1 billion keys. Bu