Ho bisogno di implementare RSA crittografia/decrittografia utilizzando C#Mapping crittografia RSA Parametri da CRT (teorema cinese del resto) in formato .NET
ho una chiave privata con i seguenti parametri:
mod n
, exponent
, p
, q
, dP
, dQ
, e (p
-1
mod q)
parametri di cui sopra sono spiegare Ed in Chinese remainder algorithm
Tuttavia C# .NET applicazione della RSA ha diversi set di parametri come segue:
Modulus
, Exponent
, P
, Q
, DP
, DQ
, D
, InverseQ
quando sto cercando per mappare i dati da CRT
a DOTNET
, ottengo l'errore Bad Data
per p
, q
, dP
e dQ
la mappatura è ovvia ma per il resto dei parametri non sono sicuro.
Sarebbe bello se posso ottenere aiuto mappatura questi paramters
GregS, Nel mio caso ho solo un esponente che è un numero primo. dovrei usarlo come esponente di crittografia e decrittografia? In altre parole, assegna lo stesso numero sia a D che a Esponente? – AaA
No, gli esponenti di encrypt e decrypt sono diversi, sebbene uno possa essere derivato da altri quando si hanno entrambi i numeri primi. –
Quando si genera la chiave RSA in C#, 'D' ha le stesse dimensioni del modulo (128bytes o 1024bits). Come puoi vedere in questione, i miei dati non hanno D o qualcosa chiamato Encryption/Decryption Exponent. C'è qualche riferimento pratico per calcolare D dai dati dati. Tutti i codici di esempio che sono riuscito a trovare utilizzano un modulo intero (2 byte) che non è il mio caso – AaA