A New Public-Key Cryptosystem