椭圆曲线复习
上学期选了个椭圆曲线课,但是太过匆忙、许多东西没学懂
打算找时间自己对着教材看看。把自己毛估估整的笔记发到这里备份一下
Chapter 2
2.8 Char 2 / Char 3
Char 2 下,Ellip curve 两种形式:
- \(y^2+xy+x^3+a_2 x^2 + a_6=0, a_6 \ne 0\)
- \(y^2+a_3y+x^3+a_4x+a_6=0, a_3 \ne 0\)
Char 3 下,无法消去 \(x^2\) 项。
2.9 Endomorphisms
Thm 2.22:非零的endomorphism都surjective。
\(dx/y\) 是 translation invariant。 并且是唯一的(up to scalar)。
Lemma 2.26 \(\alpha_1, \alpha_2, \alpha_3\) endormophisms, such that \(\alpha_1 + \alpha_2 = \alpha_3\). Let \(\alpha_i = (P_i(x), yQ_i(x))\). 如果存在 \(c_i = P_i'/Q_i\),则 \(c_1+c_2=c_3\)。
(事实上一定存在\(c_i\):因为 \(dx/dy \circ \alpha\) 是平移不变的)
Proof: 链式法则(待完善)
Cor 2.28 对于 endomorphism \(nP\),\(n(x, y) = (R(x), yS(x))\), 有 \(R'/S = n\)。
Prop 2.29 \(r \phi_q+s\) seperable iff $p\nmid s $。
2.11 ellip curves mod n (n composite)
\((u, v, w)\) primitive in ring \(R\) : 1 is their \(R\) - linear combination
等价类:\((u, v, w) \sim (ku, kv, kw)\)
一些假设:
-
\(2 \in R^*\)(可逆);
-
一个矩阵满足:所有元素 primitive,每个 2 * 2 余子式都是 0 则这个矩阵的行能组合出 primitive tuple
-
对于ellip curve,\(4A^3+27B^2 \in R^*\)
(小技巧:\(Z\) 上 2 没有逆元:可以考虑 \(a / 2^b\) 这个环)
加法:三个多项式公式的线性组合
Cor 2.32:对于 \((n_1, n_2) = 1\), 均为奇数, \(E(\Z_{n_1*n2}) \cong E(\Z_{n_1}) \oplus E(\Z_{n_2})\)(因为primitive tuples一一对应;公式在模意义下也对)
Cor 2.33:对于 \(\Q\) 下的 EC,如果\((n, 4A^3+27B^2)=1\),则模 \(n\) 操作 是homomorphism。(因为加法公式在模意义下也对)
(具体而言:将 \(E(\Q)\) 写成 primitive tuple \((x:y:z) \in P^2(\Z)\),每位模 \(n\)。)
Cor 2.34:对于 \(R, I\), \((4A^3+27B^2)r-1 \in I\),有类似的\(E(R) \to E(R/I)\) reduce。
Chapter 3
3.1 Torsion points
\(E[n] := {P \in E(\overline K), nP = \infin}\)
Theo 3.2: (\(p = char F\))
- 当 \(p \nmid n, E[n] \cong \Z(n) \oplus \Z(n)\)
- 否则 \(E[n] \cong \Z(n) \oplus \Z(n')\) 或 \(E[n] \cong \Z(n') \oplus \Z(n')\),其中 \(n = p^r n'\)。
如果\(E[p] = \{0\}\),称 \(p\) supersingular. 否则 \(p\) ordinary.
考虑\(p \nmid n, E[n] \cong \Z(n) \oplus \Z(n)\)的case。对于\(E(\overline K) \to E(\overline K)\) 的homomorphism,在\(E[n]\)上对应一个 2 x 2矩阵。
3.2 Division Polynomial
Definitions:
\(\psi_0 = 0, \psi_1 = 1, \psi_2=2y, \psi_3 = 3x^4+6Ax^2+12Bx-A^2, \psi_4 = 4y(x^6+5Ax^4+20Bx^3-5A^2x^2-4ABx-8B^2-A^3)\)
\(\psi_{2m+1}=\psi_{m+2}\psi_m^3-\psi_{m-1}\psi^3_{m+1} (m\ge 2)\)
\(\psi_{2m} = (2y)^{-1}\psi_m(\psi_{m+2}\psi_{m-1}^2-\psi_{m-2}\psi_{m+1}^2) (m\ge 3)\)
\(\psi_n\) : division polynomials.
\(\in \Z[x, y^2, A, B]\) when \(n\) odd;
\(\in 2y\Z[x, y^2, A, B]\) when \(n\) even.
\(\phi_m=x\psi_m^2-\psi_{m+1}\psi_{m-1}\)
\(\omega_m=(4y)^{-1}(\psi_{m+2}\psi_{m-1}^2-\psi_{m-2}\psi_{m+1}^2)\)
\(\phi_n \in \Z[x, y^2, A, B]\)
\(\omega_n \in \Z[x, y^2, A, B]\) when \(n\) Even,
\(\in y\Z[x, y^2, A, B]\) when \(n\) odd.
(证明额外的 \(2\) 因子:可以对 \(\psi_n\) 模 \(2\) 意义下的系数归纳。)
Lemma 3.5: \(\phi_n(x) = x^{n^2} + \cdots\)
\(\psi_n^2(x) = n^2x^{n^2-1}+\cdots\)
Thm 3.6: (\(char \ne 2\))
\(P=(x, y)\) on the curve \(y^2=x^3+Ax+B\)
Then \(nP = (\phi_n(x)/\psi_n^2(x), \omega_n(x, y)/\psi_n^3(x, y))\)
Cor 3.7: endomorphism nP has degree \(n^2\).
Proof: 只需证互素。考虑最小的不互素对,如果 \(n\) 是偶数,考虑先计算 \((n/2)P\) 再翻倍,可以导出 \(n/2\) 也不互素(对比首项系数/次数知和\(2(n/2)P\) 分子分母对应相等)。如果 \(n\) 是奇数,可以推出 \(\psi_{n+\delta} (\delta = \pm 1)\) 和 \(\psi_n\) 不互素。于是 \(\phi_{n+\delta}\) 和 \(\psi_{n+\delta}\) 不互素,此时下标变为偶数,可以除 \(2\) 。
因此当\((n, p) = 1\),我们有 \(\#E[n]=n^2\)。此时考察 \(E[n]\) 的结构,因为对于任何 \(E[l]\) 大小都是 \(l^2\),所以至多分成两个循环群直积。又因为每个循环群大小都是 \(n\) 的因子,因此 \(E[n] \cong \Z(n) \oplus \Z(n)\)。
当 \(p\mid n\) 时:我们先证明 \(E[p^k] \cong \Z(p^k)\) 或 trivial。注意到
原文地址:https://www.cnblogs.com/cauchysheep/p/15161205.html
- <script>元素在XHTML中的用法
- 有趣的算法(四)——一致性Hash算法模拟redis集群
- ASP.NET5 中静态文件的各种使用方式服务端的静态文件开启目录浏览呈现默认文件使用UseFileServer方法文件类型基于IIS的考虑最佳实践
- 使用ASP.NET Identity以手机短信实现双重验证创建一个ASP.NET 5项目运行应用程序使用SMS短信进行双重验证开启双重验证使用双重验证登陆应用程序禁用账户来防止暴力破解
- ASP.NET 5 之 错误诊断和它的中间件们配置错误处理页面在Development阶段使用错误页面运行时信息页面欢迎页面
- 有趣的算法(五) ——Dijkstra双栈四则运算
- CSS深入理解学习笔记之float
- 轻松初探 Python 篇(五)—dict 和 set 知识汇总
- 全面解析C#中的异步编程为什么要异步过去糟糕的体验一个新的方式Tasks基于任务的异步编程模型Async和await时间处理程序和无返回值的异步方法结束语
- CSS深入理解学习笔记之absolute
- 5个经典的JavaScript面试题
- 轻松初探 Python 篇(四)—list tuple range 知识汇总
- CSS深入理解学习笔记之overflow
- Python爬虫实践——简单爬取我的博客
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 深度学习中7种最优化算法的可视化与理解
- 【基础详解】手磕实现 CNN卷积神经网络!
- 直播间源码android音视频开发
- 批量转化字符编码
- JAR项目部署
- java基础:枚举(你木有见过的船新版本)
- elasticSearch学习(九)
- Linux工具---iptraf 实时地监视网卡流量
- Linux工具---ipcalc简单的IP地址计算器
- 七、玩转Git三剑客-使用GitHub进行团队协作
- 关于mysql的join
- 微信公众号接入智能聊天机器人
- SAP UI5 Diagnostics工具里一个使用面向切片编程(AOP)的一个例子
- SAP CDS view自学教程之九:cube view和query view的实现原理
- 一点多发FTP客户端设计