我是Python的新手,目前正在创建一个“RSA加密”程序,用于向同行发送Secret消息。我已完成该程序,但遇到计算问题。我不断收到溢出错误,因为我试图紧缩的数字对于原生python来说太大了。未分配的256位数字将是我理想的情况,但是我在找到支持它们的库时遇到了问题。我还读到你可以将数字压缩成更易于管理的格式,但是我没有方向或思考如何做到这一点。
如果您对我的问题有任何建议的解决方案,将不胜感激!谢谢你的时间!
答案 0 :(得分:4)
Python原生支持任意精度整数:
$ python3
Python 3.6.5 (default, Mar 29 2018, 18:20:46)
[GCC 8.0.1 20180317 (Red Hat 8.0.1-0.19)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 2**256
115792089237316195423570985008687907853269984665640564039457584007913129639936
>>> 2**512
13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649006084096
但是当你使用一些数字运算框架时,例如NumPy,然后it will use platform native integers,它们通常限制为64位。