applied cryptography - protocols, algorithms, and source code in c

Implementing eke with elgamal implementing eke with

This preview shows page 1. Sign up to view the full content.

This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: a secret key. (1) Alice chooses a random large integer x and sends Bob X = gx mod n (2) Bob chooses a random large integer y and sends Carol Y = gy mod n (3) Carol chooses a random large integer z and sends Alice Z = gz mod n (4) Alice sends Bob Z´ = Zx mod n (5) Bob sends Carol X´ = Xy mod n (6) Carol sends Alice Y´ = Yz mod n (7) Alice computes k = Y´x mod n (8) Bob computes k = Z´y mod n (9) Carol computes k = X´z mod n The secret key, k, is equal to gxyz mod n, and no one else listening in on the communications can compute that value. The protocol can be easily extended to four or more people; just add more people and more rounds of computation. Extended Diffie-Hellman Diffie-Hellman also works in commutitive rings [1253]. Z. Shmuley and Kevin McCurley studied a variant of the algorithm where the modulus is a composite number [1442,1038]. V. S. Miller and Neal Koblitz extended this algorithm to elliptic curves [1095,867]. Taher ElGamal used the basic idea to develop an encryption and digital signature algorithm (see Section 19.6). This algorithm also works in the Galois field GF(2k) [1442,1038]. Some implementations take this approach [884,1631,1632], because the computation is much quicker. Similarly, cryptanalytic computation is equally fast, so it is important to carefully choose a field large enough to ensure security. Hughes This variant of Diffie-Hellman allows Alice to generate a key and send it to Bob [745]. (1) Alice chooses a random large integer x and generates k = gx mod n (2) Bob chooses a random large integer y and sends Alice Y = gy mod n (3) Alice sends Bob X = Yx mod n (4) Bob computes z = y-1 k´ = Xz mod n If everything goes correctly, k = k´. The advantage of this protocol over Diffie-Hellman is that k can be computed before any interaction, and Alice can encrypt a message using k prior to contacting Bob. She can send it to a variety of people and interact with them to exchange the key individually later. Key Exchange without Exchanging Keys If you have a community of users, each could publish a public key, X = gx mod n, in a common database. If Alice wants to communicate wit...
View Full Document

This note was uploaded on 10/18/2010 for the course MATH CS 301 taught by Professor Aliulger during the Fall '10 term at Koç University.

Ask a homework question - tutors are online