单项加密算法哈希,MD5,SHA算法介绍
source link: https://studygolang.com/articles/36193
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
单项加密算法哈希,MD5,SHA算法介绍
wushuang · 大约4小时之前 · 36 次点击 · 预计阅读时间 2 分钟 · 大约8小时之前 开始浏览哈希(Hash)算法介绍
哈希(Hash)算法,即散列函数。它是一种单向密码体制,即它是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。同时,哈希函数可以将任意长度的输入经过变化以后得到固定长度的输出。哈希函数的这种单向特征和输出数据长度固定的特征使得它可以生成消息或者数据。
MD5算法介绍
MD5信息摘要算法(英文:MD5 Message-Digest Algorithm),是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。
MD5算法具有不可逆性、高度的离散性、压缩性和弱碰撞性等特性。主要用于密码的加密存储、数字签名、文件完整性验证和文件查重。
2004年,MD5算法被证实无法防止碰撞(collision),因此不适用于安全性认证,如SSL公开密钥认证或是数字签名等用途。2009年,中国科学院的谢涛和冯登国仅用了2^{20.96} 的碰撞算法复杂度,破解了MD5的碰撞抵抗,该攻击在普通计算机上运行只需要数秒钟。
SHA系列算法介绍
安全哈希算法SHA (英文:Secure Hash Algorithm) 是美国国家标准与技术研究院 (NIST) 作为美国联邦信息处理标准 (FIPS) 发布的一系列加密哈希函数。有SHA-0、SHA-1、SHA-2、SHA-3等4类型算法。
其中,SHA-2 包括了SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256等算法;SHA-3 包括了SHA3-224 、SHA3-256 、SHA3-384 、SHA3-512、SHAKE128 、SHAKE256等算法。
SHA加密用于多种方法,包括散列数据、证书文件和其他加密目的,包括比特币等加密货币。这些哈希算法有助于保护现代互联网基础设施的骨干。
SHA-0在发布之后很快就被撤回,并且由1995年发布的修订版本FIPS PUB 180-1(通常称为SHA-1)取代。SHA-0和 SHA-1可将一个最大264比特的消息,转换成一串160位的消息摘要;其设计原理相似于MIT教授Ronald L. Rivest所设计的密码学散列算法MD4和MD5。
2005年,Rijmen和Oswald发表了对SHA-1较弱版本(53次的加密循环而非80次)的攻击:在2^{80}的计算复杂度之内找到碰撞。2005年二月,王小云、殷益群及于红波发表了对完整版SHA-1的攻击,只需少于2^{69}的计算复杂度,就能找到一组碰撞。2005年8月17日的CRYPTO会议尾声中王小云、姚期智、姚储枫再度发表更有效率的SHA-1攻击法,能在2^{63}个计算复杂度内找到碰撞。2017年2月23日,Google公司公告宣称他们与CWI Amsterdam合作共同创建了两个有着相同的SHA-1值但内容不同的PDF文件,这代表SHA-1算法已被正式攻破。
SHA-2是SHA-1的后继者,其下又可再分为六个不同的算法标准,包括了:SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256,命名方式是以它们的摘要长度(以比特计算)加在原名后面来命名。
SHA-3,之前名为Keccak算法,是一个加密杂凑算法。SHA-3并不是要取代SHA-2,因为SHA-2目前并没有出现明显的弱点。由于对MD5出现成功的破解,以及对SHA-0和SHA-1出现理论上破解的方法,NIST感觉需要一个与之前算法不同的,可替换的加密杂凑算法,也就是现在的SHA-3。
有疑问加站长微信联系(非本文作者)
Recommend
-
159
漫画:什么是MD5算法? Original...
-
15
Hash checksums: MD5, SHA-1, SHA-256 yourbasic.org/golang String checksum To compute the...
-
11
密码学 密码学系列之:NIST和SHA算法 2021-05-04 SHA算法大家应该都很熟...
-
6
对于软件研发人员来说 MD5 不是一个陌生的词汇,平时的软件研发中,经常使用 MD5 校验消息是否被篡改、验证文件完整性,甚至将MD5当作加密算法使用。 MD5虽不陌生,但不是所有研发人员都了解其算法原理,通过这篇文章详细学习MD5 摘要算法。 ...
-
7
漫画:什么是SHA系列算法?-吴师兄学编程 当前位置:吴师兄学编程 > 算法 > 漫画算法 &...
-
1
奇妙的安全旅行之SHA算法 – Android开发中文站你的位置:Android开发中文站 > 热点资讯 > 奇妙的安全旅行之SHA算法 ...
-
2
一文搞懂单向散列加密:MD5、SHA-1、SHA-2、SHA-3微信搜索:码农StayUp 主页地址:
-
5
2021-47: SSH 弃用 SHA-1 哈希算法今天 SSH 一个服务器的时候突然报错:[email protected]: Permission denied (publickey). 加上 -v 看一下具体的报错内容:debug1: Off...
-
7
MD5 到底算不算一种加密算法? 作者:张张 2022-11-09 08:24:39 数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码为“密文”,使其只能在输入相应的密钥之后才能显示出...
-
3
SHA-256 简介及 C# 和 js 实现【加密知多少系列】
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK