AES 加解密python实现

news/2025/2/11 3:37:21/

1. 要求

编程实现AES-128的加解密算法,满足给定明文和密钥加密得到密文,给定密文和密钥解密得到明文,最终用界面化的形式呈现。

2. 算法流程

程序主要分为加密与解密两个大模块。在加密模块中包括四个小模块,分别为轮密钥加、字节替代、行移位以及列混合,实际在轮密钥加前还需要进行密钥拓展得到10个新的密钥,加上初始密钥一共为11个。下面图1给出了AES加密算法的主要流程图。

图1 AES加密流程图

在解密模块中同样包括四个小模块,分别为轮密钥加、逆行移位、逆字节替代以及逆列混合。下图2给出了AES解密算法流程图。

图2 AES解密流程图

3. 结果

程序运行后将会出现图形化界面,在界面中输入明文和密钥点击加密按钮后将会显示每一轮的详细加密过程以及最终加密结果。下图3显示了加密“5D BA 0A 62 E7 0C 6C 28 AD 1F 71 D6 34 07 80 B9”16进制字符组成的字符串所得结果,其中每个字符都用空格隔开。

图3 AES加密结果1

对上述加密得到的密文再用同样的密钥进行解密,得到如下图4所示的结果。

图4 AES解密结果1

以上是对16进制字符进行的加解密过程,接下来演示对于中文字符进行加解密的过程,首先对“信义勤爱思学致远”这8个字进行加密,结果如下图5所示,加密结果都是16进制表示。

图5 AES加密结果2

接下来再用同样的密钥对加密结果进行解密,结果如下图6所示。

图6 AES解密结果2

如果密钥与加密时的密钥不同则会解密错误,如下图7所示。

图7 AES解密结果3

4. 代码

完整版python代码在主页上传的资源中。


http://www.ppmy.cn/news/1336595.html

相关文章

QT使用QFileSystemModel实现的文件资源管理器(开源)

文章目录 效果图现实的功能总体框架功能介绍视图双击进入处理复制与剪切粘贴重命名,新建显示文件详细信息文件路径导航栏 总结 效果图 现实的功能 支持文件/文件夹复制,粘贴,剪切,删除,重命名的基本操作支持打开图片&…

高端车规MCU的破局之路

目录 1 低质量的无效内卷 2 高端车规MCU产品共性 2.1 支持标定测量 2.2 低延迟通信加速 2.3 完备的网络安全解决方案 2.4虚拟化 3 国产替代的囚徒困境 1 低质量的无效内卷 近几年,车规MCU国产替代的呼声此消彼长,但仍然集中在低端产品。 从产…

CSRF靶场练习

简述:CSRF漏洞实际很少;条件限制很多;局限性很大;实验仅供参考,熟悉csrf概念和攻击原理即可 Pikachu靶场 CSRF GET 登录用户vince的账户可以看到用户的相关信息; 点击修改个人信息,发现数据包…

【进程线程】multiprocess和threading模块

概念理解 任一时刻,CPU总是运行一个进程,其他进程处于非运行状态。一个进程可以包括多个线程。一个进程的内存空间是共享的,每个线程都可以使用这些共享内存。一个线程使用某些共享内存时,其他线程必须等它结束,才能使…

核对表:使用条件语句CHECKLIST:Using Conditionals

核对表&#xff1a;使用条件语句CHECKLIST&#xff1a;Using Conditionals if-then语句 代码的正常路径清晰吗&#xff1f; if-then 测试对等量分支的处理方式正确吗? 确保不要用“>”代替“>”或用“<”代替“<”。 使用了else子句并加以说明吗&#xff1f; els…

npm切换源地址

npm查看源地址&#xff1a;npm config get registry npm设置源地址&#xff1a;npm config set registry ... 国内npm源地址总结&#xff1a; npm 官方原始镜像&#xff1a;https://registry.npmjs.org/淘宝 NPM 镜像&#xff1a;https://registry.npm.taobao.org阿里云 NPM 镜…

服务器IP地址的分类

1、A类IP地址&#xff1a;一个A类IP地址由1字节的网络地址和3字节主机地址组成&#xff0c;网络地址的最高位必须是“0”&#xff0c; 地址范围从1.0.0 .0 到126.0.0.0。可用的A类网络有126个&#xff0c;每个网络能容纳1亿多个主机。 2、B类IP地址&#xff1a;一个B类IP地址由…

安全 输入输出类 XSS CSRF

输入输出类&#xff08;留言板&#xff09; 执行JS语句&#xff08;XSS漏洞&#xff09; XSS漏洞&#xff08;有输入框就可能-见框就X&#xff09; 反射型 语句植入并执行 存储型 语句植入到数据库&#xff0c;调用数据库就执行 UA头判断访问者浏览器信息 可以XSS php…