问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

理解椭圆曲线加密算法

发布网友 发布时间:2022-10-16 04:25

我来回答

1个回答

热心网友 时间:2023-10-15 20:22

椭圆曲线加密算法,即:Elliptic Curve Cryptography,简称ECC,是基于椭圆曲线数学理论实现的一种非对称加密算法。相比RSA,ECC优势是可以使用更短的密钥,来实现与RSA相当或更高的安全。据研究,160位ECC加密安全性相当于1024位RSA加密,210位ECC加密安全性相当于2048位RSA加密。

一般椭圆曲线方程式表示为:(其中a,b,c,d为系数)
> y2=ax3+ bx2+cx+d
典型的椭圆曲线如:y2=x3−4x2+16

先摆一个栗子:

小米很难算到的那个数,就是公钥密码算法中的私钥(一个公钥密码算法安全的必要条件(非充分)是“由公钥不能反推出私钥”),公钥密码算法最根本的原理是利用信息的不对称性:即掌握私钥的人在整个通信过程中掌握最多的信息。
椭圆曲线加密算法是一个基于加法阶数难求问题的密码方案。 对于椭圆曲线来讲,椭圆曲线的基点就是例子里面的5,而私钥就是基点的加法阶数(例子里面的11),公钥是基点(5)进行对应阶数的加法(11次)得到的结果(55)。

简单描述就是:G * k = K (G,K公开,k保密)

上述例子相对简单,椭圆曲线加密算法里的加法建立在 “有限域上的二元三次曲线上的点”上 ,组成一个“有限加法循环群”。具体的说,这个加法的几何定义如下图,两个点的加法结果是指这两点的连线和曲线的交点关于x轴的镜像。

如果我们从某一点出发(所谓的单位元,比如正整数域的1,代表一个空间里的最基本单元),不停做自增操作(所谓群操作,比如++),枚举出整个空间的集合元素。如图:

因此给定椭圆曲线的某一点G,从G出发,不停做切线,找对称点,依次得到-2G,2G,-4G,4G,-8G,8G... 。即:当给定G点时,已知x,求xG点并不困难。反之,已知xG点,求x则非常困难。即Q = NG,N就是我们的私钥,Q就是我们的公钥。

现在我们知道了公钥(Q)和私钥(N)的生成的原理,我们在看看椭圆曲线数字签名算法(ECDSA)的过程,椭圆曲线数字签名算法(ECDSA)是使用椭圆曲线密码(ECC)对数字签名算法(DSA)的模拟。ECDSA于1999年成为ANSI标准,并于2000年成为IEEE和NIST标准。

私钥主要用于 签名,解密 ;公钥主要用于 验签,加密 ,可以通过私钥可以计算出公钥,反之则不行。
公钥加密:公钥加密的内容可以用私钥来解密——只有私钥持有者才能解密。
私钥签名:私钥签名的内容可以用公钥验证。公钥能验证的签名均可视为私钥持有人所签署。

通常需要六个参数来描叙一个特定的椭圆曲线:T = (p, a, b, G, n, h).
p: 代表有限域Fp的那个质数 a,b:椭圆方程的参数 G: 椭圆曲线上的一个基点G = (xG, yG) n:G在Fp中规定的序号,一个质数。 h:余因数(cofactor),控制选取点的密度。h = #E(Fp) / n。

这里以secp256k1曲线(比特币签名所使用的曲线)为例介绍一下公私钥对的产生的过成。
secp256k1的参数为:

本质上ECDSA的私钥就是一个随机数满足在曲线G的n阶里及k∈(0,n),根据Q=kG可以计算出公钥,生成的私钥一般为32字节大小,公钥通常为64个字节大小。如:

ECDSA签名算法的输入是数据的哈希值,而不是数据的本身,我们假设用户的密钥对:(d, Q);(d为私钥,Q为公钥) 待签名的信息:M; e = Hash(M);签名:Signature(e) = ( r, s)。

签名接口:

验证接口:

一个例子:
理解椭圆曲线加密算法

