Python中的AES加密

本文介绍了AES加密标准,包括其加密模式如ECB、CBC、CFB和OFB,并在Python环境中展示了AES加密的配置和实现过程。
摘要由CSDN通过智能技术生成

AES 加密

一、前言

1、 简介

AES,高级加密标准(Advanced Encryption Standard)。是用来替代 DES,目前比较流行的对称加密算法。对称加密算法就是加密和解密用相同的密钥,具体的加密流程如下图

https://images.cnblogs.com/cnblogs_com/blogs/722174/galleries/2074790/o_220130083544_Snipaste_2022-01-30_15-39-05.png

明文 P:等待加密的数据。

密钥 K:用来加密明文的密码,在对称加密算法中,加密与解密的密钥是相同的。密钥为接收方与发送方协商产生,但不可以直接在网络上传输,否则会导致密钥泄漏,通常是通过非对称加密算法加密密钥,然后再通过网络传输给对方,或者直接面对面商量密钥。密钥是绝对不可以泄漏的,否则会被攻击者还原密文,窃取机密数据。

AES 加密函数:设 AES 加密函数为 E,则 C = E(K, P),其中 P 为明文,K 为密钥,C 为密文。也就是说,把明文 P 和密钥 K 作为加密函数的参数输入,则加密函数 E 会输出密文 C。

密文 C:经过 AES 加密后的数据。

AES 解密函数:设 AES 解密函数为 D,则 P = D(K, C),其中 C 为密文,K 为密钥,P 为明文。也就是说,把密文 C 和密钥 K 作为解密函数的参数输入,则解密函数会输出明文 P。

2、 加密模式

AES 只是个基本算法,实现 AES 有几种模式,主要有 ECB、CBC、CFB 和 OFB 这几种(其实还有个 CTR)

  1. 电码本模式(ECB)

    这种模式是将整个明文分为若干段相同的小段,然后对每一小段进行加密

  2. 密码分组链接模式(CBC)

    这种模式是先将明文分成若干小段,然后每一小段与初始块或者上一段的密文段进行异或运算后再与密钥进行加密

  3. 计算器模式(CTR)

    完全的流模式。将瞬时值与计数器连接起来,然后对此进行加密产生密钥流的一个密钥块,再进行XOR操作

  4. 密码反馈模式࿰

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SteveKenny

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值