Per quanto ho capito, le chiavi RSA sono generalmente generate in base a un generatore (forte) casuale.Genera coppia di chiavi RSA in javascript, in base a una password
Invece, voglio crearli in base a una password.
O meglio sul suo hash, ad esempio SHA512 (sha512 (password + sale) + password + pepe)
Questo deve essere fatto lato client, in JavaScript.
Qualcuno saprebbe come fare? Esiste una libreria JavaScript semplice che crea coppie di chiavi RSA in modo deterministico, sulla base di un dato input?
(In realtà, sto citando RSA ma qualsiasi crittografia asimmetrica sicuro sarebbe sufficiente, ho solo bisogno di cifratura pubblica-privata)
Aggiunta: Ho bisogno di questo perché mi sto costruendo una soluzione di comunicazione sicuro, che non ha bisogno di fare affidamento sulla connessione o anche sul server per essere sicuro.
Sto crittografando tutto il contenuto con AES utilizzando chiavi casuali e le chiavi sono crittografate con RSA. L'idea è che Alice possa RSA-crittografare il suo contenuto (o in realtà, la chiave AES per il suo contenuto) con la chiave pubblica di Bob (pertanto la chiave pubblica di Bob deve essere archiviata online).
Successivamente, quando Bob immette di nuovo la password, il suo browser può calcolare in modo deterministico la sua chiave privata RSA privata & sul posto, scaricare il contenuto da Alice e decrittografarlo localmente utilizzando la sua chiave privata.
Creazione di chiavi RSA utilizzando JavaScript? Ricordo di averlo provato da solo. Mi ha distrutto tutta la memoria e ho impiegato un'eternità per calcolare. Sono passato a Java allora. – Amberlamps
Uno schema di crittografia asimmetrico diverso da RSA andrebbe bene pure. Ma ho bisogno di generare le chiavi lato client e crittografare i dati (con la chiave privata) prima di inviarli. La chiave pubblica verrà archiviata sul lato server.Non so se gli approcci ECC sono più veloci? –
La crittografia @SheldonPinkman viene eseguita utilizzando la chiave pubblica, non privata. In ogni caso la tua idea è imperfetta. –