首页 > 其他 > 详细

ECC加解密过程(转)

时间:2015-01-06 21:23:36      阅读:809      评论:0      收藏:0      [点我收藏+]

ECC加解密过程:

不是所有的椭圆曲线都可以用来加密。Y^2=x^3+ax+b是一类可以用来加密的椭圆曲线,也是最为简单的一类。

考虑等式: K=kG  [其中 K,G为Ep(a,b)上的点,k为小于n(n是点G的阶)的整数]

不难发现,给定k和G,根据加法法则,计算K很容易;但给定K和G,求k就相对困难了。 这就是椭圆曲线加密算法采用的难题。我们把点G称为基点(base point),k(k<n,n为基点G的阶)称为私有密钥(privte key),K称为公开密钥(public key)。

现在我们描述一个利用椭圆曲线进行加密通信的过程:

   1、用户A选定一条椭圆曲线Ep(a,b),并取椭圆曲线上一点,作为基点G。

   2、用户A选择一个私有密钥k,并生成公开密钥K=kG。

   3、用户A将Ep(a,b)和点K,G传给用户B。

   4、用户B接到信息后 ,将待传输的明文编码到Ep(a,b)上一点M(编码方法很多,这里不作讨论,主要是将明文数据类型转成比特串),并产生一个随机整数r(r<n)。

   5、用户B计算点C1=M+rK;C2=rG。

   6、用户B将C1、C2传给用户A。

   7、用户A接到信息后,计算C1-kC2,结果就是点M。因为

          C1-kC2=M+rK-k(rG)=M+rK-r(kG)=M

      再对点M进行解码(按照刚才的编码方法逆向解码)就可以得到明文

ECC加解密过程(转)

原文:http://www.cnblogs.com/fishou/p/4206981.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!