PKCS#1 v2.1 逐渐已经替代 PKCS#1 v1.5成为了应用选择的主要加密/签名方案。近期看了一下这规范。发现新增的OAEP加密、PSS签名网上的资源不是很多。所以弄了这么个工程,一个目的是导读,一个目的是验证对算法的理解,这里共享给大家,希望对大家理解这个规范有所帮助:
基于BigInteger类用java封装的PKCS#1 v2.1 全算法实现,模块与规范一一对应。包含 I2OSP OS2IP RSAEP RSADP RSASP1 RSAVP1 RSAES-OAEP RSAES-PKCS1_v1_5 RSASSA-PSS RSASSA-PKCS1-v1_5 以及 MGF SourceAlgrithm等规范定义的模块。并在注释中对应文档各个部分。并部分实现了规范附带的TestVect的测试脚本。
用C的朋友,请参考开源项目openssl对应的源代码。
本实现完全以学习/导读为目的,在性能上没有做太多的考虑和优化。请不要直接使用到实际项目中,建议使用sun自带的Cipher等类。
bug反馈: zoudeqiang1979@tsinghua.org.cn

本文档介绍了PKCS#1 v2.1加密和签名方案,重点是OAEP加密和PSS签名。提供了一个基于BigInteger的Java实现,包括RSAEP、RSADP、RSASP1等算法,并包含了测试脚本。注意,此实现主要用于学习和理解规范,性能未优化,不建议直接用于生产环境。
最低0.47元/天 解锁文章
1577

被折叠的 条评论
为什么被折叠?



