对称加密非对称加密混合加密
对称加密&非对称加密&混合加密
- 写于前
- iOS中常在哪些场景应用到
- 写一个系列
- 本文概要
- 对称加密(Symmetric Cryptography)
- 非对称加密(ASymmetric Cryptography)
- 混合加密(Hybrid Cryptography)
- 总结
- 参考文献
写于前
iOS中常在哪些场景应用到
- 支付密码、验证码相关的业务场景
- 之前个人维护的一个数字证书模块,与密码学相关知识也紧密相关,同时数字证书在我们的业务场景中,是作为指纹支付的基础
- iOS的签名机制。常常跟着网上的教程一顿操作,然而却不知道原理是什么。个人觉得,知道原理后续遇到问题也更能快速定位哪个环节的问题,也能学习优秀的技术方案是如何设计的
写一个系列
- 对称加密&非对称加密&混合加密
- 单向散列函数&数字签名&数字证书
- iOS签名机制
本文概要
- 白话厘清概念,分析优缺点(不累述算法实现)
- 看完,能对平常接触的AES,RSA,公钥,私钥,哪个加密,哪个解密有清晰的了解
对称加密(Symmetric Cryptography)
加密,解密使用同一个密钥
常见的加密方式:
DES(Data Encryption Standard)
- 如上,简单流程,补充几点:
- 明文密文都是64bit
- 密钥64bit,每隔7bit有一个错误检查专用位,实际密钥长度为56bit
- 缺点:每次加密只能64bit,数据较大时需要反复迭代。且DES加密目前已不安全
3DES
- 3重DES操作,第二次为解密
- 如上,简单流程,补充几点:
- 3次密钥不同:DES-EDE3。Key1与Key3可以相同,成为DES-EDE2
- 缺点:此为在DES的基础上的增强加密强度,然而带来了多个密钥的维护成本,同时影响了处理速度,目前已不安全
- 3重DES操作,第二次为解密
AES(Advanced Encryption Standard)
- 目前首选的新标准的对称加密算法,速度快,安全级别高
- 密钥长度:128bit,192bit,256bit三种
- 基于排序和置换运算,迭代的算法,用128bit(16字节)分组加密解密数据
对称加密的优缺点:
- 优点:计算量小,速度快,效率高
- 缺点:密钥配送问题
- 因为加解密密钥相同,密钥肯定不能直接传输,遭遇中间人攻击窃取,存在很大的风险。目前常见的解决方案:
- 提前共享密钥
- 数据传输前分享密钥,但如果一方泄露,隐患仍较大。且麻烦
- 密钥分配中心
- 目前在我们的业务场景中就有应用:在运用AES加密前,前端申请分配中心生成与该用户对应的密钥,加密数据后传给后端,后端从分配中心同样获取密钥,进行解密
- 相对安全
- Diffie-Hellman密钥交换:在公共信道上安全交换加密密钥的方法(没有深入研究过,大家可以自行深入理解下)
- 非对称加密
非对称加密(ASymmetric Cryptography)
简介
- 又称公钥加密-Public-Key Cryptography
- 公钥(public key):公开,用于加密
- 私钥(private key):消息接收者保管,不公开,用于解密
- 一一对应,一起生成成为密钥对
简易流程图:
最常用的加密方式:RSA(名称由三位提出者的首字母拼成)
- 第一个能同时用于加密和数字签名的算法
非对称加密的优缺点:
- 优点:解决密钥配送问题,分公私钥,安全性高
- 缺点:加解密速度慢
补充:
- 公钥对数据加密,必须使用私钥解密
- 私钥对数据加密,必须使用公钥解密
到底公钥,私钥哪个用来加密???
- 之所以,在后面补充这一点,我之前也对到底是公钥加密还是私钥加密很混乱。因此先对前面的知识点熟悉了,再了解这一点。
一张知乎问答来结束到底哪个是用来加密的问题?
- 私钥加密的应用场景:数字签名(下一篇文章会提到)
混合加密(Hybrid Cryptography)
- 为了结合对称加密速度快和非对称加密安全性高的优点,同时规避两者缺点,产出的方案
- 加密过程:
- 会话密钥:由伪随机数生成器生成的临时密钥,又作对称密钥
- 解密过程:此处流程图略,看了加密过程的图,解密过程应该也很清晰
- 一句话概括:
- 发送者用非对称加密的公钥对对称加密的密钥加密
- 用对称密钥对消息进行加密
- 接收者用私钥解密获得对称加密的密钥,来解密消息
总结
- 对称加密速度快,但存在密钥配送问题,常见的有AES
- 非对称安全性高,但速度慢,常见的有RSA
- 混合加密,结合两者优点
- 非对称加密是公钥(公开)加密,私钥解密。
- 私钥加密(签名),公钥解密(验签)(下回再说)
参考文献
- 对称密码-DES和3DES
- DES/3DES/AES区别
对称加密非对称加密混合加密相关推荐
- 对称非对称算法混合加密实战(DES和AES混合加密)
最近需要用加密算法,开始研究加密算法,果然大学落下的需要全都补回来.泪奔啊! 网上找各种资料,看别人的原理解释看了了很多,使用非对称算法和对称算法混合加密在实际项目中是经常用的,但原理听的差不多,没有 ...
- 加解密基础——(对称加密、非对称加密和混合加密)
本文对之前学习过的加解密相关知识做一简单总结,以备后用. 1. 基本概念 加密算法 通常是复杂的数学公式,这些公式确定如何将明文转化为密文的过程和规则. 密钥 是一串被加入到算法中的随机比特. 待续 ...
- 对称加密 非对称加密
目录 一.加解密算法 二.算法体系 三.对称加密 四.非对称加密 五.混合加密机制 六.DES加密原理 七.3DES加密原理 八.AES加密原理 九.RSA加密原理 十.EIGamal加密原理 十一. ...
- 对称加密、非对称加密、混合加密
文章目录 1.对称加密 1.1 对称加密的有优缺点 1.2 密钥分配问题 2.非对称加密 2.1 非对称加密的优缺点 3.混合加密 4.常见的摘要算法 1.对称加密 AES,密钥长度有128/256/ ...
- 对称加密,非对称加密,混合加密
对称加密 https://mp.weixin.qq.com/s/eVpwE6CUrQoGIpYXYsVJWA 两边用同一个密钥来加解密. A把明文通过某一算法加密之后得到密文,然后把密文发送给B,B接 ...
- 非对称加密 密码传输_密码学:对称与非对称加密
非对称加密 密码传输 Before the modern age of cryptography, where the focus has expanded from the confidential ...
- 对称加密非对称加密怎么一起使用(初级版)
对称加密 加密和解密使用相同的密钥,使用一把钥匙,所以叫对称加密,对称 加密包括多种算法,如:DES,3DES,AES 加密长度一般小于256位,防止数据被泄. 优点:加密和解密的速度快.缺点:因为使 ...
- Java 加密解密 对称加密算法 非对称加密算法 MD5 BASE64 AES RSA
[最简单的加密] 1.简单的概念 明文:加密前的信息 密文:机密后的信息 算法:加密或解密的算法 密钥:算法使用的钥匙(读作miyao,正确应该是miyue,但是大家都读miyao) 2.简单的例子 ...
- 【C 语言】文件操作 ( 文件加密解密 | 加密解密原理 | 对称加密 | 非对称加密 | 散列函数 )
文章目录 一.加密类型 二.加密解密三要素 三.加密应用场景 四.散列函数 一.加密类型 数据加密操作 分为 对称加密 和 非对称加密 ; 对称加密 : 加密密钥 与 解密密钥 相同 ; 非对称加密 ...
最新文章
- 动手扩充FreeTextBox的功能
- 使用Visual Studio工作流发布SharePoint网页
- c#中对Cross-thread operation not valid错误的处理办法
- 五、cookie和web缓存
- Ubuntu上面安装Redis Python
- rust怎么拆自己石墙_房屋征拆:遭遇非法强拆怎么办?如何依法维护自己的权益...
- 《数据结构与抽象:Java语言描述(原书第4版)》一P.4.1 标识类
- 消费类电子认证测试资料清单
- php中对文件的读取和写入
- 查看一个进程的线程情况
- 希尔伯特变换(1)-基础理论
- 视频播放设计测试用例
- R语言 数据抽样(数据失衡处理、sample随机抽样、数据等比抽样、交叉验证抽样)
- appium之微信公众号自动化测试实战
- Application provided invalid, non monotonically increasing dts to muxer in stream
- excel中插入的图表保存时提示 无法保存 html,excel表格保存不了的解决方法步骤...
- 防火墙阻止tftp_H3C防火墙常见问题汇总
- 亮剑java web_为什么《亮剑Java Web 项目开发案例导航》第二个项目运行不了?
- HTML5新特性知识点总结
- 循环世界模型(Recurrent World Models)——真实世界建模的强化学习利器