常见的三种加密算法及区别

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 相比,在许多方面都有对绝对的优势

1.jpg
2.jpg

写文章不易,路过的伙伴辛苦点个赞,谢谢支持!

你可能感兴趣的:(常见的三种加密算法及区别)