厦门网站建设68,东莞制作网站的联系方式,网页设计的原则,网站建设管理自查报告目录
一、介绍
二、与MD5的区别
1、对强行攻击的安全性
2、对密码分析的安全性
3、速度
三、应用
1、文件指纹
2、Git中标识对象
四、算法原理
1、填充消息
2、消息处理
3、数据运算
#xff08;1#xff09;链接变量
#xff08;2#xff09;步函数 一、介绍…目录
一、介绍
二、与MD5的区别
1、对强行攻击的安全性
2、对密码分析的安全性
3、速度
三、应用
1、文件指纹
2、Git中标识对象
四、算法原理
1、填充消息
2、消息处理
3、数据运算
1链接变量
2步函数 一、介绍
SHA1又称安全哈希算法Secure Hash Algorithm。
对于长度小于2^64位的消息SHA1会产生一个160位20个字节的消息摘要。SHA1是不可逆的防冲突并具有良好的雪崩效应。
二、与MD5的区别
1、对强行攻击的安全性
最显著和最重要的区别是SHA-1摘要比MD5摘要长32 位。使用强行技术产生任何一个报文使其摘要等于给定报摘要的难度对MD5是2^128数量级的操作而对SHA-1则是2^160数量级的操作。这样SHA-1对强行攻击有更大的强度。
2、对密码分析的安全性
由于MD5的设计易受密码分析的攻击SHA-1显得不易受这样的攻击。
3、速度
在相同的硬件上SHA-1的运行速度比MD5慢。
三、应用
1、文件指纹
这个作用和MD5的作用类似如果文件被篡改那么对应的SHA1值就会变化
2、Git中标识对象
用过Git的应该都知道Git中的对象没有名字唯一标识就是对象的SHA1值
四、算法原理
1、填充消息
与md5一致
MD5详解_xcxhzjl的博客-CSDN博客
2、消息处理
每64个字节512位一组分成多个组n个。 每个组再分为16个子分组每个子分组为32位。之后将这16个子分组扩充到80个子分组。扩充方法为 WtMt当0≤t≤15 Wt((Wt-3)^(Wt-8)^(Wt-14)^(Wt-16))1当16≤t≤79 3、数据运算
数据加密要经过4轮运算每一轮共有20个步骤共80步之后产生160位摘要这160位摘要存放在5个32位链接变量里分别记为ABCDE。
1链接变量
初始值表示如下 A0x67452301 B0xEFCDAB89 C0x98BADCFE D0x10325476 E0xC3D2E1F0 2步函数
SHA1的4轮运算共80个步骤使用同一个操作程序如下 A,B,C,D,E-[(A5)Ft(B,C,D)EWtKt]A(B30)CD A.Ft(B,C,D)为逻辑函数
每个函数ft (0 t 79)都操作32位字BCD并且产生32位字作为输出。Ft(B,C,D)可以如下定义 ft(B,C,D) (B AND C) or ((NOT B) AND D) ( 0 t 19) ft(B,C,D) B XOR C XOR D (20 t 39) ft(B,C,D) (B AND C) or (B AND D) or (C AND D) (40 t 59) ft(B,C,D) B XOR C XOR D (60 t 79). B.Wt为子明文分组W[t] 见2消息处理章节 C.Kt为固定常数
这个程序的意义如下
●将[(A5)Ft(B,D,C)EWtKt]的结果赋给A
●将链接变量A初始值赋给链接变量B
●将链接变量B初始值循环左移30位赋给C
●将链接变量C初始值赋给链接变量D
●将链接变量D初始值赋给链接变量E
在处理完所有的消息后消息摘要是一个160位的字符串。