CHƯƠNG 1 : XÁC THỰC TRONG MẠNG VÔ TUYẾN
1.2. Cơ bản về mật mã học
1.2.2.2. Hệ mã hóa Diffie-Hellman
Hệ mã hóa Diffie-Hellman có cơ sở tốn học từ bài tốn 1 chiều của logarit rời rạc. Bài toán lograrit rời rạc được phát biểu như sau: Cho số nguyên tố p, số y và g, tìm số nguyên x thỏa mãn:
mod
x
yg p
Việc tính ra y khi biết g, x và p là rất dễ dàng, nhưng việc tìm ra x từ y, g, và p là rất khó.
Hệ mã hóa Diffie-Hellman được cơng bố lần đầu tiên bởi 2 nhà toán học Whitfield Diffie và Martin Hellman năm 1976. Thuật toán Diffie-Hellman được thiết kế nhằm phục vụ việc trao đổi khóa giữa 2 thực thể truyền thơng qua mơi trường khơng an tồn. Theo đó 2 thực thể truyền thơng khơng cần phải gặp trực tiếp nhưng vẫn có thể thực hiện trao đổi khóa một cách an tồn và bí mật.
2 thực thể truyền thông Alice và Bob khi thực hiện trao đổi khóa Diffie- Hellman sẽ thực hiện các bước sau:
Alice chọn 1 số nguyên tố p và một số nguyên cơ sở g. Alice chọn số
nguyên xa, sau đó tính được xamod
a
y g p. Sau đó Alice cơng bố khóa
cơng khai (ya, p, g) và giữ lại khóa bí mật (xa,p,g), khóa cơng khai sẽ được gửi cho Bob.
Bob chọn ra một số nguyên bí mật xb, sau đó tính được xbmod
b
y g p,
sau đó gửi lại cho Alice số yb.
Alice tính tốn ra được khóa chia chung xamod
b
a
K y p, Bob cũng sẽ
tính được khóa chia chung xbmod
a
b
K y p. Khóa Ka và Kb là 2 khóa chia
sẻ giữa Alice và Bob, được tính tốn độc lập với nhau và bằng nhau. Thật vậy
mod mod amod mod bmod
a b a x x x x x a b b K y p g p p g p pK