位置:丁香财经网 >> 证券

bdcc币(安全散列算法SHA详解)

日期:2023年04月22日 09:07 浏览量:1

SHA,即Security Hash Algorithm缩写,和MD5类似都是信息摘要算法,主要用于数字签名,网络支付,用户登录,密码校验等场景。

网上流传的SHA算法繁多,像SHA1,SHA224,SHA256等等,其实SHA就3个版本,SHA1,SHA2,SHA3,这其中SHA2又包含了SHA224,SHA256,SHA384,SHA512, SHA3同样包含了SHA3-224/256/384/512,他们共同组成了SHA大家族。

SHA1

SHA1可以根据明文生成160bit密文(信息摘要),例如:

明文:abcd

信息摘要81FE8BFE87576C3ECB22426F8E57847382917ACF20

那么与MD5有什么区别?

1.摘要长度不同,MD5为128,SHA1为160位,多出的32位可以让明文的碰撞概率减少2^32倍,破解难度增加,安全性更高。

2.摘要长度增加,意味着性能的降低,SHA的性能比MD5要略低。

但即使如此,Marc Stevens、Pierre Karpman和Thomas Peyrin使用Amazon支持的64-GPU集群(称为Kraken)运行SHA-1内部压缩功能的freestart来碰撞目标,不到10小时便破解了SHA1的摘要信息。

谷歌在2017年宣布停止对SHA1证书的支持,同样微软终止了IE对SHA1的支持。然而,Facebook和Cloudflare提倡更优雅的退休,这样使无法升级到SHA-2的浏览器将继续工作。

SHA2

SHA-2是一系列SHA算法变体的总称,其中包含如下子版本:

SHA-256:可以生成长度256bit的信息摘要。
SHA-224:SHA-256的“阉割版”,可以生成长度224bit的信息摘要。
SHA-512:可以生成长度512bit的信息摘要。
SHA-384:SHA-512的“阉割版”,可以生成长度384bit的信息摘要。

显然,信息摘要越长,发生碰撞的几率就越低,破解的难度就越大。但同时,耗费的性能和占用的空间也就越高。SHA2繁多的种类使灵活性提高了不少,我们可以使用不同的摘要长度满足不同的场景。比如简单的验证数据,使用SHA-256就足够了,使用SHA-512显然是小题大做了。除此之外,如果对安全性追求很高的话,可以使用MD5和SHA2混合算法。如下:

安全散列算法SHA详解

分别对"abcd",生成MD5和SHA-256摘要,取MD5的前16位,SHA-256的后20位拼接成36位的摘要,这样就在不知道拼接规则的前提下,摘要几乎不可能被破解。

SHA1和SHA2原理

安全散列算法SHA详解

SHA-1算法

核心过程大同小异,主要的不同点是把160bit的信息摘要分成了A,B,C,D,E五段。其他的与MD5类似。

安全散列算法SHA详解

SHA-2系列算法

把信息摘要分成了A,B,C,D,E,F,G,H八段。

其中SHA-256的每一段摘要长度是32bit,SHA-512的每一段摘要长度是64bit。SHA-224和SHA-384则是在前两者生成结果的基础上做出裁剪。

关于SHA3

由Guido Bertoni、Joan Daemen、Gills Van Assche、Michael Peeters共同设计的Keccak算法最终确定为SHA-3标准,其中Joan Daemen也是对称密码算法AES的设计之一。

基于NIST所设定的条件,我们能够免费、自由地使用SHA-3算法,这与AES的情形完全相同。不过,SHA-3的出现并不意味着SHA-2就不安全了,在一段时间内,SHA-2和SHA-3还将会共存。

目前关于SHA3,多用于数字货币加密,其他项目大部分都是用SHA2做加密手段。SHA3的优势如下:

  • 采用了与SHA-2完全不同的结构。
  • 结构清晰,易于分析
  • 能够适用于各种设备,也适用与嵌入式应用
  • 在硬件上的实现显示出很高的性能
  • 比其他最终候选算法安全性边界更大
  • 对SHA3感兴趣的请自行查看其官方文档,本文不再过多赘述。

    开源工具

    与MD5一样,JDK提供了丰富非支持。

    安全散列算法SHA详解

    结果:

    明文:abcdSHA密文:81FE8BFE87576C3ECB22426F8E57847382917ACF20SHA1密文:81FE8BFE87576C3ECB22426F8E57847382917ACF20SHA224密文:A76654D8E3550E9A2D67A0EEB6C67B220E5885EDDD3FDE135806E60128SHA256密文:88D4266FD4E6338D13B845FCF289579D209C897823B9217DA3E161936F03158932SHA384密文:1165B3406FF0B52A3D24721F785462CA2276C9F454A116C2B2BA20171A7905EA5A026682EB659C4D5F115C363AA3C79B48SHA512密文:D8022F2060AD6EFD297AB73DCC5355C9B214054B0D1776A136A669D26A7D3B14F73AA0D0EBFF19EE333368F0164B6419A96DA49E3E481753E7E96B716BDCCB6F6

    其实Java中SHA和SHA1就是指的SHA1加密,本文到此结束了。喜欢就关注一下吧,跟我一块进步哦。

    推荐阅读

    ape格式(shape格式)
    孙善文(孙善文何时任兴县县长)
    什么是比特钱包?Bitshare BTS手机钱包使用指南
    虚拟货币开发shanzhaibikaifa
    今日维卡& # 039;报价家长(今日维卡& # 039;s价格,2020年维卡最新情况)
    前FTX工程总监NishadSingh370万美元度假屋遭美国政府没收
    币圈小将:Shapella升级后DeFi生态系统健康
    币蓝交易所(比特股BitShares(BTS)介绍、网址及交易平台)
    Bitstock钱包安全吗?Bitshare Wallet模式和帐户模式之间的安全差异
    visha可以做虚拟货币吗(virtual虚拟)
    bdcc币(安全散列算法SHA详解)文档下载: PDF DOC TXT

    标签: 信息摘要 sha md5

    文章来源: 丁香财经网
    版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至405936398@qq.com 举报,一经查实,本站将立刻删除。
    相关资讯
    期货涨跌停价格计算(期货涨跌停幅度怎么计算)
    期货涨跌停价格计算(期货涨跌停幅度怎么计算) 2023-04-22

    SHA2SHA-2是一系列SHA算法变体的总称,其中包含如下子版本:SHA-256:可以生成长度256bit的信息摘要

    原油期货的保证金比例是多少(原油期货保证金怎么算)
    原油期货的保证金比例是多少(原油期货保证金怎么算) 2023-04-22

    SHA2SHA-2是一系列SHA算法变体的总称,其中包含如下子版本:SHA-256:可以生成长度256bit的信息摘要

    用友借款单错了可以修改吗(用友结账了怎么修改凭证)
    用友借款单错了可以修改吗(用友结账了怎么修改凭证) 2023-04-22

    SHA2SHA-2是一系列SHA算法变体的总称,其中包含如下子版本:SHA-256:可以生成长度256bit的信息摘要

    用友u8v12.0 报价(用友u8+v13.0教程)
    用友u8v12.0 报价(用友u8+v13.0教程) 2023-04-22

    SHA2SHA-2是一系列SHA算法变体的总称,其中包含如下子版本:SHA-256:可以生成长度256bit的信息摘要

    哈尔滨 融资总量(哈尔滨企业融资担保中心好吗)
    哈尔滨 融资总量(哈尔滨企业融资担保中心好吗) 2023-04-22

    SHA2SHA-2是一系列SHA算法变体的总称,其中包含如下子版本:SHA-256:可以生成长度256bit的信息摘要

    湖南赛迪传媒投资股份有限公司(赛迪集团是什么公司)
    湖南赛迪传媒投资股份有限公司(赛迪集团是什么公司) 2023-04-22

    SHA2SHA-2是一系列SHA算法变体的总称,其中包含如下子版本:SHA-256:可以生成长度256bit的信息摘要