Code:#include <stdio.h> long GetPrivateKey(long m,long e){ long k=1; while(1){ k=k+1; if (1==(k*e)%m) return k; } } main(){ long p,q,e,t=2,n,m; printf("Your public key should be in the form(n,e),enter n: "); fflush(stdout); scanf("%ld",&n); printf("enter e: "); fflush(stdout); scanf("%ld",&e); for(; n > 1 ;) { if (n%t==0) { p=t; n/=t; } else{ ++t; if (t*t>n){ q=n; break; } } } m=(p-1)*(q-1); printf("Our private key: (%ld,%ld)\n",p*q,GetPrivateKey(m,e)); printf("%ld\n",m); }
the question asks to make a program which can compute the private key by giving public key.
but public key is large: n = 1805760301 e= 50512913
and i try it with my program, but the answer was wrong!



LinkBack URL
About LinkBacks


