Students Stanford JavaScript crypto library:
Example:
<script type="text/javascript" src="js/jsbn.js"></script>
<script type="text/javascript" src="js/jsbn2.js"></script>
<script type="text/javascript" src="js/prng4.js"></script>
<script type="text/javascript" src="js/rng.js"></script>
<script type="text/javascript" src="js/rsa.js"></script>
<script type="text/javascript" src="js/rsa2.js"></script>
<script type="text/javascript" src="js/base64.js"></script>
<script type="text/javascript">
var rsa = new RSAKey();
// key to 128 bit
var n = "c590bd58a44d6058f5760a7a35684ec1"; // Modulus (p*q)
var e = "c590bd58a44d6058f5760a7a35684ec1"; // Public exponent
rsa.setPublic(n, e);
/*** encrypt */
var ciphertext = rsa.encrypt("test");
var d = "2c70d086ddfea1cb3bc3224262917e21"; // Private exponent
var p = "e7abf64c45d0656d";
var q = "da4fe55609167e25";
var dmp1 = "8d9f2ac67f9b2095"; // D mod (P-1)
var dmq1 = "8a711026372d2461"; // D mod (Q-1)
var coeff = "93f141ee10c802fd";
rsa.setPrivateEx(n, e, d, p, q, dmp1, dmq1, coeff);
/*** decrypt */
var plaintext = rsa.decrypt(ciphertext);
</script>