zoukankan      html  css  js  c++  java
  • 对RSA和AES的理解

    1、RSA和AES的区别:
    总结于:http://www.360doc.com/content/16/0606/15/12385684_565529546.shtml#

    RSA:

    是公开密钥系统的代表;

    安全性:建立在具有大素数因子的合数,其因子分解困难这一法则之上;

    处理速度慢;

    密钥管理:加解密过程中不必网络传输保密的密钥;密钥管理优于AES算法;

    RSA加解密速度慢,不适合大量数据文件加密;

    AES:

    Rijndael算法是新一代的高级加密标准,运行时不需计算机有非常高的处理能力和大的内存;

    操作可以很容易的抵御时间和空间的攻击,在不同的运行环境下始终保持良好的性能;

    AES密钥长度:最长只有256bit,可用软件和硬件实现高速处理;

    密钥管理:要求在通信前对密钥进行秘密分配,解密的私钥必须通过网络传送至加密数据接收方;

    AES加密速度很快;

    AES+RSA:

    使用AES对称密码体制对传输数据加密,同时使用RSA不对称密码体制来传送AES的密钥,就可以综合发挥AES和RSA的优点同时

    避免它们缺点来实现一种新的数据加密方案

    2、RSA签名和验签的流程图:
    特点:只需交换公钥;公/秘钥机制,公钥加密,私钥解密;(或者私钥加密,公钥解密);公钥负责加密,私钥负责解密;私钥负责签名,公钥负责验证。

    缺点:加解密速度慢,特别是解密

    3、AES框图:

    特点:加解密用同一秘钥

    优点:速度快,效率高;

    存在的问题:秘钥交换问题

    摘自:http://www.360doc.com/content/16/0606/15/12385684_565529546.shtml#

    4、AES+RSA=数据加密方案:

    摘自:http://www.360doc.com/content/16/0606/15/12385684_565529546.shtml#

    流程:

    接收方创建RSA秘钥对,

    发送RSA公钥给发送方,自己保留RSA私钥

    发送方创建AES密钥,加密待传送的明文,之后用RSA公钥加密该密钥,

    RSA公钥加密AES的密钥+AES密钥加密明文的密文----通过Internet发给---->接收方

    接收方用RSA私钥解密加密的密钥,之后再用解密后的AES密钥解密数据密文,得到明文。


    ————————————————
    版权声明:本文为CSDN博主「0914_h」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/huanhuanq1209/article/details/80614271

  • 相关阅读:
    LeetCode "Median of Two Sorted Arrays"
    LeetCode "Distinct Subsequences"
    LeetCode "Permutation Sequence"

    LeetCode "Linked List Cycle II"
    LeetCode "Best Time to Buy and Sell Stock III"
    LeetCode "4Sum"
    LeetCode "3Sum closest"
    LeetCode "3Sum"
    LeetCode "Container With Most Water"
  • 原文地址:https://www.cnblogs.com/Im-Victor/p/15156793.html
Copyright © 2011-2022 走看看