种豆资源网

当前位置:首页 > 百科 > 百科综合 / 正文

讯息摘要算法

(2019-10-23 19:23:45) 百科综合
讯息摘要算法(摘要算法)

讯息摘要算法

摘要算法一般指本词条

讯息摘要算法的主要特徵是加密过程不需要密钥,并且经过加密的数据无法被解密,目前可以被解密逆向的只有CRC32算法,只有输入相同的明文数据经过相同的讯息摘要算法才能得到相同的密文。讯息摘要算法不存在密钥的管理与分发问题,适合于分散式网路上使用。由于其加密计算的工作量相当巨大,所以以前的这种算法通常只用于数据量有限的情况下的加密,例如计算机的口令就是用不可逆加密算法加密的。近年来,随着计算机性能的飞速改善,加密速度不再成为限制这种加密技术发展的桎梏,因而讯息摘要算法套用的领域不断增加。

基本介绍

  • 中文名:讯息摘要算法
  • 外文名:Message-Digest Algorithm
  • 别称:摘要算法
  • 套用学科:信息技术,计算机科学

简介

讯息摘要算法的主要特徵是加密过程不需要密钥,并且经过加密的数据无法被解密,目前可以解密逆向的只有CRC32算法,只有输入相同的明文数据经过相同的讯息摘要算法才能得到相同的密文。讯息摘要算法不存在密钥的管理与分发问题,适合于分散式网路上使用。由于其加密计算的工作量相当可观,所以以前的这种算法通常只用于数据量有限的情况下的加密,例如计算机的口令就是用不可逆加密算法加密的。近年来,随着计算机性能的飞速改善,加密速度不再成为限制这种加密技术发展的桎梏,因而讯息摘要算法套用的领域不断增加。
讯息摘要算法主要套用在“数字签名”领域,作为对明文的摘要算法。着名的摘要算法有RSA公司的MD5算法和SHA-1算法及其大量的变体。

特点

讯息摘要算法的特点:
讯息摘要是把任意长度的输入揉和而产生长度固定的伪随机输入的算法。讯息摘要的主要特点有:
①无论输入的讯息有多长,计算出来的讯息摘要的长度总是固定的。例如套用MD5算法摘要的讯息有128个比特位,用SHA-1算法摘要的讯息最终有160比特位的输出,SHA-1的变体可以产生192比特位和256比特位的讯息摘要。一般认为,摘要的最终输出越长,该摘要算法就越安全。
②讯息摘要看起来是“随机的”。这些比特看上去是胡乱的杂凑在一起的。可以用大量的输入来检验其输出是否相同,一般,不同的输入会有不同的输出,而且输出的摘要讯息可以通过随机性检验。但是,一个摘要并不是真正随机的,因为用相同的算法对相同的讯息求两次摘要,其结果必然相同;而若是真正随机的,则无论如何都是无法重现的。因此讯息摘要是“伪随机的”。
③一般地,只要输入的讯息不同,对其进行摘要以后产生的摘要讯息也必不相同;但相同的输入必会产生相同的输出。这正是好的讯息摘要算法所具有的性质:输入改变了,输出也就改变了;两条相似的讯息的摘要确不相近,甚至会大相逕庭。
④讯息摘要函式是无陷门的单向函式,即只能进行正向的信息摘要,而无法从摘要中恢复出任何的讯息,甚至根本就找不到任何与原信息相关的信息。当然,可以採用强力攻击的方法,即尝试每一个可能的信息,计算其摘要,看看是否与已有的摘要相同,如果这样做,最终肯定会恢复出摘要的讯息。但实际上,要得到的信息可能是无穷个讯息之一,所以这种强力攻击几乎是无效的。
⑤好的摘要算法,没有人能从中找到“碰撞”,虽然“碰撞”是肯定存在的。即对于给定的一个摘要,不可能找到一条信息使其摘要正好是给定的。或者说,无法找到两条讯息,使它们的摘要相同。

套用

一般地,把对一个信息的摘要称为该讯息的指纹或数字签名。数字签名是保证信息的完整性和不可否认性的方法。数据的完整性是指信宿接收到的讯息一定是信源传送的信息,而中间绝无任何更改;信息的不可否认性是指信源不能否认曾经传送过的信息。其实,通过数字签名还能实现对信源的身份识别(认证),即确定“信源”是否是信宿意定的通信伙伴。 数字签名应该具有唯一性,即不同的讯息的签名是不一样的;同时还应具有不可伪造性,即不可能找到另一个讯息,使其签名与已有的讯息的签名一样;还应具有不可逆性,即无法根据签名还原被签名的讯息的任何信息。这些特徵恰恰都是讯息摘要算法的特徵,所以讯息摘要算法适合作为数字签名算法。

数字签名

数字签名方案是一种以电子形式存储讯息签名的方法。一个完整的数字签名方案应该由两部分组成:签名算法和验证算法。一般地说,任何一个公钥密码体制都可以单独地作为一种数字签名方案使用。如RSA作为数字签名方案使用时,可以定义如下:
这种签名实际上就是用信源的私钥加密讯息,加密后的讯息即成了签体;而用对应的公钥进行验证,若公钥解密后的讯息与原来的讯息相同,则讯息是完整的,否则讯息不完整。它正好和公钥密码用于讯息保密是相反的过程。因为只有信源才拥有自己地私钥,别人无法重新加密源讯息,所以即使有人截获且更改了源讯息,也无法重新生成签体,因为只有用信源的私钥才能形成正确地签体。同样信宿只要验证用信源的公钥解密的讯息是否与明文讯息相同,就可以知道讯息是否被更改过,而且可以认证讯息是否是确实来自意定的信源,还可以使信源不能否认曾将传送的讯息。所以这样可以完成数字签名的功能
讯息摘要算法讯息摘要算法
但这种方案过于单纯,它仅可以保证讯息的完整性,而无法确保讯息的保密性。而且这种方案要对所有的讯息进行加密操作,这在讯息的长度比较大时,效率使非常低的,主要原因在于公钥体制的加解密过程的低效性。所以这种方案一般不可取。

摘要算法

几乎所有的数字签名方案都要和快速高效的摘要算法(Hash函式)一起使用,当公钥算法与摘要算法结合起来使用时,便构成了一种有效地数字签名方案。
这个过程是:首先用摘要算法对讯息进行摘要,然后在把摘要值用信源的私钥加密;接收方先把接收的明文用同样的摘要算法摘要,形成“準签体”,然后再把準签体与用信源的公钥解密出的“签体”进行比较,如果相同就认为讯息是完整的,否则讯息不完整。
这种方法使公钥加密只对讯息摘要进行操作,因为一种摘要算法的摘要讯息长度是固定的,而且都比较“短”(相对于讯息而言),正好符合公钥加密的要求。这样效率得到了提高,而其安全性也并未因为使用摘要算法而减弱。

标 签

搜索
随机推荐

Powered By 种豆资源网||