ECC 学习笔记

news/2025/10/26 21:12:20/文章来源:https://www.cnblogs.com/Gapple/p/19166900

0. 前置知识

给定集合 \(S\) 和运算 \(\circ\),若 \(\circ\)\(S\) 封闭,且有单位元(\(a \circ e = a\))、逆元(\(a \circ a^{-1} = e\))、结合律、交换律,则称 \(S\)\(\circ\) 构成 Abelian 群。

一个大人遇到了一个小孩。

大人:你知道 \(7 + 5\) 等于多少吗?

小孩:不知道。

大人:那你知道 \(5 + 7\) 等于多少吗?

小孩:不知道。

大人:那你知道什么?

小孩:我知道 \(7 + 5 = 5 + 7\),因为 \(\Z\)\(+\) 构成 Abelian 群。

1. 椭圆曲线(EC)

1.1 定义

我们定义满足 Weierstrass 方程(\(y^2 = x^3 + ax + b\))的点集为椭圆曲线。下面是 \(a = -2, b = 5\) 时的图像。

img

容易发现图像关于 \(x\) 轴对称。

计算机计算浮点数的效率不高,所以计算时一般使用同余形式:

\[y^2 \equiv x^3 + ax + b \pmod p \]

其中 \(p\) 是一个大质数。

一般会额外定义一个无穷远点 \(\mathcal{O}\),规定 \(\mathcal{O}\) 也属于椭圆曲线。

:此处的无穷远点需要从射影几何的角度去理解,但笔者不会射影几何。早知道之前就学一下了。

1.2 点的加法

现有椭圆曲线 \(E : y^2 = x^3 + ax + b\),对于两点 \(P, Q \in E\) 定义:

  • \(P \neq Q\) 时:设 \(PQ\)\(E\)\(R\)\(P + Q\)\(R\) 关于 \(x\) 轴的对称点。
  • \(P = Q\) 时:作 \(E\)\(P\) 上的切线 \(l\),设 \(l\)\(E\)\(R\)\(P + Q\)\(R\) 关于 \(x\) 轴的对称点。
  • \(P\)\(Q\) 关于 \(x\) 轴对称时:\(P + Q = \mathcal{O}\)\(Q = -P\)
  • \(P + \mathcal{O} = \mathcal{O} + P = P\)

容易发现,\(P + Q \in E\),且 \(+\) 满足交换律。\((E, +)\) 构成 Abelian 群:

  • 单位元:\(\mathcal{O}\)
  • 逆元:\(P\) 的逆元为 \(P\) 关于 \(x\) 轴的对称点。
  • 结合律:证明需要射影几何知识,或暴算。
  • 交换律:显然满足。

我们来进行一些计算。设 \(P = (x_1, y_1), Q = (x_2, y_2), R = P + Q = (x_3, y_3)\),我们考虑求出 \(x_3, y_3\)。下设 \(P \neq \mathcal{O}, Q \neq \mathcal{O}, R \neq \mathcal{O}\)

经过计算可知,设:

\[\lambda = \begin{cases}\dfrac{y_2 - y_1}{x_2 - x_1}, &P \neq Q \\\dfrac{3x_1^2 + a}{2y_1} &P = Q \end{cases} \]

则:

\[\begin{aligned}x_3 &= \lambda^2 - x_1 - x_2 \\y_3 &= \lambda (x_1 - x_3) - y_1 \end{aligned} \]

如果你考虑了可行性,会发现 \(P = Q\) 时切线可能不唯一,我们要避免这种情况的发生。那么考虑求出这种情况的充要条件。

从特殊到一般。发现切线不唯一有至少两种情况:尖点或相交。

img

img

图中 \(F\)\(z = 0\) 的交线为椭圆曲线。猜猜为什么要这样画图。

以尖点的情况举例,我们考虑 \(\dfrac{\partial F}{\partial x}\)\(\dfrac{\partial F}{\partial y}\)

img

img

猜猜 \(a, b\) 的值。

观察到尖点满足 \(F = \dfrac{\partial F}{\partial x} = \dfrac{\partial F}{\partial y} = 0\)。可以证明,这是充要条件。但我不会证。

算出来 \(\dfrac{\partial F}{\partial x}\)\(\dfrac{\partial F}{\partial y}\)

\[\begin{aligned}\dfrac{\partial F}{\partial x} &= 3x^2 + a \\\dfrac{\partial F}{\partial y} &= 2y \end{aligned} \]

\(x = \dfrac{\sqrt{-3a}}{3}, y = 0\)。代入 \(E\)

\[0 = \left( \dfrac{\sqrt{-3a}}{3} \right)^3 + a \cdot \dfrac{\sqrt{-3a}}{3} + b = \dfrac{2a}{9} \sqrt{-3a} + b \]

两边平方得:

\[b^2 = -\dfrac{4a^3}{27} \]

即:

\[\begin{align}4a^3 + 27b^2 = 0 \end{align} \]

所以这种情况发生的充要条件就是 \((1)\) 式。

1.3 点的数乘

