美文网首页加密
AES与RSA相结合数据加密方案

AES与RSA相结合数据加密方案

作者: cosWriter | 来源:发表于2017-02-08 10:32 被阅读308次

        RSA算法是公开密钥系统的代表,其安全性建立 在具有大素数因子的合数,其因子分解困难这一法则之上的。Rijndael算法作为新一代的高级加密标准,运行时不需要计算机有非常高的处理能力和大的内 存,操作可以很容易的抵御时间和空间的攻击,在不同的运行环境下始终能保持良好的性能。这使AES将安全,高效,性能,方便,灵活性集于一体,理应成为网 络数据加密的首选。相比较,因为AES密钥的长度最长只有256比特,可以利用软件和硬件实现高速处理,而RSA算法需要进行大整数的乘幂和求模等多倍字 长处理,处理速度明显慢于AES[5];所以AES算法加解密处理效率明显高于RSA算法。在密钥管理方面,因为AES算法要求在通信前对密钥进行秘密分 配,解密的私钥必须通过网络传送至加密数据接收方,而RSA采用公钥加密,私钥解密(或私钥加密,公钥解密),加解密过程中不必网络传输保密的密钥;所以 RSA算法密钥管理要明显优于AES算法。

       从上面比较得知,由于RSA加解密速度慢,不适合大量数据文件加密,因此在网络中完全用公开密码体制传输机密信息是没有必要,也是不太现实的。AES加密速度很快,但是在网络传输过程中如何安全管理AES密钥是保证AES加密安全的重要环节。这样在传送机 密信息的双方,如果使用AES对称密码体制对传输数据加密,同时使用RSA不对称密码体制来传送AES的密钥,就可以综合发挥AES和RSA的优点同时避 免它们缺点来实现一种新的数据加密方案。加解密实现流程如下图。

AES+RSA 流程

     具体过程是先由接收方创建RSA密钥对,接收方通过Internet发送RSA公钥到发送方,同时保存RSA私钥。而发送方创建AES密钥,并用该 AES密钥加密待传送的明文数据,同时用接受的RSA公钥加密AES密钥,最后把用RSA公钥加密后的AES密钥同密文一起通过Internet传输发送 到接收方。当接收方收到这个被加密的AES密钥和密文后,首先调用接收方保存的RSA私钥,并用该私钥解密加密的AES密钥,得到AES密钥。最后用该 AES密钥解密密文得到明文。


AES+RSA结合最佳实践

基本要求

保证传输数据的安全性

保证数据的完整性

能够验证客户端的身份

基本流程

请求:

1. 服务器端(server)和客户端(client)分别生成自己的密钥对

2. server和client分别交换自己的公钥

3. client生成AES密钥(aesKey)

4. client使用自己的RSA私钥(privateKey)对请求明文数据(params)进行数字签名

5. 将签名加入到请求参数中,然后转换为json格式

6. client使用aesKey对json数据进行加密得到密文(data)

7. client使用sever的RSA公钥对aesKey进行加密(encryptkey)

8. 分别将data和encryptkey作为参数传输给服务器端

服务器端进行请求响应时将上面流程反过来即可

具体实现流程可做优化,例如:client将encryptkey传输给服务器端的方式可以通过HttpHeader来实现。

相关文章

  • AES与RSA相结合数据加密方案

    RSA算法是公开密钥系统的代表,其安全性建立 在具有大素数因子的合数,其因子分解困难这一法则之上的。Rij...

  • 前后端数据传输加解密+请求重发

    目的 确保前后端传输数据的安全性,避免明文显示,避免数据被篡改 方案一: aes、rsa配合加密方案: 对称加密生...

  • Android数据加密(转)

    Android数据加密之Rsa加密 Android数据加密之Aes加密 Android数据加密之Des加密 And...

  • 前后端API交互数据加密——AES与RSA混合加密完整实例

    RSA加密、解密、签名、验签的原理及方法 前后端API交互数据加密——AES与RSA混合加密完整实例 看完这篇文章...

  • 【RSA】和【AES】加密

    网络请求是数据的传递使用了【RSA】和【AES】加密 需要使用用户信息的请求使用AES加密(需要秘钥进行加密)与用...

  • 前后端数据交互的安全性

    加密方案:AES + RSA两种加密方式混合使用,能够实现数据的全程加密(无论是上传,还是拉取)。 1、从客户端动...

  • AES+RSA加密联合使用

    AES+RSA加密联合使用 使用原因: 因为加密解密效率的问题 使用方式前端:前端对需要加密的数据进性AES加密,...

  • RSA、AES加密解密及数字签名

    参考资料: ①数字签名是什么? ②基于HTTP在互联网传输敏感数据的消息摘要、签名与加密方案 ③RSA及AES加解...

  • RSA AES

    DES/AES加密速度快,适合大量数据,处理数据后可复原。 RSA加解密速度慢,不适合大量数据文件加密。 RSA用...

  • android 3DES加密和MD5加密

    经常使用加密算法:DES、3DES、RC4、AES,RSA等;对称加密:des,3des,aes非对称加密:rsa...

网友评论

本文标题:AES与RSA相结合数据加密方案

本文链接:https://www.haomeiwen.com/subject/cmujettx.html