4. Tổng quan luận văn
1.3.3 Các nguyên lý của hệ mật khoá công khai
Năm 1976, Diffie và Hellman công bố một phát triển mới mang tên “các phƣơng hƣớng mới trong mật mã” (new directions in cryptography). Công trình đề xuất một dạng mới của hệ thống mật mã, trong đó ngƣời gửi và ngƣời nhận sử dụng các khoá mã khác nhau nhƣng có mối liên hệ với nhau, và một trong hai khoá đó đƣợc giữ bí mật. Bên nhận dữ liệu giữ một khoá bí mật cho phép
giải mã với khoá đó, còn bên gửi sử dụng một khoá khác tƣơng ứng với khoá bí mật trên để mã hoá dữ liệu, khoá đó gọi là khoá công khai. Hệ thống dùng khoá nhƣ vậy gọi là hệ thống “không đối xứng” bởi vì nó bảo đảm bí mật cho việc truyền tin chỉ một chiều, muốn thiết lập bí mật truyền tin theo chiều ngƣợc lại phải sử dụng một cặp khoá khác [1], [4], [5].
Để dùng một hệ thống mật mã khoá công khai trong một hệ thống có n cá thể cùng trao đổi các thông tin mật. Mỗi cá thể chọn cho mình một khoá lập mã ki và một hàm mã hoá
i
k
E đƣợc thông báo công khai. Nhƣ vậy có n khoá lập mã đƣợc công khai k1, k2,…,kn. Khi cá thể thứ i muốn gửi thông điệp cho cá thể thứ j: mỗi chữ trong thông điệp đƣợc số hoá, nhóm thành từng “khối” với độ dài nào đó. Mỗi khối P trong văn bản đƣợc mã hoá bằng khoá lập mã kj của cá thể thứ j (đã đƣợc thông báo công khai) dùng hàm mã hoá Ej, và gửi đi dƣới dạng:
C = Ekj(P).
Để giải mã thông điệp này, cá thể thứ j chỉ cần dùng khoá riêng của mình (chỉ một mình cá thể j biết khoá này) với hàm giải mã
j k D : j k D (C) = Dkj(Ekj(P)) = P Bộ ( j k E , j k
D ) là cặp khoá của cá thể j, trong đó:
j
k
E : là khoá lập mã. (khoá công khai)
j
k
D : là khoá giải mã (khoá riêng hay còn gọi là khoá bí mật)
Nhƣ vậy, các thuật toán khoá công khai sử dụng một khoá riêng để mã hoá và một khoá chung khác để giải mã (tạo thành một cặp khoá), chúng có các tính chất và đặc điểm quan trọng sau:
(i) Không cần phải thiết lập một kênh bảo vệ với những thể thức phức tạp, rƣờm rà để truyền khoá nhƣ trong hệ mã bí mật (mật mã đối xứng). (ii) Cặp khoá công khai đƣợc tạo ra theo một phƣơng pháp đặc biệt có
quan hệ với nhau và đƣợc chọn trong nhiều khoá có thể (trong đó nếu khoá này dùng để mã hoá thì khoá kia dùng để giải mã).
Hình 1.2 Sơ đồ khối nguyên lý hoạt động của mật mã khoá công khai.
Trong đó:
Ks gọi là mầm khoá hay còn gọi là khoá khởi thảo đƣợc chọn theo phƣơng pháp ngẫu nhiên.
Hai thuật toán F, G dùng để tính toán các khoá. Bên nhận dùng hai thuật toán F và G cùng với mầm khoá ks để tạo ra hai khoá: khoá giải mã kd bí mật đƣợc giữ lại sử dụng riêng cho mình và khoá ke công khai gửi cho bên gửi để mã hóa tin gửi cho mình.
P là bản tin rõ, C là bản mã.
Eke: thuật toán mã hoá với khoá công khai ke,
d
k
D : thuật toán giải mã với khoá bí mật kd (hai thuật toán E và D là đồng nhất, sở dĩ các kết quả mà chúng đƣa ra khác nhau là vì khoá mã ke và kd khác nhau).