项目简介
本项目是基于Python和C++构建的密码学与加密系统,旨在提供一个全面的密码学工具集。它涵盖了哈希函数、对称加密、非对称加密、数字签名、椭圆曲线加密等多种密码学算法和技术的实现,还包含生日攻击、Rho方法、长度扩展攻击、Merkle树、SM2加密等高级密码学应用。
项目的主要特性和功能
- 哈希函数:实现并优化了SM3哈希函数,对简化SM3进行生日攻击和Rho方法攻击。
- 对称加密:实现并优化了AES和SM4对称加密算法,还有基于ARM指令集的AES加密。
- 非对称加密:实现SM2加密算法(含签名和加密功能)、基于RFC6979的SM2签名算法以及SM2的两方签名和解密协议。
- 数字签名:实现ECDSA签名算法并研究其在以太坊中的应用,实现SM2的数字签名和验证。
- 椭圆曲线加密:实现用于多集哈希的ECMH方案,以及结合SM2进行加密和签名的PGP方案。
- 高级密码学应用:遵循RFC6962标准实现Merkle树,针对SM3和SHA256实现长度扩展攻击,研究MPT在以太坊中的应用。
安装使用步骤
环境准备
确保系统安装Python 3.x和C++编译器(如GCC),安装pycryptodome
、numpy
、scipy
等必要的Python库。
下载源码
已假设用户下载了本项目的源码文件。
编译C++代码
进入C++代码目录,使用make
或g++
编译源码文件,如g++ -o sm3_birthdayAttack sm3_birthdayAttack.cpp
。
运行Python脚本
进入Python代码目录,直接运行Python脚本,如python3 sm3_birthdayAttack.py
。
测试功能
根据项目文档和注释,运行各个功能模块进行测试,如运行sm3_birthdayAttack
测试生日攻击功能。
集成使用
根据项目需求,将各个功能模块集成到实际应用中,如将SM2签名功能集成到Web应用中进行用户身份验证。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】