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: An toàn Web - Trần Đức Khánh
14 p | 131 | 18
-
Network Security - Thiết Kế Học Cụ Phần 2
6 p | 90 | 15
-
Bài giảng Mật mã và Ứng dụng
11 p | 125 | 14
-
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 An toàn thông tin: Chương 5 - ThS. Nguyễn Thị Phong Dung
20 p | 21 | 8
-
Bài giảng Ứng dụng của nhóm: Các hệ mã công khai - PGS TS Trần Đan Thư
4 p | 135 | 8
-
Bài giảng An toàn thông tin: Chương 0 - ThS. Nguyễn Thị Phong Dung
5 p | 23 | 6
-
Bài giảng Nguy cơ chiến tranh mạng và sự cần thiết của việc phối hợp giữa các cơ quan chuyên trách trong lĩnh vực bảo mật và an toàn thông tin - TS. Đặng Vũ Sơn
17 p | 28 | 5
-
Bài giảng An toàn hệ thống thông tin: Chương 3a - Nguyễn Thị Hạnh
18 p | 33 | 4
-
Đề cương bài giảng Mã hóa
7 p | 28 | 3
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