7. Ý NGHĨA KHOA HỌC VÀ THỰC TIÊN CỦA ĐỀ TÀI
1.3.2. Một số bài toán xây dựng hệ mật khóa công khai
Với yêu cầu với hệ mật khóa công khai: Dễ mã hóa, khó giải mã (Hàm một chiều), các hướng nghiên cứu từ năm 1976 cho đến nay đã tìm được 5 hàm một chiều, tương ứng với 5 bài toán [4].
1.3.2.1. Bài toán logarit rời rạc:
Bài toán này xây trên các hàm mũ của các phần tử trong trường hữu hạn
p
Z với p là số nguyên tố lớn. Bài toán ngược là phép logarit nhưng trên trường hữu hạn và đây là bài toán khó giải khi p lớn.
Các hệ mật liên quan bao gồm:
Thủ tục trao đổi và thỏa thuận khóa Diffie-Hellman
Hệ mật Omura – Massey
Hệ mật Elgamal…
1.3.2.2. Bài toán phân tích thừa số và hệ mật RSA
+ Định lý 1.1 (định lý cơ bản của số học) [4], [27], [30]: Cho n là một số nguyên tố, tồn tại phân tích duy nhất:
1 2 1e 2e ... ek k n p p p (1.17) Với: pi - số nguyên tố ei - số nguyên dương
Nếu n là tích của 2 số nguyên tố: n pq (p q, -là 2 số nguyên tố lớn thỏa mãn p q)
Đây là bài toán phân tích số nguyên tố lớn khó (tìm n đơn giản khi biết p q, , cho n rất khó tìm được p q, )
+ Hệ mật RSA (Rivest – Shamir – Adleman)
- Tạo khóa: Mỗi bên liên lạc (A,B) tạo cho mình một cặp khóa công khai –
bí mật theo các bước sau:
Bước 1: Chọn hai số nguyên tố lớn p và q có độ lớn tương đương. Bước 2: Tính n pq( )n (p1)(q1)
Bước 3: Chọn e ngẫu nhiên thỏa mãn: ( , ( )) 1e n
Bước 4: Tính d với ed 1mod ( ) n
Bước 5: + Khóa công khai: (n,e) + Khóa bí mật: d
trong đó: e là số mũ mã hóa; d là số mũ giải mã. Vai trò của e và d là như nhau (2 số nghịch đảo), tức là nếu mã hóa dùng e thì giải mã dùng d và ngược lại.
- Mã hóa: B cần gửi bản tin m cho A.
Bước 1: B nhận khóa công khai của A: (n,e) Bước 2: B tính Cmemodn
Bước 3: B gửi bản mã C cho A.
- Giải mã: A nhận C và giải mã ra m:
A tính Cd modn(me d) modnm
+ Nhận xét:
Thám mã phải thực hiện bài toán phân tích thừa số n pq thì mới tính được ( )n (nếu biết d muốn tìm e phải thỏa mãn điều kiện: ed 1mod ( ) n )
Hiệu quả truyền tin cao R1.
Hệ mật RSA được sử dụng rộng rãi hơn 30 năm qua.
1.3.2.3. Bài toán xếp ba lô
Bài toán xếp ba lô được xây dựng trên dãy siêu tăng, và hệ mật xây dựng trên bài toán này là hệ mật Merkle – Hellman. Đây là một trong các hệ mật bị thám mã nhanh nhất.
1.3.2.4. Bài toán mã sửa sai và hệ mật Mc. Eliece
Sử dụng mã sửa sai tuyến tính C n k d, , ; d 2t1 (với t là số sai sửa được). Ma trận sinh: Gk n và ma trận kiểm tra Hr n ;r n k; thỏa mãn: .G HT 0. Một trong những lớp mã này là mã Goppa, chúng được dùng làm cơ sở cho hệ mật Mc. Eliece.
1.3.2.5. Đường cong Elliptic và các hệ mật liên quan
Bài toán này được xây dựng trên các nhóm cộng của đường cong elliptic. đường cong Elliptic trên trường số thực có dạng sau:
2 3 2
y axybyx cx dxe
+ Đường cong Elliptic trên trường hữu hạn ZpGF p (Dạng Weiestrass)
2 3
mod
y x ax b p
Với xZp, nếu xZ*p thì x phải là thặng dư bậc hai. Điều kiện: tồn tại 3 2
4a 27b modp 0
Các hệ mật liên quan:
Trao đổi khóa Diffie-Helfman trên đường cong Elliptic.
Hệ mật Omura – Massey trên đường cong Elliptic
Hệ mật Elgamal trên đường cong Elliptic.