Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
bytes_to_big(14,d,D);
bytes_to_big(14,c,C);
bytes_to_big(16,(char*)hash,H);
subtract(O,H,H); // H = -H mod O
xgcd(C,O,Ci,Ci,Ci); // Ci = C^(-1) mod O
mad(D,Ci,Z,O,T,D); // D = D*C^(-1) mod O
mad(H,Ci,Z,O,T,H); // H = H*C^(-1) mod O
for(seed=0;seed<100000000L;++seed) {
int i;
unsigned int sk[4];
unsigned char r[16];
if(0==(seed%10000)) {
printf("%1.2f%% ... \r",(double)seed/1000000.);
}
InitRandomGenerator(seed);
for(i=ECC_MAXLONG-1;i>=0;--i) sk[i] = NextRandomNumber();
sk[3] &= ECC_UPRMASK;
inverse((char*)sk,16);
bytes_to_big(16,(char*)sk,S);
mad(D,S,H,O,T,R);
big_to_bytes(14,R,r,1);
inverse(r,14);
// write to the basket # r[0]
fwrite(r,14,1,f[r[0]]);
}
Как была закейгенена Armadillo, взломана PSP и скомпрометированы все DSA ключи в Debian. Или еще раз о слабых ГПСЧ и (EC)DSA