Báo cáo Mã hoá khoá Phi đối xứng (AntiSymetric Encryption) Mã hoá khoá Công khai 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 GIỚI THIỆU CHUNG VỀ MẬT MÃ KHÓA CÔNG KHAI
Trang 1Mã 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
Trang 2NỘ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
Trang 3 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
Trang 4GIỚ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ó
Trang 5CÁ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
Trang 6 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
Trang 7 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
Trang 8Hệ 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
Trang 9Hệ mật rsa
CÁC HỆ MẬT KHÓA CÔNG KHAI
Trang 10 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
mod
k
K y p
1 k mod
C a p
2 mod
C K M p
Hệ mật elgamal
CÁC HỆ MẬT KHÓA CÔNG KHAI
Trang 11 Để 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 để
.
1xmod k x mod
K C p a p
1
2 mod
mod
x
Hệ mật elgamal
CÁC HỆ MẬT KHÓA CÔNG KHAI
Trang 12Hệ 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
Trang 13GIẢ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í)
Trang 14So 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
Trang 15 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
Trang 16DEMO