An RSA encrypter / decrypter and key generator