椭圆曲线加密算法,即:Elliptic Curve Cryptography,简称ECC,是基于椭圆曲线数学理论实现的一种非对称加密算法。相比RSA,ECC优势是可以使用更短的密钥,来实现与RSA相当或更高的安全。据研究,160位ECC加密安全性相当于1024位RSA加密,210位ECC加密安全性相当于2048位RSA加密。一般椭圆曲线方程式表示为:(...

边缘计算实验箱

广州市风扬信息科技有限公司,专注于技术创新和解决方案提供,我们致力于将人工智能的无限潜力转化为实际的解决方案,为各行各业的客户提供智能化的产品和服务。使命与愿景我们的使命是通过前沿的人工智能技术,推动社会进步和商业发展。我们的...

椭圆曲线加密算法(ECC)

椭圆曲线加密算法(ECC)是一种高效的安全加密手段,与RSA相比,ECC使用更短的密钥就能提供类似或更高的安全性。160位ECC等同于1024位RSA,而210位ECC的安全性相当于2048位RSA(具体数据需进一步确认)。比特币等加密货币采用secp256k1这一特殊椭圆曲线。椭圆曲线的运算基于阿贝尔群理论,其加法和二倍运算...

椭圆曲线算法在椭圆曲线加密(ECC)

在加密技术中,椭圆曲线算法(Elliptic Curve Cryptography, ECC)是一种广泛应用的手段。ECC的核心概念建立在一种特殊的数学结构——定义在有限域上的椭圆曲线上。这种曲线上的一般方程形式为:y^2 = x^3 + ax + b (mod p)其中,p是一个素数,代表了有限域,a和b是两个小于p的非负整数。它们...

椭圆曲线密码学简介(一):实数域的椭圆曲线及其群运算规则

在开始探讨之前,需要具备基础的数学知识,如集合论、几何学和模运算,以及对称加密和非对称加密的理解,以及对密码学中“简单”与“困难”问题的认识。ECC的核心是椭圆曲线,定义为满足Weierstrass公式的曲线,如[公式],其中参数的不同组合影响曲线在坐标系中的形态。常见的简化形式,Weierstrass Normal For...

ECC加密算法

在RSA算法中,因式分解的困难性提供了安全性的基础。而在ECC中,基于加法运算和乘法运算的困难性提供了安全性的保障。通过选择合适的椭圆曲线参数,如基点和安全参数,可以构建出强大的加密系统。加密过程涉及到选择随机数乘以基点,得到公钥;解密过程则依赖于私钥,即随机数,通过将公钥与私钥相乘得到原始...

椭圆曲线密码学简介(三):ECDH加密算法和ECDSA数字签名算法

椭圆曲线密码学的核心概念在于,我们能轻易计算出[公式]和[公式],但求解私钥[公式]却异常困难,这依赖于离散对数问题的难度。这为我们提供了ECDH协议的基础,它并非加密算法,而是密钥交换协议,通过它,Alice和Bob可以在保护信息的情况下共享密钥,如使用AES或3DES进行数据加密。在ECDHE的应用中,服务器和...

密码学基础2:椭圆曲线密码学原理分析

在实际加密算法中,我们通常需要多次通过椭圆曲线加法来实现一次加密,如下图所示: 图中打点的过程就是: 而在实际加密算法中,我们常常是使用一个点自己叠加,即初始直线变成椭圆曲线的切线即可,像下面这样: 我们定义对一个点 P 进行 n 次加法得到 nP,称之为标量乘法。如前面例子中 。 不过,当 n 很大时,执行 n...

椭圆曲线加密(ECC)核心算法的简明介绍

Ep(a,b)的加法 对与椭圆曲线y^2 = x^3+ax+b(mod p) :两点P(x1,y1) Q(x2,y2),P≠-Q,则P+Q=(x3,y3)由以下算法定义:实际通信流程如下:再对点M进行解码就可以得到明文。上述流程中的加法即为Ep(a,b)的加法。这个算法实际是基于已知kG难解k实现的,简单清晰。

ECC椭圆曲线密码学的原理、公式推导、例子、Python实现和应用_百度知 ...

椭圆曲线本身是通过特定方程定义的,它是离散对数问题的数学载体。加法法则在有限域上执行,例如点的加法和倍数运算,Python代码提供了直观的实现。ECDLP是ECC加密的核心,基于基点、私钥和公钥的概念,通过解决离散对数问题实现加密。ElGamal加密算法是ECC的重要应用,它利用了椭圆曲线的特性。而EC ElGamal是将...

比特币源码研读一:椭圆曲线在比特币密码中的加密原理

下面简要介绍一下椭圆曲线加密算法ECC。 首先椭圆曲线的通式是这个样子的:一般简化为这个样子:()发公式必须吐槽一下,太麻烦了。) 其中 这样做就排除了带有奇点的椭圆曲线,可以理解为所有的点都有一条切线。 图像有几种,下面列举几个:[1] 椭圆曲线其实跟椭圆关系不大,也不像圆锥曲线那样,是有圆锥的物理模型为...

