消息摘要和数字签名
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机科学与技术学院 计算机科学与技术学院
信息安全技术
密码学上的hash函数
计算机科学与技术学院 计算机科学与技术学院
密码学上的hash函数的属性 信息安全技术 x = h (m)
使用在数字签名上的哈希函数必须满足: 对任意长度的明文m,产生固定长度的哈希值h(m); 对任意的明文m,哈希函数值h(m)可由硬件或软件容易得到; 对任意哈希函数值x,要找到一个明文m与之对应, 即x = h(m),在计算上不可行; 对一个明文m1,要找到另一个不同的明文m2,使之具有相同 的哈希值,即h(m1) = h(m2),在计算上不可行; 要找到任意一对不同的明文(m1, m2),具有相同的哈希值,即 h(m1) = h(m2),在计算上不可行。
Ft
Wt
Kt
Ei Di 非线性函数f Ci <<<30 <<<5 Bi Ai
信息安全技术
Байду номын сангаас
非线性函数F 0<=t<20 20<=t<40 40<=t<60 60<=t<80
Ft(x,y,z)=(x&y)|(~x&z) Ft(x,y,z)=x^y^z Ft(x,y,z)=(x^y)|(x^z)|(y^z) Ft(x,y,z)=x^y^z
Caesar's View At the day Alice is supposed to leave, Caesar writes a letter of recommendation for Alice -- on paper. The same day, she asks Caesar to digitally sign the letter. For his convenience she presents an electronic copy of the document. Caesar opens the document -- it looks exactly like the original document. So he signs the document. Months later, Caesar discovers that there has been a breach of secrecy with his French affair files. Will he ever find out who tricked him and how?
计算机科学与技术学院 计算机科学与技术学院
信息安全技术
对hash函数的攻击
Second-preimage resistance(attack) Given an input m1 it should be difficult to find another input m2 — where m1 ≠ m2 — such that hash(m1) =hash(m2) .
2005年的攻击结果 找到(M0,M0’ )需要 239 次MD5操作, IBM P690上需 要时间15分到1小时 找到 (M1,M1’)需要 232 次MD5操作, IBM P690上需 要时间5分到15分
计算机科学与技术学院 计算机科学与技术学院
The 信息安全技术 Story of Alice and her Boss
信息安全技术
Wt:消息的变形
消息:512bit,16个32bit字 M0~M15 Wt: 32bit字 0<=t<=15 Wt=Mt 16<=t<=79 Wt=(Wt-3^Wt-8^Wt-14^Wt-16)<<<1
计算机科学与技术学院 计算机科学与技术学院
王小云对MD5的攻击
信息安全技术
计算机科学与技术学院 计算机科学与技术学院
The 信息安全技术 Story of Alice and her Boss
Alice's View Being an intern, Alice does not have any access to secret documents. Not enough for her ... ... tricky Alice decides to fool Caesar. Because Caesar is still relying on the widely used MD5 hash function, she implements the attack from Wang and Yu [How to break MD5 and other hash functions. Eurocrypt 2005 ] to find MD5 collisions. When she receives her letter of recommendation (on paper), she prepares two postscript files with the same MD5 hash: One to display the letter of recommendation, and a second one, an order from Caesar to grant Alice some kind of a security clearance.
GOST MD5 RIPEMD RIPEMD128/256 RIPEMD160 RIPEMD320 SHA-0 SHA-1 SHA-256/224 SHA-512/384
NIST 信息安全技术 hash function competition 2007年11月2日, NIST公开征集 SHA-3 NIST 已经在最后一轮确定了5个候选算法:
MD5
MD5 is one in a series of message digest algorithms designed by Professor Ronald Rivest of MIT (Rivest, 1994).
计算机科学与技术学院 计算机科学与技术学院
信息安全技术 方法: 差分攻击 模整数减法 异或运算
计算机科学与技术学院 计算机科学与技术学院
The 信息安全技术 Story of Alice and her Boss
a25f7f0b 29ee0b39 68c86073 8533a4b9
计算机科学与技术学院 计算机科学与技术学院
Algorithm
Output size (bits) 256 128 128 128/256 160 320 160 160 256/224 512/384
计算机科学与技术学院 计算机科学与技术学院
信息安全技术
密码学上的hash函数
密码学上Hash函数,输入任意长度的明文,输出 固定长度的数值。输入的任意变化,都会引起输 出显著的变化。 输入的数据成为消息(message) 输出的数据成为消息摘要或摘要(message digest or simply digest)
Best known attacks (complexity:rounds) Collision Yes (2105) Yes (220.96) Yes (218) No Yes (251:48) No Yes (233.6) Yes (251) Yes (228.5:24) Yes (232.5:24) Second preimage Yes (2192) No No No No No No No No No Preimage Yes (2192) Yes (2123.4) No No No No No No Yes (2248.4:42) Yes (2494.6:42)
信息安全技术
密码学上的hash函数和数字签名
主讲人:裴士辉 e_mail: shihui_pei @sina.com
计算机科学与技术学院 计算机科学与技术学院
信息安全技术
内容
密码学上的hash函数 数字签名 数字证书
计算机科学与技术学院 计算机科学与技术学院
信息安全技术
密码学上的hash函数
密码学上的hash函数简介 安全散列标准SHS 对MD5的攻击 其他的单向散列函数
计算机科学与技术学院 计算机科学与技术学院
信息安全技术 Kt=0x5a827999 Kt=0x6ed9eda1 Kt=0x8f1bbcdc Kt=0xca62c1d6
Kt:常数 0<=t<20 20<=t<40 40<=t<60 60<=t<80
计算机科学与技术学院 计算机科学与技术学院
• BLAKE • Grøstl (Knudsen et al.) • JH • Keccak (Keccak team, Daemen et al.) • Skein (Schneier et al.)
计算机科学与技术学院 计算机科学与技术学院
信息安全技术
数字签名
计算机科学与技术学院 计算机科学与技术学院
计算机科学与技术学院 计算机科学与技术学院
信息安全技术
Hash 函数的应用
验证文件和消息的完整性
计算机科学与技术学院 计算机科学与技术学院
信息安全技术 口令验证
Hash 函数的应用
计算机科学与技术学院 计算机科学与技术学院
信息安全技术 口令验证
Hash 函数的应用
计算机科学与技术学院 计算机科学与技术学院
王小云对MD5的攻击
计算机科学与技术学院 计算机科学与技术学院
信息安全技术
王小云对MD5的攻击
目的:寻找如下条件的消息:
(a, b, c, d) = MD5(a0, b0, c0, d0,M0), (a’, b’, c’, d’) = MD5(a0, b0, c0, d0,M0’ ), MD5(a, b, c, d,M1) = MD5(a’, b’, c’, d’,M1’ )
=hash(m2).
计算机科学与技术学院 计算机科学与技术学院
信息安全技术
安全散列标准SHS
1995由美国NIST提出,SHS(Secure Hash Standard),算法为SHA。 要求输入小于264位, 输出为160位(5个寄存器,A, B, C, D, E)。 将明文分成若干512位的定长块,每一块与当前的 信息摘要值结合,产生信息摘要的下一个中间结 果,直到处理完毕。
计算机科学与技术学院 计算机科学与技术学院
信息安全技术
对hash函数的攻击
Collision resistance (attack) It should be difficult to find two different messages m1 and m2 such that hash(m1)
信息安全技术
数字签名
数字签名是手写签名的数字相似物。消息的数字 签名其实是一个数值,它依赖于只有签名者知道 的某个秘密数和待签的消息内容。数字签名应具 有如下性质
能够验证签字产生者的身份,以及产生签字的日期和 时间。 能用于证实被签消息的内容。 数字签字可由第三方验证,从而能够解决通信双方的 争议。
信息安全技术
Hash 函数的应用
数字签名中生成消息摘要
计算机科学与技术学院 计算机科学与技术学院
信息安全技术
对hash函数的攻击
Preimage resistance(attack) Given a hash h it should be difficult to find any message m such that h=hash(m).
计算机科学与技术学院 计算机科学与技术学院
信息安全技术
a,b,c,d,e的初值
a=0x67452301 b=0xefcdab89 c=0x98badcfe d=0x10325476 e=0xc3d2e1f0
计算机科学与技术学院 计算机科学与技术学院
Ei-1 Di-1 Ci-1 Bi-1 Ai-1
计算机科学与技术学院 计算机科学与技术学院
信息安全技术
SHA的运算过程
将消息填充为512位的整数倍 5个32位中间变量a b c d e,起初值为常数 对5个32位的寄存器A、B、C、D、E,进行运算 A B C D E的初值为0 对每一个512位的消息进行如下处理: 将中间变量a b c d e 赋给A B C D E; 进行主循环 四轮,每轮20次 a=a+A, b=b+B,c=c+C,d=d+D, e=e+e 最后输出为a b c d e 的级联