对称加密 & 非对称加密

Posted better_hui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对称加密 & 非对称加密相关的知识,希望对你有一定的参考价值。

目录

一、加解密算法

二、算法体系

三、对称加密

四、非对称加密

五、混合加密机制

六、DES加密原理

七、3DES加密原理

八、AES加密原理

九、RSA加密原理

十、EIGamal加密原理

十一、椭圆曲线ECC加密原理


 

 

一、加解密算法

 

算法类型特点             优势             缺陷        代表算法              
对称加密加解密秘钥相同,速度快计算效率高,加密强度高秘钥容易泄露DES、3DES、AES、IDEA 
非对称加密    分公钥和私钥               无需提前共享私钥计算效率低    RSA、EIGamal、椭圆曲线系列

 

 


二、算法体系

现代加密算法的组件包括:加密算法、加密秘钥、解密秘钥

- 加密算法一般是固定不变,是公开的
- 加解密的秘钥往往每次都不同,需要保护起来。
- 加密过程,通过加密算法和加密秘钥,对明文进行加密,得到密文
- 解密过程,通过解密算法和解密秘钥,对密文进行解密,得到明文
- 根据加解密秘钥是否相同,又分为对称加密和非对称加密。两种模式适合不同的需求场合,也可以混合使用,形成合婚加密机制。

 

三、对称加密

顾名思义,加解密的秘钥是相同的。

优点:计算效率高(速度快,占用空间小),加密强度高。

缺点:提前共享秘钥,分发秘钥有安全风险

从实现原理上分为:分组密码和序列密码两种。前者是将明文切分为定长数据块作为加密单位,应用比较广泛。后者是针对一个字节进行加密,且密码不断变化。

代表的算法:DES、3DES、AES、IDEA等

  • - DES (data encryption standard) , 经典的分组加密算法,采用FIPS,将64位明文加密为64位的密文。其秘钥长度未56位 + 8位校验。
  • - 3DES , 三重DES操作:加密 ->解密 -> 加密 , 处理过程和加密强度优于DES
  • - AES (Advanced Encryption standard) , 也是分组算法,分组长度未128/192/256三种。其优势是处理速度快,目前尚无有效的破解手段

应用:适用于大量数据的加解密;不适用于签名的场景

 

四、非对称加密

非对称加密,解决了对称加密提前分发秘钥的问题。加密秘钥和解密秘钥是不通的,分别称为公钥和私钥。

优点:公私钥分开,不安全通道也可以使用

缺点:加解密速度慢,比对称加密慢2-3个数量接。计算效率相对较低

非对称加密算法往往基于数学问题来保障,目前主要有大数质因子分解、离散对数、椭圆曲线等

代表算法:RSA、EIGamal、椭圆曲线ECC系列算法

  • - RSA , 经典的公钥算法,利用对大数质因子分解困难的特性
  • - EIGamal,利用了模运算下求离散对数困难的特性
  • - 椭圆曲线ECC , 基于对椭圆曲线上特定点进行特殊乘法逆运算困难的特性

应用:一般适用于签名场景或秘钥协商,不适用于大数据加解密

 

五、混合加密机制

先用非对称加密算法,协商一对对称加密的临时秘钥,然后双方再使用对称加密对传递的大量数据加解密处理

典型场景是HTTPS机制。HTTPS 利用了Transport Layer Security / Secure Socket Layer (TLS /SSL)来实现可靠的传输。

  • - 建立安全连接的步骤:
  • - 客户端浏览器发送消息到服务器,包括随机数R1,支持的加密算法类型、协议版本、压缩算法等,该过程为明文
  • - 服务器返回信息,包括随机数R2、选定的加密算法类型、协议版本、及服务器整数,该过程为明文
  • - 浏览器检查该网站公钥的整数,该整数由CA来签发背书,如被修改或攻击,很容易验证出来
  • - 用证书中的公钥加密随机数R3,发送给服务器。双方基于R1、R2、R3,生成对称加密秘钥。后续通信通过对称加密进行保护。

 

------------------------------------

以下内容持续更新中

 

六、DES加密原理

七、3DES加密原理

八、AES加密原理

九、RSA加密原理

            传送门:https://blog.csdn.net/u012391423/article/details/116542722

十、EIGamal加密原理

十一、椭圆曲线ECC加密原理

以上是关于对称加密 & 非对称加密的主要内容,如果未能解决你的问题,请参考以下文章

java-信息安全-基于非对称加密,对称加密等理解HTTPS

密码学中的对称加密和非对称加密

对称加密vs非对称加密

Java加密与解密笔记 非对称加密

TLS过程(DH 非对称加密)

Java加密与安全11-非对称加密算法