&引用;OverflowerError:Python int太大,无法转换为C long“;将字符串强制转换为int时

&引用;OverflowerError:Python int太大,无法转换为C long“;将字符串强制转换为int时,python,python-3.x,Python,Python 3.x,我试图将一个很长的数字的字符串输入转换成整数,然后进行模幂运算 这是针对RSA实现的。我已经尝试使用float()而不是int(),但我得到“TypeError:pow()不允许使用第三个参数,除非所有参数都是整数” def解密(msg,d,N): msg=msg.split(“”) 返回“.join((chr(pow(float(c),d,N))表示msg中的c)) 什么时候 及 它应该返回“H”我发现我做错了什么,我忘记了密钥有一个能够加密消息的最小长度,所以给chr()的数字太大并且无效

我试图将一个很长的数字的字符串输入转换成整数,然后进行模幂运算

这是针对RSA实现的。我已经尝试使用float()而不是int(),但我得到“TypeError:pow()不允许使用第三个参数,除非所有参数都是整数”

def解密(msg,d,N):
msg=msg.split(“”)
返回“.join((chr(pow(float(c),d,N))表示msg中的c))
什么时候


它应该返回“H”

我发现我做错了什么,我忘记了密钥有一个能够加密消息的最小长度,所以给chr()的数字太大并且无效

密码学中没有浮点数或双精度。要将包含基数为10的整数的字符串转换为python int,只需调用
int(str)
。我不知道你的代码试图做什么。@JamesReinstateMonicaPolk RSA中没有浮点数或双精度,但你可能有兴趣了解完全同态加密方案,其中一些方案能够对加密的浮点数进行浮点运算,从而在不知道私钥的情况下生成加密输出,例如。
msg = "13818406027915767570177183276663402837334180264133730515081837956479150196332208155516968226656035253275466022110094958798976988647806521885207572927244548212706996344142304517884262191059944169644390414979240342977846655748407047120764038830629443176329535057966627835745446617436724307619313808303851980047967232388",
d = 0x1956bc10fbd939e1816fdde264541d9d079d0bba189af8b0ef31ca7c232f625d7820010208709183dcbbaa11e04cd33e81b34886f44a7c3dd7ef12b24b5f2f37db1d6c8fa41b4cb7ece17f5f0b80c8902324909d496d0954f24b6c4875d227adce2baae0100ca8a464014095c3c2fe12018b466eb5fa7704cf43eabb6657afe06c324fba0486f73d9ab825f6ea33c8a5345b85dbd29122df1a6cde0e8c46c623a8d490613d2ef8818e5040073bdefea829a159c4931424597a3dbabb8a9cfd0e1f079292a4c166a0efc858ad356345cf25a34b15ea63028cc79abb2c625774736aff42cafe38e585d507fc445214b846469164ae4c799f4fefb2cb1653e8c09439
N = 0xa82f300482d14241106faabcccdb43eeac07eeae5e7b640770b41078c1383f6c72cb1ae10f11418668effb8a27b0cf06bd21c3846116b19fa21d216397f920b94d4a10d12cb5743798182355b8e4d2a9859480d7cd5c45c423b215c5a24619e830c5c128f4e0fad4a057a2f5adb63b069253aec360ea14e703d6e1d3132ba430f68db2a0a15f84f3a2eeb40d42b12cc380c15e2266bf35144a4a0c21d294203c4f5d9eba0b5ae727092cbee52efdce8469cc622f41276e1648c8fb9c8ffde1da802fd035f173d20f3d019e756c4c4d71f4033ef79abbeb5599547e6d7b7352b045da751a4cec46cb5297786d6fc738fbfe3f11a00577700fafd4bdcbac42f79043