Danh mục

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    
Thu Hiền

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 ...

Tài liệu được xem nhiều: