ECC算法

ECC算法基于一条椭圆曲线。曲线是一个多项式的图形表达。多项式就有常量。那么常量就是曲线的部分参数。

随便在曲线上找两个点A,B,A+B就是A和B两点连线与曲线的交叉点。如果A和B是同一个点,那连线就变成了切线。
这就是一个简单的乘法:选一个点G,再选一个倍数k,就可以算出一个结果K=kG。
其中K就是公钥,曲线上的一个点;k就是私钥,一个倍数;G是ECC算法的一个参数,对于一个选定的曲线算法固定。

公钥作为一个点,就有坐标,x和y。对于ECC 256来说,x和y都是32个字节。任选点私钥k也选32个字节。

由于曲线对应的多项式是固定的,因此,知道x可以直接算出y。所以公钥的表达方式可以是(x,y),也可以压缩为x+标志。有x就可以根据多项式算出两个y,根据标志选出其中一个y就得到了公钥。因此公钥是可以压缩的。压缩后的公钥实际上就是256比特的x和1个比特的标志,共257个比特,表达成字节长度就是33个字节。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 夜莺2517阅读 127,807评论 1 9
  • 版本:ios 1.2.1 亮点: 1.app角标可以实时更新天气温度或选择空气质量,建议处女座就不要选了,不然老想...
    我就是沉沉阅读 11,843评论 1 6
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 12,729评论 28 53
  • 兔子虽然是枚小硕 但学校的硕士四人寝不够 就被分到了博士楼里 两人一间 在学校的最西边 靠山 兔子的室友身体不好 ...
    待业的兔子阅读 7,512评论 2 9