首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏随意记录

    密码学:椭圆曲线

    切线规则:P 事椭圆曲线上的点,且不在无穷处,点 P 和自身的和为:直线 l 为椭圆曲线上在 P 处的切线,与椭圆曲线交于第 2 点 R^′ ,R 为 R^′ 关于 x 轴的对称点,则 P ⊕ P = R如果 l 与椭圆曲线没有第 2 个点,则和为无穷点 O。 不过因为椭圆曲线是 DL-secure 的,所以对数顺序很难算出。 但在某些情况下,为了获得更快的群算法或标量乘法,需要考虑更为特殊的椭圆曲线表示形式。Montgomery 曲线可以在常数时间内计算椭圆曲线标量乘法。 5 Hashing to Curves椭圆曲线密码学通常要求能够将数据哈希到椭圆曲线。如果椭圆曲线的阶不是素数,那么哈希到素数阶子群就很重要。

    1.5K41编辑于 2023-10-27
  • 来自专栏加密解密

    ECC椭圆曲线密码

    一、ECC椭圆曲线密码学在线教程 1.1、椭圆曲线密码学介绍 椭圆曲线密码学是一种可逆的非对称密码学算法,其英语全称:Elliptic Curve Cryptography,缩写为:ECC。 1.2、椭圆曲线密码学使用场景 ECC被广泛认为在相同的密钥长度下,最强大的非对称算法,因此在对带宽要求特别紧张的连接中会十分有用。 1.3、椭圆曲线密码学安全 受RSA算法后门以及棱镜门等事件影响,ECC椭圆曲线密码学算法开始被高度重视并快速流行起来,其占用更少的存储空间、更低的CPU开销和更少的带宽,但是可以提供更好的安全性、更强性能和较好的投资回报率 二、ECC椭圆曲线密码学常用标准 2.1、Curve25519椭圆曲线标准 Curve25519是由Bernstein在2006年发明的。Curve25519特点就是快! 本教程引自《试试吧 - 领先的在线工具平台》,主打原创,全部免费,打开浏览器搜:试试吧,全网排名第一的就是本站,快来试试吧:ECC椭圆曲线密码学 - 在线工具。

    1.5K00编辑于 2023-03-17
  • 椭圆曲线密码学(ECC)算法

    椭圆曲线密码学解释:从网络安全到加密货币,适用于现代网络安全的高效公钥加密。椭圆曲线密码术 (ECC) 是一种强大而高效的公钥密码术,与传统方法相比,它以较小的密钥大小提供强大的安全性。 在密码学中,我们使用有限域上的椭圆曲线,这意味着 x 和 y 坐标被限制在特定的整数范围内。 ECC 与 RSA对比椭圆曲线密码术 (ECC) 和 RSA 是两种广泛使用的公钥加密方法。虽然 RSA 多年来一直是标准,但 ECC 以较小的密钥大小提供相当的安全性,使其对现代应用程序更有效。 热门 ECC 曲线几种标准化椭圆曲线密码应用中被广泛使用:NIST曲线:由美国国家标准与技术研究所(NIST)开发,包括P-256、P-384和P-521。 总结椭圆曲线密码术 (ECC) 是一种功能强大的公钥系统,与 RSA 等旧方法相比,它具有较小的密钥大小,可提供强大的安全性。它的计算速度更快,资源需求低,非常适合移动设备、物联网和安全网络通信。

    1.7K10编辑于 2024-12-10
  • 来自专栏设计模式

    深入解析ECC(椭圆曲线密码学)加解密算法

    ECC(椭圆曲线密码学)是一种新型的公钥密码体制,相比传统的RSA算法,在相同安全性要求下,ECC所需的密钥长度更短,运算效率更高,因此在现代密码学领域得到了广泛应用。 二、ECC算法原理 2.1. 椭圆曲线基础 ECC算法的核心是椭圆曲线数学。在数学上,椭圆曲线是满足特定方程的点的集合。椭圆曲线上的点满足一定的加法运算规则,这些规则构成了椭圆曲线密码学的基础。 在Java中使用ECC(椭圆曲线密码学)进行加解密通常涉及密钥对的生成、加密和解密过程。 要注意的是,椭圆曲线密码学(ECC)通常不直接用于加密大量数据,而是用于密钥协商、数字签名或者加密小量数据(如对称加密的密钥)。 总结 ECC(椭圆曲线密码学)作为一种新型的公钥密码体制,在安全性、密钥长度和运算效率方面具有显著优势。

    3K01编辑于 2024-05-24
  • 来自专栏全栈程序员必看

    OpenSSL密码库算法笔记——第5.1.2章 椭圆曲线算法集

    在定义椭圆曲线点群时出现了描述曲线所用算法的参数const EC_METHOD *meth,这一节就来看看这个参数有什么用处。 椭圆曲线算法集的定义如下。 struct ec_method_st { (具体定义略,详情可参见代码文件ec_lcl.h) };// EC_METHOD 在结构体ec_method_st中列举了实现过程中用到的各种椭圆曲线算法 ,比如椭圆曲线点群的建立和释放,设置群参数,点的比较,点的加法和倍乘等等,覆盖面很广,几乎涉及所有的椭圆曲线算法。 举个例子,“判断点是否在曲线上”只需要调用EC_POINT_is_on_curve函数,而无需考虑是二元域还是素域。那EC_POINT_is_on_curve怎么知道是对哪种类型的有限域呢? 这样就做到了将“判断点是否在曲线上”函数接口的统一。 关于函数接口的统一问题,在后面会进一步讨论。

    55810编辑于 2022-09-13
  • 来自专栏申龙斌的程序人生

    非对称加密与椭圆曲线

    椭圆曲线加密-ECC 真正的非对称算法比这复杂多了,常见的非对称加密算法有RSA,还有椭圆曲线加密-ECC-Elliptic Curve Crytograph。 接下去就重点讲下,这个什么椭圆,什么曲线,是个什么鬼? 椭圆曲线 简单说它就是一套数学公式,比如:y^2 = x^3 + ax + b (当a和b满足4a^3 + 27b^2 ≠ 0的,才是一根有效的椭圆曲线) 当然,椭圆曲线有多种变化,通过系数a和b的变换 ,任意一根穿过该椭圆曲线的直线,最多和曲线有三个交点。 这套密码的好处,是私钥和公钥对,随时可以变化,随机生成一个,就有完全不同的密钥来加密信息了,相比对称加密一尘不变的密码对,要安全很多。 以上就是ECC椭圆曲线加密的基本原理。

    2.1K110发布于 2018-03-06
  • 来自专栏全栈程序员必看

    OpenSSL密码库算法笔记——第5.4.13章 椭圆曲线点的压缩

    椭圆曲线上的任一仿射点(x, y)(非无穷远点)都可以压缩成利用其y坐标的最后一比特(记为y*)和x坐标来表示,即(x, y*),这就是点的压缩。

    1.1K20编辑于 2022-09-09
  • 来自专栏全栈程序员必看

    OpenSSL密码库算法笔记——第5.1.1章 椭圆曲线点群的定义

    下面定义的椭圆曲线点群不仅包含了域的信息和曲线的信息,甚至还包括了很多别的有利于实现的信息。 椭圆曲线点群的定义如下。 const EC_METHOD *meth指出椭圆曲线所用的是那些算法,详情参见§5.1.2。 EC_POINT *generator为基点(EC_POINT的定义参见§5.1.3)。 BIGNUM a, b为曲线参数,即Weierstrass方程中的参数a、b。 int a_is_minus3; 判断a是否为负3,因为a为负3时点的运算可优化(参见§5.4.4)。

    48620编辑于 2022-09-13
  • 来自专栏有价值炮灰

    椭圆曲线加密与NSA后门考古

    本文主要介绍椭圆曲线的基本原理以及基于椭圆曲线密码学实现,包括ECC加密、ECDH秘钥交换以及ECDSA签名算法,并介绍其中潜在的一些安全问题。 其实这里应该说是除数问题,但大多密码学算法是基于指数计算的,因此求逆称为对数。 使用随机种子生成的椭圆曲线可被认为是验证随机的(verified random),其中使用hash来生成的参数在密码学中也称为“我的袖子里可没藏东西”数(Nothing-up-my-sleeve number ”,当时听起来挺神奇的,但对于密码学家而言其实只是个正常的选择。 在比特币诞生之初,作为密码学专家的中本聪,自然也不会放过这个问题,所以避开这个后门也就理所当然了。

    1.9K50编辑于 2023-02-12
  • 来自专栏全栈程序员必看

    OpenSSL密码库算法笔记——第5.2章 椭圆曲线算法的函数架构图

    椭圆曲线算法中涉及的函数纷繁复杂,比如为了实现“复制点群”功能,就定义了四个函数,有: int EC_GROUP_copy (EC_GROUP *dest, const EC_GROUP *src)、 首先,实现椭圆曲线中算法的函数大部分在文件ec_lib.c、ecp_mont.c、ecp_smpl.c和ec2_smpl.c里面。

    60710编辑于 2022-09-13
  • 来自专栏区块链入门

    【区块链技术工坊46期】PPIO蒋鑫:椭圆曲线密码学简介

    活动基本信息 1)题目: 【区块链技术工坊46期】椭圆曲线密码学简介 2)议题: 目前区块链项目如火如荼,几乎所有的区块链都会用到钱包,我们也经常听说椭圆曲线这个密码学术语,那么它们之间有没有什么关系 椭圆曲线密码(ECC)由Neal Koblitz和Victor Miller于1985年发明。 它可以看作是椭圆曲线对先前基于离散对数问题(DLP)的密码系统的模拟,只是群元素由素域中的元素数换为有限域上的椭圆曲线上的点。 椭圆曲线密码体制的安全性基于椭圆曲线离散对数问题(ECDLP)的难解性。 椭圆曲线离散对数问题远难于离散对数问题,椭圆曲线密码系统的单位比特强度要远高于传统的离散对数系统。因此在使用较短的密钥的情况下,ECC可以达到于DL系统相同的安全级别。 因此椭圆曲线密码尤其适用于处理能力、存储空间、带宽及功耗受限的场合。

    1.2K10发布于 2019-06-14
  • 来自专栏csdn文章同步

    椭圆曲线聚合签名原理 & PBFT 算法改进

    PBFT 算法改进 4.1 改进思路 4.2 椭圆曲线 4.3 数字签名 4.4 聚合签名 4.5 改进 PBFT 5. 总结与思考 参考文献 1. 引言 2. PBFT 算法改进 4.1 改进思路 4.2 椭圆曲线 4.3 数字签名 4.4 聚合签名 4.5 改进 PBFT 5. 总结与思考 参考文献

    93330编辑于 2022-06-23
  • 来自专栏Java架构师必看

    ECC椭圆曲线详解(有具体实例)「建议收藏」

    目前我国居民二代身份证正在使用 256 位的椭圆曲线密码,虚拟货币比特币也选择ECC作为加密算法。 从射影平面讲起 古希腊数学家欧几里得的《几何原本》提出了五条公设。 只是因为椭圆曲线的描述方程,类似于计算一个椭圆周长的方程故得名 椭圆曲线示例 非椭圆曲线示例 这两个方程都不是椭圆曲线,因为他们在(0:0:1)点处(即原点)没有切线,不满足椭圆曲线每个点都必须是非奇异的 任意取椭圆曲线上两点P、Q(若P、Q两点重合,则作P点的切线),作直线交于椭圆曲线的另一点R',过R'做y轴的平行线交于R,定义P+Q=R。 这样,加法的和也在椭圆曲线上,并同样具备加法的交换律、结合律 同点加法 若有k个相同的点P相加,记作kP P+P+P=2P+P=3P 有限域椭圆曲线 椭圆曲线是连续的,并不适合用于加密;所以,我们必须把椭圆曲线变成离散的点 ,我们要把椭圆曲线定义在有限域上。

    2.4K31编辑于 2022-03-21
  • 来自专栏Seele元一

    大白话解读多重椭圆曲线Seele黄皮书

    在Seele元一黄皮书中提到的是椭圆曲线密码学,是一种建立公开密钥加密的算法,是基于椭圆曲线数学的算法。 1) 私钥与椭圆曲线通过计算获得了公钥 2) 但是公钥通过椭圆曲线无法获得私钥 小白大白话:这个是椭圆曲线的一个“特性”(单向),这种”特性”保护了我们的私钥不会被其他人破解。 是因为世事无绝对,椭圆曲线不是唯一的,是有很多个,比如刚才我们看到的secp256k1这个曲线就是BTC使用的椭圆曲线椭圆曲线有几个特征 1) 椭圆曲线就是一个方程(不用管多复杂的方程) 2) 它由6个变量组成(可以脑补X,Y,Z,A,B,C(随便说的)) 3) 不同的变量决定了不同的椭圆曲线(可以有好多好多条椭圆曲线 这种后门如果有人知道,所有人都不知道就容易做坏事 2) 椭圆曲线公认的相对安全非常少 小白大白话:相对安全的椭圆曲线,是全世界密码学学术界的相对认可,主要原因是后门没有被发现,现在科学的计算能力有限,

    80830发布于 2018-09-06
  • 来自专栏信且诚心之动

    Kotlin(Java)与Golang的椭圆曲线密钥交换算法

    入坑指南 3:kotlin的标准secp256r1曲线和go的曲线参数不一样。 入坑指南 4: kotlin和go的密钥交换算法原理相同,实现大有千秋,这里使用java实现go的密钥交换算法。 坑3源码打印出来,go的曲线结构为: go-curve.png 其中:各个参数为定值: go-params.png 而kotlin的曲线结构为: kotlin-curve.png 其中:

    2.1K30编辑于 2022-12-28
  • 高性能椭圆曲线加密算法25519优化解析

    椭圆曲线密码学是在线安全的核心技术。某机构在其开源密码库AWS-LC中实现了基于curve25519椭圆曲线的x25519(密钥交换)和Ed25519(数字签名)算法。 采用MULX/ADCX/ADOX指令并行处理双进位链,性能提升达30%Arm64架构:针对Graviton2/3不同乘法器特性,分别采用Karatsuba减法和标准教科书乘法三级操作模型优化(域运算→椭圆曲线群运算 97% 111% 应用集成优化后的算法已集成至多语言绑定环境:Java(Amazon Corretto加密提供程序)Rust(aws-lc-rs)Python标准库密码学模块该工作同时为后量子密码学混合方案提供了经典算法支撑 ,相关优化技术可推广至其他密码算法实现。

    33810编辑于 2025-08-07
  • 来自专栏Coding迪斯尼

    区块链的系统探索之路:椭圆曲线之有限域

    首先我们从加解密这块入手,其中这块中最基础的就是椭圆曲线。 ! ,然后给定一个点p,并判断这个点是否在曲线上,代码运行后返回结果为: ```python is point p on curve: True ``` 也就是给定的P点确实在曲线上,从这里可以看出,椭圆曲线在运用时 在数学上椭圆曲线定义了一种运算叫"加法“,千万不要将其与我们普通的四则运算等同起来,我们看看椭圆曲线的"加法"是如何运作的。 在椭圆曲线上取两点,如果这两点不是同一点,那么这两点相加的运算如下图所示: ! 要想创建个人钱包地址,我们需要先从椭圆曲线创建一个叫"公钥”的数据,首先我们在曲线上取专门的一点用G表示,然后创建一个足够大的随机数k,然后计算这两个数相乘的结果 K = k \* G , 注意这里G是椭圆曲线上的一个点

    72120编辑于 2023-02-26
  • 来自专栏程序你好

    区块链科普:非对称加密、椭圆曲线加密算法

    椭圆曲线加密算法 椭圆曲线长什么样 椭圆曲线如果用公式表示的话,可以写成下面这样: y^2 = x^3 + ax + b 其中,a和b取不同的值时,曲线的样子也有所不同,比如说: ? 据说椭圆曲线的名字来源于它的表达式有点像计算椭圆周长的积分公式,而不是说这个曲线画出来是椭圆形~ 椭圆曲线的加法和乘法 椭圆曲线的世界里,定义了一种奇怪的加法法则:任意取椭圆曲线上的两点P、Q 画一条直线 离散椭圆曲线 上面的讲解中,我们看到椭圆曲线是条连续的曲线,之所以连续,是因为我们是在实数范围内取值的,也就是说曲线上各个点的横坐标和纵坐标都是实数。 应用于比特币中的椭圆曲线 那么应用到区块链中的椭圆曲线到底是个什么样子呢? 使用椭圆曲线生成公钥 说了一大堆椭圆曲线的基本原理,那么它到底是怎么应用到比特币中去的呢? 其实,椭圆曲线在比特币中扮演的角色说起来也很简单,就是用来生成公钥。

    3.1K21发布于 2018-07-23
  • 来自专栏计算机工具

    渐近线讲解+例题 ,椭圆,双曲线,抛物线,三角函数椭圆,双曲线,抛物线,三角函数

    渐近线讲解+例题 三种渐近线意义,主要就是利用极限思维,里面重要的红笔标注; 经典例题: 椭圆、双曲线、抛物线的标准方程与几何性质 http://dy.163.com/v2/article/detail /DGSH79TK0521JEM8.html 椭圆曲线 抛物线 定义 1.到两定点F1,F2的距离之和为定值2a(2a>|F1F2|)的点的轨迹 1.到两定点F1,F2的距离之差的绝对值为定值 ,yÎR x³0 中心 原点O(0,0) 原点O(0,0) 顶点 (a,0), (─a,0), (0,b) , (0,─b) (a,0), (─a,0) (0,0) 对称轴 x轴,y轴;椭圆 、双曲线、抛物线的标准方程与几何性质 椭圆曲线抛物线定义1.到两定点F1,F2的距离之和为定值2a(2a>|F1F2|)的点的轨迹1.到两定点F1,F2的距离之差的绝对值为定值2a (c,0), F2(─c,0)F1(c,0), F2(─c,0)焦距2c (c=)2c (c=) 离心率e=1准线x=x=渐近线 y=±x 焦半径通径 2p焦参数 P 长轴长2a,短轴长2b 椭圆

    54010编辑于 2024-12-16
  • 来自专栏csdn文章同步

    椭圆曲线加密算法与聚合签名原理解析

    文章目录 1 椭圆曲线 2 椭圆曲线加解密算法 3 椭圆曲线签名算法 3.1 签名过程 3.2 验签过程 4 聚合签名 5 密钥消除攻击 椭圆曲线加密算法(Elliptic Curve Cryptography ,ECC)是基于椭圆曲线数学原理实现的一种非对称加密算法。 1 椭圆曲线 椭圆曲线可用以下方程式表示: y2 = ax3 + bx2 + cx + d 定义椭圆上两点相加A+B如下: 过A、B两点的直线,与曲线的交点,关于x轴对称的点为A+B。 3 椭圆曲线签名算法 椭圆曲线签名算法有很多种,这里以Schnorr签名为例。 3.1 签名过程 签名其实就是为了向验证方保证这是我发送的消息,但又不能暴露私钥。 这同样利用了椭圆曲线的性质,已知rG很难计算出r。

    2.2K30编辑于 2022-06-23
领券