2个版本
0.1.1 | 2019年3月12日 |
---|---|
0.1.0 | 2019年3月12日 |
#22 in #development-tools
26KB
446 行
Rust-rsa
这是Rust中RSA算法的实现。
免责声明:这是一个仅供娱乐的个人项目。请不要在生产环境中使用此库,因为它不是为此类目的设计的。
待办事项
- 生成1024位和2048位的大数。
- 实现Rabin-Miller算法所需的模幂运算。(已测试且工作正常)
- 实现Rabin-Miller算法。(已测试且工作正常)
- 实现扩展欧几里得算法以寻找两个假设素数的最大公约数。
- 生成具有确定性长度的有效密钥对。(已测试且工作正常。推荐阈值:默认 // 推荐密钥对大小:512或1024位)
- 使用公钥加密消息。
- 使用私钥解密消息。(已测试且工作正常)
- 为公钥、私钥和密钥对实现From trait。
- 实现p和q素数原始数的并行计算以提高性能。(性能提升(仍取决于随机性和素数邻近性))
- 实现使用AES-128/256(待定)的混合加密过程。
- 通过在开始计算算法之前丢弃[3, 5, 7, 9, 11, 13, 15, 19]的倍数来优化Rabin-Miller算法。(性能提升)
- 并行化Rabin-Miller迭代以提高密钥生成性能。
- 基准测试Rabin-Miller与费马素性测试(见:https://en.wikipedia.org/wiki/Fermat_primality_test。不考虑Baillie–PSW,因为它依赖于Rabin-Miller。
- 签名消息。
- 实现填充(PKCS1,PKCS7,PKCS-OAP)
- 排序并编写更好的测试。
依赖关系
~2MB
~35K SLoC