项目简介
本项目是基于Java实现的简化AES(S-AES)加密工具,提供轻量级的加密解密解决方案。S-AES是高级加密标准(AES)的简化版本,适用于资源有限的环境。项目包含S-AES算法核心实现、GF(2^4)算术实现、二进制字符串转换工具、中间相遇攻击实现、CBC工作模式实现以及加解密的GUI界面。
项目的主要特性和功能
- S-AES算法实现:提供基本的16位二进制数加解密功能。
- GF(2^4)算术实现:实现伽罗华域GF(2^4)上的加法和乘法操作,用于S-AES算法的列混淆和逆列混淆。
- 二进制字符串转换工具:支持字符串与二进制之间的转换,包含ASCII码转换。
- 中间相遇攻击实现:用于测试和验证S-AES算法的安全性。
- CBC工作模式实现:支持将明文拓展至16的任意自然数倍进行加密和解密。
- 双重加密和三重加密:使用更长的密钥提高安全性。
- GUI界面:方便用户进行加解密操作。
安装使用步骤
前提
假设用户已经下载了本项目的源码文件。
导入项目
将项目导入到您的Java开发环境中(如Eclipse、IntelliJ IDEA)。
编译项目
在项目根目录下运行以下命令进行编译:
bash
javac -d bin src/**/*.java
运行项目
在项目根目录下运行以下命令启动GUI界面:
bash
java -cp bin page.S_AES_PAGE
使用GUI进行加解密
- 打开程序后,初始状态为加密模式。
- 在明文输入框中输入16位二进制明文。
- 在密钥输入框中输入16位二进制密钥。
- 点击“加密”按钮进行加密操作,加密结果将在弹出的结果页面中显示。
- 切换到解密模式,输入密文和密钥,点击“解密”按钮进行解密操作,解密结果将在弹出的结果页面中显示。
注意事项
- 标准输入下:明文和密钥必须分别为16位和16位二进制数,不得包含除0和1以外的字符。
- 在拓展输入情况下,输入的密文或明文会被视为字符,转化为ASCII码进行处理。但密钥必须仍然是严格的16位二进制数。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】