Alice (khóa bí mật a) và Bob (khóa bí mật b) thực hiện trao đổi khóa Diffie–Hellman với tham số công khai p (số nguyên tố) và g. Alice tính A=gamodp và gửi cho Bob; giả sử giá trị A này không bị thay đổi trên đường truyền.
Về phía Bob, anh gửi giá trị công khai thật của mình cho Alice, nhưng một kẻ tấn công đứng giữa (MITM) đã chặn đường truyền và Alice thực nhận được giá trị Brecv (có thể trùng giá trị thật của Bob nếu không có tấn công, hoặc khác đi nếu bị giả mạo).
Với mỗi bộ (p,g,a,b,Brecv), hãy tính KA, KB và cho biết hai bên có thống nhất được khóa chung hay không (tức KA=KB hay không).
Ví dụ: p=23, g=5, a=6, b=15, Brecv=1 (giá trị 1 là kết quả kẻ tấn công thay vào). Ta có A=56mod23=8; KA=16mod23=1; KB=815mod23=2. Vì KA=KB nên kết quả là MISMATCH.
In ra T dòng, mỗi dòng gồm ba giá trị cách nhau một khoảng trắng: KA, KB và từ khóa MATCH nếu KA=KB, ngược lại MISMATCH.
Ví dụ:
Đầu vào:
1
23 5 6 15 1
Đầu ra:
1 2 MISMATCH
Đầu vào:
1
23 5 6 15 19
Đầu ra:
2 2 MATCH
Đang tải editor...