1.常见的三种加密算法及区别
2.加密算法在HTTPS中的应用
3.MD5的实现原理
常见的加密算法
1.摘要算法
简介:
消息摘要算法的主要特征是加密过程不需要密钥,并且经过加密的数据无法被解密
特点:
无论输入的消息有多长,计算出来的消息摘要的长度总是固定的
一般地,只要输入的消息不同,对其进行摘要以后产生的摘要消息也必不相同,但相同的输入必会产生相同的输出
应用场景:
消息摘要算法主要应用在“数字签名”领域,作为对明文的摘要算法
- MD算法(Message Digest):
生成的消息摘要都是128位的
包括:MD2,MD4,MD5 - SHA算法(Secure Hash Algorithm):
安全散列算法
固定长度摘要信息
SHA-1 | SHA-224 | SHA-256 | SHA-384 | SHA-512 |
---|---|---|---|---|
160 | 224 | 256 | 384 | 512 |
比较:
都是从MD4发展而来,它们的结构和强度等特性有很多相似之处
特性 | MD5 | SHA-1 |
---|---|---|
摘要长度 | 128 | 160 |
报文最大长度 | 无穷大 | 2^24-1 |
分组长度 | 512b | 512b |
循环中步骤 | 64 | 80 |
基本函数 | 4 | 4 |
2.对称加密算法
简介:
对称加密指加密和解密使用相同密钥的加密算法
特点:
对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。
应用:
数据传输中的加密,防窃取
DES(Data Encryption Standard)
DES是一个分组加密算法,典型的DES以64位为分组对数据加密,加密和解密用的是同一个算法。AES
AES算法基于排列和置换运算。排列是对数据重新进行安排,置换是将一个数据单元替换为另一个
是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,运用最为广泛
比较:
AES弥补了DES很多的不足,支持秘钥变长,分组变长,更加的安全,对内存要求非常低
特性 | DES | AES |
---|---|---|
速度 | 中 | 快 |
秘钥长度 | 56b | 128~256(32倍数) |
分组长度 | 64b | 128~256(32倍数) |
是否可枚举破解 | 趋于可能 | 目前不可 |
3.非对称加密算法
简介:
非对称加密算法需要两个密钥:公开密钥和私有密钥。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。用私钥进行加密,只有对应的公钥才能进行解密
特点:
算法强度复杂、安全性依赖于算法与密钥。但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。
应用场景:
数字签名、秘钥传输加密
- DH
非对称算法的基石,秘钥交换协议 - RSA
非对称加密的经典,除了可用于非对称加密,也可用于数字签名 - ECC
椭圆加密算法
比较:
使用RSA,可以进行加密和签名的密钥对。使用DH,只执行加密,没有签名机制。
ECC和 RSA 相比,在许多方面都有对绝对的优势
写文章不易,路过的伙伴辛苦点个赞,谢谢支持!