title: Getting error "data too large for key size" with Crypto Node.js
body: <p>I'm getting the error <code>"Error: error:0406C06E:rsa routines:RSA_padding_add_PKCS1_type_1:data too large for key size"</code> when I do:</p>
  
  <pre><code>var crypto = require('crypto');
  var fs = require('fs');
  
  var first_keys = {
      public_key: fs.readFileSync('tests/public.key'),
      private_key: fs.readFileSync('tests/private.key')
  }
  
  var first_result = crypto.privateEncrypt({
      key: first_keys.private_key
  }, new Buffer("Hello World!"));
  
  var second_result = crypto.privateEncrypt({
      key: first_keys.private_key
  }, first_result);
  
  var second_plaintext = crypto.publicDecrypt({
      key: first_keys.public_key
  }, second_result);
  
  var first_plaintext = crypto.publicDecrypt({
      key: first_keys.public_key
  }, second_plaintext);
  
  if(first_plaintext == new Buffer("Hello World!"))
      console.log("Hello World!");
  </code></pre>
  
  <p>I know it is weird, but I'm creating a process that requires this to work for n iterations (private encrypting for n keys and public decrypting for n keys). I'm using a single key for testing purposes.</p>