title: Is there a way to create a RSA key with a small public key?
body: <p>In RSA I have basically 3 numbers: <code>d</code>, <code>e</code>, <code>n</code></p>
  
  <p>The public key is <code>(e, n)</code>, and private key is <code>(d, n)</code></p>
  
  <p>The server will sign a number <code>m</code> by calculating <code>c=m^d mod n</code> and the client will decrypt the signature by calculating <code>m=c^e mod n</code>.</p>
  
  <p>In my situation the computational powers of the client are limited (it is happening in Javascript within the browser) - and I would like to make the public key operations as efficient as possible.</p>
  
  <p>So my question is - is there a way to generate an RSA key <code>(d, e, n)</code> such that the security of the system is still high - but the public key operation performance is good?</p>
  
  <p>Is there a way to make the number <code>e</code> in the public key small (maybe 64 bits), and large numbers <code>n</code> and <code>d</code> (maybe 1024-bits or 2048-bits).</p>
  
  <p>I randomly generated some large keys and tested the performance of some javascript RSA library, and the performance was extremely bad. Keys of size 1024 bits take forever to compute.</p>
  
  <p>The library I used was taken from <a href="http://www.ohdave.com/rsa/" rel="nofollow">here</a></p>
  
  <p>Maybe my problem is the library I'm using has a poor performing algorithm??</p>
  
  <p>I need the public key operation to be fast, and I don't want to sacrifice on security.</p>