单向函数
单向限门函数:
1.属于单向函数,如果有辅助消息,则逆向计算容易
2.解密是典型的单向限门函数。
3.RSA算法中,“两个大素数相乘”和“已知的素数”是单向函数
任何公钥算法本质上都是单向(限门)函数
散列函数
散列函数也是一种单向函数
密码学中,不通消息有相同散列的现象成为“冲突”
散列值也称为消息摘要或消息指纹。
散列函数应能抵御“生日攻击”
Diffie-Hellman 迪菲-赫尔曼
哈希算法(hash)
消息完整性差,例如两段完全相同的A.txt和B.txt的MD5是完全一样的,但若在A.txt但某一段后面加上空格(空格是很不容易经肉眼发觉的),则两个txt文件的MD5则就不同了。
完整性
没有不可发现的非授权篡改
现代密码学利用“消息鉴别码(mac)”保护消息的完整性
MAC的另两种称谓:
MIC:消息完整性码 MDC:篡改检测码
MAC实现方式:
hash-MAC(HMAC)
CBC-MAC (CMAC)
数字签名
数字签名(又称公钥数字签名)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。
过程:先对txt进行hash,在对hash值使用自己的私钥进行签名