椭圆曲线加密算法原理 椭圆曲线加密算法乘法器 椭圆曲线加密算法破解 现代密码学椭圆曲线加密算法源代码 基于椭圆曲线加密算法的通讯系统 基于椭圆曲线加密算法应用 椭圆曲线加密算法c实现 椭圆曲线加密算法例题 椭圆曲线加密算法代码
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
倒投支票金额限制 腰椎间盘突出打臭氧针多少钱 王者荣耀杀马特名字大全_王者荣耀杀马特名字汇总 这位非主流美女叫什么,还有没有她其它照片 南京雨花石香烟多 温带海洋性气候分布情况 1998年3月13日出生的2015年旧历生日是什么时候?能准确的说出来吗? 好的橱柜加工厂都有哪些最具实力的橱柜加工厂信息 ...有一个能装五斤水的桶和一个能装三斤水的桶,这两个桶都不规则,问... ...银和硝酸银可以检验盐酸和其他在溶液中能产生氯离子的化合物?_百 ... 东方能源20170115有万股限售股上市流通为增发A股法人配售上市是利好还是 比特币源码研读一:椭圆曲线在比特币密码中的加密原理 在支付宝充话费错号怎么办:对方一直关机:怎么办:急 iphone11拍照有重影是怎么回事呢? 一个手机两个怎么弄 蔬菜水果怎么用气泡喷淋清洗机清洗干净 求大神解答神火的手电怎么样 天猫买了把神火手电筒,坑,天坑,神坑!果然便宜没好货!来这吐槽的! 全身美白的方法有哪一些 鼓励高中孩子的句子 惠普HP EliteBook 2570p 能有日立的硬盘吗? 惠普2570p的ssd尺寸和厚度 “促进”怎样用学术性语言表述? 广东2022有哪些大型模拟考 oppoa59m录屏功能在哪里 听说VIVE Focus”VIVE 汽车“可以用来看车,可以网站商城购买吗? 海信50寸4k电视质哪款型号的好 504k电容容量是多少? 中水和软化水的区别 我在北京租了个房子,里面的水烧开了还很浑浊,发现喝的水和冲厕所的水管是连着的,是不是中水呢? 各个模型的损失函数 逻辑回归的目标函数(损失函数)是凸函数吗 前往澳洲读研,学生需要准备好充足的资金,那么去澳洲读研花费需要多少呢? 澳大利亚研究生学费大概是多少呢?澳大利亚研究生生活费大概是多少? 澳大利亚留学研究生费用是多少呢?留学研究生条件难不难呢? 你能说一说澳大利亚一年留学到底要多少钱吗? 澳洲语言专业研究生学费是多少?澳洲语言专业研究生推荐有哪些呢? 澳洲的硕士教育是非常不错的,去澳洲读硕士需要多少钱呢? 淘宝上买了东西,忘了点匿名,怎么能改回来成匿名 如何对表格的横向几排进行隐藏 白潭湖的资源 想换个苹果6总成屏,谁知道那里便宜 算满勤人数,公式怎么算 excel条件计算满勤奖 企业因资金紧张,向客户申请提前支付货款,需付提前的利息,怎么入账 货运公司收到帮客户申请出口退税的款,然后扣除运杂费、港费后退回给客户,怎么做会计分录? 沕沕水怎么读 沕沕水如何读 怎么介绍石家庄忽忽水 我们老家有句话:“一代亲,二代表,三代四代认不到”真是这样吗?关系就这样疏离了吗? 海淘名牌却买到山寨货,你网购都发生过什么不开心的事?