BÀI 4 MỘT SỐ VẤN ĐỀ VỀ MẬT MÃ KHÓA CÔNG KHAI HỆ MẬT MÃ KHÓA CÔNG KHAI 1 MẬT MÃ KHÓA BÍ MẬT Nhắc lại kiến thức bài cũ “Mật mã khóa bí mật” Mật mã khóa bí mật là một loại hình mật mã mà trong đó khóa mã hóa có thể tính toán được từ khóa giải mã và ngược lại Trong đa số các trường hợp thì cả hai khóa là giống nhau Đặc trưng của mật mã khóa bí mật Khoá lập mã ,dịch mã là như nhau hoặc dễ dàng suy ra nhau Chỉ người gửi và nhận mới biết khoá lập mã và khoá dịch mã, và thỏa thuận trước khi liên lạc Phả.
Trang 1HỆ MẬT MÃ KHÓA CÔNG KHAI
Trang 2MẬT MÃ KHÓA BÍ MẬT
Trang 3Hệ mật Elgamal
Hệ mật RSA
Tổng quan về Mật mã khóa công khai
Hệ mật khác
Trang 4Tổng quan về Mật mã khóa công khai
1.1 Lịch sử ra đời
Mật mã khóa bí mật có những hạn chế…
Sự phát triển của khoa học kỹ thuật thúc đẩy sự phát triển của ngành mật mã
1976 ý tưởng của hệ mật công khai được Diffie và Hellman đưa ra
1977 Rivest, Shamir và Adleman đưa ra hệ mật khoá công khai đầu tiên đó là hệ mật RSA
Và kể từ đó có một số hệ mật khác được công bố, độ mật của chúng dựa trên bài tính toán khác nhau, như dựa trên
độ khó của bài toán phân tích thành nhân tử như hệ mật RSA, dựa vào độ khó logarithm rời rạc như hệ mật ElGamal, hay dựa trên đường cong Elliptíc
Trang 51.2 Các thành phần và nguyên tắc hoạt động
- Bản rõ: thông điệp có thể đọc, đầu vào của giải thuật
- Giải thuật mật hóa: Là các thủ tục tính toán, sử dụng để che dấu thông tin Thuật toán càng phức tạp thì bản
mã càng an toàn
- Khóa công khai và bí mật: một cặp khóa được chọn sao cho 1 khóa dùng để mã hóa và 1 khóa dùng để giải
mã
- Bản mã: thông điệp đầu ra ở dạng không đọc được, phụ thuộc vào bản rõ và khóa
- Giải thuật giải mật: Là các thủ tục tính toán, sử dụng để làm rõ thông tin
Trang 71.3 Ưu điểm, nhược điểm
Ưu điểm:
Khoá công khai có thể công khai cho mọi người
Độ an toàn cao
Việc phân phối, quản lý khoá sẽ dễ dàng hơn
Không phải trao đổi khoá trước khi liên lạc.Nhược điểm:
Tốc độ chậm hơn hệ mật khoá bí mật
Trang 81.4 Một số kỹ thuật phân phối khoá công khai
a. Thông báo công khai khoá công khai
Mỗi người dùng của hệ mật khoá công khai có thể gửi hoặc phát khoá công khai của anh ta cho mọi người dùng khác trên mạng
Hạn chế cơ bản của kỹ thuật này là bất kỳ ai cũng có thể giả mạo thông báo công khai này Bất kỳ ai cũng đóng giả một người dùng A khác và gửi khoá công khai đi với tư cách là A Mọi thông tin gửi đến A đều bị nghe trộm thậm chí cả khoá xác thực cũng bị giả mạo
Trang 9b Thư mục chung khoá công khai
Trang 10c Thẩm quyền khoá công khai
Trang 11d Tham quyền chứng chỉ
Trang 12DỊCH VỤ VÍ ĐIỆN TỬ (DIGITAL CASH)
Trang 13CÁC GIAO DỊCH CHỨNG KHOÁN
Company Logo
Trang 14BÀI 4 : MỘT SỐ VẤN ĐỀ VỀ MẬT MÃ KHÓA CÔNG KHAI
Hệ mật RSA
Trang 151 Lịch sử ra đời
- 1977 Rivest, Sharmir, Adleman của trường MIT đã đề ra hệ mật mã công khai dựa trên cơ sở tính các luỹ thừa
trong số học là RSA
Trang 162 Quá trình tạo khoá của hệ RSA
Người dùng sinh khoá công khai và khoá bí mật của mình bằng 6 bước sau:
B1 Chọn 2 số nguyên tố lớn ngẫu nhiên p và q
B2.Tính tích của nó N = p * q
B3 Tính giá trị hàm Phi Euler của n: ϕ(n) = (p-1)(q-1)
B4 Chọn số nguyên d ( 0 < d < ϕ(n)) sao cho ước số chung lớn nhất của d và ϕ(n) bằng 1.B5 Tính giá trị e thoả mãn ≡ mod ϕ(n)
B6 Khóa công khai bao gồm: n và e
Khóa mật:d còn p,q và thường là xóa sau khi tính toán khóa.
Trang 173 Quy trình mã hoá
Giả sử B muốn gửi đoạn thông tin m<n cho A, thì B tính bản mã như sau C = me mod n
Cuối cùng B gửi c cho A.
4 Quy trình giải mã
A nhận c từ B và khóa bí mật d Alice có thể tìm được m từ c theo công thức sau: M = Cd mod n
Trang 18E= 5851898625
Trang 196 Một số chú ý quan trọng
An ninh: Để phá hệ mật RSA, từ khoá mã e và n công khai người mã thám phải tìm ra được khoá dịch bí mật d
Vì d ≡ e-1 mod ϕ(n) nên để tính d mã thám phải tính được ϕ(n) Mà ϕ(n) = (p-1)(q-1) nên để tính ϕ(n) mã thám phải biết p và q Tức là mã thám sẽ phải giải bài toán phân tích n thành tích của hai thừa số nguyên tố p và q Đây là bài toán khó giải, với n đủ lớn thời gian để giải nó là vô cùng lớn
Tốc độ: Tốc độ chậm
Chiều dài khóa: Số n cần phải có kích thước không nhỏ hơn 512 bít.
Trang 20Chọn tham số công khai:
Để nâng cao tốc độ mã hóa, thì chúng ta nên chọn e với giá trị không lớn, thường là 3, 7 Các số này khi biểu diễn ở dạng nhị phân chỉ có 2 chữ số 1, nên khi thực hiện lệnh lũy thừa sẽ giảm đi lệnh nhân
Trang 21BÀI 4 : MỘT SỐ VẤN ĐỀ VỀ MẬT MÃ KHÓA CÔNG KHAI
Hệ mật Elgamal
Trang 221 Lịch sử ra đời
1984 Hệ mật Elgama hình thành trên cơ sở bài toán logarith rời rạc Chuẩn chữ ký điện tử của Mỹ và Nga hình thành trên cơ sở hệ mật này
2 Quá trình tạo khoá hệ Elgama
Quá trình hình thành khóa như sau:
B1 Chọn số nguyên tố đủ lớn p có chiều dài là k sao cho bài toán logarithm trong là khó giải
B2 Chọn g là phần tử nguyên thủy của p Chọn x là số ngẫu nhiên sao cho 1<x<p
B3 Tính giá trị y thỏa mãn công thức: y = gx mod p
Khoá mật là x, còn khoá công khai là 3 số (g, p, y)
Trang 245 Ví dụ
P= 707933G= 203X= 765Y= 371696
Trang 26Hệ mật khác
Trang 28The end !