当前位置:首页 » 操作系统 » 数据摘要算法

数据摘要算法

发布时间: 2024-10-01 16:02:59

Ⅰ 带密钥的消息摘要算法——数据签名算法

数字签名算法可以看做是一种带有密钥(公钥+私钥)的消息摘要算法,也就是说,数据签名算法是非对称加密算法和消息摘要算法的结合体。该算法包含签名和验证两项操作,遵循 “私钥签名,公钥验证” 的签名/验证方式。

1、甲方构建密钥对,并能公布公钥给乙方。
2、甲方想乙方发送数据需要附加签名。
3、乙方使用公钥和签名验证数据。

RSA数字签名算法主要可以分为:MD、SHA两类。该算法公钥通常要比私钥短。

RSA数字签名示例:

在实现层面上,可以认为DSA算法实现就是RSA算法实现的精简版。DSA算法仅支持SHA系列消息摘要算法。

DSA数字签名示例:

ECDSA算法相对于传统签名算法具有速度快、强度高、签名短等优点。微软操作系统及办公软件的序列号验证就使用了该算法。

ECDSA算法示例:

Ⅱ 摘要算法的介绍

数据摘要算法是密码学算法中非常重要的一个分支,它通过对所有数据提取指纹信息以实现数据签名、数据完整性校验等功能,由于其不可逆性,有时候会被用做敏感信息的加密。数据摘要算法也被称为哈希(Hash)算法、散列算法。

Ⅲ 摘要算法的分类

1、CRC8、CRC16、CRC32
CRC(Cyclic Rendancy Check,循环冗余校验)算法出现时间较长,应用也十分广泛,尤其是通讯领域,现在应用最多的就是 CRC32 算法,它产生一个4字节(32位)的校验值,一般是以8位十六进制数,如FA 12 CD 45等。CRC算法的优点在于简便、速度快,严格的来说,CRC更应该被称为数据校验算法,但其功能与数据摘要算法类似,因此也作为测试的可选算法。
在 WinRAR、WinZIP 等软件中,也是以 CRC32 作为文件校验算法的。一般常见的简单文件校验(Simple File Verify – SFV)也是以 CRC32算法为基础,它通过生成一个后缀名为 .SFV 的文本文件,这样可以任何时候可以将文件内容 CRC32运算的结果与 .SFV 文件中的值对比来确定此文件的完整性。
与 SFV 相关工具软件有很多,如MagicSFV、MooSFV等。
2、MD2 、MD4、MD5
这是应用非常广泛的一个算法家族,尤其是 MD5(Message-Digest Algorithm 5,消息摘要算法版本5),它由MD2、MD3、MD4发展而来,由Ron Rivest(RSA公司)在1992年提出,被广泛应用于数据完整性校验、数据(消息)摘要、数据加密等。MD2、MD4、MD5 都产生16字节(128位)的校验值,一般用32位十六进制数表示。MD2的算法较慢但相对安全,MD4速度很快,但安全性下降,MD5比MD4更安全、速度更快。
在互联网上进行大文件传输时,都要得用MD5算法产生一个与文件匹配的、存储MD5值的文本文件(后缀名为 .md5或.md5sum),这样接收者在接收到文件后,就可以利用与 SFV 类似的方法来检查文件完整性,绝大多数大型软件公司或开源组织都是以这种方式来校验数据完整性,而且部分操作系统也使用此算法来对用户密码进行加密,另外,它也是目前计算机犯罪中数据取证的最常用算法。
与MD5 相关的工具有很多,如 WinMD5等。
3、SHA1、SHA256、SHA384、SHA512
SHA(Secure Hash Algorithm)是由美国专门制定密码算法的标准机构—— 美国国家标准技术研究院(NIST)制定的,SHA系列算法的摘要长度分别为:SHA为20字节(160位)、SHA256为32字节(256位)、 SHA384为48字节(384位)、SHA512为64字节(512位),由于它产生的数据摘要的长度更长,因此更难以发生碰撞,因此也更为安全,它是未来数据摘要算法的发展方向。由于SHA系列算法的数据摘要长度较长,因此其运算速度与MD5相比,也相对较慢。
SHA1的应用较为广泛,主要应用于CA和数字证书中,另外在互联网中流行的BT软件中,也是使用SHA1来进行文件校验的。
4、RIPEMD、PANAMA、TIGER、ADLER32 等
RIPEMD是Hans Dobbertin等3人在对MD4,MD5缺陷分析基础上,于1996年提出来的,有4个标准128、160、256和320,其对应输出长度分别为16字节、20字节、32字节和40字节。
TIGER由Ross在1995年提出。Tiger号称是最快的Hash算法,专门为64位机器做了优化。

Ⅳ 摘要算法有哪些

摘要算法常见的有MD5、SHA1、SHA256等。

摘要算法应用范围:

摘要算法是一种用于生成文本或数据摘要的算法,通常通过对输入的文本或数据进行压缩和提炼,生成简洁且具有代表性的摘要信息。摘要算法可以对长篇文章、新闻报道、论文等文本进行自动摘要,提取出其中最重要和关键的信息,帮助用户快速了解文本的主题和要点。

数据库查询过程中,如果数据量庞大,可以使用摘要算法对数据库中的数据进行摘要提取。通过摘要信息,可以加快数据库查询的速度和效率。在大规模数据集中,存在大量重复的文件,这可能导致存储浪费和数据处理的困难。

摘要算法可以生成唯一的文件指纹或哈希值,用于判断文件是否重复,从而进行文件去重。摘要算法被广泛用于数据的完整性验证和数字签名。通过生成数据的摘要信息,可以验证数据在传输过程中是否被篡改,并且可以确保数据的来源和完整性。

热点内容
如何在服务器上挂传奇网站 发布:2024-10-01 18:55:28 浏览:60
android通讯录项目 发布:2024-10-01 18:41:42 浏览:96
安卓手机视频通话录音在哪里找 发布:2024-10-01 18:15:13 浏览:551
鸿蒙安卓ios哪个好用 发布:2024-10-01 18:06:38 浏览:561
linuxphpmemcache 发布:2024-10-01 18:05:15 浏览:144
阿里巴巴如何上传图片 发布:2024-10-01 18:00:26 浏览:820
圆球型编程 发布:2024-10-01 17:55:31 浏览:722
手电筒源码 发布:2024-10-01 17:19:05 浏览:293
哪个软件可以缓存英文字幕 发布:2024-10-01 17:15:13 浏览:412
python转int 发布:2024-10-01 17:03:01 浏览:948