jihyun1024/Crypto

GitHub: jihyun1024/Crypto

一个纯 C/C++ 编写的密码学算法教育实现合集,零依赖地覆盖了 AES、DES 及完整的椭圆曲线加密体系。

Stars: 0 | Forks: 0

# Crypto 仓库 本仓库包含经典加密算法和现代加密算法的实现。已实现 AES、DES 以及椭圆曲线加密(ECC)相关算法。各项实现均出于教育目的编写,无任何外部依赖,采用纯 C/C++ 编写。 ## 项目结构 ### AES (Advanced Encryption Standard) AES 加密算法的实现。支持使用 128 位密钥的 AES-128。 - **AES32.cpp / AES32.h**: 基本的 AES 加密/解密函数 - **Operation Mode/**: 各种操作模式的实现 - **ECB & CBC/**: ECB (Electronic Codebook) 与 CBC (Cipher Block Chaining) 模式 - `Run_AES_ECB_CBC.cpp`: ECB 与 CBC 模式的测试程序 - 多个 .bin 文件: 测试数据与输出文件 - **GCM/**: GCM (Galois/Counter Mode) 模式的实现 - `AES_GCM.cpp`: GCM 模式加密 - `GHASH.cpp / GHASH.h`: GHASH 函数的实现 - `HexByte.cpp / HexByte.h`: 十六进制字节工具 ### DES (Data Encryption Standard) DES 加密算法的实现。 - **Data_Encryption_Standard.cpp**: DES 加密/解密的完整实现(包含初始置换、扩展、S 盒、P 盒等) ### Elliptic_Curve_Crypto (椭圆曲线加密) 在高级密码学与实践(韩国国民大学)课程中学习并实现的 ECC (Elliptic Curve Crypto) - **Addition Table.cpp / Addition Table.h**: 椭圆曲线加法表生成(示例) - **Inverse_Table.cpp**: GF(2^4) 域的逆元表生成 - **EncDec.cpp**: 椭圆曲线 ElGamal 加密/解密示例 #### ECDH (Elliptic Curve Diffie-Hellman) ECDH 密钥交换协议的实现。 - **big_int.c / big_int.h**: 256 位整数运算库 - **csprng.c / csprng.h**: 密码学安全的伪随机数生成器 - **ecc_point.c / ecc_point.h**: 椭圆曲线点运算(加法、标量乘法) - **secp256k1_params.c**: secp256k1 曲线参数定义 #### ECDSA (Elliptic Curve Digital Signature Algorithm) 使用 secp256k1 曲线的 ECDSA 数字签名算法的完整 C 语言实现。 - **big_int.c / big_int.h**: 256 位整数运算 - **ecc_point.c / ecc_point.h**: 椭圆曲线点运算 - **ecdsa.c / ecdsa.h**: ECDSA 密钥生成、签名、验证函数 - **sha256.c / sha256.h**: SHA-256 哈希函数的实现 - **main.c**: 演示程序 - **test_basic.c**: 基本功能测试 - **Makefile**: 构建配置 - **run.sh**: 构建并运行脚本 - **IMPLEMENTATION_REPORT.md**: 实现完成报告 构建并运行方法: ``` cd Elliptic_Curve_Crypto/ECDSA make ./ecdsa_demo # 데모 실행 ./test_basic # 테스트 실행 ``` ## 使用的语言及环境 - **C/C++**: 所有实现均使用标准 C/C++ 编写 - **外部库**: 无(未使用 OpenSSL、GMP 等) - **标准曲线**: secp256k1(用于 Bitcoin、Ethereum 等) ## 注意事项 - 本代码出于教育与学习目的编写,在实际商业环境中,建议使用经过验证的加密库。 - 各项实现可作为理解对应算法基本概念的参考资料。 ## 许可证 本仓库中的代码已公开,可自由用于教育目的。
标签:AES, AES-128, C, C++, CBC, CSPRNG, DES, Diffie-Hellman, ECB, ECC, ECDH, ElGamal, GCM, GHASH, meg, 云配置检测, 信息安全, 加密算法, 国密, 大整数运算, 安全随机数生成器, 密码学, 密码算法实现, 密钥交换, 对称加密, 手动系统调用, 教育项目, 数据擦除, 数论, 无外部依赖, 椭圆曲线密码学, 纯原生实现, 网络安全, 自动化审计, 隐私保护, 非对称加密, 高级密码学