Per RSA ci sono requisiti speciali su come formulare una chiave. In primo luogo (gioco di parole non previsto) hai bisogno dei valori p e q , che sono grandi numeri primi.
Esistono tuttavia schemi (vedi qui e here ) che può essere utilizzato per generare in modo deterministico materiale chiave asimmetrico da una passphrase.
Il modo più semplice per raggiungere un tale obiettivo è prendere un progetto PRNG sicuro, quindi seminarlo solo con i dati derivati dalla passphrase (ad es. bit da un PBKDF2 o hash di scrypt), quindi utilizzarlo nella generazione della chiave RSA quando si selezionano i primi p e q (questo è abbastanza ben descritto nel Articolo wikipedia RSA ). Ciò garantisce che, data la stessa passphrase, la stessa sequenza di numeri casuali venga sempre prodotta durante la generazione della chiave, portando a chiavi deterministiche.
Tuttavia, ci sono alcuni inconvenienti di sicurezza, principalmente in relazione a problemi chiave di complessità e memorizzazione rispetto all'entropia comparativa di una generazione di chiavi più tradizionalmente casuale.