RSA+AES实现混合加密
1、加密介绍
RSA加密是一种非对称加密。可以在不直接传递密钥的情况下,完成解密。这能够确保信息的安全性,避免了直接传递密钥所造成的被破解的风险。是由一对密钥来进行加解密的过程,分别称为公钥和私钥。两者之间有数学相关,该加密算法的原理就是对一极大整数做因数分解的困难性来保证安全性。通常个人保存私钥,公钥是公开的。
AES加密算法(Advanced Encryption Standard)是一种对称加密算法,也称为高级加密标准。它是由美国国家标准与技术研究院(NIST)于2001年发布,作为DES加密算法的替代方案。AES加密算法使用128位、192位或256位密钥对数据进行加密和解密,具有高强度、高速度和易于实现等优点。
2、加密思路
1、 使用RSA加密AES的秘钥,使用AES加密要传输的内容;
2、 既利用了 RSA 的灵活性,可以随时改动 AES 的密钥;又利用了 AES 的高效性,可以高效传输数据。
3、使用混合加密的原因
- 单纯的使用 RSA(非对称加密)方式,效率会很低,因为非对称加密解密方式虽然很保险,但是过程复杂,耗费时间长,性能不高;
- RSA 优势在于数据传输安全,且对于几个字节的数据,加密和解密时间基本可以忽略,所以用它非常适合加密 AES 秘钥(一般16个字节);
- 单纯的使用 AES(对称加密)方式的话,非常不安全。这种方式使用的密钥是一个固定的密钥,客户端和服务端是一样的,一旦密钥被人获取,那么,我们所发的每一条数据都会被都对方破解;
- AES有个很大的优点,那就是加密解密效率很高,而我们传输正文数据时,正好需要这种加解密效率高的,所以这种方式适合用于传输量大的数据内容;
基于以上特点,就有了我们混合加密的思路
共有 0 条评论