Carmichael数字算法sanjoy das gupta

时间:2017-12-21 10:05:40

标签: algorithm cryptography

我正在阅读Sanjoy das gupta在Algorithms第38页的算法书中的Carmichael数字

http://www.cse.iitd.ernet.in/~naveen/courses/CSL630/all.pdf

卡迈克尔的数字 最小的卡迈克尔数是561.它不是素数:561 = 3 * 11 * 17;然而它愚弄了费马的测试,有一种方法围绕着卡迈克尔的数字,由于拉宾和米勒的使用稍微更加精细的素性测试。以2 ^ t * u的形式写N - 1。和之前一样,我们将选择一个随机基数a并检查^ N-1 mod N的值。通过首先确定一个^ u mod N然后重复平方来执行此计算,以获得序列:

a^u mod N; a^2u mod N; : : : ; a^2tu = a^N-1 mod N:

如果^ N-1不等于1 mod N,则N由Fermat的小定理合成,我们就完成了。

但如果^ N-1等于1 mod N,我们会进行一些后续测试:在前面的序列中,我们 第一次遇到1。如果这发生在第一个位置之后(也就是说,如果^ u mod N不等于 1),如果列表中的前一个值不是-1 mod N,那么我们声明N复合。

在后一种情况下,我们发现了一个非模数平方根1模N:一个数 不是1 mod N,而是当平方等于1 mod N时。这样的数字只能存在 如果N是复合的。事实证明,如果我们将这个平方根检查结合起来 我们早期的费马测试,然后至少四分之三的可能值介于1和之间 N - 1将显示复合N,即使它是Carmichael数。

关于上述问题的以下问题。

问题1:

我无法遵循以下文字

  

但如果^ N-1等于1 mod N,我们会进行一些后续测试:   在前面的序列中,我们遇到了第一个1   时间。如果这发生在第一个位置之后(也就是说,如果是^ u mod N.   不等于1),如果列表中的前一个值不是-1   mod N,然后我们声明N复合。

上述陈述是什么意思?任何例子都会有所帮助。

问题2:

作者在最后一段前两行中谈论平方根是什么?

由于

0 个答案:

没有答案