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
lượt xem 5
download
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ã" trình bày các nội dung chính sau đây: Hàm băm mật mã; Hàm băm kháng xung đột; Sơ đồ ủy thác; Hàm băm SHA-256;... 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: 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
- M™t mã ˘ng dˆng GiÓi thiªu sÏ l˜Òc v∑ M™t mã và Ti∑n m™t mã Ngày 28 tháng 12 n´m 2020 1 / 37
- Tài liªu tham kh£o 2 / 37
- Hàm b´m m™t mã Hàm b´m là mÎt hàm th‰a mãn ba tính chßt: • ¶u vào là mÎt xâu Î dài bßt k˝. • ¶u ra là mÎt xâu Î dài cË ‡nh. Ta s≥ dùng 256 bit. • ây là mÎt hàm tính ˜Òc mÎt cách hiªu qu£. Tính an toàn • collision-free (kháng xung Ît) • hiding • puzzle-friendly 3 / 37
- Tính chßt 1: Kháng xung Ît Vô cùng khó ∫ tìm hai xâu x và y sao cho x 6= y và H(x) = H( y). x H(x) = H(y) y 4 / 37
- Tip: Checking hashes for equality: Type ctrl-F to bring up the find box in your browser. Search for the hash as calculated by the md5sum tool (without spaces Ÿng dˆng cıa hàm b´m kháng xung Ît or extra characters). Only exact matches will be found. To request an update to this list, please open a bug on the ubuntu-docs package in Launchpad. 15.04 (Vivid Vervet): April 2015 (Supported until January 2016) md5 Hash Version 53c869eba8686007239a650d903847fd ubuntu-15.04-desktop-amd64.iso 6ea04093b767ad6778aa245d53625612 ubuntu-15.04-desktop-i386.iso 487f4a81f22f8597503db3d51a1b502e ubuntu-15.04-server-amd64.iso 49de7a0ed202d11456126589e2d1db22 ubuntu-15.04-server-i386.iso fcfba8de8848944705cd200ff76c53cf ubuntu-15.04-snappy-amd64-generic.img.xz ef2a4951a2e889908a55c980d2bea475 ubuntu-15.04-snappy-armhf-bbb.img.xz 30eca69074f37982c4f1ba47737f2ad3 ubuntu-15.04-server-powerpc.iso 5 / 37
- Tính chßt 2: Hiding • Ta mong muËn tính chßt: Cho H(x), không th∫ tìm ˜Òc x. • i∑u này không kh£ thi khi không gian input nh‰! H(“heads”) H(“tails”) 6 / 37
- Tính chßt 2: Hiding MÎt hàm b´m gÂi là hiding n∏u khi gi˙ bí m™t giá tr‡ r ˜Òc chÂn ng®u nhiên, thì cho H(r x) ta không th∫ tìm ˜Òc x. Ÿng dˆng: SÏ Á ıy thác • Mô ph‰ng: "Gißu mÎt giá tr‡ trong phong bì dán kín"và "M phong bì"sau này. • ’y thác mÎt giá tr‡ và ti∏t lÎ nó sau này. 7 / 37
- SÏ Á ıy thác API: • (com, key) := commit(msg) • match := verify(com, key, msg) Gißu msg trong phong bì: • (com, key) := commit(msg) • sau ó công khai com M phong bì: • Công khai key, msg • Ai cÙng có th∫ dùng hàm verify() ∫ ki∫m tra tính hÒp lª. 8 / 37
- Tính an toàn cıa SÏ Á ıy thác API: • (com, key) := commit(msg) • match := verify(com, key, msg) Tính an toàn: • Hiding: Chø cho com, ta không th∫ tìm ˜Òc msg. • Binding: Ta không th∫ tìm ˜Òc msg 6= msg0 sao cho verify(commit(msg), msg’) == true 9 / 37
- SÏ Á ıy thác Cài ∞t: • commit(msg):=(H(key | msg), H(key)) vÓi key là mÎt giá tr‡ ng®u nhiên 256 bit. • verify(com, key, msg):=(H(key | msg) == com) Tính an toàn d¸a trên: • Hiding: Chø cho H(key | msg), không th∫ tìm ˜Òc msg. • Binding: Không th∫ tìm ˜Òc msg 6= msg’ such that H(key | msg) == H(key | msg’) 10 / 37
- Tính chßt 3: Puzzle-friendly Puzzle-friendly: • VÓi mÂi giá tr‡ y cho tr˜Óc và k ˜Òc chÂn ng®u nhiên, thì vô cùng khó ∫ tìm ˜Òc x sao cho H(k x) = y. Ÿng dˆng: Search puzzle • Cho mÎt “puzzle ID” id, và mÎt t™p giá tr‡ Y . • Hãy tìm mÎt “nghiªm” x th‰a mãn H(id x) 2 Y . Tính chßt Puzzle-friendly chø ra r¨ng không có chi∏n l˜Òc nào tËt hÏn viªc th˚ mÎt cách ng®u nhiên giá tr‡ cho x. 11 / 37
- Hàm b´m SHA-256 Padding (10* | length) 512 bits Message Message Message (block 1) (block 2) (block n) 256 bits 256 bits c c c IV Hash 12 / 37
- Th£o lu™n Thi∏t k∏ giao th˘c ∫ chÏi trò chÏi dân gian OØn tù tì qua iªn tho§i. 13 / 37
- Con tr‰ b´m Con tr‰ b´m là H( ) • mÎt con tr‰ tÓi d˙ liªu, và (data) • mã b´m cıa d˙ liªu. N∏u ta có mÎt con tr‰ b´m, ta có th∫ • lßy d˙ liªu, và • ki∫m tra xem liªu d˙ liªu có b‡ s˚a Íi. 14 / 37
- Danh sách liên k∏t vÓi con tr‰ b´m = "blockchain" H( ) prev: H( ) prev: H( ) prev: H( ) data data data 15 / 37
- Phát hiªn s˚a Íi H( ) prev: H( ) prev: H( ) prev: H( ) data data data 16 / 37
- Cây nh‡ phân vÓi con tr‰ b´m = “Merkle tree” H( ) H( ) H( ) H( ) H( ) H( ) H( ) H( ) H( ) H( ) H( ) H( ) H( ) H( ) (data) (data) (data) (data) (data) (data) (data) (data) 17 / 37
- Là thành viên cıa cây? Trong O(log n) H( ) H( ) H( ) H( ) H( ) H( ) (data) 18 / 37
- Ch˙ k˛ sË fi t˜ng: • Chø b§n có th∫ k˛, nh˜ng ai cÙng có th∫ ki∫m tra • Ch˙ k˛ ˜Òc g≠n vÓi mÎt tài liªu cˆ th∫: không th∫ copy và paste cho tài liªu khác. API: • (sk, pk) := generateKeys(keysize) • sig := sign(sk, message) • isValid := verify(pk, message, sig) 19 / 37
- Tính an toàn cıa ch˙ k˛ sË Ki∫m tra úng ch˙ k˛ hÒp lª verify(pk, message, sign(sk, message)) == true Không th∫ gi£ m§o ch˙ k˛: • Dù k¥ tßn công Evil bi∏t pk và có ˜Òc ch˙ k˛ hÒp lª cıa mÎt sË tài liªu (Evil muËn) • Evil cÙng không th∫ t§o ra ch˙ k˛ hÒp lª cho tài liªu mÓi. 20 / 37
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 | 177 | 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 | 138 | 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 | 162 | 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 | 105 | 10
-
Bài giảng Mật mã và ứng dụng - Trần Đức Khánh
27 p | 138 | 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 | 114 | 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 | 18 | 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 | 10 | 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 | 15 | 6
-
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 | 24 | 5
-
Bài giảng Mật mã ứng dụng: Hệ mật RSA - Đại học Bách khoa Hà Nội
23 p | 18 | 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 | 12 | 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 | 12 | 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 | 12 | 5
-
Bài giảng Mật mã ứng dụng: Chữ ký số - Đại học Bách khoa Hà Nội
34 p | 12 | 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 | 16 | 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 | 10 | 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