勒让德符号的说明及作用

Legendre符号的用途

 

 

一、     二次剩余

勒让德符号的提出的意义是判断一个数是否是模n的二次剩余,所以研究勒让德符号之前应该了解一下二次剩余。

存在x使x的平方与a MOD (p)就称a为模p的二次剩余,其中p为素数,a>0且a<p。

通过勒让德符号和雅可比符号可以判定二次剩余是否存在。

二、     勒让德符号

勒让德符号可以计算当p为素数的情况的二次剩余判别问题,而雅可比符号判定条件为a为任意整数,p为任意奇数。

高斯推导出著名的二次互反律。


通过二次互反律解决了勒让德符号的计算问题,可以通过递归调用解决计算。

三、  计算:

(1)如果a=1,则L(a,p)=1;

(2)如果a为偶数,则L(a,p)= L(a/2,p)*(-1)(p2-1)/8;

(3)如果a为奇数,且不等于1,则L(a,p)=L(p mod a,a)*(-1)(a-1)*(p-1)/4.

 

 

int Legrend(int a, int p)

{if (a == 1)

              return1;

       if (p % a== 0)

              return0;

       if (a % 2== 0)

              returnLegrend(a / 2, p) * pow(-1, (pow(p, 2) - 1) / 8);

       returnLegrend(p%a, a)*pow(-1, (a - 1)*(p - 1) / 4);}

运行结果:


四、     用途:

(1)可以判别选取的数是否为模n的二次剩余。

(2)可以判断两个大数是否被整除,即判断勒让德符号是否为0。

(3)在Feige-Fiat-Shamir身份验证体制中,由仲裁人选取一个数v,令v为模n的一个二次剩余,所以通过勒让德符号的计算,可以快速计算出勒让德符号来判别v是否符合要求。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章