项目简介
本项目基于C++编程语言以及Google开源库(如protobuf、gtest和gflags)构建,主要用于教育和实验,致力于探索和实现各类加密算法与工具。项目中实现了多种加密算法,如AES、SHA - 1、SHA - 256、Twofish等,并借助Google开源库进行测试和验证。
项目的主要特性和功能
- 加密算法实现:涵盖AES(高级加密标准)、SHA - 1和SHA - 256哈希算法、Twofish加密算法,还有其他加密算法的实验性实现。
- Google开源库集成:利用protobuf进行数据序列化,使用gtest开展单元测试,借助gflags进行命令行参数解析。
- 数据分析与可视化:有一个Python脚本,可读取特定格式文件,计算数据块的相对频率,并使用matplotlib库绘制频率图。
- 多平台支持:支持Intel64和ARM 64 - bit架构。
安装使用步骤
1. 环境准备
确保已安装以下工具和库: - C++11编译器 - protobuf库 - gtest库 - gflags库 - Python 3.x(用于数据分析脚本) - matplotlib库(用于数据可视化)
2. 下载源码
从项目仓库下载源码文件到本地。
3. 编译项目
进入项目根目录,可执行以下命令进行编译:
bash
./buildall
或者使用v2版本的编译脚本:
bash
./make_all_tests.sh
4. 运行测试
编译完成后,可运行位于~/cryptobin
目录下的测试程序进行验证。
5. 使用数据分析脚本
进入Python脚本所在目录,运行以下命令进行数据分析和可视化:
bash
python3 analyze_data.py --input <输入文件路径> --output <输出文件路径>
6. 查看结果
生成的频率图将保存在指定的输出文件路径中,可使用任何图像查看工具打开查看。
注意事项
- 本项目中的加密实现主要用于教育和实验目的,不建议在生产环境中使用,特别是在需要抵抗定时攻击的场景中。
- 项目中的某些加密算法实现可能依赖于特定的硬件指令集(如Intel64的aesni指令),请确保你的环境支持这些指令。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】