SHA-1加密算法在加密学中扮演着极其重要的角色,可以用于实现数据保密、防止数据更改和身份验证等功能。另外,SHA-1加密算法是当今众多流行加密思想核心,几乎无处不在。它在许多安全协议中广为使用。那么,我们今天就给大家来介绍一下SHA-1加密算法。
SHA-1加密算法的原理
一、 函数与常量定义
1、 SHA-1加密算法的迭代函数
SHA-1加密算法使用80个连续的逻辑函数f0,f1,... ,f79。每个函数Ft(0≤t≤79)都操作三个32位字(B,C,D),产生一个32位字作为输出。函数Ft(B,C,D)定义如下:
(1)、 SHA-1加密算法常量
SHA-1加密算法一共需要80个32位的常量(K0,K1,...K79),以16进制给出,它们如下所示:
(1)Kt=0x5A827999 _(0≤t≤19)
(2)Kt=0x6ED9EBA1 _(20≤t≤39)
(3)Kt=0x8F1BBCDC _(40≤t≤59)
(4)Kt=0xCA62C1D6 _(60≤t≤79)
2、预处理
在进行散列值计算之前,先要对需要加密的数据进行预处理。这一预处理由三部分组成:消息填充、分割已填充消息(将填充后的消息等分成m位处理块)、为散列值计算设置初始化值。
(1)消息填充
假设原始消息(M)的长度是L位。首先,在消息最后加一位“1”,接着在这位“1”后面补k个“0”,使得L+1+k(即补位后的消息长度)满足对512取模后余数是448。然后,添加最后的64位二进制数据,这64位二进制数据就是原始L位消息(M)长度的二进制表示。例如,在8位ASCII码系统中,消息“abc”长度为8×3=24,加上一位“1”,还要添加448-(24+1)=423位“0”,最后加上64位原始消息长度二进制表示后,就得到512位的填充消息:
(2)分割已填充消息
经过消息填充后,还必须将数据划分成m位一组的N块的数据块来提供给下面的散列值计算过程。对于SHA-1加密算法,填充过的消息被分割成N(M(1),M(2),...,M(N))块,每块512位。然后每组512位的输入块可以表示成16个32位的字,分别记为:M0(i),M1(i),...,M15(i)。
(3)设置初始散列值(H(0))
在安全散列算法开始其核心的散列迭代计算之前,还必须设置好正确的初始散列值H(0)。而H(0)的数量和字长取决于消息摘要的选择。对于SHA-1加密算法,初始散列值由下面5个32位的字组成,其16进制表示如下:H0(0)=0x67452301,H1(0)=0xEFCDAB89,H2(0)=0x98BADCFE,H3(0)=0x10325476,H4(0)=0xC3D2E1F0。
3、散列值计算
在对原始数据消息进行了填充、分割后,就可以开始SHA-1加密算法的核心部分:散列值计算。
计算需要两个缓冲区,每个都由5个32位的字组成,还需要一个80个32位字的缓冲区。第一个5个字的缓冲区被标识为A,B,C,D,E。第二个5个字的缓冲区被标识为H0,H1,H2,H3,H4。80个字的缓冲区被标识为W0,W1,... ,W79。另外,还需要一个一个字的TEMP缓冲区。为了产生消息摘要,定义的16个字的数据块M1,M2,... ,Mn会依次进行处理,处理每个数据块包含80个步骤,在处理每个数据块之前,缓冲区H0,H1,H2,H3,H4被设置初始值。为了处理Mi,需要进行如下步骤:
(1)将Mi分成16个字W0,W1,... ,W15(W0是最左边的字)。
(2)对于 t = 16 到 79 令 Wt = S1(Wt-3 XOR Wt-8 XOR Wt- 14 XOR Wt-16)。
(3)令 A = H0, B = H1, C = H2, D = H3, E = H4。
(4) 对于 t = 0 到 79,执行下面的循环
TEMP = S5(A) + ft(B,C,D) + E + Wt + Kt;
E = D; D = C; C = S30(B); B = A; A = TEMP;
(5)令 H0 = H0 + A, H1 = H1 + B, H2 = H2 + C, H3 = H3 + D, H4 = H4 + E。
在处理完所有的 Mn, 后,消息摘要是一个160位的字符串,以下面的顺序标识
H0 H1 H2 H3 H4。
SHA-1加密算法实现与安全性
一、SHA-1加密算法实现
基于上述SHA-1加密算法原理的分析,SHA-1加密算法实现流程如图所示:
SHA-1加密算法是一种易于实现并可以基于多种平台的方便易行的安全算法,目前很多计算机语言,像C、Java、C++和PHP依照SHA-1加密算法的标准都能实现SHA-1。当然,受语言平台应用性的制约,应用最广泛的是C语言和Java语言。自身计算机上的消息认证一般采用C语言实现就足够,不仅能够保证良好的可移植性,而且实现起来也比较简单、容易理解。考虑到网络上的数字签名,乃至电子商务等,一般采用Java实现代码较简单迅速,其可移植性和安全性也能得到更好的保证。
事实上,这里还存在一个潜在的问题,SHA-1加密算法加密信息摘要的计算速度并不总是能满足要求。使得SHA-1加密算法的硬件实现也有很多途径,如利用现场可编程门阵列不仅可以实现这种算法,并且某种程度上也能提高运算速度。特别是随着数字通信领域的飞速发展,在急剧增长的无线移动设备领域,对加密系统的性能要求越来越严格。使得SHA-1加密算法软硬件优化方案的实现成为专家关注的热点。
二、SHA-1加密算法安全性
SHA-1加密算法是由MD5算法演变而来的,它们之间最大的区别在于前者产生的摘要长度比后者长32bit。SHA-1对于强行攻击,产生任何一个报文使之摘要等于给定报文摘要的难度为2160数量级的操作,较MD5的2128数量级操作要难。因此, SHA-1加密算法对抵抗强行攻击的强度很高。同时,因为SHA-1加密算法的循环步骤有80次,比MD5算法的64次要多,所以其运行速度也较慢。从目前密码学研究的最新进展来看,SHA-1加密算法虽然被发现存在缺陷,碰撞,但在近几年内,SHA-1加密算法仍然被大量使用。
随着互联网与通信技术的飞速发展,大量重要的数据信息存储在网络服务器中,给人们带来方便的同时也造成了巨大的信息安全隐患。在保证信息系统安全性的各种技术中,数据信息加密算法扮演了一个重要角色。虽然SHA-1加密技术由于其SHA-1。当然,受语言平台应用性的制约,应用最广泛的是C语言和Java语言。自身计算机上的消息认证一般采用C语言实现就足够,不仅能够保证良好的可移植性,而且实现起来也比较简单、容易理解。考虑到网络上的数字签名,乃至电子商务等,一般采用Java实现代码较简单迅速,其可移植性和安全性也能得到更好的保证。
事实上,这里还存在一个潜在的问题,SHA-1加密算法加密信息摘要的计算速度并不总是能满足要求。使得SHA-1加密算法的硬件实现也有很多途径,如利用现场可编程门阵列不仅可以实现这种算法,并且某种程度上也能提高运算速度。特别是随着数字通信领域的飞速发展,在急剧增长的无线移动设备领域,对加密系统的性能要求越来越严格。使得SHA-1加密算法软硬件优化方案的实现成为专家关注的热点。
二、SHA-1加密算法安全性
SHA-1加密算法是由MD5算法演变而来的,它们之间最大的区别在于前者产生的摘要长度比后者长32bit。SHA-1对于强行攻击,产生任何一个报文使之摘要等于给定报文摘要的难度为2160数量级的操作,较MD5的2128数量级操作要难。因此, SHA-1加密算法对抵抗强行攻击的强度很高。同时,因为SHA-1加密算法的循环步骤有80次,比MD5算法的64次要多,所以其运行速度也较慢。从目前密码学研究的最新进展来看,SHA-1加密算法虽然被发现存在缺陷,碰撞,但在近几年内,SHA-1加密算法仍然被大量使用。
随着互联网与通信技术的飞速发展,大量重要的数据信息存储在网络服务器中,给人们带来方便的同时也造成了巨大的信息安全隐患。在保证信息系统安全性的各种技术中,数据信息加密算法扮演了自身安全等级高,被广泛应用在社会的各行各业。但随着加密技术的不断更新和发展,SHA-1加密算法将来可能会完全被其他更安全的算法取代。
小知识之迭代函数:
在数学中,迭代函数是在碎形和动力系统中深入研究的对象。迭代函数是重复的与自身复合的函数,这个过程叫做迭代。
当青岛*测控技术有限公司遇上安企神,测控技术数据安全将迎来哪些新变化?
海*测控技术有限公司是海*微电子有限公司100%控股子公司,是由青岛市政府、山东省政府及行业领军企业共同出资成立的第三方检测平台。旨在集成电路可靠性验证及测试分析领域打造国内一流集成电路检测、分析、设计开发及技术解决方案等集成电路产业共性技术服务平台。海*以海洋装备和高端设备集成电路可靠性验证和测试分析为特色,主要为海...
"聚势谋远:重庆*医药集团与安企神达成战略合作,探索医药+科技融合发展新路径!
重庆*医药集团有限公司成立于2017年8月,是在重庆市*区医药(集团)有限责任公司基础上组建成立的大型医药产业企业。是重庆*经济技术开发(集团)有限公司控股的混合所有制企业和市级重点项目三峡国际健康产业园投资单位,位列全国百强医药流通企业。公司下辖重庆*制药有限公司、*医药科技重庆有限公司、重庆*肿瘤医院等十余家子公司...
聚焦核心数据安全:山东卫禾*股份有限公司携手安企神软件构建防泄密屏障!
项目背景山东卫禾*股份有限公司于2015年注册成立,公司拥有总资产1.5亿元,公司具有齿轮检测中心、三坐标测量仪、全谱直读光谱仪等关键研发设备。运用UGNX7.5、MASTA5.4等研发软件进行研发,具有强大的技术研发能力,拥有31项专利,坚持产学研结合,设有山东卫禾*技术研究院,并不断加强研发平台建设,打造创新型企业...
安全+智造双升级!江阴*电子有限公司携手安企神开启企业防护新时代!
江阴*电子有限公司成立于1989年,是一家电子元器件集成设计和生产服务的领先供应商。产品应用包括数据采集、计算机外围设备和其他电子产品。还进入了汽车电子行业、航空航天行业、工业控制行业、医疗器械行业和消费电子行业,为客户提供更广泛的高附加值产品和服务。随着科技产业的快速发展和市场需求的增加,现已成功转型为一家提供完整解...
福建*医药公司联手安企神软件,成功落地应用程序、网站黑名单设置与USB管控方案!
项目背景福建*医药有限公司前身是福建*工贸责任有限公司,2015年重组后成为中国五百强企业——*医药集团的子公司。 系中国最大的民营医药集团,是在中国医药商业行业处于领先地位的上市公司。公司成立于2015年08月04日,经营范围包括中药饮片、中成药、化学原料药、化学药制剂等。应用需求管控公司电脑安装程序和使用程序,禁...