当前位置: 首页 > news >正文

椭圆曲线加法运算

1. 定义

椭圆曲线 (Elliptic Curve) 不是函数,而是一条平面曲线,其方程是定义如下:

y 2 = x 3 + a x + b y^2=x^3+ax+b y2=x3+ax+b

其中,判别式 Δ = − 16 ( 4 a 3 + 27 b 2 ) ≠ 0 \Delta =-16(4a^3+27b^2)\neq 0 Δ=16(4a3+27b2)=0。判别式表示该方程需要满足无奇点的约束条件。无奇点在几何上意味着曲线没有尖点,自相交点,或孤立点。

举例而言,当 ( a , b ) = ( 0 , 0 ) (a,b)=(0,0) (a,b)=(0,0)时, Δ = 0 \Delta=0 Δ=0意味着曲线存在奇点,不满足无奇点的约束条件,此时曲线 y 2 = x 3 y^2=x^3 y2=x3不是椭圆曲线。

[图片参考自:https://www.desmos.com/calculator/fttnxuzryp?lang=zh-TW]


2. 椭圆曲线加法运算

2.1. 问题描述

给定椭圆曲线 y 2 = x 3 + 8 y^2=x^3+8 y2=x3+8,点 P = ( 0 , 2 2 ) P=(0, 2\sqrt{2}) P=(0,22 ) Q = ( − 2 , 0 ) Q=(-2, 0) Q=(2,0),(注意,这里点P,Q是实数集上的例子,仅仅作示范使用,真实在有限域中,点P,Q的值均为整数),求椭圆曲线 y 2 = x 3 + 8 y^2=x^3+8 y2=x3+8中, P + Q P+Q P+Q的值?

2.2. 解决方案

请添加图片描述
步骤一:求直线PQ的方程式

直线PQ的斜率: y p − y q x p − x q = 2 2 − 0 0 − − 2 = 2 \frac{y_p-y_q}{x_p-x_q}=\frac{2\sqrt{2}-0}{0--2}=\sqrt{2} xpxqypyq=0−−222 0=2

代入Q点,得到直线PQ的方程式: y = 2 + 2 2 y=\sqrt{2}+2\sqrt{2} y=2 +22

步骤二:求直线PQ和椭圆曲线的第三个交点,取第三个交点的关于Y的对称点

并列直线PQ和椭圆曲线的方程 { y 2 = x 3 + 8 y = 2 x + 2 2 \begin{cases} y^2=x^3+8& \\ y=\sqrt{2}x+2\sqrt{2}& \end{cases} {y2=x3+8y=2 x+22

得到第三个交点 R ′ = ( 4 , 6 2 ) R'=(4,6\sqrt{2}) R=(4,62 )

取第三个交点的关于Y的对称点 R = ( 4 , − 6 2 ) R=(4,-6\sqrt{2}) R=(4,62 )

因此,椭圆曲线 y 2 = x 3 + 8 y^2=x^3+8 y2=x3+8中, P + Q = R = ( 4 , − 6 2 ) P+Q=R=(4,-6\sqrt{2}) P+Q=R=(4,62 )


参考资料

[1. 椭圆曲线] https://www.ruanx.net/elliptic-curve/
[2. 椭圆曲线判别式] https://zh.wikipedia.org/zh-hk/%E6%A4%AD%E5%9C%86%E6%9B%B2%E7%BA%BF

http://www.lryc.cn/news/414839.html

相关文章:

  • (STM32笔记)九、RCC时钟树与时钟 第一部分
  • fastjson-流程分析
  • Linux 命令安装
  • 清华和字节联合推出的视频理解大模型video-SALMONN(ICML 2024)
  • 从数据爬取到可视化展示:Flask框架与ECharts深度解析
  • 【jvm】类加载分几步
  • 使用Apache http client发送json数据(demo)
  • 读零信任网络:在不可信网络中构建安全系统07设备信任
  • 【Java算法专场】前缀和(下)
  • 音视频相关文章总目录
  • 7月31日MySQL学习笔记
  • 什么是容器查询?分享 1 段优质 CSS 代码片段!
  • 【linux深入剖析】初识线程---线程概念
  • 【MySQL】索引——索引的引入、认识磁盘、磁盘的组成、扇区、磁盘访问、磁盘和MySQL交互、索引的概念
  • python部署flask项目
  • 数据建模标准-基于事实建模
  • 量产部落SM2258XT开卡软件,SM2258XT主控128G SSD固态卡死修复
  • 《零散知识点 · 自定义 HandleMapping》
  • 谈谈我对微服务的理解2.0
  • ECCV 2024前沿科技速递:GLARE-基于生成潜在特征的码本检索点亮低光世界,低光环境也能拍出明亮大片!
  • 前端低代码必备:FrontendBlocks 4.0版本重磅发布,助力Uniapp-X原生APP开发
  • 如何将PyCharm 中使用 PDM 管理的 Django 项目迁移到 VS Code 并确保一切正常工作?
  • 认识Android Handler
  • 如何在 Ubuntu VPS 上安装 Cassandra 并运行单节点集群
  • Golang | Leetcode Golang题解之第316题去除重复字母
  • pxe的实验
  • 复杂智能软件系统开发
  • kickstart自动安装脚本
  • linux运维一天一个shell命令之grep详解
  • COMSOL金属氢化物-放氢过程