Bài giảng Mật mã ứng dụng: Hệ mật RSA - Đại học Bách khoa Hà Nội
lượt xem 5
download
Bài giảng "Mật mã ứng dụng: Hệ mật RSA" trình bày các nội dung chính sau đây: Mật mã khóa công khai; Xây dựng hệ mật mã khóa công khai dựa trên hàm cửa sập; Hệ mật mã RSA. Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Mật mã ứng dụng: Hệ mật RSA - Đại học Bách khoa Hà Nội
- Mật mã khóa công khai Hệ mật RSA
- Nội dung • Mật mã khóa công khai • Xây dựng hệ mật mã khóa công khai dựa trên hàm cửa sập • Hệ mật mã RSA
- Mật mã khóa công khai Bob: sinh cặp khóa (pk, sk) và đưa pk cho Alice Alice Bob m c c m E D pk sk
- Ứng dụng Thiết lập khóa phiên Alice pk Bob Sinh khóa (pk, sk) chọn x ngẫu nhiên E(pk, x) (VD. 48 bytes) x Ứng dụng không cần tương tác: (VD. Email) • Bob gửi email được mã hóa với pkalice cho Alice • Chú ý: Bob cần biết pkalice (quản lý khóa công khai)
- Nội dung • Mật mã khóa công khai • Xây dựng hệ mật mã khóa công khai dựa trên hàm cửa sập • Hệ mật mã RSA
- Mã hóa khóa công khai ĐN: một hệ mật mã khóa công khai là bộ ba thuật toán (G, E, D) • G(): thuật toán ngẫu nhiên output cặp khóa (pk, sk) • E(pk, m): thuật toán ngẫu nhiên nhận m∈M và output c ∈C • D(sk,c): thuật toán đơn định nhận c∈C và outputs m∈M hoặc ⊥ Tính đúng đắn: ∀(pk, sk) được sinh bởi G : ∀m∈M: D(sk, E(pk, m) ) = m
- Hàm cửa sập (Trapdoor functions - TDF) ĐN: hàm cửa sập X⟶Y là bộ ba thuật toán hiệu quả (G, F, F-1) • G(): thuật toán ngẫu nhiên output cặp khóa (pk, sk) • F(pk,⋅): thuật toán đơn định định nghĩa một hàm X ⟶ Y • F-1(sk,⋅): hàm từ Y ⟶ X tính nghịch đảo F(pk,⋅) Cụ thể: ∀(pk, sk) sinh bởi hàm G ∀x∈X: F-1(sk, F(pk, x) ) = x
- Hàm cửa sập an toàn (G, F, F-1) là an toàn nếu F(pk, ⋅) là hàm “một chiều” : có thể tính xuôi, nhưng không thể tính nghịch đảo mà không có sk Chal. Adv. A (pk,sk)¬G() R x⟵X pk, y ¬ F(pk, x) x’ ĐN: (G, F, F-1) là TDF an toàn nếu với mọi thuật toán hiệu quả A: AdvOW [A,F] = Pr[ x = x’ ] < “cực nhỏ”
- Xây dựng hệ mật khóa công khai từ TDFs • (G, F, F-1): TDF an toàn X ⟶ Y • (Es, Ds) : hệ mật mã khóa đối xứng an toàn trên (K,M,C) • H: X ⟶ K: hàm băm Ta xây dựng hệ mật khóa công khai (G, E, D): Sinh khóa G: giống như G cho TDF
- Hệ mật mã khóa công khai từ TDFs • (G, F, F-1): TDF an toàn X ⟶ Y • (Es, Ds) : hệ mã hóa đối xứng an toàn trên (K,M,C) • H: X ⟶ K: hàm băm E( pk, m) : D( sk, (y,c) ) : x ⟵ X, R y ⟵ F(pk, x) x ⟵ F-1(sk, y), k ⟵ H(x), c ⟵ Es(k, k ⟵ H(x), m ⟵ Ds(k, m) c) output (y, c) output m
- Sử dụng không đúng hàm Cửa sập (TDF) Không mã hóa bằng cách áp dụng F để mã hóa bản rõ: E( pk, m) : D( sk, c ) : output c ⟵ F(pk, m) output F-1(sk, c) Vấn đề: • Đây là hệ mã đơn định: không an toàn ! • Tồn tại nhiều cách tấn công
- Nội dung • Mật mã khóa công khai • Xây dựng hệ mật mã khóa công khai từ hàm cửa sập • Hệ mật mã RSA
- Nhắc lại: Số học modun hợp số Xét N = p×q với p,q là các số nguyên tố ZN = {0,1,2,…,N-1} ; (ZN)* = {các phần tử khả nghịch trong ZN} Bổ đề: x Î ZN là khả nghịch Û gcd(x,N) = 1 • Số các phần tử của (ZN)* là j(N) = (p-1)(q-1) = N-p-q+1 • Định lý Euler: " xÎ (ZN)* : xj(N) = 1
- Hoán vị cửa sập RSA Ronald Rivest, Adi Shamir, và Leonard Adleman Công bố: Scientific American, 8/1977. Được sử dụng rộng rãi trong: • SSL/TLS: chứng thư số và trao đổi khóa • e-mail và hệ thống file an toàn … và nhiều hệ thống khác
- Hoán vị cửa sập RSA G(): chọn hai số nguyên tố p,q »1024 bits. Đặt N=pq. chọn các số nguyên e , d thoả mãn e⋅d = 1 (mod j(N) ) output pk = (N, e) , sk = (N, d) F( pk, x ): ; RSA(x) = xe (in ZN) kj(N)+1 j(N) k F-1( sk, y) = yd ; yd = RSA(x) d ed = x = x = (x ) ×x = x
- Giả sử RSA Giả sử RSA: RSA là hoán vị “một chiều” Với mọi kẻ tấn công (thuật toán hiệu quả) A: [ Pr A(N,e,y) = y 1/e ] < “cực nhỏ” R ở đó p,q ¬ số nguyên tố n-bit, N¬pq, y¬ZN* R
- Nhắc lại: Hệ mật mã RSA (chuẩn ISO) (Es, Ds): hệ mật mã đối xứng an toàn. H: ZN ® K với K là không gian khóa của (Es,Ds) • G(): sinh tham số RSA : pk = (N,e), sk = (N,d) • E(pk, m): (1) chọn số ngẫu nhiên x thuộc ZN (2) y ¬ RSA(x) = xe , k ¬ H(x) (3) output (y , Es(k,m) ) • D(sk, (y, c) ): output Ds( H(RSA-1 (y)) , c)
- Textbook RSA là không an toàn Textbook RSA : • khóa công khai: (N,e) Mã hóa: c ⟵ me (in ZN) • khóa bí mật: (N,d) Giải mã: cd ⟶ m Hệ mật mã này không an toàn ! ⇒ Mã hõa trực tiếp với hoán vị cửa sập RSA không phải là sơ đồ an toàn !
- Một tấn công đơn giản textbook RSA CLIENT HELLO khóa phiên Web SERVER HELLO (e,N) Web d ngẫu nhiên k Browser c=RSA(k) Server Giả sử k là 64 bit: k Î {0,…,264}. Eve nhìn thấy: c= ke thuộc ZN If k = k1×k2 với k1, k2 < 234 (prob. »20%) thì c/k1e = k2e in ZN Bước 1: xây dựng bảng: c/1e, c/2e, c/3e, …, c/234e . time: 234 e Bước 2: với k2 = 0,…, 234 kiểm tra nếu k2 nằm trong bảng. thời gian: 234 Output cặp (k1, k2). Tổng thời gian tấn công: »240
- RSA với số mũ công khai nhỏ Để tăng tốc việc mã hóa RSA, sử dụng số mũ e nhỏ: c = me (mod N) • Giá trị nhỏ nhất: e=3 ( gcd(e, j(N) ) = 1) • Giá trị nên dùng: e=65537=216+1 Mã hóa: 17 phép nhân Tính bất đối xứng của RSA: mã hóa nhanh / giải mã chậm • Hệ ElGamal (bài tiếp theo): thời gian gần như nhau trong cả hai trường hợp
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Mật mã và ứng dụng: Hàm băm, chữ ký số - Trần Đức Khánh
45 p | 175 | 26
-
Bài giảng Mật mã và ứng dụng: Hệ mật mã cổ điển - Trần Đức Khánh (tt)
41 p | 134 | 21
-
Bài giảng Mật mã và ứng dụng: Hệ mật mã khóa công khai (bất đối xứng) - Trần Đức Khánh
36 p | 156 | 17
-
Bài giảng Mật mã và ứng dụng: Quản lý khóa, giao thức mật mã - Trần Đức Khánh
17 p | 102 | 10
-
Bài giảng Mật mã và ứng dụng - Trần Đức Khánh
27 p | 133 | 8
-
Bài giảng Mật mã và ứng dụng: Quản lý khóa, giao thức mật mã - Trần Đức Khánh (tt)
26 p | 108 | 8
-
Bài giảng Mật mã ứng dụng: Nhập môn số học thuật toán - Đại học Bách khoa Hà Nội
240 p | 15 | 7
-
Bài giảng Mật mã ứng dụng: Giao thức trao đổi khoá - Đại học Bách khoa Hà Nội
37 p | 7 | 6
-
Bài giảng Mật mã ứng dụng: Hàm băm kháng xung đột - Đại học Bách khoa Hà Nội
38 p | 12 | 6
-
Bài giảng Mật mã ứng dụng: Chữ ký số - Đại học Bách khoa Hà Nội
34 p | 7 | 5
-
Bài giảng Mật mã ứng dụng: Bài toán logarit rời rạc và Diffie-Hellman - Đại học Bách khoa Hà Nội
50 p | 13 | 5
-
Bài giảng Mật mã ứng dụng: Mã xác thực thông điệp - Đại học Bách khoa Hà Nội
51 p | 11 | 5
-
Bài giảng Mật mã ứng dụng: Mã khối - Đại học Bách khoa Hà Nội
150 p | 10 | 5
-
Bài giảng Mật mã ứng dụng: Lịch sử mật mã - Đại học Bách khoa Hà Nội
58 p | 9 | 5
-
Bài giảng Mật mã ứng dụng: Giới thiệu sơ lược về mật mã và tiền mật mã - Đại học Bách khoa Hà Nội
74 p | 7 | 5
-
Bài giảng Mật mã ứng dụng: Hệ mã có xác thực - Đại học Bách khoa Hà Nội
45 p | 9 | 4
-
Bài giảng Mật mã ứng dụng: Mã dòng - Đại học Bách khoa Hà Nội
34 p | 8 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn