对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
相关文章
- 二叉树 红黑树 B树 B+树 理解
- 浅谈 .NET 中的对象引用、非托管指针和托管指针 理解C#中的闭包
- 第一节: Timer的定时任务的复习、Quartz.Net的入门使用、Aop思想的体现 第十九节: 结合【表达式目录树】来封装EF的BaseDal层的方法 第二十节: 深入理解并发机制以及解决方案(锁机制、EF自有机制、队列模式等) 框架搭建篇 第二十一节:ADO层次上的海量数据处理方案(SqlBulkCopy类插入和更新) 第十四节: 介绍四大并发集合类并结合单例模式下的队列来说明线程
- 谈谈我对前端组件化中“组件”的理解,顺带写个Vue与React的demo
- 观点丨李飞飞:我们怎么教计算机理解图片
- 【MySQL进阶-01】深入理解mysql索引本质
- js 从两道面试题加深理解闭包与箭头函数中的this
- 深入理解Linux网络技术内幕(五)——网络设备初始化
- 深入理解 iOS Rendering Process
- 深入理解javascript原生拖放
- 万字长文深入理解java中的集合-附PDF下载
- [置顶] 函数传递不定参数理解-c语言
- LoadRunner中90%响应时间的理解
- 深入理解ES6读书笔记8:类
- C#事件理解
- php中引用&的真正理解-变量引用、函数引用、对象引用