http://www.muppetlabs.com/~breadbox/txt/rsa.html