椭圆曲线加法运算

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.rhkb.cn/news/391309.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 并发编程:一文了解 synchronized 的使用

大家好,我是栗筝i,这篇文章是我的 “栗筝i 的 Java 技术栈” 专栏的第 027 篇文章,在 “栗筝i 的 Java 技术栈” 这个专栏中我会持续为大家更新 Java 技术相关全套技术栈内容。专栏的主要目标是已经有一定 Java 开发经验,并希望进…

keil编译报错error:#8:missing closing quote 处理

MDK5采用UTF-8,提示很多个这样的error:#8:missing closing quote 的错误信息。提供以下几种方式解决: 在KEIL中Options for Target Flash -> C/C -> Misc Controls添加“--localeenglish”。

49 序列解包的多种形式和用法

序列解包(Sequence Unpacking)是 Python 中非常重要和常用的一个功能,可以使用非常简洁的形式完成复杂的功能,提高了代码的可读性,减少了程序员的代码输入量。 x, y, z 1, 2, 3 # 多个变量同时赋值 v_tuple (False…

【课程系列07】某乎AI大模型全栈工程师-第7期

网盘链接 链接:百度网盘 请输入提取码 --来自百度网盘超级会员v6的分享 课程目标 学习完毕咱们可以收获什么种能力: 1、传统前端 后端 数据分析 产品 绘图 算法工程等工作,一个人都可以实现,实现超级个体的能力 2、可以解决…

【C语言】Top K问题【建小堆】

前言 TopK问题:从n个数中,找出最大(或最小)的前k个数。 在我们生活中,经常会遇到TopK问题 比如外卖的必吃榜;成单的前K名;各种数据的最值筛选 问题分析 显然想开出40G的空间是不现实的&#…

基于STM32的温湿度监控系统

目录 引言环境准备工作 硬件准备软件安装与配置系统设计 系统架构硬件连接代码实现 初始化代码主循环代码应用场景 家居环境监控工业环境监控常见问题及解决方案 常见问题解决方案结论 1. 引言 在智能家居和工业自动化中,温湿度监控系统是一个非常重要的组成部分…

Java企业微信服务商代开发获取AccessToken示例

这里主要针对的是企业微信服务商代开发模式 文档地址 可以看到里面大致有三种token,一个是服务商的token,一个是企业授权token,还有一个是应用的token 这里面主要有下面几个参数 首先是服务商的 corpid 和 provider_secret ,这个可…

使用GCC编译Notepad++的插件

Notepad的本体1是支持使用MSVC和GCC编译的2,但是Notepad插件的官方文档3里却只给出了MSVC的编译指南4。 网上也没有找到相关的讨论,所以我尝试在 Windows 上使用 MinGW,基于 GCC-8.1.0 的 posix-sjlj 线程版本5,研究一下怎么编译…

快手商业化 Java后端 二面|面试官很nice

面试总结:没有那种纯八股问题,都是偏向于情景题。看到面试官最后出了一道多叉树的题目,我以为是想直接刷人,但还是尽力去尝试了一下,最后也没做出来,面试官很nice,在答不上来的时候会引导我去思…

JVM—垃圾收集算法和HotSpot算法实现细节

参考资料:深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)周志明 1、分代回收策略 分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取…

python实现小游戏——植物大战僵尸(魔改版本)

制作一款DIY的‘植物大战僵尸’游戏引起了很多人的兴趣。在这里,我将分享一个使用Python语言在PyCharm环境中开发的初始状态版本。这个版本主要应用了pygame库来完成,是一个充满创意和趣味的魔改版本。 文章目录 前言一、开发环境准备二、代码1.main方法…

Linux小组件:gcc

gcc 是C语言的编译器,在Linux下我们也用这个编译C语言 安装gcc sudo apt install build-essential 查看gcc版本信息 gcc --version 有时候会出现代码编译不过去的问题,通常可能是gcc的编译标准太低,不支持某些写法 比如在很多旧的编译标…

SQL注入实例(sqli-labs/less-4)

0、初始页面 1、确定闭合符号 前两条判断是否为数值型注入,后两条判断字符型注入的闭合符号 ?id1 and 11 ?id1 and 12 ?id1" ?id1") 2、确定表的列数 ?id1") order by 3 -- 3、确定回显位置 ?id-1") union select 1,2,3 -- 4、爆库…

【kali靶机之serial】--反序列化漏洞实操

kali靶机配置 【我图片里没有截图的默认配置即可】需要改的地方图片里面都有。 使用kali扫描网关的主机。 扫到一个开放了80端口HTTP协议的主机ip 访问80端口 会看到一个文本页面,翻译一下看是什么意思。。 F12查看cookie,是一个base64编码了的东西 使…

新手小白学习PCB设计,立创EDA专业版

本教程有b站某UP主的视频观后感 视频链接:http://【【教程】零基础入门PCB设计-国一学长带你学立创EDA专业版 全程保姆级教学 中文字幕(持续更新中)】https://www.bilibili.com/video/BV1At421h7Ui?vd_sourcefedb10d2d09f5750366f83c1e0d4a…

指标一致化处理

什么是数据指标 数据指标有别于传统意义上的统计指标,它是通过对数据进行分析得到的一个汇总结果,是将业务单元精分和量化后的度量值,使得业务目标可描述、可度量、可拆解。 数据指标有哪些类型 极大型:期望取值越大越好; 极小…

Memcached未授权访问漏洞

Memcached 是一套常用的 key-value 分布式高速缓存系统,由于 Memcached 的安全设计缺陷没有权限控制模块,所以对公网开放的Memcache服务很容易被攻击者扫描发现,攻击者无需认证通过命令交互可直接读取 Memcached中的敏感信息。 app"Mem…

AI电销机器人的效果与作用

ai电销机器人的工作效率是非常高的,电销机器人一天的外呼量至少是3000左右,工作效率是人工的十倍还多,并且电销机器人没有负面情绪,一直都可以保持高昂的工作热情,非常简单方便。 并且ai电销机器人是越用越聪明的&…

英国AI大学排名

计算机学科英国Top10 “计算机科学与信息系统”学科除了最受关注的“计算机科学”专业,还包括了“人工智能”“软件工程”“计算机金融”等众多分支专业。 1.帝国理工学院 Imperial College London 单以计算机专业本科来讲,仅Computing这个专业&#x…

来点八股文(五) 分布式和一致性

Raft raft 会进入脑裂状态吗?描述下场景,怎么解决? 不会。raft通过选举安全性解决了这个问题: 一个任期内,follower 只会投票一次票,且先来先得;Candidate 存储的日志至少要和 follower 一样新…