目录
1 为什么要使用密码
在信息安全中,可能会存在窃听(秘密泄漏)、篡改(信息被修改)、伪装(伪装成真正的发送者),否认(事后成自己没有做)。基于这样的情形以及在大力发展数字经济,网络安全,数字安全显得尤为重要的今天,密码学的重要性显而易见!
比如Alice(发送者)要给Bob(接收者)发送一篇邮件。
Alice将邮件进行加密,而Bob则进行解密,这样做的目的,是为了不让窃听者读取邮件的内容。Alice和Bob运用了密码技术,保证了邮件的机密性。
如果说Alice给Bob发送邮件的内容是“以100万元的价格购买该商品”。
1)对于这种情况,邮件的发送者From一栏的Alice会不会被修改为Andy呢?这里就存在杂合别人伪装成Alice的风险。
2)此外,这里的100万元会不会被改成了1万元呢?完全是可能的,这里也就存在了篡改的风险。
3)这时候如果Alice后悔了,不想买了,便谎称“自己没有发送过那封邮件”。像这样事后推翻自己的先前主张的行为,称为否认
那么对于上述的问题,密码学究竟是怎么样处理的呢?
六种特别重要的密码技术如下:
1 对称密码
2 公钥密码(非对称密码)
3 单向散列函数
4 消息验证码
5 数字签名
6 伪随机数生成器
它们之间的关系如下图所示:
从上图可以看出,数字签名能够防止上述伪装、篡改和否认等威胁的技术。数字签名就是一种将现实世界中的签名和盖章移植到数字世界中的技术,它也是一种重要的密码技术。而确保机密性通常通过对称加密和公钥加密的方式。关于他们的区别、安全强度、应用场景,后续博文再一一赘述。
2.密码与信息安全常识
(1)不要使用保密的密码算法
因为密码算法的密码早晚会公诸于世,而且开发高强度的密码算法是非常困难的
(2)使用低强度的密码比不进行任何加密更危险
(3)任何密码总会有一天会被破解
当算力不断攀升,密钥空间在现实的时间内被破解出来是完全可以的
(4)密码只是消息安全的一部分
这个类似于木桶理论的短板效应,整个系统的健壮性取决于最脆弱的那个环节