CHƢƠNG 1 TỔNG QUAN
2.2. GIAO THỨC THỎA THUẬN KHÓA DIFFIE HELLMAN (DH)
2.2.5. Ví dụ bằng số minh họa
1. Alice và Bob thống nhất với nhau chọn số nguyên tố p = 37 và g = 5. 2. Alice chọn một giá trị ngẫu nhiên bất kỳ aA = 7 và bí mật aA.
Sau đó Alice gửi bA = 18 cho Bob.
3. Bob chọn một giá trị ngẫu nhiên bất kỳ aB = 5 và bí mật aB Bob tính bB = 55 mod 37 = 17.
Sau đó Bob gửi bB = 17 cho Alice.
4. Bob nhận đƣợc bA = 18 và tính khóa chung: KB = 184 mod 37=15, và bí mật KB
5. Alice nhận đƣợc bB =17 và tính khóa chung: KA = 177 mod 37=15, và bí mật KA
2.2.6 Các đặc điểm đặc trƣng của giao thức thảo thuận khóa Diffie – Hellman
Giao thức là an toàn đối với việc thụ động, nghĩa là một ngƣời thứ b dù biết bA và bB sẽ khó mà biết đƣợc KA, B.
Xét ví dụ:
1. Alice và Bob thống nhất với nhau chọn số nguyên tố p = 17 và g = 2. 2. Alice chọn một giá trị ngẫu nhiên bất kỳ aA = 6 và bí mật aA.
Sau đó A ice gửi bA = 13 cho Bob.
3. Bob chọn một giá trị ngẫu nhiên bất kỳ aB = 9 và bí mật aB Bob tính bB = 29 mod 17 = 2.
Sau đó Bob gửi bB = 2 cho Alice.
4. Bob nhận đƣợc bA = 13 và tính khóa chung: KB = 139 mod 17=13, và bí mật KB
5. Alice nhận đƣợc bB = 2 và tính khóa chung: KA = 26 mod 17=13, và bí mật KA
Eve là một kẻ nghe trộm – cơ ta theo dõi những gì Alice và Bob gửi cho nhau nhƣng không thể thay đổi nội dung các cuộc liên lạc.
Eve muốn tái thiết lại những thông tin bảo mật mà Alice và Bob chia sẻ cho nhau.
Eve sẽ phải đối mặt với một nhiệm vụ thực sự khó khăn.
Dƣới đây là các biểu đồ giúp xác định ai biết đƣợc giá trị nào. (Eve là một kẻ nghe trộm).
Ta thấy Eve rơi vào tình thế tiến thối lƣỡng nam. Cô ấy biết đƣợc giá trị của bA, bB vì vậy cơ ấy biết đƣợc A
a
g , aB
g . Cô ấy cũng biết những giá trị của
g và p, nhƣng lại không biết đƣợc các giá trị của aA, aB và KA, B.
Đây chính là bài tốn Diffie - Hellman mà khi biết bA, bB tìm KA, B, bài tốn này tƣơng đƣơng với bài toán phá mã ElGammal. Bây giờ ta đi chứng minh điều này.
- Phép mật mã ElGammal với khố K = (p, g, a, β), trong đó β = ga mod p cho t từ một bản rõ x và một số ngẫu nhiên k ∈ Zp-1 lập đƣợc mật mã eK(x, k) = (y1, y2) với y1 = gk mod p, y2 = xβk mod p. Và phép giải mã đƣợc cho bởi y1 = gk mod p. Giả sử ta có thuật tốn A giải bài toán Diffie-Hellman. Ta sẽ dùng A để phá mã ElGammal nhƣ sau:
Cho mật mã (y1, y2). Trƣớc tiên, dùng A cho y1 = gk mod p và β = ga mod p ta đƣợc A(y1,B) = gka = βk mod p. Sau đó, ta thu đƣợc bản rõ x từ βk và y2 nhƣ sau:
x = y2(βk)-1 mod p.
, tức là 1 1 2 2 1 ( , , , , ) a mod B p g y y x y y p . Áp dụng B cho β = bA, y1 = bB, y2=1, ta đƣợc 1 1 1 ( , , , ,1) (1. aA ) a aA B A B B B p b b b
mod p tức giải đƣợc bài toán Diffie – Hellman.
Trên thực tế các giá trị của p, aA, aB là rất lớn. Nếu p là số nguyên tố có ít nhất 300 chữ số, aA và aB có ít nhất 100 chữ số thì thậm chí ngay cả thuật tốn tốt nhất đƣợc biết đến hiện nay cũng không thể giải đƣuợc nếu chỉ biết g, p, bA, bB kể cả khi sử dụng tất cả khả năng tính tốn của nhân loại. Bài tốn này cịn đƣợc biết đến với tên gọi bài toán logarit rời rạc. Bài tốn logarit rời rạc vẫn cịn đang gây rất nhiều tranh cãi và chƣa có thuật giải cụ thể nào.