简单椭圆曲线密码方法

时间:2015-04-27 04:34:07

标签: encryption cryptography public-key-encryption elliptic-curve

我正在研究一个项目,以便学习ECC加密算法&我正在OCaml中实现它。我无法在线找到这个问题的答案:

是否存在使用ECC而非对称密钥协议(即通过ECC Diffie-Hellman)的非对称加密算法方法(类似于Elgamal和RSA)?对我们来说,一个简单的方法就可以了。

1 个答案:

答案 0 :(得分:0)

是。例如,有Elliptic Curve Elgamal和其他一些使用椭圆曲线的非对称密码系统。

Elgamal和Diffie-Hellman都基于"离散对数问题"给定整数{1,2,...,p-1},一个生成器g,它很容易计算g ^ k。然而,给定{1,2,...,p-1}中的一些元素x,它(假设)很难找到k,使得g ^ k = x。

对于椭圆曲线,我们有类似的东西:给定椭圆曲线和生成点P,它很容易将一个点乘以整数k。但我们认为,鉴于Q点,很难找到k,Q = kP。

此问题已在crypto.stackexchange中提出。

还有一个很好的椭圆曲线密码学描述(包括ECElgamal)by Martin Leslie of U. of Arizona

一些评论,如果您要实施Elgamal:

  • Elgamal是同态的,正如评论中已经提到的那样。如果你不想要同态属性,可以使用一些致盲技术。
  • Elgamal会使加密文本比纯文本大得多。
  • "教科书实施"加密方法通常是有缺陷的。请参阅Wenbo Mao的书Modern Cryptography: Theory and Practice