Mã hoá khoá Phi đối xứng (AntiSymetric Encryption)
Mã hoá khoá Công khai
ĐẠI HỌC CÔNG NGHỆ
Học viên: Trần Ngọc Sơn
HỆ THỐNG THÔNG TIN
Đề tài:
Giảng viên: PGS.TS Trịnh Nhật Tiến
MSHV: 13025094
Lớp: k20-HTTT
NỘI DUNG
16/05/2014
GIỚI THIỆU CHUNG VỀ MẬT MÃ KHÓA CÔNG KHAI
CÁC HỆ MẬT KHÓA CÔNG KHAI
GIẢI PHÁP VẤN ĐỀ AN TOÀN TRONG MẬT MÃ KHÓA
CÔNG KHAI
DEMO
Gắn liền với các bên truyền tin chứ không gắn với các
cặp truyền tin
Mỗi bên tham gia truyền tin sẽ có hai khóa, một khóa
gọi là khóa bí mật (Ks) và một khóa gọi là khóa công
khai (Kp)
GIỚI THIỆU CHUNG VỀ MẬT MÃ KHÓA CÔNG KHAI
16/05/2014
• 1976 Diffie và Hellman
GIỚI THIỆU CHUNG VỀ MẬT MÃ KHÓA CÔNG KHAI
16/05/2014
• Các yêu cầu đối với một hệ mật mã khóa công khai bao gồm:
Việc sinh Kp, Ks phải dễ dàng;
Việc tính E(Kp, M) là dễ dàng;
Nếu có C = E(Kp, M) và Ks thì việc tìm bản rõ cũng là dễ;
Nếu biết Kp thì việc dò tìm Ks là khó;
Việc khôi phục bản rõ từ bản mã là khó.
Kp
Ks
CÁC HỆ MẬT KHÓA CÔNG KHAI
Hệ mật RSA
Hệ mật McEliece
Hệ mật ElGamal
Hệ mật Chor-Rivest
Hệ mật trên các đường cong Elliptic
16/05/2014
16/05/2014
Hệ mật RSA.
Độ bảo mật của hệ RSA dựa trên độ khó của việc phân tích ra
thừa số nguyên tố các số nguyên lớn.
Hệ mật McEliece.
Hệ mật này dựa trên lý thuyết mã đại số và vẫn được coi là an
toàn. Hệ mật McEliece dựa trên bài toán giải mã cho các mã
tuyến tính.
Hệ mật ElGamal.
Hệ ElGamal dựa trên tính khó giải của bài toán Logarit rời rạc
trên các trường hữu hạn.
CÁC HỆ MẬT KHÓA CÔNG KHAI
16/05/2014
Hệ mật Chor-Rivest.
Hệ mật Chor-Rivest cũng được xem như một loại hệ mật xếp ba
lô. Tuy nhiên hệ mật này vẫn còn được coi là hệ mật an toàn.
Hệ mật trên các đường cong Elliptic.
Hệ mật trên các đường cong Elliptic là biến tướng của hệ mật
khác, chúng làm việc trên các đường cong Elliptic chứ không
phải trên các trường hữu hạn.
CÁC HỆ MẬT KHÓA CÔNG KHAI
Hệ mật rsa
16/05/2014
RSA được Rivest, Shamir và Adleman phát triển
Thuật toán được công bố vào năm 1977 tại Học viện Công nghệ
Massachusetts (MIT). Tên của thuật toán lấy từ ba chữ cái đầu của
tên ba tác giả.
CÁC HỆ MẬT KHÓA CÔNG KHAI
16/ 05/2014
Hệ mật rsa
CÁC HỆ MẬT KHÓA CÔNG KHAI
Hệ mã Elgamal là một biến thể của sơ đồ phân phối khóa Diffie-
Hellman - 1985 - bài toán logarit rời rạc
Ban đầu người ta chọn một số nguyên tố lớn p và hai số nguyên
tùy ý nhỏ hơn p là a (a là một phần tử nguyên thủy của Z*p) và x (x
là của người nhận, bí mật) sau đó tính:
Để mã hóa một thông điệp M (là một số nguyên trên Zp) thành
bản mã C người gửi chọn một số ngẫu nhiên k nhỏ hơn p và tính
khóa mã hóa K:
Sau đó tính cặp bản mã:
Và gửi bản mã C = (C1, C2) đi (chú ý là sau đó phải hủy K).
16/05/2014
x
mod y a p
mod
k
K y p
1
mod
k
C a p
2
. modC K M p
Hệ mật elgamal
CÁC HỆ MẬT KHÓA CÔNG KHAI
16/05/2014
Để giải mã thông điệp đầu tiên ta cần tính lại khóa mã hóa thông
điệp K:
Sau đó tính M bằng cách giải phương trình sau đây:
Như vậy, trong hệ mật ElGamal, khóa công khai của hệ mã là (p, a,
y), khóa bí mật là x.
Để thám hệ mật ElGamal khi biết bản mã và khóa công khai ,
người ta cần giải bài toán lôgarit rời rạc, cụ thể là tìm x để
.
1
mod mod
x k x
K C p a p
1
2
. mod M C K p
mod
x
a p y
Hệ mật elgamal
CÁC HỆ MẬT KHÓA CÔNG KHAI
Hệ mật trên các đường cong elliptic
16/05/2014
Xét phương trình Q = kP trong đó P, Q ϵ 𝐸
𝑝
(a, b) và k < p. Việc tính
Q nếu biết P và k là một bài toán dễ (thực hiện theo các công thức).
Nhưng việc xác định k với giá trị P, Q cho trước lại là bài toán khó.
Ví dụ: E23(9, 17) được xác định bởi phương trình
𝑦
2
mod 23 = (𝑥
3
+ 9𝑥+ 17) mod 23.
Với Q = (4, 5) và P = (16, 5) thì k thỏa mãn Q = kP sẽ bằng bao
nhiêu ? Phương pháp đơn giản nhất là nhân P lên nhiều lần cho tới
khi bằng Q:
P = (16, 5), 2P = (20, 20), 3P = P = (16, 5); 2P = (20, 20); 3P = (14,
14); 4P = (19, 20); 5P = (13, 10); 6P = (7, 3); 7P = (8, 7); 8P (12, 17);
9P = (4, 5).
Như vậy k = 9
CÁC HỆ MẬT KHÓA CÔNG KHAI
GIẢI PHÁP VẤN ĐỀ AN TOÀN TRONG MẬT MÃ KHÓA CÔNG KHAI
16/ 05/2014
Giải pháp để thực hiện tính toán trên số lớn
• Cần thực hiện các phép nhân (lũy thừa) modulo với
các số hàng trăm, hàng nghìn bít (số lớn)
• Sử dụng các thư viện có hỗ trợ thực hiện các phép tính
với các số lớn (bao gồm: thương mại, miễn phí)
So sánh các thư viện hỗ trợ tính toán số lớn
16/ 05/2014
Hiệu suất tính toán với các số nguyên trên nền tảng Linux
GIẢI PHÁP VẤN ĐỀ AN TOÀN TRONG MẬT MÃ KHÓA CÔNG KHAI
16/ 05/2014
Kết quả đánh giá
So sánh các thư viện hỗ trợ tính toán số lớn
GIẢI PHÁP VẤN ĐỀ AN TOÀN TRONG MẬT MÃ KHÓA CÔNG KHAI
DEMO