criptografie - matematica

24
2. Generarea numerelor prime pe k biti #include "utile.h" int testeaza( long p ) { int a[26] = {2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97}; for ( int i = 0; i<25; i++) { if ( p == a[i]) { cout << p << "este un numar prim, dar mic" ; return 2; } if ( p %a[i] == 0) return 0; } return 1; } int test_Miller_Rabin( long n , long nr_incercari ) { if ( n ==2) return 1; if ( n %2==0) return 0; for (; nr_incercari >0; nr_incercari --) { long s=0,t= n -1,b= rand(); b=2+b%( n -2); while (t%2==0) { s++; t/=2; } t=a_la_b_mod_c(b,t, n ); //in t pastram acum puterile b^t,b^(2t),... if (t!=1) { while ((t!= n -1)&&(--s>0)) { //testam pentru nr de forma b^((2^r)*t) cu r din multimea {1,2,...,s-1} t=(t*t)% n ; if (t==1) return 0; } if (t!= n -1) return 0; } } return 1; } void testeaza2( long p , int r ) { //testam daca p se divide cu numerele prime mici din vectorul a 1

Upload: daniela-grigoras

Post on 08-Sep-2015

240 views

Category:

Documents


5 download

DESCRIPTION

criptografie

TRANSCRIPT

2. Generarea numerelor prime pe k biti

#include "utile.h"

int testeaza(long p){int a[26] = {2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97};for(int i = 0; i