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
Số trang: 74
Loại file: pdf
Dung lượng: 2.89 MB
Lượt xem: 23
Lượt tải: 0
Xem trước 8 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
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!
Nội dung trích xuất từ tài liệu:
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ˆngGiÓ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 / 37Tà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 ÎtVô 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 / 37Tip: Checking hashes for equality: Type ctrl-F to bring up the find box in yourbrowser. Search for the hash as calculated by the md5sum tool (without spacesŸng dˆng cıa hàm b´m kháng xung Îtor 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 Version53c869eba8686007239a650d903847fd ubuntu-15.04-desktop-amd64.iso6ea04093b767ad6778aa245d53625612 ubuntu-15.04-desktop-i386.iso487f4a81f22f8597503db3d51a1b502e ubuntu-15.04-server-amd64.iso49de7a0ed202d11456126589e2d1db22 ubuntu-15.04-server-i386.isofcfba8de8848944705cd200ff76c53cf ubuntu-15.04-snappy-amd64-generic.img.xzef2a4951a2e889908a55c980d2bea475 ubuntu-15.04-snappy-armhf-bbb.img.xz30eca69074f37982c4f1ba47737f2ad3 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: HidingMÎ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ínvà 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ácAPI: • (com, key) := commit(msg) • match := verify(com, key, msg)Gißu msg trong phong bì: • (com, key) := commit(msg) • sau ó công khai comM 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ácAPI: • (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ácCà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-friendlyPuzzle-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ËthÏ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™nThi∏t k∏ giao th˘c ∫ chÏi trò chÏi dân gian OØn tù tì qua iªntho§i. 13 / 37 Con tr‰ b´mCon 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 ...
Nội dung trích xuất từ tài liệu:
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ˆngGiÓ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 / 37Tà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 ÎtVô 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 / 37Tip: Checking hashes for equality: Type ctrl-F to bring up the find box in yourbrowser. Search for the hash as calculated by the md5sum tool (without spacesŸng dˆng cıa hàm b´m kháng xung Îtor 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 Version53c869eba8686007239a650d903847fd ubuntu-15.04-desktop-amd64.iso6ea04093b767ad6778aa245d53625612 ubuntu-15.04-desktop-i386.iso487f4a81f22f8597503db3d51a1b502e ubuntu-15.04-server-amd64.iso49de7a0ed202d11456126589e2d1db22 ubuntu-15.04-server-i386.isofcfba8de8848944705cd200ff76c53cf ubuntu-15.04-snappy-amd64-generic.img.xzef2a4951a2e889908a55c980d2bea475 ubuntu-15.04-snappy-armhf-bbb.img.xz30eca69074f37982c4f1ba47737f2ad3 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: HidingMÎ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ínvà 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ácAPI: • (com, key) := commit(msg) • match := verify(com, key, msg)Gißu msg trong phong bì: • (com, key) := commit(msg) • sau ó công khai comM 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ácAPI: • (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ácCà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-friendlyPuzzle-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ËthÏ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™nThi∏t k∏ giao th˘c ∫ chÏi trò chÏi dân gian OØn tù tì qua iªntho§i. 13 / 37 Con tr‰ b´mCon 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 ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Mật mã ứng dụng Mật mã ứng dụng Giới thiệu sơ lược về mật mã Tiền mật mã Hàm băm mật mã Hàm băm kháng xung đột Sơ đồ ủy thác Hàm băm SHA-256Gợi ý tài liệu liên quan:
-
Đề cương chi tiết học phần Kỹ thuật mật mã (Encryption)
10 trang 29 0 0 -
Thực thi bộ tạo số ngẫu nhiên thực sử dụng hàm băm mật mã
5 trang 23 0 0 -
So sánh độ an toàn và hiệu năng của lược đồ chữ ký số một lần W-OTS và W-OTS+
8 trang 23 0 0 -
Bài giảng An ninh mạng: Chương 2 - Bùi Trọng Tùng
33 trang 21 0 0 -
Bài giảng Mật mã ứng dụng: Hệ mật RSA - Đại học Bách khoa Hà Nội
23 trang 20 0 0 -
Bài giảng An toàn bảo mật hệ thống: Chủ đề 5 - Nguyễn Xuân Vinh
35 trang 20 0 0 -
Kỹ thuật toán học - Mật mã (Cryptography)
290 trang 19 0 0 -
Bài giảng Mật mã ứng dụng: Mã dòng - Đại học Bách khoa Hà Nội
34 trang 18 0 0 -
Bài giảng Mật mã ứng dụng: Mã khối - Đại học Bách khoa Hà Nội
150 trang 18 0 0 -
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 trang 17 0 0