MATLAB AES 加密与解密系统
项目介绍
本项目是基于 MATLAB 原生开发的 AES (Advanced Encryption Standard) 加密与解密工具,支持 128 位、192 位和 256 位密钥长度。系统能够实现对文本及文件数据的加密和解密操作,提供完整的 AES 轮函数实现,包括字节替换、行移位、列混淆、轮密钥加等核心运算流程,并支持 ECB、CBC 等多种加密模式。
功能特性
- 支持 AES-128、AES-192 和 AES-256 加密标准
- 提供完整的 AES 轮函数实现
- 支持 ECB(电子密码本)和 CBC(密码块链接)加密模式
- 可处理文本数据及多种文件格式(.txt、.mat 等)
- 输出 Base64 编码的密文字符串或生成加密文件
- 可选的运算过程数据输出,便于调试和分析
使用方法
输入参数
- 明文数据:字符串文本或文件路径
- 加密密钥:16 字节(128 位)、24 字节(192 位)或 32 字节(256 位)密钥字符串
- 加密模式参数:选择 ECB 或 CBC 模式(CBC 模式需提供初始向量 IV)
输出结果
- 加密结果:Base64 编码的密文字符串或加密文件
- 解密结果:还原后的原始明文文本或解密文件
- 运算过程数据(可选):各轮中间状态矩阵
系统要求
文件说明
main.m 文件作为系统的主入口点,集成了加密与解密的核心流程控制功能。其实现了用户交互接口,包括参数输入接收与校验、加密模式选择引导、以及结果输出管理。该模块负责协调调度 AES 算法的关键步骤执行,涵盖密钥扩展、轮函数处理及加密模式应用等全过程,同时提供中间状态数据输出的可选项支持。