SHA1算法原理

SHA1算法原理


2024年4月27日发(作者:)

SHA1算法原理

1 SHA1算法简介

安全哈希算法(Secure HashAlgorithm)主要适用于数字签名标准(Digital Signature

StandardDSS)里面定义的数字签名算法(Digital Signature AlgorithmDSA)。对于长

度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这

个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么

这时候就会产生不同的消息摘要。

SHA1有如下特性:不可以从消息摘要中复原信息;两个不同的消息不会产生同样的

消息摘要。

2 术语和概念

2.1位(Bit),字节(Byte)和字(Word)

SHA1始终把消息当成一个位(bit)字符串来处理。本文中,一个“字”(Word)是

32位,而一个“字节”(Byte)是8位。比如,字符串“abc”可以被转换成一个位字符

串:01100001 0011。它也可以被表示成16进制字符串: 0x616263.

2.2 运算符和符号

下面的逻辑运算符都被运用于“字”(Word)

X^Y = X, Y逻辑与

X Y = X, Y逻辑或

X XOR Y= X, Y逻辑异或

~X = X逻辑取反

X+Y定义如下:

字 X 和 Y 代表两个整数 x 和y, 其中 0 <= x < 2^32且 0 <= y < 2^32. 令整数

z = (x + y) mod 2^32. 这时候 0 <= z <2^32. 将z转换成字Z, 那么就是 Z = X + Y.

循环左移位操作符Sn(X)。X是一个字,n是一个整数,0<=n<=32。Sn(X) =

(X<>32-n)

X<

补右边的n位(最后结果还是32位)。X>>n是抛弃右边的n位,将各个位依次向右移动

n位,然后在左边的n位填0。因此可以叫Sn(X)位循环移位运算

3 SHA1算法描述

在SHA1算法中,我们必须把原始消息(字符串,文件等)转换成位字符串。SHA1

算法只接受位作为输入。假设我们对字符串“abc”产生消息摘要。首先,我们将它转换

成位字符串如下:


发布者:admin,转转请注明出处:http://www.yc00.com/web/1714196518a2400159.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信