title: Generate RSA key pair in javascript, based on a password
body: <p>As far as I understand, RSA keys are usually generated based on a (strong) random generator.</p>
  
  <p>Instead, I want to create them based on a password. </p>
  
  <p>Or rather on its hash, for example sha512(sha512(password+salt)+password+pepper)</p>
  
  <p>This needs to be done client side, in JavaScript. </p>
  
  <p>Would anyone know how to do this? Is there an easy JavaScript library that creates RSA key pairs deterministically, based on a given input?</p>
  
  <p>(Actually, I'm mentioning RSA but any secure asymmetrical encryption would suffice, I just need public-private encryption)</p>
  
  <hr>
  
  <p>Addition: I need this because I'm building some secure communication solution, that doesn't need to rely on the connection or even the server to be secure. </p>
  
  <p>I'm encrypting all content with AES using random keys, and the keys are RSA-encrypted. The idea is Alice can RSA-encrypt her content (or actually, the AES-key for her content) with Bob's public key (therefore Bob's public key must be stored online).</p>
  
  <p>Later, when Bob enters his password again, his browser can deterministically calculate his RSA private &amp; public key on the spot, download the content from Alice, and decrypt it locally using his private key.</p>