Public Key Cryptography with a Group of Unknown Order