现有椭圆曲线 \(E : y^2 = x^3 + ax + b\) 与点 \(P\),定义 \(kP = \underbrace{P + P + \cdots + P}_k\),其中 \(k \in \N\)

如何快速计算 \(kP\)?考虑快速幂,因为:

\[kP = \begin{cases}\left \lfloor \dfrac{k}{2} \right \rfloor P + \left \lfloor \dfrac{k}{2} \right \rfloor P, &2 \mid k \\\left \lfloor \dfrac{k}{2} \right \rfloor P + \left \lfloor \dfrac{k}{2} \right \rfloor P + P &2 \nmid k \end{cases} \]

所以可以 \(O(\log k)\) 递推计算。

发现当 \(kP = \mathcal{O}\) 时比较特殊。对于点 \(P\),定义 \(P\)为最小的正整数 \(k\) 满足 \(kP = \mathcal{O}\)

2. 椭圆曲线离散对数问题(ECDLP)

题目:给定点 \(P, Q\),考虑求解 \(k\) 满足 \(Q = kP\)

因为每次加法 \(x\) 坐标的指数都会乘 \(2\),所以这实际上是在求解离散对数问题。

不幸的是,离散对数问题仍不存在多项式时间的算法。常用的算法为 BSGS 算法,但时间复杂度为 \(O \left( \sqrt{m} \right)\),其中 \(m\) 为模数。一般情况下 \(m \ge 2^{128}\),所以 BSGS 算法运行时间是不现实的。基于这一点,人们设计出了许多加密算法,如 RSA。

3. Diffie-Hellman 算法

用途

一般被用于密钥协商。

流程

  1. Alice 和 Bob 使用同一个椭圆曲线 \(E\) 和基点 \(G\)(阶为大质数 \(q\))。
  2. Alice 随机生成私钥 \(d_A\),计算公钥 \(Q_A = d_A G\)。Bob 随机生成私钥 \(d_B\),计算公钥 \(Q_B = d_B G\)
  3. Alice 向 Bob 发送 \(Q_A\),Bob 向 Alice 发送 \(Q_B\)
  4. Alice 计算出共同密钥 \(S = d_A Q_B\),Bob 计算出共同密钥 \(S = d_B Q_A\)

注意到 \(d_A Q_B = d_B Q_A = d_A d_B G\),所以两人获得了同一个密钥。

4. ElGamal 算法

用途

用于加密 / 解密消息。

流程

  1. Alice 和 Bob 使用同一个椭圆曲线 \(E\) 和基点 \(G\)(阶为大质数 \(q\))。
  2. Bob 随机生成私钥 \(d \in (1, q)\),并计算公钥 \(Q = dG\)

加密

