Julia power运算符^1返回与python pow()不同的值
我制作了一个rsa加密演示来学习julia,但遇到了一个问题。 当我检查python代码时,这应该不会出现溢出问题,并且所有值都符合rsa标准。 欢迎任何指点。朱莉娅是一种很棒的语言,我想弄明白这一点 检查这些图像以查看我的问题:Julia power运算符^1返回与python pow()不同的值,julia,Julia,我制作了一个rsa加密演示来学习julia,但遇到了一个问题。 当我检查python代码时,这应该不会出现溢出问题,并且所有值都符合rsa标准。 欢迎任何指点。朱莉娅是一种很棒的语言,我想弄明白这一点 检查这些图像以查看我的问题: 您需要BigInt(message)^used\u e,以及类似的功能。在转换为BigInt之前,您看到的问题是整数溢出。请注意,powermod(BigInt(message),used\e,used\N)会快得多,因为它会使所有中间数变小。请注意,在Juliax%
您需要
BigInt(message)^used\u e
,以及类似的功能。在转换为BigInt
之前,您看到的问题是整数溢出。请注意,powermod(BigInt(message),used\e,used\N)
会快得多,因为它会使所有中间数变小。请注意,在Juliax%y
中,y是来自欧几里德除法的rem(x,y)
函数的同义词,返回与x
相同的符号值,而对于RSA实现,您需要使用mod
函数,其中结果的符号与y
相同。(但是你真的需要powermod
而不是BigInt
来提高性能。)请不要发布代码的图像,而是将代码作为文本发布,以便我们可以复制粘贴它。另外,请把你的例子概括起来。我们不需要了解rsa的部分。只需说“Julia:123^456=…
,Pythonpow(123456)=…
”。您可以选择您的答案。谢谢,您的代码工作正常!我不知道这个函数。。。此外,粘贴代码确实很有用xD我会记住这一点,因为当我需要帮助时,RSA的所有参数都是肯定的,rem
和mod
是相同的。@OscarSmith这对于基本的RSA公式是正确的,但是使用非对称加密的用户可能很快会转向其他算法(例如DSA)这涉及到减法,然后使用正确的mod运算符变得很重要,所以我认为这是值得一提的。我理解原始问题中的负数是Int
溢出的结果,即用户转换为BigInt
太晚。