java取模运算定律_简述椭圆曲线算法(ECC)

本文主要目的是对椭圆曲线做一个形象的介绍,比较通俗的可以理解与传统的基于取模运算的加密算法如RSA的区别。没有涉及过多密码学运算和数论知识。

如果感兴趣可以参考Elliptic Curve Cryptography: a gentle introduction,比较容易看懂,其中还配置了一个可视化的椭圆曲线工具,本文的配图都是利用该工具生成的。

好了,开始进入主题:Elliptic Curve Cryptography (ECC)

1. 简单概念

Elliptic Curve Cryptography 椭圆加密算法,简称ECC,是基于椭圆曲线数学理论的一种非对称加密算法(公钥加密算法),与RSA这些广为使用的加密算法相比,尽管目前ECC加密算法也应用的很广泛,当其基本的实现原理还是对大多数人来说比较陌生。

特性:与RSA相比可以使用更短的密钥实现与RSA相当或者更高的安全性。

一下方程式表示了椭圆曲线,其中a, b, c, d为系数。

da27330ffa1987eacd3e2ef45ec2a7e5.png

y^2 = ax^3 + bx^2 + cx + d

当a = 1, b = 0, c = -7, d = 10 时,方程表示如下图所示:

ad55ce2ea52607f918ac23155bae0948.png

y^2 = x^3 - 7x + 10

此时曲线显示如下图蓝线所示:

69390cf8a9034a4c048c2c459d155112.png

可以看出椭圆曲线并不是椭圆形的,形状与名称并没有太大联系。

2. 运算法则

2.1 加法

在这里我们取最简单的一种方式来解释椭圆曲线中的加法,其它的特殊方式可以参考 Elliptic Curve Cryptography: a gentle introduction

如下图所示,过曲线上两点P和Q画一条直线,与曲线交点关于x轴对称位置的点R,即为P + Q。 R = P + Q

6c4c3c40fa7fef0f04e0d2c1b9593b82.png

2.2 二倍运算

当2.1中Q = P的时候,可以得到R = 2P。但此时无法用上述方法进行解释。因此在这种情况下,两点重叠的时候,将椭圆曲线在P点的切线,与椭圆曲线的交点关于x轴对称位置的点,定义为R,即2P。如下图所示:

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值