SLIDE 3 Encrypted Key Exchange Encrypted Key Exchange
Bellovin-Merritt Bellovin-Merritt
Problems:
Encoding of pk not often uniformly distributed in the ES plaintext space pk and c are rarely on the same space Nice exception: ElGamal (DH-EKE) on <g>
Many security analyses in the ROM, ICM, ...
sk, pk pk = DSπ(pk') r∈Μpk, c=EApk(r) Alice Bob Alice, pk' = ESπ(pk) Bob, c' = ESπ(c) SK=H(Alice, Bob, pk, c', r) Password π c=DSπ(c'), r=DAsk(c)
Open Key Exchange Open Key Exchange
Lucks Lucks
The public key pk is sent in clear: Requirements to avoid partition attacks:
ESπ must be a cipher from the ciphertext space under pk EApk must be a surjection
sk, pk r∈Μpk, c=EApk(r) kcorrect ? Alice Bob Alice, pk Bob, c' = ESπ(c) SK=H(Alice, Bob, pk, c', r) Password π c=DSπ(c'), r=DAsk(c) k=H'(Alice,Bob,r) k
Surjection: Necessary Surjection: Necessary
If not, given c', one eliminates the 's that lead to a c which is not in the image set of EApk: partition attack If yes, given c', any is possible: sending the correct k means guessing the good
sk, pk r∈Μpk, c=EApk(r) kcorrect ? Alice Bob Alice, pk Bob, c' = ESπ(c) SK=H(Alice, Bob, pk, c', r) Password π c=DSπ(c'), r=DAsk(c) k=H'(Alice,Bob,r) k
Efficient Implementation Efficient Implementation
Using the one-time pad, and bijections EApk = fpk and DAsk = gsk= fpk
fpk must be a bijection onto a group (Gpk, ) fpk must be “hard-to-invert” G must be a random function (RO) onto Gpk
sk, pk r∈Μpk, c=fpk(r) kcorrect ? Alice Bob Alice, pk Bob, c' = cG(π) SK=H(Alice, Bob, pk, c', π, r) Password π c=c'G(π), r=gsk(c) k=H'(Alice,Bob,r) k