椭圆曲线公钥密钥算法

公钥密码算法的基础是解决特定数学难题的棘手性,rsa公钥算法是基于大素数分解问题,假定的是分解一个由两个或多个大素数相乘的积是不可能的;而ecc密码系统则是基于椭圆曲线离散对数问题,即求解椭圆曲线上任意一点相对于生成点的离散对数是不可能的。椭圆曲线密码系统可以在密钥更短的情况下达到与rsa相同的安全级别,从而节省密钥存储空间和传输带宽,对比如下表所示:

椭圆曲线采用如下函数定义:

y^{2}=x^{3}+ax+b,\,

椭圆曲线公钥算法则限制在素数域上的离散点上,并定义了一系列运算。

对椭圆曲线来说最流行的有限域是以素数为模的整数域(参见模运算) GF(p),或是特征为2的伽罗瓦域 GF(2m)。后者在专门的硬件实现上计算更为有效,而前者通常在通用处理器上更为有效。在素数域下, 曲线参数有为(p,a,b,G,n,h); 在二元域下, 曲线参数为(m,f,a,b,G,n,h).

p定义的是素数域Fp

m定义的是二元域2m

G为生成点坐标

n为G的阶,使nG=O(曲线的无穷远点)成立的最小正整数

h为辅参h={frac {1}{n}}|E(mathbb {F} _{p})|,h≤4,通常取1

 有限域:在数学中,有限域(英语:finite field)或伽罗瓦域(英语:Galois field,为纪念埃瓦里斯特·伽罗瓦命名)是包含有限个元素的域。有限域中元素的个数称为有限域的阶。

 有限域还在学习研究中,后续继续完善。

参考:

Elliptic-curve cryptography

椭圆曲线密码学

Secp256k1

有限域

原文地址:https://www.cnblogs.com/glensblog/p/10062459.html