[密码学]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

相关推荐
Evaporator Core3 天前
信息安全工程师软考进阶:第二章密码学与应用深度习题解析
密码学
長琹4 天前
AES加密算法详细加密步骤代码实现--身份证号码加解密系统
网络·数据库·人工智能·python·密码学
有点不太正常5 天前
《A Study of Probabilistic Password Models》(IEEE S&P 2014)——论文阅读
论文阅读·密码学·口令猜测·马尔可夫链
Blockchain Learning6 天前
椭圆曲线的数学基础
golang·密码学
yjx233327 天前
《应用密码学》——基础知识及协议结构模块(笔记)
笔记·密码学
默辨8 天前
密码学基础
密码学·非对称加密·数字签名·对称加密·摘要加密
浩浩测试一下10 天前
Windows驱动开发与双机调试环境[驱动开发环境配置高阶]
安全·web安全·网络安全·密码学·网络攻击模型·安全架构
东皇太星12 天前
模运算(密码学/数论/算法)
数据结构·算法·密码学
蒋星熠12 天前
区块链技术探索与应用:从密码学奇迹到产业变革引擎
python·语言模型·web3·去中心化·区块链·密码学·智能合约
有点不太正常15 天前
《Password Guessing Using Large Language Models》——论文阅读
人工智能·语言模型·自然语言处理·密码学