ECC的“点加”和“点乘”

有限域椭圆曲线

椭圆曲线是连续的,并不适合用于加密;所以,我们必须把椭圆曲线变成离散的点,我们要把椭圆曲线定义在有限域上。

给出一个有限域Fp

椭圆曲线Ep(a,b),p为质数,x,y∈[0,p-1]

选择两个满足下列约束条件的小于p的非负整数a、b :

点加是ECC计算中最基本和原始的概念,它描述群当中的两个元素(点)之间的操作,实际运算中大量使用的是“点乘”。但是不要被点乘这个名字所迷惑,其实它描述的是:对同一个点进行多次操作时的规则,很多常见的写法例如 kG ,很容易误导初学者--其实这个 kG 描述的其实是:针对点G进行“k-1”次点加操作。因为这个是加法群。

做一个简单的思想实验:假设k = 4,我们如何计算 4G 呢?既然我们已经知道如何任意两个点的点加,那么计算4G无非就是:

step1: 计算 G+G得到 2G

step2: 计算 2G+ G得到3G

step3: 计算3G + G得到4G

那么假设k=11呢?其实也是一样的的步骤

step1:计算 G+G得到 2G

step2:计算 2G+2G得到 4G

step3:计算 4G+G得到 5G

step4:计算 5G+5G得到 10G

step5:最后计算 10G+G得到 11G。

例题椭圆曲线已知E23(1,1)上两点P(3,10),Q(9,7),求
(1) -P
(2) P+Q
(3) 2P

(1) 计算-P
− P = ( 3 , − 10 ( m o d 23 ) ) = (3,13)

(2) P+Q

(3) 2P

另外补充一下:MOD,是一个数学运算符号。指取模运算符

最后补充一下,大家可以去看一下ECC椭圆曲线加密原理详解:ECC椭圆曲线加解密原理详解(配图)_NFTDigger的博客-CSDN博客_椭圆曲线加密算法原理

可以更好的理解一下ECC加密相关的内容


 

猜你喜欢

转载自blog.csdn.net/m0_62404884/article/details/126977135