假设 Alice 要发送消息 \(M\) 给 Bob。

  1. \(M\) 变换到 \(E\) 上,设变换后为 \(M'\)
  2. 选择随机整数 \(k \in (1, q)\)
  3. 计算 \((C_1, C_2) = (kG, M' + kQ)\)
  4. 发送 \((C_1, C_2)\) 给 Bob。

解密

  1. 计算 \(M' = C_2 - kQ = C_2 - kdG = C_2 - dC_1\)
  2. 通过 \(M'\) 变换回 \(M\)

攻击方法

发现对于不同的 \(k\),计算 \(kQ\)(或其他数乘)的时间是不同的,所以理论上可以测量计算 \(kQ\) 的时间(或其他信息)来获知 \(k\)。CTF 对于上述攻击方法出了一道题,当然我是不会做的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/947056.shtml

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

相关文章

[TOOL] Node.js: JavaScript运行环境安装

[TOOL] Node.js: JavaScript运行环境安装$(".postTitle2").removeClass("postTitle2").addClass("singleposttitle");官方文档:https://nodejs.org/en/docs/ Grok生成(2025年10月26日…

转化漏斗(随笔)

背景介绍 该项目是一个用于广告平台投流的WEB项目,用户路径相对清晰,对于转化漏斗来说是一个很好的入门实战项目。备注:本文中的数据已经经过修改和混淆 数据分析目标 核心指标:新增ROI>1 数据指标拆解 用户的行为…

20231326《密码系统设计》第五周预习报告

20231326《密码系统设计》第五周预习报告 目录20231326《密码系统设计》第五周预习报告学习内容《Windows C/C++加密解密实战》第 9 章AI对学习内容的总结1. CSP(Cryptographic Service Provider)2. CryptoAPI 简明概…

2025年实木家具厂家权威推荐榜:原木/全实木/北美黑胡桃/樱桃木/榫卯工艺/高端定制/全屋整装,烘干/白胚/木蜡油保养工艺深度解析

2025年实木家具厂家权威推荐榜:原木/全实木/北美黑胡桃/樱桃木/榫卯工艺/高端定制/全屋整装,烘干/白胚/木蜡油保养工艺深度解析 实木家具作为家居领域的高端品类,其价值不仅体现在材质本身,更在于工艺传承与技术创…

2025年摘星搜荐怎么样:全面评测摘星AI的功能与优势

文章摘要 本文深入分析2025年摘星搜荐(摘星AI)的核心功能、优势、用户评价及未来趋势,帮助用户了解这款人工智能工具的性价比和市场需求。基于真实数据和用户反馈,突出摘星AI在AI领域的先进性和易用性,为决策者提…

2025年工业清洗剂厂家推荐排行榜,水洗/水基/碳氢/铝材/超声波/金属/真空/除油/防锈清洗剂源头厂家精选

2025年工业清洗剂厂家推荐排行榜,水洗/水基/碳氢/铝材/超声波/金属/真空/除油/防锈清洗剂源头厂家精选 随着制造业向高质量、绿色化方向转型升级,工业清洗剂作为生产过程中不可或缺的辅助材料,其技术水平和环保性能…

GoroSort

水讨论区水到这么一道题P13364 一道得出结论并不困难的 Ad-hoc,不过证明还挺困难的 题意:给定一个排列,每次可以选择任意一个子集随机重排,求最优方案下,将排列变为有序的期望操作次数。 充分发扬人类智慧,每次选…

Windows11文件夹右键-删除多余选项-加快打开速度

前言全局说明右键上常用的快捷键很方便,但是有些软件随意添加的右键选项,导致右键菜单变长后,加载还慢,用着不方便。这里就手动删除修改注册表,可能会导致系统无法启动或其他问题,请慎重操作 !!! 修改注册表,…

2025年店铺装修设计施工一体化服务推荐榜:覆盖服装店/餐厅/商场/健身房/美容院等全行业专业装修公司精选

2025年店铺装修设计施工一体化服务推荐榜:覆盖服装店/餐厅/商场/健身房/美容院等全行业专业装修公司精选 在商业空间竞争日益激烈的今天,店铺装修已不再是简单的美化工程,而是直接影响品牌形象、顾客体验和经营效益…

于听讲中积淀,在实践中成长

读罢三篇关于学习方法的文章,我对“如何有效提升自我”有了清晰认知:认真听讲是能力筑基的起点,“做中学”的刻意实践是能力进阶的关键,二者结合方能实现高效成长。 Scalers在文中打破了我对“听讲”的认知误区——…

应用安全 --- xx_vm 插件

应用安全 --- xx_vm 插件https://wwzb.lanzouw.com/iACcA39faara

2025 年 10 月系统门窗十大品牌榜单揭晓,技术研发实力与市场口碑深度解读

2025 年 10 月系统门窗十大品牌榜单由中国建筑金属结构协会、全国工商联家具装饰业商会联合发布,本次评选突破传统单一性能评价模式,构建 “技术研发实力 + 市场口碑” 双维度综合评估体系。技术维度以《铝合金门窗》…

2025年TPU厂家权威推荐榜单:TPU加纤,TPU改性生产,专业定制与技术创新实力解析

2025年TPU厂家权威推荐榜单:TPU加纤,TPU改性生产,专业定制与技术创新实力解析 热塑性聚氨酯弹性体(TPU)作为高分子材料领域的重要分支,近年来在工业应用中的需求持续增长。随着汽车轻量化、智能穿戴设备、医疗器…

医疗智能体的工艺演进与路径分析:从多模态大模型到高阶综合智能体

医疗智能体的工艺演进与路径分析:从多模态大模型到高阶综合智能体2025-10-26 20:47 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !i…

2025 年 10 月系统门窗十大品牌榜单揭晓,技术核心实力与市场口碑深度解读

2025 年 10 月系统门窗十大品牌榜单由中国建筑金属结构协会、全国工商联家具装饰业商会联合发布,本次评选突破传统单一性能评价框架,构建 “技术核心实力 + 市场口碑” 双维度综合评估体系。技术维度以《铝合金门窗》…

【安卓】

解决办法: 1、创建完客户端client之后,设置一下setIoServiceFactoryFactory, 设置时,填入自定义的setExecutorServiceFactory,代码如下。 2、自定义线程工厂,继承SshdThreadFactory,拿到线程对象后,设置一下se…

2025年中央空调主机保养/维修/清洗/维保/维护公司推荐排行榜,水处理维保,物业公司/医院/写字楼/商场中央空调主机维保厂家精选

2025年中央空调主机保养/维修/清洗/维保/维护公司推荐排行榜,水处理维保,物业公司/医院/写字楼/商场中央空调主机维保厂家精选 行业背景与发展趋势 随着城市化进程加速和商业建筑规模不断扩大,中央空调系统已成为现…

变盲从为探索:专注听课,深耕实干

在阅读《大学生为何必须重视课堂专注?》及后续两篇关于“学用结合”的分享后,我如醍醐灌顶,深刻领悟到真正的成长,绝非被动地接受知识灌输,而是一场需要主动发力的修行——既需要高效的课堂输入,也需要扎实的实践…

切空间、切丛与收缩算子

切空间、切丛与收缩算子 切空间 一般流形上的切空间的定义相对比较抽象,流形优化一般只考虑有限维线性空间上的流形,此时的切空间定义简单一些。一般的情况可以类似的推广,这里不去讨论。 定义 设 \(\mathcal{M}\) …