【密码学原理】椭圆曲线密码学

您所在的位置:网站首页 椭圆曲线原理 【密码学原理】椭圆曲线密码学

【密码学原理】椭圆曲线密码学

2022-10-03 19:05| 来源: 网络整理| 查看: 265

要建立基于椭圆曲线的密码体制,需要有类似因子分解两个素数之积或者求离散对数这样的困难问题。

如果对于方程Q=kP,其中Q,P \in E_p(a,b),kp,对给定的kP计算Q是容易的,但是对给定的QP计算k是困难的,我们认为这就是椭圆曲线的离散对数问题。

用椭圆曲线密码实现Diffie-Hellman密钥交换

椭圆曲线的方程为y^2 \mod{p} = (x^3+ax+b) \mod{p}或者y^2 + xy = x^3 + ax^2 + b,选择大整数q和参数a,b,其中q为素数p,或者形为2^m的整数。椭圆群E_q(a,b),在E_q(a,b)中挑选基点G=(x_1,y_1)G的阶为一个非常大的数n,点G的阶n使得nG=0成立的最小正整数。

Alice和Bob之间完成密钥交换的过程如图所示

要破解这种体制,攻击者必须由GkG算出k,但这个是困难的。

这里的密钥是一对数字。

椭圆曲线加密和解密

首先将明文m编码为形如x-y的点P_m,并对点P_m加密和解密。

Alice选择一个私钥n_A,产生公钥P_A=n_A \times G

Alice将P_m加密后发送给Bob,A随机选择一个正整数k,产生密文C_mC_m=\left \{ kG,P_m+kP_B \right \}

Bob对密文解密,需要用第二个点减去第一个点与Bob的私钥之积:

P_m+kP_B-n_B(kG)=P_m+k(n_BG)-n_B(kG)=P_m

Alice通过将kP_BP_m相加来伪装消息P_m,只有ALice知道k所以除了Alice其他人不能伪装kP_B,但是在伪装后的消息中包含了线索,所以在已知私钥n_B的时候可以除去伪装。

要破解这种体制,攻击者必须由GkG算出k,但这个是困难的。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3