加密算法
一,对称加密
1.0,简介
对称加密是指 数据加密 与 解密 使用相同的密钥。,数据的加密
-
主要功能:通常用于保证数据的机密性。
-
常用的加密算法:
- DES: Data Encryption Standard,秘钥长度为56位,2003年左右被破解--秘钥可以暴力破解。
- 3DES: DES的改进版本。
- AES: Advanced Encryption Standard,支持的秘钥长度包括 128bits,192bits,258bits,384bits,512bits。
※ :密钥越长,加密和解密的时间越长
1.1,DES
特点:密钥很短,很容易被破解
简介:
DES算法为密码体制中的对称密码体制,又被称为美国数据加密标准。
DES是一个分组加密算法,典型的DES以64位为分组对数据加密,加密和解密用的是同一个算法。
DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data为8个字节64位,是要被加密或被解密的数据**
密钥长64位,密钥事实上是56位参与DES运算(第8、16、24、32、40、48、56、64位是校验位,使得每个密钥都有奇数个1),对64位二进制数据块进行加密,分组后的明文组和56位的密钥按位替代或交换的方法形成密文组。每次加密对64位的输入数据进行16轮编码,经过一系列替换和移位后转换成完全不同的64位输出数据。
import binascii
from Cryptodome.Cipher import DES
key = b'12345678' # 密钥(只能是8位)
iv = b'12345678' # 初始化向量
# 创建了一个DES加密对象
cipher1 = DES.new(key, DES.MODE_CFB, iv)
# 需要加密的数据
data = '大家好,我是啊啊啊'.encode()
# 加密过程
msg = cipher1.encrypt(data)
# 创建了一个解密对象(加密解密不能使用同一把密钥)
cipher2 = DES.new(key, DES.MODE_CFB, iv)
# 解密过程
print(cipher2.decrypt(msg).decode())
复制代码
1.2,3DES
特点:比DES更加安全,更强,通过增加密钥长度(计算机运行能力增强)
简介:
3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称。它相当于是对每个数据块应用三次DES加密算法。
由于计算机运算能力的增强,原版DES密码的密钥长度变得容易被暴力破解。3DES即是设计用来提供一种相对简单的方法,即通过增加DES的密钥长度来避免类似的攻击,而不是设计一