Ciao, questa è la mia prima domanda sul forum.
Ho risolto il problema Crittografia RSA, usando l’algoritmo di esponenziazione veloce. Ma sebbene mi sembri tutto corretto il grader mi da solo 25/100. Qualsiasi consiglio è ben accetto.
Ecco qui il mio codice in C++:
int power(int N, int a, int b) {
a%=N;
int ans=1;
while(b>0) {
if(b&1) ans=(ans*a)%N;
a=(a*a)%N;
b /= 2 ;
}return ans;
}
void decifra(int N, int d, int L, int* messaggio, char* plaintext) {
plaintext[L]='\0';
for(ll i=0; i<L; i++) {
plaintext[i]=power(N, messaggio[i], d);
}
}