PigPGP 0.2.0
512-bit RSA Cryptosystem on JavaScript

日本語 English

This Version:
http://www.faireal.net/demo/PigPGP/0_2_0
Latest Version:
http://www.faireal.net/demo/PigPGP/

3 Jan 2004

Introduction

PigPGP 0.2.0 is a Unicode-based, click-to-run RSA implementation on JavaScript (Netscape 4.06 or higher; IE 5.5 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, as it would be VERY slow (like 30 minutes for key generation, a few minutes for decryption; encryption would be quite fast even for 1024 bits.)

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 Browser

Tested on: Windows 2000 (Japanese Version), Windows 98 SE (English Version), and/or Windows XP (English Version)

Source

pigpgp.js (main), random.js (pseudorandom number generator: Mersenne Twister), and bigint.js v0.5 beta11 (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.

Contact Info

Send your feedback to seelie317 <seelie317 at faireal.net>

Demo

General Settings
Unicode Support Self-Test on Initialization (U) Verbose (V)
Input (I)
Public Key (P)
Secret Key (S)
Command
128-bit(1) 256-bit(2) 360-bit(3) 512-bit(5)
SPSP Test for Higher Reliability in Key Generation
Disabled/Fastest (6) Single (7) Double (8) Triple (9) Paranoiac/Slowest (0)
Progress/Error (in IE statusbar is used as progress bar)
Debug

Valid XHTML 1.0!