网络信息的完整性保障算法 MD5 和 SHA

大多数协议比如 TCP、UDP、IP 等都通过帧校验序列来判断协议数据单元在传输中是否出现比特错误,在安全性的考量中,还需要做到信息的完整性保障,即不被篡改,同时也要防止偶发的比特位错误,这一实现需要借助到加密散列函数
加密散列函数一般以需要传输的数据(消息)M 作为输入,然后输出 H 序列,H 也被称为这条消息的摘要或指纹 H(M)。H 具备如下特征:

  • 原像不可计算性:在给定某条消息的 H 的情况下,无法计算出 M;
  • 原像不相同性:给定 M1 M 1 H1 H 1 ,想要找出一条 M2 M 2 ,使得 H( M1 M 1 )==H( M2 M 2 ) 几乎是不可能的;
  • 抗碰撞行:找出 H( M1 M 1 )==H( M2 M 2 ),而 M1 M 1 != M2 M 2 的情况是几乎不可能的。

注: ==(等于),!=(不等于),H==H(M);

目前最通用的两个加密散列算法是 MD5(Message Digest Algorithm 5) 和 SHA-1(Secure Hash Algorithm 1),前者只能生成长度为 128 位的摘要,后者能生成长度为 160 位的摘要。SHA-2 可以生成长度分别为 224位、256位、384位、512位的摘要

MD5 目前已宣告可被破解,SHA-1 和 SHA-2 具有相似的潜在的脆弱性。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值