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


Feistel分组密码结构(思想):DES(DateEncryptionStandard)加密算法(IBM公司研制 , 1998年12不在成为加密标准) 。 分组长度64bit(左32bit , 右32bit) , 56bit初始秘钥 , 16次迭代加密 。
AES(AdvancedEncryptionStandard)加密算法(Rijndael加密算法):不属于Feistel结构 , 数据块长度(128/192/256bit) , 秘钥(128/192/256bit) , 10轮加密 , 安全性更高 , 如果1秒破解DES , 则需要149万亿年破解AES 。
非对称秘钥加密(公开秘钥加密):
RAS加密算法 , 前提条件:
双手奉上网络安全的密码安全
文章图片
在这里插入图片描述
秘钥生成:
双手奉上网络安全的密码安全
文章图片
在这里插入图片描述
3、身份认证
身份认证过程中存在:假冒身份 , ip欺骗 , 回放攻击 。
提出一种机制:一次性随机数(nonce)
双手奉上网络安全的密码安全
文章图片
图片.png
存在问题:在传输过程开始时必须知道本次通信的秘钥KA-B(对称秘钥) 。
双手奉上网络安全的密码安全
文章图片
在这里插入图片描述
存在问题:中间人攻击
双手奉上网络安全的密码安全
文章图片
在这里插入图片描述
4、消息完整性和数字签名
messageintegrity:确定来自声称的发送发 , 传输过程中没有被篡改(内容 , 时间 , 顺序) , 持有期被修改 , 抵赖(发送方抵赖 , 接收方抵赖) 。
密码散列函数:H(m) , m为message 。
特性:散列算法公开;H(m)足够快;对于任意长度message均生成定长的输出;不同message不能产生相同散列值 , 根据散列值不能倒推出message 。
双手奉上网络安全的密码安全
文章图片
在这里插入图片描述
MD5算法:通过4个步骤 , 对任意长度的message输出128bit的散列值 。 不是足够安全 , 1996曾被找到两个不同的512bit块在MD5算法下产生两个相同的散列值 。
SHA-1:消息长度不超过2的64次方bit , 散列值固定160bit , 速度慢于MD5 , 安全性高于MD5 。
messagedigests(消息摘要):H(m)可以作为m的数字指纹 。
message认证:将message和messagedigests组成新的message发送 。 (m,H(m)) 。 存在问题:伪造m
message认证码(MAC):m+s认证秘钥+H数列函数---->(m,H(m+s)) 。 如果s为对称秘钥 , 存在接受方和发送方抵赖问题 。
数字签名(Digitalsignatures):
要求:可验证性 , 不可伪造性 , 不可抵赖性 。
采用私钥加密技术 , 将私钥加密的密文和message一起发送给接收方 。 (m,KB-(m)) 。 缺点:message过大 , 因此加密后的KB-(m)太大 , 导致速度慢
采用签名消息摘要:(m,KB-(H(m))) 。 解决数字签名问题 。
5、秘钥分发:
在身份认证中 , 对称秘钥如何分发?
机制:秘钥分发中心(KDC):在网络上是一个服务器的存在 , 这是一个可信任机构 。
在KDC上注册自己的秘钥(对称秘钥 , 此秘钥只有用户和KDC知道) 。
双手奉上网络安全的密码安全
文章图片
在这里插入图片描述
机制:认证中心(CA):在网络上是一个服务器的存在 , 这是一个可信任机构 。
在CA上注册公钥---->生成公钥证书