AlexiaChen.github.io
AlexiaChen.github.io copied to clipboard
可以用椭圆曲线做非对称加密吗
答案是:可以。
但是不能像RSA那样原生就支持,椭圆曲线原生不支持这样的加密原语,但是确实可以在其上构造出公钥加密,私钥解密的方案,而且很早就有了。如果了解Elgamal公钥加密体制就知道了,就是利用椭圆曲线上的有限循环群来做,这个方案叫EC-Elgamal。当然还有ECIES方案, 这个方案是一个混合方案,因为原理不是与RSA一样,其实是用public key用ECDH协商出了一个对称秘钥来加密的,然后用private key才可以拿到这个对称秘钥来进行解密,类似于封装了一层抽象层让使用方法保持一致体验。
如果想要更纯的公钥加密方案(类似于RSA那样),就是Elgamal了,参考中的Sunuwar的论文。
参考
- Rosy Sunuwar. Elgamal Encryption using Elliptic Curve Cryptography
- Can elliptic curve cryptography encrypt with public key and decrypt with private key like RSA?
- Encrypt with Public Key and decrypt with Private Key using elliptic-curve cryptography
- How does encryption work in elliptic curve cryptography?
- Are there any elliptic curve asymmetric encryption algorithms?