- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SHA1算法道理
SHA1算法原理
1 SHA1算法简介
安全哈希算法(Secure HashAlgorithm)主要适用于数字签名标准(Digital Signature StandardDSS)里面定义的数字签名算法(Digital Signature AlgorithmDSA)。对于长度小于2^ HYPERLINK /forum-252-1.html \t _blank 64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。? SHA1有如下特性:不可以从消息摘要中复原信息;两个不同的消息不会产生同样的消息摘要。
2 术语和概念
2.1位(Bit),字节(Byte)和字(Word)
SHA1始终把消息当成一个位(bit)字符串来处理。本文中,一个“字”(Word)是 HYPERLINK /forum-32bit-1.html \t _blank 32位,而一个“字节”(Byte)是8位。比如,字符串“abc”可以被转换成一个位字符串0110001001100011。它也可以被表示成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) = (Xn)OR(X32-n)? Xn定义如下:抛弃最左边的n位数字,将各个位依次向左移动n位,然后用0填补右边的n位(最后结果还是32位)。Xn是抛弃右边的n位,将各个位依次向右移动n位,然后在左边的n位填0。因此可以叫Sn(X)位循环移位运算
3 SHA1算法描述
在SHA1算法中,我们必须把原始消息(字符串,文件等)转换成位字符串。SHA1算法只接受位作为输入。假设我们对字符串“abc”产生消息摘要。首先,我们将它转换成位字符串如下:? 01100010 ―――――――――――――? ‘a’=97 ‘b’=98 ‘c’=99? 这个位字符串的长度为24。下面我们需要5个步骤来计算MD5。
3.1 补位
消息必须进行补位,以使其长度在对512取模以后的余数是448。也就是说,(补位后的消息长度)%512 = 448。即使长度已经满足对512取模后余数是448,补位也必须要进行。? 补位是这样进行的:先补一个1,然后再补0,直到长度满足对512取模后余数是448。总而言之,补位是至少补一位,最多补512位。还是以前面的“abc”为例显示补位的过程。? 原始信息:01100010 补位第一步011000101? 首先补一个“1”? 补位第二步0110001010…..0? 然后补423个“0”? 我们可以把最后补位完成后的数据用16进制写成下面的样子? 0000000000000000? 0000000000000000? 0000000000000000? 00000000?
3.2 补长度
所谓的补长度是将原始数据的长度补到已经进行了补位操作的消息后面。通常用一个64位的数据来表示原始消息的长度。如果消息长度不大于2^64,那么第一个字就是0。在进行了补长度的操作以后,整个消息就变成下面这样了(16进制格式)? 0000000000000000? 0000000000000000? 0000000000000000? 0000000000000018? 如果原始的消息长度超过了512,我们需要将它补成512的倍数。然后我们把整个消息分成一个一个512位的数据块,分别处理每一个数据块,从而得到消息摘要。
3
您可能关注的文档
- 措辞练习7修改稿.doc
- 按键开关荷重曲线仪.doc
- 按摩穴位示意图.doc
- 按11个阶层5个等级划分.doc
- 插拔力测试仪.doc
- 搬运作业指导书.doc
- 收集电视查询拜访表.doc
- 教室教材.doc
- 收集电视接口MMS地址.doc
- 教室用语.doc
- 2020版 沪科技版 高中生物学 必修2 遗传与进化《第4章 生物的进化》大单元整体教学设计[2020课标].docx
- 情绪价值系列报告:春节消费抢先看-国证国际证券.docx
- 精品解析:北京市东直门中学2023-2024学年高二下学期3月阶段性考试(选考)物理试题(解析版).docx
- 2020版 沪科技版 高中生物学 必修2 遗传与进化《第4章 生物的进化》大单元整体教学设计[2020课标].pdf
- 2020版 沪科技版 高中生物学 选择性必修1 稳态与调节《第1章 人体的内环境和稳态》大单元整体教学设计[2020课标].pdf
- 2020版 沪科技版 高中生物学 选择性必修1 稳态与调节《第1章 人体的内环境和稳态》大单元整体教学设计[2020课标].docx
- 液冷盲插快接头发展研究报告-全球计算联盟.docx
- 精品解析:北京市东直门中学2023-2024学年高二下学期3月阶段性考试(选考)物理试题(原卷版).docx
- 精品解析:北京市东直门中学2024届高三考前练习数学试卷(解析版).docx
- 2020版 沪科技版 高中生物学 选择性必修1 稳态与调节《第2章 人体的神经调节》大单元整体教学设计[2020课标].docx
文档评论(0)