Public Key Cryptography Over The Gaussian And Eisenstein Integers