Quando si genera una coppia di chiavi RSA 4096 bit, fare in modo che la chiave privata e pubblica abbiano sempre esattamente 4096 bit, quindi non iniziare con uno 0 nella rappresentazione binaria?
Quando si genera una coppia di chiavi RSA 4096 bit, fare in modo che la chiave privata e pubblica abbiano sempre esattamente 4096 bit, quindi non iniziare con uno 0 nella rappresentazione binaria?
Come preliminare, in RSA la chiave pubblica è la coppia (N, e)
e la chiave privata è d
. Come è stato affermato, la dimensione del bit del modulo N
è ciò a cui si riferisce il 4096. N
rappresenta solo una parte della chiave pubblica, insieme a e
. Non è richiesto quale sia il bit size e
. L'unico requisito per la crittografia sicura in RSA è quello di esponenziare il messaggio m
a e
th power "avvolge il modulo", cioè m^e > N
. Quindi in pratica sono stati usati valori di e
piccoli come 3 (2 bit). Il valore corrente più comune per e
è 65537 (17 bit), infatti la maggior parte dei certificati SSL che vedi hanno questo valore, ad es. google.com
La dimensione del bit di d
, la chiave privata, non è impostata e può variare notevolmente in quanto è semplicemente l'inversione moltiplicativa di e
nel gruppo phi(N)
dove phi è la funzione totitiva. Nella maggior parte dei casi sarà molto più piccolo di 4096 bit.
4096 si riferisce al modulo di n. La chiave pubblica e la chiave privata devono essere di lunghezza bit "simile" per fornire la sicurezza prevista. La scelta di un valore significativamente inferiore per p o q consente la fattorizzazione di n (cioè tramite forzatura bruta) e può quindi essere utilizzata per recuperare la chiave segreta.
Di conseguenza, è necessario che entrambi i parametri abbiano la lunghezza indicata.
Aspettati che gli Zeri si verifichino nel MSB o LSB del BigInteger. (entrambe le estremità dell'output binario)
Ho scritto il codice RSA in C # e ho dovuto tenere conto di uno zero iniziale in BouncyCastle BigInteger e .NET Big Integer. Ciò che è interessante delle due librerie è che si tratta di Big Endian, l'altra Little Endian.
Leggi altre domande sui tag rsa