[密码学]ECC加密

椭圆曲线加密 Ellipse Curve Cryptography

椭圆曲线上的离散对数问题 Ellipse Curve Discrete logarithm Problem

椭圆曲线

注意积分公式的分母,椭圆曲线由此得名。这种曲线和椭圆一点不像。

离散对数:

y=g^x mod p,对于给定的g,x,p求y很容易,但已知y,g,p求x困难。难度与RSA中的大数分解难度相同。

椭圆曲线上的离散对数问题:

考虑方程Q=kP,其中(点Q,P属于定义在(a,b)上的模p的椭圆曲线)且k<p。对于给定的k,P,计算Q比较容易,但对于给定的Q,P,计算k困难。

y^2=x^3+9x+17( mod 23),定义椭圆群

**待续

需要一些数学技巧把明文m映射到在椭圆曲线E上的整数点Pm。可能需要对m进行padding,更糟糕的情况,需要调整椭圆曲线的(a,b)。

目前有椭圆曲线和参考点G(一个在椭圆曲线上的整数点)

用户A选择一个私钥Na(一个足够大的数),并计算公钥Pa=Na*G(椭圆曲线的点加计算)

用户B选择一个私钥Nb(一个足够大的数),并计算公钥Pb=Nb*G(椭圆曲线的点加计算)

加密:

用户A随机选取一个整数k ,计算密文Cm

Cm={kG,Pm+kPb},Pb为用户B的公钥。

解密:

解包Cm,使用用户B的私钥Nb,进行ecc上的点加计算。

(Pm+kPb)-Nb(kG)=Pm+k(Nb*G)-Nb(k*G)=Pm

相关推荐
搬砖魁首3 天前
密码学系列 - 介绍几种不同的签名方案
密码学·签名·schnorr·ecdsa·eddsa
帅次8 天前
信息安全的容灾与业务持续&安全管理的措施
安全·网络安全·系统安全·密码学·网络攻击模型·安全威胁分析·安全架构
奔跑吧邓邓子11 天前
【C语言实战(78)】C语言进阶:筑牢数据安全防线,密码学实战探秘
c语言·密码学·数据安全·开发实战
passxgx11 天前
10.7 密码学中的线性代数
线性代数·密码学
麦烤楽鸡翅13 天前
幂数加密(攻防世界)
网络安全·密码学·ctf·crypto·解密·攻防世界·幂数加密
CyberSecurity_zhang14 天前
汽车信息安全--关于安全强度的误区
信息安全·汽车·密码学·安全强度
国服第二切图仔14 天前
Rust开发实战之密码学基础——哈希计算与对称加密实战
rust·密码学·哈希算法
粉色挖掘机15 天前
矩阵在密码学的应用——希尔密码详解
线性代数·算法·机器学习·密码学
电院工程师15 天前
SIMON64/128算法Verilog流水线实现(附Python实现)
python·嵌入式硬件·算法·密码学
YuanDaima204816 天前
安全协议设计入门:原理与分析
人工智能·笔记·安全·网络安全·密码学·安全协议·课程