sha1算法数字签名c语言,什么是SHA1算法_SHA1算法原理过程详解 - 沃通SSL证书!

本文详细介绍了SHA1算法的原理和流程,包括明文分组、子明文分组的扩展、四轮运算的过程,以及如何通过SHA1生成160位的消息摘要。SHA1算法广泛应用于数字签名标准中的数字签名生成,确保数据在传输过程中的完整性。
摘要由CSDN通过智能技术生成

SHA1算法原理过程详解

发布日期:2018-12-11

SHA1是一种密码散列函数,由美国国家安全局设计,主要适用于数字签名标准里面定义的数字签名算法。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。今天我们将讨论的是SHA1算法原理和流程。

SHA1哈希算法流程

对于任意长度的明文,SHA1首先对其进行分组,使得每一组的长度为512位,然后对这些明文分组反复重复处理。对于每个明文分组的摘要生成过程如下:

1、将512位的明文分组划分为16个子明文分组,每个子明文分组为32位。

2、申请5个32位的链接变量,记为A、B、C、D、E。

3、16份子明文分组扩展为80份。

4、80份子明文分组进行4轮运算。

5、链接变量与初始链接变量进行求和运算。

6、链接变量作为下一个明文分组的输入重复进行以上操作。

7、 最后,5个链接变量里面的数据就是SHA1摘要。

SHA1算法的分组过程

对于任意长度的明文,SHA1的明文分组过程与MD5相类似,首先需要对明文添加位数,使明文总长度为448(mod512)位。在明文后添加位的方法是第一个添加位是l,其余都是0。然后将真正明文的长度(没有添加位以前的明文长度)以64位表示,附加于前面已添加过位的明文后,此时的明文长度正好是512位的倍数。与MD5不同的是SHA1的原始报文长度不能超过2的64次方,另外SHA1的明文长度从低位开始填充。

经过添加位数处理的明文,其长

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值