RSA算法的纯Python实现(源码)
RSA算法的纯Python实现,压缩包内共4个文件,分别是 1、大整数的运算库(当然不是算加减乘除的,这个python本身就有)。这个库是计算乘模运算,幂模运算(蒙哥马利算法),最大公约数算法及扩展最大公约数算法(扩展欧几里得算法)等。 2、质数库。Miller_Rabin素数判断法,大整数快速因式分解算法(pollard_rho算法),生成指定位数的大质数或大整数算法等。 3、RSA算法库。使用上面两个库,实现RSA算法。实现了生成指定数位的密钥对,加密,解密,签名和验证,这5个核心功能。 4、RSAtest.py一个使用RSA算法库的例子。例子从生成密钥对开始,对数据进行加解密,签名和验证签名,最后用修改后的消息再次验证签名。 这个RSA算法最低支持32位密钥长度,最长没限制。但是事实上,在我的电脑上测试,1024位大概1.3秒左右,1536大约5~6秒,2048位密钥生成就需要约27秒。 这次发布的是源码,里面有详细的中文注释,十分适合希望学习RSA算法原理的人。RSA算法原理基于两个大质数的乘积很难因式分解,几种算法的优劣主要体现在质数判断、快速乘模运算、快速幂模运算等。如需实际应用建议使用大能们的实现:https://pypi.pytho n.org/pypi/rsa/ n.org/pypi/rsa/
用户评论