暗号総崩れ-素数判定が多項式時間で可能
■ このスレッドは過去ログ倉庫に格納されています
0337息抜き 1/2
NGNGint test12(int a, int n, int r, int *s, int *t, int *u) {
/* assert: n > 2, r >= 2, n % r > 0 */
int i,j,m;
int n1,*tmp;
s[0] = t[0] = -a % n;
t[0] = t[1] = 1;
for (i = 2; i < r; i++) s[i] = t[i] = 0;
n1 = n / 2;
while (n1 > 0) {
mul(u,s,s,r,n); tmp=s; s=u; u=tmp;
if (n1 & 1) {
mul(u,s,t,r,n); tmp=t; t=u; u=tmp;
}
n1 /= 2;
}
m = n % r;
t[0] = (t[0] - a) % n;
t[m] = (t[m] - 1) % n;
for (i = 0; i < r; i++) if (t[i] > 0) return 1;
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています