网络安全|双手奉上网络安全的密码安全( 二 )


在这里插入图片描述
现代加密技术:
不在针对一个个字母处理 , 而是针对二进制位操作
对称秘钥加密:(存在秘钥分发问题 , 如何让对方知道加密秘钥)
流密码:秘钥流z = z0z1z2z3....;明文流(串)x = x0x1x2x3.....;加密y = y0y1y2...... = Ez0(x0)Ez1(x1)Ez2(x2)..... 。 解密时 , 使用相同的秘钥流与密文做异或运算(XOR)


在这里插入图片描述
分组密码:将明文划分长度为m的明文组(m = 64bit128bit256bit等);各明文组在长为i的秘钥组的控制下变成长为n的密文组 。 通常m == n 。
Feistel分组密码结构(思想):DES(Date Encryption Standard)加密算法(IBM公司研制 , 1998年12不在成为加密标准) 。 分组长度64bit(左32bit , 右32bit) , 56bit初始秘钥 , 16次迭代加密 。
AES(Advanced Encryption Standard)加密算法(Rijndael加密算法):不属于Feistel结构 , 数据块长度(128/192/256bit) , 秘钥(128/192/256bit) , 10轮加密 , 安全性更高 , 如果1秒破解DES , 则需要149万亿年破解AES 。
非对称秘钥加密(公开秘钥加密):
RAS加密算法 , 前提条件:


在这里插入图片描述
秘钥生成:


在这里插入图片描述
3、身份认证身份认证过程中存在:假冒身份 , ip欺骗 , 回放攻击 。
提出一种机制:一次性随机数(nonce)


图片.png
存在问题:在传输过程开始时必须知道本次通信的秘钥KA-B(对称秘钥) 。


在这里插入图片描述
【网络安全|双手奉上网络安全的密码安全】存在问题:中间人攻击


在这里插入图片描述
4、消息完整性和数字签名message integrity:确定来自声称的发送发 , 传输过程中没有被篡改(内容 , 时间 , 顺序) , 持有期被修改 , 抵赖(发送方抵赖 , 接收方抵赖) 。
密码散列函数:H(m), m为message 。
特性:散列算法公开;H(m)足够快;对于任意长度message均生成定长的输出;不同message不能产生相同散列值 , 根据散列值不能倒推出message 。

在这里插入图片描述
MD5算法:通过4个步骤 , 对任意长度的message输出128bit的散列值 。 不是足够安全 , 1996曾被找到两个不同的512bit块在MD5算法下产生两个相同的散列值 。
SHA-1:消息长度不超过2的64次方bit , 散列值固定160bit , 速度慢于MD5 , 安全性高于MD5 。
message digests(消息摘要):H(m) 可以作为m的数字指纹 。
message认证:将message 和 message digests组成新的message发送 。 (mH(m)) 。 存在问题:伪造m
message认证码(MAC):m + s认证秘钥 + H数列函数 ---->(mH(m+s)) 。 如果s为对称秘钥 , 存在接受方和发送方抵赖问题 。
数字签名(Digital signatures):
要求:可验证性 , 不可伪造性 , 不可抵赖性 。
采用私钥加密技术 , 将私钥加密的密文和message一起发送给接收方 。 (mKB-(m)) 。 缺点:message过大 , 因此加密后的KB-(m)太大 , 导致速度慢
采用签名消息摘要:(mKB-(H(m))) 。 解决数字签名问题 。
5、秘钥分发:在身份认证中 , 对称秘钥如何分发?
机制:秘钥分发中心(KDC):在网络上是一个服务器的存在 , 这是一个可信任机构 。
在KDC上注册自己的秘钥(对称秘钥 , 此秘钥只有用户和KDC知道) 。

在这里插入图片描述
机制:认证中心(CA):在网络上是一个服务器的存在 , 这是一个可信任机构 。
在CA上注册公钥 ---->生成公钥证书

在这里插入图片描述
6、总结:①如何建立安全的传输:秘钥分发中心和认证中心 , 有了这两个可以说在用户之间建立连接时是安全的 , 意味着不会和第三方(恶意中间方)建立连接 。 在认证中心中用到了私钥和公钥技术 , 但这是为了解决身份问题(在建立连接时的身份问题)