Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Julia power运算符^1返回与python pow()不同的值_Julia - Fatal编程技术网

Julia power运算符^1返回与python pow()不同的值

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%

我制作了一个rsa加密演示来学习julia,但遇到了一个问题。 当我检查python代码时,这应该不会出现溢出问题,并且所有值都符合rsa标准。 欢迎任何指点。朱莉娅是一种很棒的语言,我想弄明白这一点

检查这些图像以查看我的问题:

您需要
BigInt(message)^used\u e
,以及类似的功能。在转换为
BigInt
之前,您看到的问题是整数溢出。请注意,
powermod(BigInt(message),used\e,used\N)
会快得多,因为它会使所有中间数变小。

请注意,在Julia
x%y
中,y是来自欧几里德除法的
rem(x,y)
函数的同义词,返回与
x
相同的符号值,而对于RSA实现,您需要使用
mod
函数,其中结果的符号与
y
相同。(但是你真的需要
powermod
而不是
BigInt
来提高性能。)

请不要发布代码的图像,而是将代码作为文本发布,以便我们可以复制粘贴它。另外,请把你的例子概括起来。我们不需要了解rsa的
部分。只需说“Julia:
123^456=…
,Python
pow(123456)=…
”。您可以选择您的答案。谢谢,您的代码工作正常!我不知道这个函数。。。此外,粘贴代码确实很有用xD我会记住这一点,因为当我需要帮助时,RSA的所有参数都是肯定的,
rem
mod
是相同的。@OscarSmith这对于基本的RSA公式是正确的,但是使用非对称加密的用户可能很快会转向其他算法(例如DSA)这涉及到减法,然后使用正确的mod运算符变得很重要,所以我认为这是值得一提的。我理解原始问题中的负数是
Int
溢出的结果,即用户转换为
BigInt
太晚。