PigPGP 0.2.2 is a Unicode-based, click-to-run RSA implementation on JavaScript (Netscape 4.06 or higher). PigPGP is somewhat PGP-like, but not compatible with PGP/GPG.
The maximum supported key length is 512 bits. It runs quite fast for 128 bits (or 39 digits), which can be interesting for educational purposes, though being too weak for serious use. 256-bit system is not very strong either, but usable at a decent speed and good enough for some purposes. 360 and 512 bits are stronger and slower. Even 1024 bits would be possible, though not supported in this demo.
Some of you may feel it thrilling enough just to see 512-bit RSA running on JavaScript. The main reason I wrote these codes is to enjoy myself, not that I thought RSA on JavaScript would be useful for practical purposes.
All the files here are in UTF-8. Some of them are in Japanese, as it's my first language.
Tested on: Windows 2000 (Japanese Version), Windows 98 SE (English Version), and/or Windows XP (English Version)
pigpgp.js (main), random.js (pseudorandom number generator: Mersenne Twister), and bigint.js v0.5 beta 22 (library for arbitrary-precision integer). random.js is under Artistic License. The other files are absolutely free: use them, with or without modification, without asking.
Send your feedback to seelie317 <seelie317 at faireal.net>