区块链、加密货币、VPN、数字证书……这些概念的背后基石都是密码学,了解密码学的原理和经典实现方法对于学习理解前面的应用是大有裨益的。
cryptoC 作为一个供密码学初学者入门的密码学库,实现了以下经典的密码系统:
-
对称密码系统
- DES (DES 3-DES)
- AES
-
公钥密码系统
- RSA
- ECC
-
MAC
- SHA (SHA1 SHA512)
- MD5
-
数字签名
- DSA
- 大数运算
-
其他工具
- base64
- asn1
安装方法
- 下载代码
# git clone https://github.com/qshchenmo/cryptoC.git
- 编译安装
# make
# make install
- 运行测试程序
# cd example/rsa
# make
# ./test_rsa
缺点
- 本程序的目的是供密码学初学者了解对经典密码系统的实现,因此未对性能进行优化。
参考资料
[1] Understanding Cryptography, Christof Paar / Jan Pelzl
[2] 密码学与网络安全