Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MD5与SHA #51

Closed
bfchengnuo opened this issue Mar 18, 2020 · 3 comments
Closed

MD5与SHA #51

bfchengnuo opened this issue Mar 18, 2020 · 3 comments

Comments

@bfchengnuo
Copy link
Owner

MD5 和 SHA-1 是目前使用比较广泛的散列 (Hash) 函数,也是在消息认证和数字签名中普遍使用的两种加密算法。

「MD5 消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个 128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5 由罗纳德·李维斯特设计,于1992年公开,用以替换 MD4 算法。这套算法的程序在 RFC 1321 中被加以规范。」

「安全散列算法(英语:Secure Hash Algorithm,缩写为 SHA )是一个密码散列函数家族,是 FIPS 所认证的五种安全散列算法。能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的算法。且若输入的消息不同,它们对应到不同字符串的概率很高。」

由于 MD5 与 SHA-1 均是从 MD4 发展而来,它们的结构和强度等特性有很多相似之处,SHA-1 与 MD5 的最大区别在于其摘要比 MD5 摘要长 32bit。

对于强行攻击,产生任何一个报文使之摘要等于给定报文摘要的难度:MD5 是 2128 数量级的操作,SHA-1 是 2160 数量级的操作。

产生具有相同摘要的两个报文的难度:MD5 是 264 是数量级的操作,SHA-1 是280 数量级的操作。

因而,SHA-1 对强行攻击的强度更大。但由于 SHA-1 的循环步骤比 MD5 多(80:64)且要处理的缓存大(160 比特:128 比特),SHA-1 的运行速度比 MD5 慢。

SHA-2:2001年发布,包括SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256。虽然至今尚未出现对 SHA-2 有效的攻击,它的算法跟 SHA-1 基本上仍然相似;因此有些人开始发展其他替代的散列算法。

@bfchengnuo
Copy link
Owner Author

Originally posted by @bfchengnuo in #31 (comment)

@bfchengnuo
Copy link
Owner Author

补充:https 上,使用了 RSA 非对称加密和 SHA;
使用 RSA 是握手阶段密钥交换用的;
SHA 是做证书签名认证的,防止证书(公钥)被篡改。

@bfchengnuo
Copy link
Owner Author

补充:SSH配置文件相关

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant