• 密码学基础:搞懂Hash函数SHA1、SHA-2、SHA3(1)


    目录

    1.消息摘要(Hash)

    2.SHA-1

    3.SHA-2

    4.小结


    1.消息摘要(Hash)

    Hash函数是一种单向密码体制,把任意长度的输入经过变换得到一个固定长度的输出,同时它还具备单向性,只能从明文到密文,不能逆向,正是由于Hash函数的单向性和输出长度固定的特性,使得其广泛应用在数据完整性验证和数字签名等领域。

    常见Hash函数基本采用迭代结构,接收输入消息M,将其拆分为n个固定长度分组,如果最后一个数据块不满足要求,则需进行填充;该算法重复使用压缩函数f,进行计算得到最终输出,如下图所示:

    图 1 Hash函数过程

    常见的函数包含SHA-1、SHA-2家族、SHA-3家族、MD5、SM3等。

    2.SHA-1

    SHA全称Secure HASH Algorithm,由NIST开发;SHA-1于1995年进行修订发布,要求输入最大长度2^64 -1位数据,输出固定160位消息摘要,处理过程按照512位数据块进行分组。

    SHA1的IV设定方法为十六进制数(0-F),每两个数构成一个字节,其中A(32bit数)顺时针0-7,B顺时针8-F,C逆时针F-8,D逆时针7-0,E取C3\D2\E1\F0,因此固定为:

    (0x67452301U), (0xEFCDAB89U), (0x98BADCFEU), (0x10325476U),(0xC3D2E1F0U)

    不过,在2017年,研究人员成功实施了对SHA-1算法的碰撞攻击,找到了两个不同的消息,但具有相同的SHA-1散列值。这引发了对SHA-1安全性的担忧,因为碰撞攻击可能导致数字签名和其他安全机制的破坏,因此在应用中不建议使用该算法。

    3.SHA-2

    SHA-2是一系列Hash函数的统称,其中包括SHA-224\256\384\512等,区别主要在于函数内部结果和生成的摘要值长度,SHA-512还有另外变体为SHA512_224、SHA512_256,主要是基于SHA512产生的摘要值进行截断,与SHA512区别在于IV和输出长度不一致。

    其中,SHA-224\256分组大小为512位,SHA-384, SHA-512, SHA-512/224和SHA-512/256分组大小为1024bit。

    SHA-224生成224位消息摘要,初始IV为:

       (0xC1059ED8U),(0x367CD507U),(0x3070DD17U),(0xF70E5939U),

       (0xFFC00B31U),(0x68581511U),(0x64F98FA7U),(0xBEFA4FA4U)

    SHA-256生成256位消息摘要,初始IV(取自然界前8个素数平方根小数部分前32位)为:

        (0x6A09E667U),(0xBB67AE85U),(0x3C6EF372U),(0xA54FF53AU),

    (0x510E527FU),(0x9B05688CU),(0x1F83D9ABU),(0x5BE0CD19U)

    SHA384生成384位消息摘要,初始IV为:

    (0xCBBB9D5DC1059ED8),(0x629A292A367CD507),

    (0x9159015A3070DD17), (0x152FECD8F70E5939),

    (0x67332667FFC00B31), (0x8EB44A8768581511),

    (0xDB0C2E0D64F98FA7), (0x47B5481DBEFA4FA4)

    4.小结

    这里我们先就将基础的SHA1\2讲解了,接下来我们继续聊SHA-3、SHA2变体SHA512_224\256等。 

  • 相关阅读:
    SpringMVC入门
    The kgdb Patches
    vue3【echarts 做的词云图】
    【踩坑专栏】代码重构,项目分层:maven reload失败及依赖自身的问题
    大学生数学建模赛题解析及优秀论文-2021电工杯A题高铁牵引供电系统运行数据分析及等值建模(附Python代码)
    Tech Lead(技术经理) 带人之道
    2965. 找出缺失和重复的数字
    ChatGPT 上线 Canva 插件,可生成图片和视频内容
    什么是 x10 开发工具?「GitHub 热点速览」
    2022年全网最全最细最流行的自动化测试工具有哪些?
  • 原文地址:https://blog.csdn.net/djkeyzx/article/details/140929146