SlideShare a Scribd company logo
1 of 59
Download to read offline
楕円曲線入門
トーラスと楕円曲線のつながり
数学カフェ 2016/2/28
光成滋生
• 楕円曲線暗号の原理を知る(前半30分ほど)
• 暗号の話はここで終わり
• 楕円曲線には様々な見方がある
• トーラス𝑇
• 𝑦2
= 𝑥3
+ 𝑎𝑥 + 𝑏の解集合𝐸
• 二重周期関数
• 1変数代数関数体
• 1次元アーベル多様体
• ...
• 今回は特に𝑇と𝐸の関係性を紹介する(残り)
概要と目標
2/59
• 『クラウドを支えるこれからの暗号技術』
• 公開鍵暗号の(ほぼ)最先端の応用技術の紹介
• 前方秘匿性, 楕円曲線暗号,
IDベース暗号, 属性ベース暗号, 関数型暗号,
準同型暗号, ゼロ知識証明, etc.
• 比較的がっちり数学の話も入ってます
• 楕円曲線, ℘関数, Weilペアリング, etc.
• https://herumi.github.io/ango/
• 「クラウド時代の暗号化技術論」
• @ITでの暗号の連載記事
• 上記本の内容をかみ砕いて紹介したもの
• http://www.atmarkit.co.jp/ait/series/1990/
自分の宣伝
3/59
• サイボウズ新卒/キャリア採用
• http://cybozu.co.jp/company/job/recruitment/
• 29歳以下の第二新卒、ポスドク採用もあります
• サイボウズ・ラボユース
• https://cybozu-recruit.snar.jp/jobboard/apply.aspx
• 学生の作りたいことをラボのメンバーがサポート
会社の宣伝
4/59
• 導入(暗号入門)
• 有限体
• RSA暗号
• ElGamal暗号
• 中盤(少し暗号 少し数学)
• トーラス
• 楕円ElGamal暗号
• 楕円曲線の式と加法公式
• メイン(数学)
• Riemann-Rochの定理の特殊版
• ℘関数
• トーラスと楕円曲線の関係
目次
5/59
• 剰余環
• RSA暗号
• 有限体
• ElGamal暗号
導入
6/59
• 整数𝑏を整数𝑎(> 0)で割った余り𝑟
• 𝑏 = 𝑞𝑎 + 𝑟, 0 ≤ 𝑟 < 𝑎
• 𝑏 ≡ 𝑟 mod 𝑎と書く
• 面倒なので以下≡は=を使う
• 20を3で割った余りは2
• 20 = 3 ∗ 6 + 2
• −7を3で割った余りは2
• −7 = 3 ∗ −3 + 2
余り
7/59
• 整数全体を整数𝑎 (> 0)で割った余りの集合
• 𝑍 𝑎𝑍と書く
• 𝑍 𝑎と書く人もいる
• 𝑍 𝑎𝑍 = {0, 1, … , 𝑎 − 1}
• 足し算と掛け算は普通に計算した余りを考える
• 𝑎 = 7のとき3 + 5 = 8 = 1, 3 × 5 = 15 = 1
• 整数の直線を[0, 𝑎]で切ってつなげた感じ
剰余環(じょうよかん)
𝑎 = 0
0−𝑎 𝑎 2𝑎
8/59
• 足し算
• 掛け算
𝑍/6𝑍の足し算と掛け算の表
+ 0 1 2 3 4 5
0 0 1 2 3 4 5
1 1 2 3 4 5 0
2 2 3 4 5 0 1
3 3 4 5 0 1 2
4 4 5 0 1 2 3
5 5 0 1 2 3 4
× 0 1 2 3 4 5
0 0 0 0 0 0 0
1 0 1 2 3 4 5
2 0 2 4 0 2 4
3 0 3 0 3 0 3
4 0 4 2 0 4 2
5 0 5 4 3 2 1
9/59
• 6乗したら1になる
• 素数𝑝に対して𝑎 ∈ 𝑍 𝑝𝑍 ∖ {0}について
𝑎 𝑝−1 = 1 mod 𝑝
• フェルマーの小定理
𝑍 7𝑍の巾乗の表
𝒂 𝒃 1 2 3 4 5 6
1 1 1 1 1 1 1
2 2 4 1 2 4 1
3 3 2 6 4 5 1
4 4 2 1 4 2 1
5 5 4 6 2 3 1
6 6 1 6 1 6 1
10/59
• 公開鍵暗号
• 異なる二つの素数𝑝, 𝑞を用意して𝑛 = 𝑝𝑞とする
• 𝑎 = (𝑝 − 1)(𝑞 − 1)として𝑍/𝑎𝑍で𝑒𝑑 = 1となる整数𝑒, 𝑑を選ぶ
• つまりある整数𝑏があって𝑒𝑑 = 𝑏 𝑝 − 1 𝑞 − 1 + 1
• 公開鍵 : 𝑃 𝐾= (𝑛, 𝑒)
• 秘密鍵 : 𝑆 𝐾 = 𝑑
• 暗号化 : 平文𝑚に対して𝐸𝑛𝑐 𝑚 = 𝑚 𝑒 mod 𝑛
• 復号 : 暗号文𝑐に対して𝐷𝑒𝑐 𝑐 = 𝑚 𝑑
mod 𝑛
• 元に戻ることの確認
• 𝐷𝑒𝑐 𝐸𝑛𝑐 𝑚 = 𝑚 𝑒 𝑑 = 𝑚 𝑒𝑑 = 𝑚1+𝑏 𝑝−1 𝑞−1 = 𝑚 mod 𝑛
RSA暗号
11/59
𝒂 𝒃 1 2 3 4 5 6 7 8 9 10 11 12 13 14
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2 2 4 8 1 2 4 8 1 2 4 8 1 2 4
3 3 9 12 6 3 9 12 6 3 9 12 6 3 9
4 4 1 4 1 4 1 4 1 4 1 4 1 4 1
5 5 10 5 10 5 10 5 10 5 10 5 10 5 10
6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
7 7 4 13 1 7 4 13 1 7 4 13 1 7 4
8 8 4 2 1 8 4 2 1 8 4 2 1 8 4
9 9 6 9 6 9 6 9 6 9 6 9 6 9 6
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
11 11 1 11 1 11 1 11 1 11 1 11 1 11 1
12 12 9 3 6 12 9 3 6 12 9 3 6 12 9
13 13 4 7 1 13 4 7 1 13 4 7 1 13 4
14 14 1 14 1 14 1 14 1 14 1 14 1 14 1
𝑍 15𝑍での巾乗の例
 𝑝 = 3, 𝑞 = 5, 𝑝 − 1 𝑞 − 1 = 8
12/59
• RSA暗号はRSA仮定の下で
一方向性選択平文攻撃に対して安全
• 言葉の説明
• RSA仮定
• 𝑛 = 𝑝𝑞, 𝑒, 𝑐 = 𝑚 𝑑 mod 𝑛が与えられたときに
𝑚を求めるのが難しいという仮定(ぇ
• 素因数分解との関係
• 𝑛 = 𝑝𝑞が与えられたときに𝑛を素因数分解できれば破れる
• RSA仮定を解くより素因数分解を解く方が真に難しいか否か
は未解決
RSA暗号の安全性(1/2)
13/59
• 一方向性
• 暗号文から平文を求められない
• CPA(Chosen Plaintext Attack)
• 攻撃者が自分で選んだ平文に対する暗号文を取得できる
• 公開鍵暗号では最低限必要
• 誰もが公開鍵を使って暗号文を作れるから
• RSA暗号は「安全ではない」
• 同じ平文はいつも同じ暗号文になる
• 攻撃者が平文の範囲を予想できているなら危険
• 平文が「はい」か「いいえ」のどちらかと分かっていれば
容易に破れる
• 実際にはRSA-OAEPなどの安全にした方式が使われる
RSA暗号の安全性(2/2)
14/59
• 素数𝑝の剰余環𝑍 𝑝𝑍を有限体𝐹𝑝という
• 𝐹7の掛け算表
• 2 × 4 = 1 →1 2 = 4と考える
• 0以外の元は割り算ができる
• 𝑝が合成数なら割り算できない(掛けてゼロ)ことがある
有限体
× 1 2 3 4 5 6
1 1 2 3 4 5 6
2 2 4 6 1 3 5
3 3 6 2 5 1 4
4 4 1 5 2 6 3
5 5 3 1 6 4 2
6 6 5 4 3 2 1
15/59
• パラメータ設定
• 適切な𝑔と素数𝑝を固定し公開する
• 𝑥を秘密鍵, 𝑦 = 𝑔 𝑥 mod 𝑝を公開鍵とする
• 暗号化
• 平文𝑚に対して乱数𝑟をとり
𝐸𝑛𝑐 𝑚 = 𝑔 𝑟, 𝑚𝑦 𝑟
• 復号
• 暗号文𝑐 = (𝑐1, 𝑐2)に対して
𝐷𝑒𝑐 𝑐 = 𝑐2 𝑐1
𝑥
• 元に戻ることの確認
• 𝐷𝑒𝑐 𝐸𝑛𝑐 𝑚 =
𝑚𝑦 𝑟
𝑔 𝑟 𝑥 =
𝑚𝑔 𝑥𝑟
𝑔 𝑟𝑥 = 𝑚
ElGamal暗号
16/59
• 離散対数問題の困難さの困難さ
• DLP : Discrete Logarithm Problem
• 𝑔, 𝑝が与えられたときに
• 整数の問題なので離散
• 𝑥 = log 𝑔 𝑦の形なので対数
• DLPは難しいと信じられている
ElGamal暗号の安全性
𝑥 𝑦 = 𝑔 𝑥
mod 𝑝
容易
困難
17/59
• ElGamal暗号は暗号文に乱数が入っているので
同じ平文を暗号化しても毎回異なる
• 𝐸𝑛𝑐 𝑚 = 𝑔 𝑟, 𝑚𝑔 𝑟
• 攻撃の設定
• 攻撃者が平文が𝑚1と𝑚2のどちらかと知っているときに
暗号文を見て平文を当てられるか?
• つまり𝐸𝑛𝑐 𝑚 = 𝑔 𝑟, 𝑚𝑔 𝑟 =
?
𝑔 𝑟′
, 𝑚𝑔 𝑟′
• できないとき強秘匿性(INDistinguishability)があるという
• 強秘匿性は一方向性よりずっと強い安全性
• RSA暗号は強秘匿性をもたない
強秘匿性
18/59
• DDH(Dicisional Diffie-Hellman)仮定
• (𝑔, 𝑔 𝑎, 𝑔 𝑏)と𝑔 𝑎𝑏か𝑔 𝑐のどちらかが与えられたときに、
それを当てるのが難しいという仮定
• ElGamal暗号はDDH仮定の下でIND-CPA安全
• ただし暗号文を操作できないという性質(頑強性)は無い
• 𝐸𝑛𝑐 𝑚 = (𝑔 𝑟, 𝑚𝑦 𝑟)→ 𝑔2𝑟, 𝑚2 𝑦2𝑟
• 平文を知らなくても𝐸𝑛𝑐(𝑚2)を作れてしまう
• これはこれでよい性質(準同型性)
• 一般にはより強い攻撃を想定
• 攻撃者が好きなだけ与えられた暗号文以外の平文を教えても
らえる(CCA : Chosen Ciphertext Attack)
• IND-CCA2が最も強い公開鍵暗号の安全性の一つ
DDH仮定
19/59
• トーラス
• 楕円離散対数問題
• 楕円ElGamal暗号
• Weierstrassの定義方程式
• 楕円曲線の加法
楕円曲線暗号
20/59
• 𝐹𝑝は円周の上を回っている感じ
• 球面の上を回っている暗号はあるか?
• 単純にはうまくいかない
• 球面の上に適切な足し算を入れられない
• (アナロジー)Hairy ballの定理
2次元球面上に0にならない連続な接ベクトル場はない
• その点で足し算がうまく定義できない
2次元の世界へ
つむじ・
21/59
• 𝐹𝑝は線分の両端を張り付けて円にした
• 長方形の両端を張り付けたら?
もう少し考える
22/59
• 長方形の両端を張り付けると浮輪の形になる
• これを(複素1次元)トーラスという
トーラス
23/59
• トーラスの上の暗号
• 一歩が𝑃のベクトルで何歩も進む
• 端に来たら反対側から出てくる
楕円曲線暗号
𝑃
𝑂
2𝑃
3𝑃
4𝑃5𝑃 10100 𝑃
4𝑃
24/59
• 𝐹𝑝の離散対数問題の楕円曲線版
• 有限体
• 楕円曲線
• ECDLP(Elliptic Curve DLP)という
楕円離散対数問題
𝑥, 𝑔 𝑦 = 𝑔 𝑥
mod 𝑝
容易
困難
𝑥, 𝑃 𝑄 = 𝑥𝑃
容易
困難
25/59
• パラメータ設定
• 楕円曲線上の点𝑃と秘密の整数𝑥をとり𝑄 = 𝑥𝑃とする
• 秘密鍵 : 𝑥
• 公開鍵 : (𝑃, 𝑄)
• 暗号化
• メッセージ𝑀に対して乱数𝑟を選び
𝐸𝑛𝑐 𝑀 = 𝑟𝑃, 𝑀 + 𝑟𝑄
• 復号
• 暗号文𝑐 = (𝐶1, 𝐶2)に対して
𝐷𝑒𝑐 𝑐 = 𝐶2 − 𝑥𝐶1
• 元に戻ることの確認
• 𝐷𝑒𝑐 𝐸𝑛𝑐 𝑀 = 𝐷𝑒𝑐 𝑟𝑃, 𝑀 + 𝑟𝑄 = 𝑀 + 𝑟𝑄 − 𝑥𝑟𝑃 = 𝑀
楕円ElGamal暗号
26/59
• 𝑎, 𝑏を定数として
𝐸 = 𝑥, 𝑦 𝑦2 = 𝑥3 + 𝑎𝑥 + 𝑏 ∪ ∞
を楕円曲線という
• Weierstrassの定義方程式
• トーラスとは似てもにつかないが計算しやすい
• トーラスとの関係は後半で
• 実数上とみなして擬似的に描くと
こんなグラフ
• 𝑥軸対称
トーラスの別の形
27/59
• 𝑦2 = 𝑥3 + 𝑎𝑥 + 𝑏を満たす(𝑥, 𝑦)はどこで考える?
• 例 : ℂ(複素数全体)や𝐹𝑝(有限体𝐹𝑝(𝑝 ≠ 2,3)の代数的閉体)
• 代数的閉体とは
• そのなかで任意の多項式が因数分解できるもの
• ℝ(実数全体)は代数的閉体ではない
• 𝑥2 + 1は因数分解できない
• ℝに −1 を追加したものがℂ
• −1は𝑥2
+ 1 = 0の解
• 有限体も同様に元を追加していくことで代数的閉体にできる
• 𝐹7 −1 = {𝑎 + 𝑏 −1 |𝑎, 𝑏 ∈ 𝐹7}
• これはまだ代数的閉体ではないのでこの操作を繰り返す
• 以降ℂで考えるが𝐹𝑝でも概ね似た議論ができる
解の空間
28/59
• ℂが代数的閉体とは
• 任意の多項式が因数分解できる(代数学の基本定理)
• 証明
• もし因数分解できない多項式𝑓(𝑥)があったら
• 𝑓 𝑥 = 0となる𝑥 ∈ ℂがない
• 𝑔 𝑥 = 1/𝑓(𝑥)はℂ上で有界
• つまりある範囲で押さえられる
• 定数𝑀 > 0があって 𝑔 𝑥 < 𝑀 for 𝑥 ∈ ℂ
• ここでLiouvilleの定理を使う
• ℂ上の整関数(どこでも微分可能)が有界ならそれは定数関数
• 𝑔(𝑥)が定数関数(矛盾)
代数学の基本定理
29/59
𝑃
𝑂 −𝑃𝑙1
• 𝐸上の点𝑂を一つ固定する(これが単位元)
• 無限遠点でなくてもよい
• 𝐸上の点𝑃に対して逆元−𝑃の図
• 𝑃と𝑂を通る直線𝑙1と𝐸が交わるもう一つの点
• 𝑥の3次式なので𝑙1は𝐸と3点で交わる
楕円曲線𝐸上の単位元と逆元
30/59
𝑃
𝑂
𝑄
𝑙2
−(𝑃 + 𝑄)
𝑙3
𝑃 + 𝑄
• 𝐸上の点𝑃, 𝑄に対して𝑃, 𝑄を通る直線𝑙2が通る
もう一つの𝐸上の点を−𝑅とする
𝑅 ≔ 𝑃 + 𝑄
楕円曲線𝐸上の足し算
31/59
• 足し算というからには次の性質を満たしてほしい
• 任意の𝑃, 𝑄, 𝑅 ∈ 𝐸に対して
• 𝑃 + 𝑂 = 𝑃 ; 𝑂が単位元
• 𝑃 + −𝑃 = 𝑂 ; −𝑃は𝑃の逆元
• 𝑃 + 𝑄 + 𝑅 = 𝑃 + 𝑄 + 𝑅 ; 結合法則
• この三つの性質を満たす集合を群という
• 𝑃 + 𝑄 = 𝑄 + 𝑃 ; 可換
• この性質を満たす群を加法群という
• 可換群, アーベル群ともいう
• 楕円曲線𝐸について結合法則以外は容易に示せる
• トーラスの場合の結合法則はほぼ明らか
"足し算"になっていること
32/59
• 𝑃 + 𝑄 + 𝑅 = 𝑃 + (𝑄 + 𝑅)
• https://www.desmos.com/calculator/28wbmxtqiu
結合法則
𝑃
𝑄
𝑆1 = −(𝑃 + 𝑄)
𝑂
𝑆2 = 𝑃 + 𝑄
𝑅
𝑆4 = −(𝑄 + 𝑅)
𝑆5 = 𝑄 + 𝑅
𝑙1
𝑙2
𝑙3
𝑙4
𝑙6
𝑆3 = − 𝑃 + 𝑄 + 𝑅
𝑆6 = −(𝑃 + 𝑄 + 𝑅 )
𝑙5
33/59
• 𝑛次曲線
• 𝑥, 𝑦に関する𝑛次多項式で定まる曲線
• Bezoutの定理
• 𝑛次曲線と𝑚次曲線の交点は𝑛𝑚個
• Cayley-Bacharachの定理
• 3次曲線𝐶, 𝐶1, 𝐶2をとる
• 𝐶1と𝐶2の交点は9個
• 𝐶がそのうち8個を通れば残りの1点も通る
結合法則を示すための二つの定理
2次曲線同士なら4個
34/59
• 点𝑃, 𝑅, 𝑅, 𝑂を固定すると
• 𝑃 + 𝑄 + 𝑅のとき点− 𝑃 + 𝑄 , 𝑃 + 𝑄, −( 𝑃 + 𝑄 + 𝑅)が定まる
• 𝑃 + (𝑄 + 𝑅)のとき点− 𝑄 + 𝑅 , 𝑄 + 𝑅, −(𝑃 + 𝑄 + 𝑅 )が定まる
状況確認
同じに(𝑚1と𝑙3の交点)なるか?
𝑃
𝑅
𝑄
−(𝑃 + 𝑄)
𝑃 + 𝑄
𝑂−(𝑄 + 𝑅)
𝑄 + 𝑅
−( 𝑃 + 𝑄 + 𝑅
−(𝑃 + 𝑄 + 𝑅 )
𝑙1
𝑙2
𝑙3
𝑚1
𝑚2 𝑚3
35/59
• 𝐶1, 𝐶2を𝑙1 𝑙2 𝑙3,𝑚1 𝑚2 𝑚3とすると𝐶𝑖は3次曲線
• 楕円曲線𝐸は𝐶1 , 𝐶2と8点
𝑃, 𝑄, 𝑅, 𝑂, 𝑃 + 𝑄, 𝑄 + 𝑅, − 𝑃 + 𝑄 , − 𝑄 + 𝑅 で交わる
• よって𝐸は𝐶1と𝐶2の残りの1点𝑋を通る
• つまりX = − 𝑃 + 𝑄 + 𝑅 = −(𝑃 + 𝑄 + 𝑅 )
• よって 𝑃 + 𝑄 + 𝑅 = 𝑃 + (𝑄 + 𝑅)
観察
𝑃
𝑅
𝑄
−(𝑃 + 𝑄)
𝑃 + 𝑄
𝑂
−(𝑄 + 𝑅)
𝑄 + 𝑅
−( 𝑃 + 𝑄 + 𝑅
−(𝑃 + 𝑄 + 𝑅 )
𝑙1
𝑙2
𝑙3
𝑚1
𝑚2 𝑚3
𝑋
36/59
• 3次式が"3個の直線の積"になったとき
• 適当な直線𝐿1, 𝐿3上に6点をとって線を結ぶと交点が同一直線
𝐿2上に乗る ; Pappusの定理
• "𝐿1, 𝐿2, 𝐿3は無限遠点でつながっている"と心の目で見る
特別バージョン
𝑅 𝐿1𝑃
𝑂
𝑄 + 𝑅 𝑃 + 𝑄 𝑄
𝐿2
𝐿3
−(𝑃 + 𝑄)
− 𝑃 + 𝑄 + 𝑅
= −(𝑃 + 𝑄 + 𝑅 ) −(𝑄 + 𝑅)
37/59
• 単位元𝑂を無限遠点にとる
楕円曲線の加法公式
𝑃
𝑄
𝑙2
−(𝑃 + 𝑄)
𝑙3
𝑃 + 𝑄
𝑃
𝑂(無限遠点)
−𝑃
𝑙1
38/59
• 𝑃 = 𝑥1, 𝑦1 , 𝑄 = (𝑥2, 𝑦2),𝑅 = 𝑥3, 𝑦3 = 𝑃 + 𝑄とする
• 𝑃, 𝑄を通る直線𝑙2は
𝑦 =
𝑦2 − 𝑦1
𝑥2 − 𝑥1
𝑥 − 𝑥1 + 𝑦1 = 𝜆 𝑥 − 𝑥1 + 𝑦1
• 𝑦2 = 𝑥3 + 𝑎𝑥 + 𝑏に代入して展開
• 𝑥3 − 𝜆2 𝑥2 + ⋯ = 0
• 𝑥2の係数に着目して3次方程式の解と係数の関係から
𝑥1 + 𝑥2 + 𝑥3 = 𝜆2
加法の計算式(1/2)
𝑃
𝑄
𝑙2
39/59
• 𝑃 = 𝑥1, 𝑦1 , 𝑄 = (𝑥2, 𝑦2),𝑅 = 𝑥3, 𝑦3 = 𝑃 + 𝑄
• 𝜆 =
𝑦1−𝑦2
𝑥1−𝑥2
• つまり
𝑥3 = 𝜆2 − 𝑥1 + 𝑥2
𝑦3 = −(𝜆 𝑥3 − 𝑥1 + 𝑦1)
• ここまで書き下せばコンピュータで計算できる
加法の計算式(2/2)
40/59
• 突如現れた𝑦2 = 𝑥3 + 𝑎𝑥 + 𝑏ってなんだ?
• この多項式は必然なのか
• 作為的な加法公式の由来は
• 最初はトーラスで説明していたのに
• 以降、その関係性を眺める
• 代数幾何の定理(Riemann-Rochの定理)を天下りに使う
• もう少し手を動かして複素数上の二重周期関数を観察する
トーラスと楕円曲線のつながり
41/59
• トーラス𝑇上の関数
• 関数の極
• 関数が作るベクトル空間𝐿(𝑛𝑃)
• Riemann-Roch
• 二重周期関数
• ℘関数
• ℘関数の満たす性質
• トーラスから楕円曲線への写像
• 同型性
概要
42/59
• ある物体𝑇を調べるとき、それを直接調べる代わりに
その上の関数にどんなものがあるかを調べる
• 𝑘(𝑇)を𝑇上の𝑘値関数全体とする(𝑘は代数的閉体)
• 細かい条件はここでは触れない
• 𝑘(𝑇)は大きい集合なので条件をつけてその部分集合を考える
• 𝑇上の点𝑃を一つ決める
• 𝑛 ∈ 𝑍≥0に対して
𝐿 𝑛𝑃 : = {𝑓 ∈ 𝑘(𝑇):𝑃でのみ高々𝑛位の極を持つ
そのほかの点では極はない} ∪ {0}
• 以下𝐿(𝑛𝑃)を調べよう
• その前に用語の説明
トーラス𝑇上の関数
43/59
• 𝑓 ∈ 𝑘(𝑇)が点𝑃で𝑛(> 0)位の極を持つとは
点𝑃の付近で
𝑓 𝑧 = 𝑎−𝑛 𝑧−𝑛 + 𝑎−𝑛+1 𝑧−𝑛+1 + ⋯ , (𝑎−𝑛≠ 0)
という形をしているもの
• このときord 𝑃 𝑓 = −𝑛とかく
• 例
• 𝑓 𝑥 = 𝑥−2 + 𝑥は𝑥 = 0で2位の極をもつのでord0 𝑓 = −2
• 𝑓 𝑥 = 1/ sin 𝑥 はsin 𝑥 = 𝑥 −
𝑥3
3!
+
𝑥5
5!
− ⋯よりord0 𝑓 = −1
関数の極(pole)
44/59
• 定数倍𝑎(≠ 0)しても変わらない
• ord 𝑃 𝑎𝑓 = ord 𝑃(𝑓)
• 関数𝑓, 𝑔に対して
ord 𝑃 𝑓 + 𝑔 ≥ min (ord 𝑃 𝑓 , ord 𝑃 𝑔 )
• 3位と5位の極をもつ関数を足したら5位の極
• ord0
1
𝑥3 = −3, ord0
1
𝑥5 = −5, ord0
1
𝑥3 +
1
𝑥5 = −5
• 同じ位数の極をもつ関数を足せばキャンセルすることがある
• 𝑓 =
1
𝑥3 + 𝑥, 𝑔 = −
1
𝑥3 +
1
𝑥2なら𝑓 + 𝑔 =
1
𝑥2 + 𝑥
• ord0 𝑓 = −3, ord0 𝑔 = −3 , ord0 𝑓 + 𝑔 = −2
ordの性質
45/59
• 𝑎, 𝑏 ∈ 𝑘, 𝑥, 𝑦 ∈ 𝑉に対して𝑎𝑥 + 𝑏𝑦 ∈ 𝑉
• 𝑉の基底𝑒1, … , 𝑒 𝑛
• 𝑉の任意の元は𝑎1 𝑒1 + ⋯ + 𝑎 𝑛 𝑒 𝑛, 𝑎𝑖 ∈ 𝑘の形で一意にかける
• 特に𝑎1 𝑒1 + ⋯ + 𝑎 𝑛 𝑒 𝑛 = 0なら𝑎1 = ⋯ = 𝑎 𝑛 = 0
• この性質を一次独立という
• 例
• 𝑉 = ℝ3
の基底𝑒1 = 1,0,0 , 𝑒2 = 0,1,0 , 𝑒3 = (0,0,1)
• 任意の点 𝑥, 𝑦, 𝑧 ∈ 𝑉は𝑥𝑒1 + 𝑦𝑒2 + 𝑧𝑒3とかける
• 𝑥𝑒1 + 𝑦𝑒2 + 𝑧𝑒3 = 0なら𝑥 = 𝑦 = 𝑧 = 0
• 𝑉は3次元ベクトル空間
• 𝑉 = 𝑘 𝑥 = {∑𝑎𝑖 𝑥 𝑖
; 有限和, 𝑎𝑖 ∈ 𝑘}の基底は1, 𝑥, 𝑥2
, 𝑥3
, …
• 𝑉は無限次元ベクトル空間
𝑘ベクトル空間𝑉
46/59
• 𝐿 𝑛𝑃
= {𝑓 ∈ 𝑘(𝑇): ord 𝑃 𝑓 ≥ −𝑛, 𝑓は𝑃以外に極はない} ∪ {0}
• 𝐿(𝑛𝑃)は𝑘ベクトル空間
• 𝑓, 𝑔 ∈ 𝐿(𝑛𝑃)なら𝑓 + 𝑔 ∈ 𝐿 𝑛𝑃
• 𝑘𝑓 ∈ 𝐿(𝑛𝑃)
• 一般に関数の集合のベクトル空間は無限次元なことが多い
• トーラス𝑇に対する𝐿(𝑛𝑃)は有限次元ベクトル空間
• より強く 𝑙 𝑛𝑃 : = dim 𝑘 𝐿 𝑛𝑃 =
1 if 𝑛 = 0
𝑛 if 𝑛 > 0
• Riemann-Rochの定理からの帰結
𝐿(𝑛𝑃)の重要な性質
47/59
• 𝑙 0𝑃 = 1
• 𝑇上で極をもたない関数は定数関数のみ(Liouvilleの定理)
• 𝐿 0𝑃 = 〈1〉
• 𝑙 𝑃 = 1
• 𝑃でのみ1位の極を持つ関数は存在しない
• 𝐿 1𝑃 = 〈1〉
• 𝑙 2𝑃 = 2
• 𝑃でのみ2位の極を持つ関数𝜉が一つある
• 𝐿 2𝑃 = 〈1, 𝜉〉, ord 𝑃 𝜉 = −2
• 𝑙 3𝑃 = 3
• 𝑃でのみ3位の極を持つ関数𝜂が一つある
• 𝐿 3𝑃 = 〈1, 𝜉, 𝜂〉, ord 𝑃(𝜂) = −3
𝐿(𝑛𝑃)を観察する
48/59
• 続き
• 𝜉2は𝑃で4位の極を持つ → 𝐿 4𝑃 = 〈1, 𝜉, 𝜂, 𝜉2〉
• 𝜉𝜂は𝑃で5位の極を持つ → 𝐿 5𝑃 = 〈1, 𝜉, 𝜂, 𝜉2, 𝜉𝜂〉
• 𝜉3
と𝜂2
は𝑃で6位の極を持つ → 1, 𝜉, 𝜂, 𝜉2
, 𝜉𝜂, 𝜉3
, 𝜂2
∈ 𝐿(6𝑃)
• 𝑙 6𝑃 = 6なのに基底の候補が7個ある
• これらは一次独立ではない
• 𝑎1, … , 𝑎7 ≠ (0, … , 0)となるもので次を満たすものがある
𝑎1 + 𝑎2 𝜉 + 𝑎3 𝜂 + 𝑎4 𝜉2
+ 𝑎5 𝜉𝜂 + 𝑎6 𝜉3
+ 𝑎7 𝜂2
= 0, 𝑎𝑖 ∈ 𝑘
• 𝑎7 = 0なら1, 𝜉, 𝜂, 𝜉2, 𝜉𝜂, 𝜉3が一次独立でない
• 𝑙 6𝑃 = 6に反するので𝑎7 ≠ 0
• 全体を𝑎7で割って𝑎7 = 1としてよい
• 𝜂2 + (𝑎5 𝜉 + 𝑎3)𝜂 = 𝑎6 𝜉3 + 𝑎4 𝜉2 + 𝑎2 𝜉 + 𝑎1
• 適当に変数変換して𝑎5 = 𝑎3 = 0とできる
𝜉と𝜂の関係(1/2)
49/59
• 𝜂2 = 𝑎6 𝜉3 + 𝑎4 𝜉2 + 𝑎2 𝜉 + 𝑎1
• 𝑎6 = 0なら2次式の関係式になって球面になってしまう
• 適当に(線形結合の範囲で)変数変換して
𝜂2 = 𝜉3 + 𝑎𝜉 + 𝑏の形にもっていける
• 楕円曲線𝐸の式!
• 𝐿 3𝑃 の基底〈1, 𝜉, 𝜂〉はこの関係式を満たす
• 定理
• 𝜑: 𝑇 ∋ 𝑧 ↦ 𝜉 𝑧 , 𝜂 𝑧 ∈ 𝐸は1対1のきれいな写像になる
• 𝜑はトーラスと楕円曲線をつなぐ重要な写像
𝜉と𝜂の関係(2/2)
50/59
• トーラス𝑇上の関数𝑓とはなんだろう
• 𝑇は長方形(より一般に平行四辺形)の両端を張り付けたもの
• 𝑇上の関数は複素数ℂ上の関数とみなすと
長方形を単位とする二重周期関数となる
• 𝑓 𝑧 + 𝜆1 = 𝑓 𝑧 + 𝜆2 = 𝑓(𝑧)
少し違うアプローチ
𝑂
𝜆1
𝜆1 + 𝜆2
𝜆2
.
.
.
.
.
.
.
.
.
.
.
.
全ての黒丸は
同じ値になる
𝑧
.
トーラス上の関数𝑓 複素平面ℂ上の関数𝑓
51/59
• ある関数𝑔(𝑥)があったとき
𝑓 𝑥 = 𝑔(𝑥 + 𝑛𝜆)
𝑛
は値が定まるなら周期関数
𝑓 𝑥 + 𝜆 = 𝑓(𝑥)
• 例
• 𝑔 𝑥 = 1/𝑥2のときの
𝑓 𝑥 = 𝑔 𝑥 =
1
𝑥 − 𝑛 2
∞
𝑛=−∞𝑛
• 実際は𝑓 𝑥 = 𝜋2/ sin2 𝜋𝑥
• 二重周期関数の場合は
Λ = {𝜆 = 𝑛𝜆1 + 𝑚𝜆2|𝑛, 𝑚 ∈ ℤ}について和をとる
周期関数を作る
52/59
• 𝑓 𝑧 = ∑
1
𝑧−𝜆 3 = ∑
1
𝑧−𝑛𝜆1−𝑚𝜆2
3𝑛,𝑚∈ℤ𝜆∈Λ
• 𝑧 ∉ Λについて𝑓(𝑧)は確定(収束)する
• 𝑓 𝑧 は𝑧 = 0で3位の極
• 別の例
• ℘ 𝑧 =
1
𝑧2 + ∑ (
1
(𝑧−𝜆)2 −
1
𝜆2)𝜆∈Λ∖{0}
• ℘ 𝑧 は𝑧 = 0で2位の極
• ℘′(𝑧) = −
2
𝑧3 − ∑
2
𝑧−𝜆 3𝜆∈Λ∖ 0 = −2𝑓(𝑧)
• ℘′(𝑧)は𝑧 = 0で3位の極
• ℘ −𝑧 = ℘(𝑧)
• ℘をもう少し調べよう
トーラス𝑇上の関数の具体例
53/59
• ℘ 𝑧 − 1/𝑧2は𝑧 = 0で0
• ℘ −𝑧 = ℘(𝑧)より℘ 𝑧 の級数展開は奇数次が無い
• ℘ 𝑧 =
1
𝑧2 + 𝑐2 𝑧2 + 𝑐4 𝑧4 + 𝑐6 𝑧6 + ⋯
• ℘′(𝑧) = −
2
𝑧3 + 2𝑐2 𝑧 + 4𝑐4 𝑧3 + 6𝑐6 𝑧5 + ⋯
• ℘ 𝑧 3は1/𝑧6の項から始まる
• ℘′ z 2は4/𝑧6の項から始まる
• 𝑔 𝑧 = ℘′ 𝑧 2 − 4℘ 𝑧 3を計算してみる
• 𝑔(𝑧) = −
20c2
z2 − 28c4 − 36c6 + 8c2
2
z2 + ⋯
• 𝑔(𝑧)に20𝑐2℘(𝑧)を足してみる
• ℘′ 𝑧 2 − 4℘ 𝑧 3 + 20𝑐2℘ 𝑧 = −28𝑐4 + 12𝑐2
2
− 36𝑐6 𝑧2 + ⋯
• 右辺は𝑧 = 0で極をもたない
℘(𝑧)の性質
54/59
• 右辺が極を持たないので定数になる
• またもやLiouvilleの定理
• ℘′ 𝑧 2 − 4℘ 𝑧 3 + 20𝑐2℘ 𝑧 = −28𝑐4 + 12𝑐2
2
− 36𝑐6 𝑧2 + ⋯
• つまり𝑐2
2
= 3𝑐6などが成り立つ
• 改めて𝑥 = ℘ 𝑧 , 𝑦 = ℘′(𝑧)とおくと
𝐸 = 𝑥, 𝑦 𝑦2 = 4𝑥3 − 20𝑐2 𝑥 − 28𝑐4}
• 楕円曲線の式がでてきた!
• 𝜑Λ : 𝑇 ∋ 𝑧 ↦ ℘ 𝑧 , ℘′ 𝑧 ∈ 𝐸はトーラスから楕円曲線への写像
• 実は1対1の対応が成り立つ
• 𝜑Λ 0 = 𝑂 ; 無限遠点
• ℘ 𝑧 , ℘′(𝑧)は𝐿(2𝑂), 𝐿(3𝑂)の基底𝜉, 𝜂に対応
• そしてそれだけではない
トーラスから楕円曲線へ
55/59
• トーラス𝑇上の加算𝑧3 = 𝑧1 + 𝑧2は複素数としての加算
• 𝑃 = 𝜑Λ 𝑧1 = 𝑥1, 𝑦1 , 𝑄 = 𝜑Λ 𝑧2 = (𝑥2, 𝑦2)とすると
𝑦𝑖
2
= 4𝑥𝑖
3
− 20𝑐2 𝑥𝑖 − 28𝑐4
• 𝑢𝑖 = 2𝑥𝑖, 𝑣𝑖 = 2 𝑦𝑖とおくと
𝑣𝑖
2
= 𝑢𝑖
3
− 20𝑐2 𝑢𝑖 − 56𝑐4
• 𝑅 = 𝑥3, 𝑦3 = 𝑃 + 𝑄とすると楕円曲線の加法公式より
𝑢3 = (
𝑣2 − 𝑣1
𝑢2 − 𝑢1
)2
−(𝑢1 + 𝑢2)
• 𝑥𝑖, 𝑦𝑖の式に書き直すと
2𝑥3 =
1
2
𝑦2 − 𝑦1
𝑥2 − 𝑥1
2
− 2 𝑥1 + 𝑥2
加法公式の対応
56/59
• もし𝜑 𝑧3 = 𝑅になるなら𝑥3 = ℘ 𝑧3 = ℘(𝑧1 + 𝑧2)より
℘ 𝑧1 + 𝑧2 =
1
4
℘′ 𝑧2 − ℘′(𝑧1)
℘ 𝑧2 − ℘ 𝑧1
2
− (℘ 𝑧1 + ℘ 𝑧2 )
• これは実際に成り立つ
℘関数の加法公式
57/59
• つまり
𝑅 = 𝑃 + 𝑄
𝜑Λ 𝑧1 + 𝑧2 = 𝜑Λ 𝑧1 + 𝜑Λ(𝑧2)
• 図形的な加算の定義が複素数の加算とつながった
𝜑Λは同型
トーラス上の加算 楕円曲線上の加算
𝑧1
𝑧2
𝑧1 + 𝑧2
𝑃
𝑄
𝑙3
𝑃 + 𝑄
𝜑Λ
58/59
• 平行四辺形の両端をつなげてトーラスを作る
• トーラスは加算ができる一番簡単な物体
• 楕円曲線𝐸 = {(𝑥, 𝑦)|𝑦2 = 𝑥3 + 𝑎𝑥 + 𝑏}も加算ができる
• トーラスと楕円曲線は表裏一体
まとめ
59/59

More Related Content

What's hot

katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃trmr
 
自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介MITSUNARI Shigeo
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学MITSUNARI Shigeo
 
差分プライバシーとは何か? (定義 & 解釈編)
差分プライバシーとは何か? (定義 & 解釈編)差分プライバシーとは何か? (定義 & 解釈編)
差分プライバシーとは何か? (定義 & 解釈編)Kentaro Minami
 
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化MITSUNARI Shigeo
 
指数時間アルゴリズム入門
指数時間アルゴリズム入門指数時間アルゴリズム入門
指数時間アルゴリズム入門Yoichi Iwata
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpsonickun
 
RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介MITSUNARI Shigeo
 
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能MITSUNARI Shigeo
 
範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコルMITSUNARI Shigeo
 
つくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタつくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタ京大 マイコンクラブ
 
強化学習その1
強化学習その1強化学習その1
強化学習その1nishio
 

What's hot (20)

katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
 
自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介
 
暗認本読書会7
暗認本読書会7暗認本読書会7
暗認本読書会7
 
新しい暗号技術
新しい暗号技術新しい暗号技術
新しい暗号技術
 
暗認本読書会4
暗認本読書会4暗認本読書会4
暗認本読書会4
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 
差分プライバシーとは何か? (定義 & 解釈編)
差分プライバシーとは何か? (定義 & 解釈編)差分プライバシーとは何か? (定義 & 解釈編)
差分プライバシーとは何か? (定義 & 解釈編)
 
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
Lifted-ElGamal暗号を用いた任意関数演算の二者間秘密計算プロトコルのmaliciousモデルにおける効率化
 
Chokudai search
Chokudai searchChokudai search
Chokudai search
 
指数時間アルゴリズム入門
指数時間アルゴリズム入門指数時間アルゴリズム入門
指数時間アルゴリズム入門
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
 
RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介
 
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
 
暗認本読書会6
暗認本読書会6暗認本読書会6
暗認本読書会6
 
範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル
 
つくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタつくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタ
 
LLVM最適化のこつ
LLVM最適化のこつLLVM最適化のこつ
LLVM最適化のこつ
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
動的計画法を極める!
動的計画法を極める!動的計画法を極める!
動的計画法を極める!
 
強化学習その1
強化学習その1強化学習その1
強化学習その1
 

Similar to 楕円曲線入門 トーラスと楕円曲線のつながり

暗認本読書会13 advanced
暗認本読書会13 advanced暗認本読書会13 advanced
暗認本読書会13 advancedMITSUNARI Shigeo
 
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムTakuya Akiba
 
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)Kensuke Otsuki
 
University CodeSprint 4 - Magic value
University CodeSprint 4 - Magic valueUniversity CodeSprint 4 - Magic value
University CodeSprint 4 - Magic valuesatanic
 
PRML第6章「カーネル法」
PRML第6章「カーネル法」PRML第6章「カーネル法」
PRML第6章「カーネル法」Keisuke Sugawara
 
PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5sleepy_yoshi
 
Computing for Isogeny Kernel Problem by Groebner Basis
Computing for Isogeny Kernel Problem by Groebner BasisComputing for Isogeny Kernel Problem by Groebner Basis
Computing for Isogeny Kernel Problem by Groebner BasisYasu Math
 
ニューラル論文を読む前に
ニューラル論文を読む前にニューラル論文を読む前に
ニューラル論文を読む前にHayahide Yamagishi
 
『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算MITSUNARI Shigeo
 
第9章 ネットワーク上の他の確率過程
第9章 ネットワーク上の他の確率過程第9章 ネットワーク上の他の確率過程
第9章 ネットワーク上の他の確率過程Ohsawa Goodfellow
 
情報オリンピック夏合宿発表
情報オリンピック夏合宿発表情報オリンピック夏合宿発表
情報オリンピック夏合宿発表Kazuma Mikami
 
これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法kenyanonaka
 
パターン認識と機械学習 13章 系列データ
パターン認識と機械学習 13章 系列データパターン認識と機械学習 13章 系列データ
パターン認識と機械学習 13章 系列データemonosuke
 
純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門Kimikazu Kato
 
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明MITSUNARI Shigeo
 
わかりやすいパターン認識 4章
わかりやすいパターン認識 4章わかりやすいパターン認識 4章
わかりやすいパターン認識 4章Motokawa Tetsuya
 
T82 aoitan あおいたんのパズルを数学しましょうか_修正版
T82 aoitan あおいたんのパズルを数学しましょうか_修正版T82 aoitan あおいたんのパズルを数学しましょうか_修正版
T82 aoitan あおいたんのパズルを数学しましょうか_修正版Masami Yabushita
 
第15回 配信講義 計算科学技術特論B(2022)
第15回 配信講義 計算科学技術特論B(2022)第15回 配信講義 計算科学技術特論B(2022)
第15回 配信講義 計算科学技術特論B(2022)RCCSRENKEI
 

Similar to 楕円曲線入門 トーラスと楕円曲線のつながり (20)

暗認本読書会13 advanced
暗認本読書会13 advanced暗認本読書会13 advanced
暗認本読書会13 advanced
 
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
 
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
「現実世界に活かす数学」 (麻布高等学校、教養総合、数学講義 5 回目)
 
University CodeSprint 4 - Magic value
University CodeSprint 4 - Magic valueUniversity CodeSprint 4 - Magic value
University CodeSprint 4 - Magic value
 
6 Info Theory
6 Info Theory6 Info Theory
6 Info Theory
 
PRML第6章「カーネル法」
PRML第6章「カーネル法」PRML第6章「カーネル法」
PRML第6章「カーネル法」
 
PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5
 
Computing for Isogeny Kernel Problem by Groebner Basis
Computing for Isogeny Kernel Problem by Groebner BasisComputing for Isogeny Kernel Problem by Groebner Basis
Computing for Isogeny Kernel Problem by Groebner Basis
 
ニューラル論文を読む前に
ニューラル論文を読む前にニューラル論文を読む前に
ニューラル論文を読む前に
 
『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算
 
第9章 ネットワーク上の他の確率過程
第9章 ネットワーク上の他の確率過程第9章 ネットワーク上の他の確率過程
第9章 ネットワーク上の他の確率過程
 
情報オリンピック夏合宿発表
情報オリンピック夏合宿発表情報オリンピック夏合宿発表
情報オリンピック夏合宿発表
 
これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法
 
パターン認識と機械学習 13章 系列データ
パターン認識と機械学習 13章 系列データパターン認識と機械学習 13章 系列データ
パターン認識と機械学習 13章 系列データ
 
純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門
 
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
 
わかりやすいパターン認識 4章
わかりやすいパターン認識 4章わかりやすいパターン認識 4章
わかりやすいパターン認識 4章
 
T82 aoitan あおいたんのパズルを数学しましょうか_修正版
T82 aoitan あおいたんのパズルを数学しましょうか_修正版T82 aoitan あおいたんのパズルを数学しましょうか_修正版
T82 aoitan あおいたんのパズルを数学しましょうか_修正版
 
第15回 配信講義 計算科学技術特論B(2022)
第15回 配信講義 計算科学技術特論B(2022)第15回 配信講義 計算科学技術特論B(2022)
第15回 配信講義 計算科学技術特論B(2022)
 
超複素数
超複素数超複素数
超複素数
 

More from MITSUNARI Shigeo

Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgenIntel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgenMITSUNARI Shigeo
 
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法MITSUNARI Shigeo
 
WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装MITSUNARI Shigeo
 
LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介MITSUNARI Shigeo
 
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたIntro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたMITSUNARI Shigeo
 
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用MITSUNARI Shigeo
 
暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がりMITSUNARI Shigeo
 
A compact zero knowledge proof to restrict message space in homomorphic encry...
A compact zero knowledge proof to restrict message space in homomorphic encry...A compact zero knowledge proof to restrict message space in homomorphic encry...
A compact zero knowledge proof to restrict message space in homomorphic encry...MITSUNARI Shigeo
 
Spectre/Meltdownとその派生
Spectre/Meltdownとその派生Spectre/Meltdownとその派生
Spectre/Meltdownとその派生MITSUNARI Shigeo
 
Practical Two-level Homomorphic Encryption in Prime-order Bilinear Groups
Practical Two-level Homomorphic Encryption in Prime-order Bilinear GroupsPractical Two-level Homomorphic Encryption in Prime-order Bilinear Groups
Practical Two-level Homomorphic Encryption in Prime-order Bilinear GroupsMITSUNARI Shigeo
 

More from MITSUNARI Shigeo (19)

暗認本読書会11
暗認本読書会11暗認本読書会11
暗認本読書会11
 
暗認本読書会10
暗認本読書会10暗認本読書会10
暗認本読書会10
 
暗認本読書会9
暗認本読書会9暗認本読書会9
暗認本読書会9
 
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgenIntel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
 
暗認本読書会8
暗認本読書会8暗認本読書会8
暗認本読書会8
 
暗認本読書会5
暗認本読書会5暗認本読書会5
暗認本読書会5
 
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
 
私とOSSの25年
私とOSSの25年私とOSSの25年
私とOSSの25年
 
WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装
 
HPC Phys-20201203
HPC Phys-20201203HPC Phys-20201203
HPC Phys-20201203
 
LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介
 
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたIntro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみた
 
ゆるバグ
ゆるバグゆるバグ
ゆるバグ
 
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
 
集約署名
集約署名集約署名
集約署名
 
暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり
 
A compact zero knowledge proof to restrict message space in homomorphic encry...
A compact zero knowledge proof to restrict message space in homomorphic encry...A compact zero knowledge proof to restrict message space in homomorphic encry...
A compact zero knowledge proof to restrict message space in homomorphic encry...
 
Spectre/Meltdownとその派生
Spectre/Meltdownとその派生Spectre/Meltdownとその派生
Spectre/Meltdownとその派生
 
Practical Two-level Homomorphic Encryption in Prime-order Bilinear Groups
Practical Two-level Homomorphic Encryption in Prime-order Bilinear GroupsPractical Two-level Homomorphic Encryption in Prime-order Bilinear Groups
Practical Two-level Homomorphic Encryption in Prime-order Bilinear Groups
 

Recently uploaded

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 

Recently uploaded (9)

新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 

楕円曲線入門 トーラスと楕円曲線のつながり

  • 2. • 楕円曲線暗号の原理を知る(前半30分ほど) • 暗号の話はここで終わり • 楕円曲線には様々な見方がある • トーラス𝑇 • 𝑦2 = 𝑥3 + 𝑎𝑥 + 𝑏の解集合𝐸 • 二重周期関数 • 1変数代数関数体 • 1次元アーベル多様体 • ... • 今回は特に𝑇と𝐸の関係性を紹介する(残り) 概要と目標 2/59
  • 3. • 『クラウドを支えるこれからの暗号技術』 • 公開鍵暗号の(ほぼ)最先端の応用技術の紹介 • 前方秘匿性, 楕円曲線暗号, IDベース暗号, 属性ベース暗号, 関数型暗号, 準同型暗号, ゼロ知識証明, etc. • 比較的がっちり数学の話も入ってます • 楕円曲線, ℘関数, Weilペアリング, etc. • https://herumi.github.io/ango/ • 「クラウド時代の暗号化技術論」 • @ITでの暗号の連載記事 • 上記本の内容をかみ砕いて紹介したもの • http://www.atmarkit.co.jp/ait/series/1990/ 自分の宣伝 3/59
  • 4. • サイボウズ新卒/キャリア採用 • http://cybozu.co.jp/company/job/recruitment/ • 29歳以下の第二新卒、ポスドク採用もあります • サイボウズ・ラボユース • https://cybozu-recruit.snar.jp/jobboard/apply.aspx • 学生の作りたいことをラボのメンバーがサポート 会社の宣伝 4/59
  • 5. • 導入(暗号入門) • 有限体 • RSA暗号 • ElGamal暗号 • 中盤(少し暗号 少し数学) • トーラス • 楕円ElGamal暗号 • 楕円曲線の式と加法公式 • メイン(数学) • Riemann-Rochの定理の特殊版 • ℘関数 • トーラスと楕円曲線の関係 目次 5/59
  • 6. • 剰余環 • RSA暗号 • 有限体 • ElGamal暗号 導入 6/59
  • 7. • 整数𝑏を整数𝑎(> 0)で割った余り𝑟 • 𝑏 = 𝑞𝑎 + 𝑟, 0 ≤ 𝑟 < 𝑎 • 𝑏 ≡ 𝑟 mod 𝑎と書く • 面倒なので以下≡は=を使う • 20を3で割った余りは2 • 20 = 3 ∗ 6 + 2 • −7を3で割った余りは2 • −7 = 3 ∗ −3 + 2 余り 7/59
  • 8. • 整数全体を整数𝑎 (> 0)で割った余りの集合 • 𝑍 𝑎𝑍と書く • 𝑍 𝑎と書く人もいる • 𝑍 𝑎𝑍 = {0, 1, … , 𝑎 − 1} • 足し算と掛け算は普通に計算した余りを考える • 𝑎 = 7のとき3 + 5 = 8 = 1, 3 × 5 = 15 = 1 • 整数の直線を[0, 𝑎]で切ってつなげた感じ 剰余環(じょうよかん) 𝑎 = 0 0−𝑎 𝑎 2𝑎 8/59
  • 9. • 足し算 • 掛け算 𝑍/6𝑍の足し算と掛け算の表 + 0 1 2 3 4 5 0 0 1 2 3 4 5 1 1 2 3 4 5 0 2 2 3 4 5 0 1 3 3 4 5 0 1 2 4 4 5 0 1 2 3 5 5 0 1 2 3 4 × 0 1 2 3 4 5 0 0 0 0 0 0 0 1 0 1 2 3 4 5 2 0 2 4 0 2 4 3 0 3 0 3 0 3 4 0 4 2 0 4 2 5 0 5 4 3 2 1 9/59
  • 10. • 6乗したら1になる • 素数𝑝に対して𝑎 ∈ 𝑍 𝑝𝑍 ∖ {0}について 𝑎 𝑝−1 = 1 mod 𝑝 • フェルマーの小定理 𝑍 7𝑍の巾乗の表 𝒂 𝒃 1 2 3 4 5 6 1 1 1 1 1 1 1 2 2 4 1 2 4 1 3 3 2 6 4 5 1 4 4 2 1 4 2 1 5 5 4 6 2 3 1 6 6 1 6 1 6 1 10/59
  • 11. • 公開鍵暗号 • 異なる二つの素数𝑝, 𝑞を用意して𝑛 = 𝑝𝑞とする • 𝑎 = (𝑝 − 1)(𝑞 − 1)として𝑍/𝑎𝑍で𝑒𝑑 = 1となる整数𝑒, 𝑑を選ぶ • つまりある整数𝑏があって𝑒𝑑 = 𝑏 𝑝 − 1 𝑞 − 1 + 1 • 公開鍵 : 𝑃 𝐾= (𝑛, 𝑒) • 秘密鍵 : 𝑆 𝐾 = 𝑑 • 暗号化 : 平文𝑚に対して𝐸𝑛𝑐 𝑚 = 𝑚 𝑒 mod 𝑛 • 復号 : 暗号文𝑐に対して𝐷𝑒𝑐 𝑐 = 𝑚 𝑑 mod 𝑛 • 元に戻ることの確認 • 𝐷𝑒𝑐 𝐸𝑛𝑐 𝑚 = 𝑚 𝑒 𝑑 = 𝑚 𝑒𝑑 = 𝑚1+𝑏 𝑝−1 𝑞−1 = 𝑚 mod 𝑛 RSA暗号 11/59
  • 12. 𝒂 𝒃 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 4 8 1 2 4 8 1 2 4 8 1 2 4 3 3 9 12 6 3 9 12 6 3 9 12 6 3 9 4 4 1 4 1 4 1 4 1 4 1 4 1 4 1 5 5 10 5 10 5 10 5 10 5 10 5 10 5 10 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 4 13 1 7 4 13 1 7 4 13 1 7 4 8 8 4 2 1 8 4 2 1 8 4 2 1 8 4 9 9 6 9 6 9 6 9 6 9 6 9 6 9 6 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 1 11 1 11 1 11 1 11 1 11 1 11 1 12 12 9 3 6 12 9 3 6 12 9 3 6 12 9 13 13 4 7 1 13 4 7 1 13 4 7 1 13 4 14 14 1 14 1 14 1 14 1 14 1 14 1 14 1 𝑍 15𝑍での巾乗の例  𝑝 = 3, 𝑞 = 5, 𝑝 − 1 𝑞 − 1 = 8 12/59
  • 13. • RSA暗号はRSA仮定の下で 一方向性選択平文攻撃に対して安全 • 言葉の説明 • RSA仮定 • 𝑛 = 𝑝𝑞, 𝑒, 𝑐 = 𝑚 𝑑 mod 𝑛が与えられたときに 𝑚を求めるのが難しいという仮定(ぇ • 素因数分解との関係 • 𝑛 = 𝑝𝑞が与えられたときに𝑛を素因数分解できれば破れる • RSA仮定を解くより素因数分解を解く方が真に難しいか否か は未解決 RSA暗号の安全性(1/2) 13/59
  • 14. • 一方向性 • 暗号文から平文を求められない • CPA(Chosen Plaintext Attack) • 攻撃者が自分で選んだ平文に対する暗号文を取得できる • 公開鍵暗号では最低限必要 • 誰もが公開鍵を使って暗号文を作れるから • RSA暗号は「安全ではない」 • 同じ平文はいつも同じ暗号文になる • 攻撃者が平文の範囲を予想できているなら危険 • 平文が「はい」か「いいえ」のどちらかと分かっていれば 容易に破れる • 実際にはRSA-OAEPなどの安全にした方式が使われる RSA暗号の安全性(2/2) 14/59
  • 15. • 素数𝑝の剰余環𝑍 𝑝𝑍を有限体𝐹𝑝という • 𝐹7の掛け算表 • 2 × 4 = 1 →1 2 = 4と考える • 0以外の元は割り算ができる • 𝑝が合成数なら割り算できない(掛けてゼロ)ことがある 有限体 × 1 2 3 4 5 6 1 1 2 3 4 5 6 2 2 4 6 1 3 5 3 3 6 2 5 1 4 4 4 1 5 2 6 3 5 5 3 1 6 4 2 6 6 5 4 3 2 1 15/59
  • 16. • パラメータ設定 • 適切な𝑔と素数𝑝を固定し公開する • 𝑥を秘密鍵, 𝑦 = 𝑔 𝑥 mod 𝑝を公開鍵とする • 暗号化 • 平文𝑚に対して乱数𝑟をとり 𝐸𝑛𝑐 𝑚 = 𝑔 𝑟, 𝑚𝑦 𝑟 • 復号 • 暗号文𝑐 = (𝑐1, 𝑐2)に対して 𝐷𝑒𝑐 𝑐 = 𝑐2 𝑐1 𝑥 • 元に戻ることの確認 • 𝐷𝑒𝑐 𝐸𝑛𝑐 𝑚 = 𝑚𝑦 𝑟 𝑔 𝑟 𝑥 = 𝑚𝑔 𝑥𝑟 𝑔 𝑟𝑥 = 𝑚 ElGamal暗号 16/59
  • 17. • 離散対数問題の困難さの困難さ • DLP : Discrete Logarithm Problem • 𝑔, 𝑝が与えられたときに • 整数の問題なので離散 • 𝑥 = log 𝑔 𝑦の形なので対数 • DLPは難しいと信じられている ElGamal暗号の安全性 𝑥 𝑦 = 𝑔 𝑥 mod 𝑝 容易 困難 17/59
  • 18. • ElGamal暗号は暗号文に乱数が入っているので 同じ平文を暗号化しても毎回異なる • 𝐸𝑛𝑐 𝑚 = 𝑔 𝑟, 𝑚𝑔 𝑟 • 攻撃の設定 • 攻撃者が平文が𝑚1と𝑚2のどちらかと知っているときに 暗号文を見て平文を当てられるか? • つまり𝐸𝑛𝑐 𝑚 = 𝑔 𝑟, 𝑚𝑔 𝑟 = ? 𝑔 𝑟′ , 𝑚𝑔 𝑟′ • できないとき強秘匿性(INDistinguishability)があるという • 強秘匿性は一方向性よりずっと強い安全性 • RSA暗号は強秘匿性をもたない 強秘匿性 18/59
  • 19. • DDH(Dicisional Diffie-Hellman)仮定 • (𝑔, 𝑔 𝑎, 𝑔 𝑏)と𝑔 𝑎𝑏か𝑔 𝑐のどちらかが与えられたときに、 それを当てるのが難しいという仮定 • ElGamal暗号はDDH仮定の下でIND-CPA安全 • ただし暗号文を操作できないという性質(頑強性)は無い • 𝐸𝑛𝑐 𝑚 = (𝑔 𝑟, 𝑚𝑦 𝑟)→ 𝑔2𝑟, 𝑚2 𝑦2𝑟 • 平文を知らなくても𝐸𝑛𝑐(𝑚2)を作れてしまう • これはこれでよい性質(準同型性) • 一般にはより強い攻撃を想定 • 攻撃者が好きなだけ与えられた暗号文以外の平文を教えても らえる(CCA : Chosen Ciphertext Attack) • IND-CCA2が最も強い公開鍵暗号の安全性の一つ DDH仮定 19/59
  • 20. • トーラス • 楕円離散対数問題 • 楕円ElGamal暗号 • Weierstrassの定義方程式 • 楕円曲線の加法 楕円曲線暗号 20/59
  • 21. • 𝐹𝑝は円周の上を回っている感じ • 球面の上を回っている暗号はあるか? • 単純にはうまくいかない • 球面の上に適切な足し算を入れられない • (アナロジー)Hairy ballの定理 2次元球面上に0にならない連続な接ベクトル場はない • その点で足し算がうまく定義できない 2次元の世界へ つむじ・ 21/59
  • 24. • トーラスの上の暗号 • 一歩が𝑃のベクトルで何歩も進む • 端に来たら反対側から出てくる 楕円曲線暗号 𝑃 𝑂 2𝑃 3𝑃 4𝑃5𝑃 10100 𝑃 4𝑃 24/59
  • 25. • 𝐹𝑝の離散対数問題の楕円曲線版 • 有限体 • 楕円曲線 • ECDLP(Elliptic Curve DLP)という 楕円離散対数問題 𝑥, 𝑔 𝑦 = 𝑔 𝑥 mod 𝑝 容易 困難 𝑥, 𝑃 𝑄 = 𝑥𝑃 容易 困難 25/59
  • 26. • パラメータ設定 • 楕円曲線上の点𝑃と秘密の整数𝑥をとり𝑄 = 𝑥𝑃とする • 秘密鍵 : 𝑥 • 公開鍵 : (𝑃, 𝑄) • 暗号化 • メッセージ𝑀に対して乱数𝑟を選び 𝐸𝑛𝑐 𝑀 = 𝑟𝑃, 𝑀 + 𝑟𝑄 • 復号 • 暗号文𝑐 = (𝐶1, 𝐶2)に対して 𝐷𝑒𝑐 𝑐 = 𝐶2 − 𝑥𝐶1 • 元に戻ることの確認 • 𝐷𝑒𝑐 𝐸𝑛𝑐 𝑀 = 𝐷𝑒𝑐 𝑟𝑃, 𝑀 + 𝑟𝑄 = 𝑀 + 𝑟𝑄 − 𝑥𝑟𝑃 = 𝑀 楕円ElGamal暗号 26/59
  • 27. • 𝑎, 𝑏を定数として 𝐸 = 𝑥, 𝑦 𝑦2 = 𝑥3 + 𝑎𝑥 + 𝑏 ∪ ∞ を楕円曲線という • Weierstrassの定義方程式 • トーラスとは似てもにつかないが計算しやすい • トーラスとの関係は後半で • 実数上とみなして擬似的に描くと こんなグラフ • 𝑥軸対称 トーラスの別の形 27/59
  • 28. • 𝑦2 = 𝑥3 + 𝑎𝑥 + 𝑏を満たす(𝑥, 𝑦)はどこで考える? • 例 : ℂ(複素数全体)や𝐹𝑝(有限体𝐹𝑝(𝑝 ≠ 2,3)の代数的閉体) • 代数的閉体とは • そのなかで任意の多項式が因数分解できるもの • ℝ(実数全体)は代数的閉体ではない • 𝑥2 + 1は因数分解できない • ℝに −1 を追加したものがℂ • −1は𝑥2 + 1 = 0の解 • 有限体も同様に元を追加していくことで代数的閉体にできる • 𝐹7 −1 = {𝑎 + 𝑏 −1 |𝑎, 𝑏 ∈ 𝐹7} • これはまだ代数的閉体ではないのでこの操作を繰り返す • 以降ℂで考えるが𝐹𝑝でも概ね似た議論ができる 解の空間 28/59
  • 29. • ℂが代数的閉体とは • 任意の多項式が因数分解できる(代数学の基本定理) • 証明 • もし因数分解できない多項式𝑓(𝑥)があったら • 𝑓 𝑥 = 0となる𝑥 ∈ ℂがない • 𝑔 𝑥 = 1/𝑓(𝑥)はℂ上で有界 • つまりある範囲で押さえられる • 定数𝑀 > 0があって 𝑔 𝑥 < 𝑀 for 𝑥 ∈ ℂ • ここでLiouvilleの定理を使う • ℂ上の整関数(どこでも微分可能)が有界ならそれは定数関数 • 𝑔(𝑥)が定数関数(矛盾) 代数学の基本定理 29/59
  • 30. 𝑃 𝑂 −𝑃𝑙1 • 𝐸上の点𝑂を一つ固定する(これが単位元) • 無限遠点でなくてもよい • 𝐸上の点𝑃に対して逆元−𝑃の図 • 𝑃と𝑂を通る直線𝑙1と𝐸が交わるもう一つの点 • 𝑥の3次式なので𝑙1は𝐸と3点で交わる 楕円曲線𝐸上の単位元と逆元 30/59
  • 31. 𝑃 𝑂 𝑄 𝑙2 −(𝑃 + 𝑄) 𝑙3 𝑃 + 𝑄 • 𝐸上の点𝑃, 𝑄に対して𝑃, 𝑄を通る直線𝑙2が通る もう一つの𝐸上の点を−𝑅とする 𝑅 ≔ 𝑃 + 𝑄 楕円曲線𝐸上の足し算 31/59
  • 32. • 足し算というからには次の性質を満たしてほしい • 任意の𝑃, 𝑄, 𝑅 ∈ 𝐸に対して • 𝑃 + 𝑂 = 𝑃 ; 𝑂が単位元 • 𝑃 + −𝑃 = 𝑂 ; −𝑃は𝑃の逆元 • 𝑃 + 𝑄 + 𝑅 = 𝑃 + 𝑄 + 𝑅 ; 結合法則 • この三つの性質を満たす集合を群という • 𝑃 + 𝑄 = 𝑄 + 𝑃 ; 可換 • この性質を満たす群を加法群という • 可換群, アーベル群ともいう • 楕円曲線𝐸について結合法則以外は容易に示せる • トーラスの場合の結合法則はほぼ明らか "足し算"になっていること 32/59
  • 33. • 𝑃 + 𝑄 + 𝑅 = 𝑃 + (𝑄 + 𝑅) • https://www.desmos.com/calculator/28wbmxtqiu 結合法則 𝑃 𝑄 𝑆1 = −(𝑃 + 𝑄) 𝑂 𝑆2 = 𝑃 + 𝑄 𝑅 𝑆4 = −(𝑄 + 𝑅) 𝑆5 = 𝑄 + 𝑅 𝑙1 𝑙2 𝑙3 𝑙4 𝑙6 𝑆3 = − 𝑃 + 𝑄 + 𝑅 𝑆6 = −(𝑃 + 𝑄 + 𝑅 ) 𝑙5 33/59
  • 34. • 𝑛次曲線 • 𝑥, 𝑦に関する𝑛次多項式で定まる曲線 • Bezoutの定理 • 𝑛次曲線と𝑚次曲線の交点は𝑛𝑚個 • Cayley-Bacharachの定理 • 3次曲線𝐶, 𝐶1, 𝐶2をとる • 𝐶1と𝐶2の交点は9個 • 𝐶がそのうち8個を通れば残りの1点も通る 結合法則を示すための二つの定理 2次曲線同士なら4個 34/59
  • 35. • 点𝑃, 𝑅, 𝑅, 𝑂を固定すると • 𝑃 + 𝑄 + 𝑅のとき点− 𝑃 + 𝑄 , 𝑃 + 𝑄, −( 𝑃 + 𝑄 + 𝑅)が定まる • 𝑃 + (𝑄 + 𝑅)のとき点− 𝑄 + 𝑅 , 𝑄 + 𝑅, −(𝑃 + 𝑄 + 𝑅 )が定まる 状況確認 同じに(𝑚1と𝑙3の交点)なるか? 𝑃 𝑅 𝑄 −(𝑃 + 𝑄) 𝑃 + 𝑄 𝑂−(𝑄 + 𝑅) 𝑄 + 𝑅 −( 𝑃 + 𝑄 + 𝑅 −(𝑃 + 𝑄 + 𝑅 ) 𝑙1 𝑙2 𝑙3 𝑚1 𝑚2 𝑚3 35/59
  • 36. • 𝐶1, 𝐶2を𝑙1 𝑙2 𝑙3,𝑚1 𝑚2 𝑚3とすると𝐶𝑖は3次曲線 • 楕円曲線𝐸は𝐶1 , 𝐶2と8点 𝑃, 𝑄, 𝑅, 𝑂, 𝑃 + 𝑄, 𝑄 + 𝑅, − 𝑃 + 𝑄 , − 𝑄 + 𝑅 で交わる • よって𝐸は𝐶1と𝐶2の残りの1点𝑋を通る • つまりX = − 𝑃 + 𝑄 + 𝑅 = −(𝑃 + 𝑄 + 𝑅 ) • よって 𝑃 + 𝑄 + 𝑅 = 𝑃 + (𝑄 + 𝑅) 観察 𝑃 𝑅 𝑄 −(𝑃 + 𝑄) 𝑃 + 𝑄 𝑂 −(𝑄 + 𝑅) 𝑄 + 𝑅 −( 𝑃 + 𝑄 + 𝑅 −(𝑃 + 𝑄 + 𝑅 ) 𝑙1 𝑙2 𝑙3 𝑚1 𝑚2 𝑚3 𝑋 36/59
  • 37. • 3次式が"3個の直線の積"になったとき • 適当な直線𝐿1, 𝐿3上に6点をとって線を結ぶと交点が同一直線 𝐿2上に乗る ; Pappusの定理 • "𝐿1, 𝐿2, 𝐿3は無限遠点でつながっている"と心の目で見る 特別バージョン 𝑅 𝐿1𝑃 𝑂 𝑄 + 𝑅 𝑃 + 𝑄 𝑄 𝐿2 𝐿3 −(𝑃 + 𝑄) − 𝑃 + 𝑄 + 𝑅 = −(𝑃 + 𝑄 + 𝑅 ) −(𝑄 + 𝑅) 37/59
  • 38. • 単位元𝑂を無限遠点にとる 楕円曲線の加法公式 𝑃 𝑄 𝑙2 −(𝑃 + 𝑄) 𝑙3 𝑃 + 𝑄 𝑃 𝑂(無限遠点) −𝑃 𝑙1 38/59
  • 39. • 𝑃 = 𝑥1, 𝑦1 , 𝑄 = (𝑥2, 𝑦2),𝑅 = 𝑥3, 𝑦3 = 𝑃 + 𝑄とする • 𝑃, 𝑄を通る直線𝑙2は 𝑦 = 𝑦2 − 𝑦1 𝑥2 − 𝑥1 𝑥 − 𝑥1 + 𝑦1 = 𝜆 𝑥 − 𝑥1 + 𝑦1 • 𝑦2 = 𝑥3 + 𝑎𝑥 + 𝑏に代入して展開 • 𝑥3 − 𝜆2 𝑥2 + ⋯ = 0 • 𝑥2の係数に着目して3次方程式の解と係数の関係から 𝑥1 + 𝑥2 + 𝑥3 = 𝜆2 加法の計算式(1/2) 𝑃 𝑄 𝑙2 39/59
  • 40. • 𝑃 = 𝑥1, 𝑦1 , 𝑄 = (𝑥2, 𝑦2),𝑅 = 𝑥3, 𝑦3 = 𝑃 + 𝑄 • 𝜆 = 𝑦1−𝑦2 𝑥1−𝑥2 • つまり 𝑥3 = 𝜆2 − 𝑥1 + 𝑥2 𝑦3 = −(𝜆 𝑥3 − 𝑥1 + 𝑦1) • ここまで書き下せばコンピュータで計算できる 加法の計算式(2/2) 40/59
  • 41. • 突如現れた𝑦2 = 𝑥3 + 𝑎𝑥 + 𝑏ってなんだ? • この多項式は必然なのか • 作為的な加法公式の由来は • 最初はトーラスで説明していたのに • 以降、その関係性を眺める • 代数幾何の定理(Riemann-Rochの定理)を天下りに使う • もう少し手を動かして複素数上の二重周期関数を観察する トーラスと楕円曲線のつながり 41/59
  • 42. • トーラス𝑇上の関数 • 関数の極 • 関数が作るベクトル空間𝐿(𝑛𝑃) • Riemann-Roch • 二重周期関数 • ℘関数 • ℘関数の満たす性質 • トーラスから楕円曲線への写像 • 同型性 概要 42/59
  • 43. • ある物体𝑇を調べるとき、それを直接調べる代わりに その上の関数にどんなものがあるかを調べる • 𝑘(𝑇)を𝑇上の𝑘値関数全体とする(𝑘は代数的閉体) • 細かい条件はここでは触れない • 𝑘(𝑇)は大きい集合なので条件をつけてその部分集合を考える • 𝑇上の点𝑃を一つ決める • 𝑛 ∈ 𝑍≥0に対して 𝐿 𝑛𝑃 : = {𝑓 ∈ 𝑘(𝑇):𝑃でのみ高々𝑛位の極を持つ そのほかの点では極はない} ∪ {0} • 以下𝐿(𝑛𝑃)を調べよう • その前に用語の説明 トーラス𝑇上の関数 43/59
  • 44. • 𝑓 ∈ 𝑘(𝑇)が点𝑃で𝑛(> 0)位の極を持つとは 点𝑃の付近で 𝑓 𝑧 = 𝑎−𝑛 𝑧−𝑛 + 𝑎−𝑛+1 𝑧−𝑛+1 + ⋯ , (𝑎−𝑛≠ 0) という形をしているもの • このときord 𝑃 𝑓 = −𝑛とかく • 例 • 𝑓 𝑥 = 𝑥−2 + 𝑥は𝑥 = 0で2位の極をもつのでord0 𝑓 = −2 • 𝑓 𝑥 = 1/ sin 𝑥 はsin 𝑥 = 𝑥 − 𝑥3 3! + 𝑥5 5! − ⋯よりord0 𝑓 = −1 関数の極(pole) 44/59
  • 45. • 定数倍𝑎(≠ 0)しても変わらない • ord 𝑃 𝑎𝑓 = ord 𝑃(𝑓) • 関数𝑓, 𝑔に対して ord 𝑃 𝑓 + 𝑔 ≥ min (ord 𝑃 𝑓 , ord 𝑃 𝑔 ) • 3位と5位の極をもつ関数を足したら5位の極 • ord0 1 𝑥3 = −3, ord0 1 𝑥5 = −5, ord0 1 𝑥3 + 1 𝑥5 = −5 • 同じ位数の極をもつ関数を足せばキャンセルすることがある • 𝑓 = 1 𝑥3 + 𝑥, 𝑔 = − 1 𝑥3 + 1 𝑥2なら𝑓 + 𝑔 = 1 𝑥2 + 𝑥 • ord0 𝑓 = −3, ord0 𝑔 = −3 , ord0 𝑓 + 𝑔 = −2 ordの性質 45/59
  • 46. • 𝑎, 𝑏 ∈ 𝑘, 𝑥, 𝑦 ∈ 𝑉に対して𝑎𝑥 + 𝑏𝑦 ∈ 𝑉 • 𝑉の基底𝑒1, … , 𝑒 𝑛 • 𝑉の任意の元は𝑎1 𝑒1 + ⋯ + 𝑎 𝑛 𝑒 𝑛, 𝑎𝑖 ∈ 𝑘の形で一意にかける • 特に𝑎1 𝑒1 + ⋯ + 𝑎 𝑛 𝑒 𝑛 = 0なら𝑎1 = ⋯ = 𝑎 𝑛 = 0 • この性質を一次独立という • 例 • 𝑉 = ℝ3 の基底𝑒1 = 1,0,0 , 𝑒2 = 0,1,0 , 𝑒3 = (0,0,1) • 任意の点 𝑥, 𝑦, 𝑧 ∈ 𝑉は𝑥𝑒1 + 𝑦𝑒2 + 𝑧𝑒3とかける • 𝑥𝑒1 + 𝑦𝑒2 + 𝑧𝑒3 = 0なら𝑥 = 𝑦 = 𝑧 = 0 • 𝑉は3次元ベクトル空間 • 𝑉 = 𝑘 𝑥 = {∑𝑎𝑖 𝑥 𝑖 ; 有限和, 𝑎𝑖 ∈ 𝑘}の基底は1, 𝑥, 𝑥2 , 𝑥3 , … • 𝑉は無限次元ベクトル空間 𝑘ベクトル空間𝑉 46/59
  • 47. • 𝐿 𝑛𝑃 = {𝑓 ∈ 𝑘(𝑇): ord 𝑃 𝑓 ≥ −𝑛, 𝑓は𝑃以外に極はない} ∪ {0} • 𝐿(𝑛𝑃)は𝑘ベクトル空間 • 𝑓, 𝑔 ∈ 𝐿(𝑛𝑃)なら𝑓 + 𝑔 ∈ 𝐿 𝑛𝑃 • 𝑘𝑓 ∈ 𝐿(𝑛𝑃) • 一般に関数の集合のベクトル空間は無限次元なことが多い • トーラス𝑇に対する𝐿(𝑛𝑃)は有限次元ベクトル空間 • より強く 𝑙 𝑛𝑃 : = dim 𝑘 𝐿 𝑛𝑃 = 1 if 𝑛 = 0 𝑛 if 𝑛 > 0 • Riemann-Rochの定理からの帰結 𝐿(𝑛𝑃)の重要な性質 47/59
  • 48. • 𝑙 0𝑃 = 1 • 𝑇上で極をもたない関数は定数関数のみ(Liouvilleの定理) • 𝐿 0𝑃 = 〈1〉 • 𝑙 𝑃 = 1 • 𝑃でのみ1位の極を持つ関数は存在しない • 𝐿 1𝑃 = 〈1〉 • 𝑙 2𝑃 = 2 • 𝑃でのみ2位の極を持つ関数𝜉が一つある • 𝐿 2𝑃 = 〈1, 𝜉〉, ord 𝑃 𝜉 = −2 • 𝑙 3𝑃 = 3 • 𝑃でのみ3位の極を持つ関数𝜂が一つある • 𝐿 3𝑃 = 〈1, 𝜉, 𝜂〉, ord 𝑃(𝜂) = −3 𝐿(𝑛𝑃)を観察する 48/59
  • 49. • 続き • 𝜉2は𝑃で4位の極を持つ → 𝐿 4𝑃 = 〈1, 𝜉, 𝜂, 𝜉2〉 • 𝜉𝜂は𝑃で5位の極を持つ → 𝐿 5𝑃 = 〈1, 𝜉, 𝜂, 𝜉2, 𝜉𝜂〉 • 𝜉3 と𝜂2 は𝑃で6位の極を持つ → 1, 𝜉, 𝜂, 𝜉2 , 𝜉𝜂, 𝜉3 , 𝜂2 ∈ 𝐿(6𝑃) • 𝑙 6𝑃 = 6なのに基底の候補が7個ある • これらは一次独立ではない • 𝑎1, … , 𝑎7 ≠ (0, … , 0)となるもので次を満たすものがある 𝑎1 + 𝑎2 𝜉 + 𝑎3 𝜂 + 𝑎4 𝜉2 + 𝑎5 𝜉𝜂 + 𝑎6 𝜉3 + 𝑎7 𝜂2 = 0, 𝑎𝑖 ∈ 𝑘 • 𝑎7 = 0なら1, 𝜉, 𝜂, 𝜉2, 𝜉𝜂, 𝜉3が一次独立でない • 𝑙 6𝑃 = 6に反するので𝑎7 ≠ 0 • 全体を𝑎7で割って𝑎7 = 1としてよい • 𝜂2 + (𝑎5 𝜉 + 𝑎3)𝜂 = 𝑎6 𝜉3 + 𝑎4 𝜉2 + 𝑎2 𝜉 + 𝑎1 • 適当に変数変換して𝑎5 = 𝑎3 = 0とできる 𝜉と𝜂の関係(1/2) 49/59
  • 50. • 𝜂2 = 𝑎6 𝜉3 + 𝑎4 𝜉2 + 𝑎2 𝜉 + 𝑎1 • 𝑎6 = 0なら2次式の関係式になって球面になってしまう • 適当に(線形結合の範囲で)変数変換して 𝜂2 = 𝜉3 + 𝑎𝜉 + 𝑏の形にもっていける • 楕円曲線𝐸の式! • 𝐿 3𝑃 の基底〈1, 𝜉, 𝜂〉はこの関係式を満たす • 定理 • 𝜑: 𝑇 ∋ 𝑧 ↦ 𝜉 𝑧 , 𝜂 𝑧 ∈ 𝐸は1対1のきれいな写像になる • 𝜑はトーラスと楕円曲線をつなぐ重要な写像 𝜉と𝜂の関係(2/2) 50/59
  • 51. • トーラス𝑇上の関数𝑓とはなんだろう • 𝑇は長方形(より一般に平行四辺形)の両端を張り付けたもの • 𝑇上の関数は複素数ℂ上の関数とみなすと 長方形を単位とする二重周期関数となる • 𝑓 𝑧 + 𝜆1 = 𝑓 𝑧 + 𝜆2 = 𝑓(𝑧) 少し違うアプローチ 𝑂 𝜆1 𝜆1 + 𝜆2 𝜆2 . . . . . . . . . . . . 全ての黒丸は 同じ値になる 𝑧 . トーラス上の関数𝑓 複素平面ℂ上の関数𝑓 51/59
  • 52. • ある関数𝑔(𝑥)があったとき 𝑓 𝑥 = 𝑔(𝑥 + 𝑛𝜆) 𝑛 は値が定まるなら周期関数 𝑓 𝑥 + 𝜆 = 𝑓(𝑥) • 例 • 𝑔 𝑥 = 1/𝑥2のときの 𝑓 𝑥 = 𝑔 𝑥 = 1 𝑥 − 𝑛 2 ∞ 𝑛=−∞𝑛 • 実際は𝑓 𝑥 = 𝜋2/ sin2 𝜋𝑥 • 二重周期関数の場合は Λ = {𝜆 = 𝑛𝜆1 + 𝑚𝜆2|𝑛, 𝑚 ∈ ℤ}について和をとる 周期関数を作る 52/59
  • 53. • 𝑓 𝑧 = ∑ 1 𝑧−𝜆 3 = ∑ 1 𝑧−𝑛𝜆1−𝑚𝜆2 3𝑛,𝑚∈ℤ𝜆∈Λ • 𝑧 ∉ Λについて𝑓(𝑧)は確定(収束)する • 𝑓 𝑧 は𝑧 = 0で3位の極 • 別の例 • ℘ 𝑧 = 1 𝑧2 + ∑ ( 1 (𝑧−𝜆)2 − 1 𝜆2)𝜆∈Λ∖{0} • ℘ 𝑧 は𝑧 = 0で2位の極 • ℘′(𝑧) = − 2 𝑧3 − ∑ 2 𝑧−𝜆 3𝜆∈Λ∖ 0 = −2𝑓(𝑧) • ℘′(𝑧)は𝑧 = 0で3位の極 • ℘ −𝑧 = ℘(𝑧) • ℘をもう少し調べよう トーラス𝑇上の関数の具体例 53/59
  • 54. • ℘ 𝑧 − 1/𝑧2は𝑧 = 0で0 • ℘ −𝑧 = ℘(𝑧)より℘ 𝑧 の級数展開は奇数次が無い • ℘ 𝑧 = 1 𝑧2 + 𝑐2 𝑧2 + 𝑐4 𝑧4 + 𝑐6 𝑧6 + ⋯ • ℘′(𝑧) = − 2 𝑧3 + 2𝑐2 𝑧 + 4𝑐4 𝑧3 + 6𝑐6 𝑧5 + ⋯ • ℘ 𝑧 3は1/𝑧6の項から始まる • ℘′ z 2は4/𝑧6の項から始まる • 𝑔 𝑧 = ℘′ 𝑧 2 − 4℘ 𝑧 3を計算してみる • 𝑔(𝑧) = − 20c2 z2 − 28c4 − 36c6 + 8c2 2 z2 + ⋯ • 𝑔(𝑧)に20𝑐2℘(𝑧)を足してみる • ℘′ 𝑧 2 − 4℘ 𝑧 3 + 20𝑐2℘ 𝑧 = −28𝑐4 + 12𝑐2 2 − 36𝑐6 𝑧2 + ⋯ • 右辺は𝑧 = 0で極をもたない ℘(𝑧)の性質 54/59
  • 55. • 右辺が極を持たないので定数になる • またもやLiouvilleの定理 • ℘′ 𝑧 2 − 4℘ 𝑧 3 + 20𝑐2℘ 𝑧 = −28𝑐4 + 12𝑐2 2 − 36𝑐6 𝑧2 + ⋯ • つまり𝑐2 2 = 3𝑐6などが成り立つ • 改めて𝑥 = ℘ 𝑧 , 𝑦 = ℘′(𝑧)とおくと 𝐸 = 𝑥, 𝑦 𝑦2 = 4𝑥3 − 20𝑐2 𝑥 − 28𝑐4} • 楕円曲線の式がでてきた! • 𝜑Λ : 𝑇 ∋ 𝑧 ↦ ℘ 𝑧 , ℘′ 𝑧 ∈ 𝐸はトーラスから楕円曲線への写像 • 実は1対1の対応が成り立つ • 𝜑Λ 0 = 𝑂 ; 無限遠点 • ℘ 𝑧 , ℘′(𝑧)は𝐿(2𝑂), 𝐿(3𝑂)の基底𝜉, 𝜂に対応 • そしてそれだけではない トーラスから楕円曲線へ 55/59
  • 56. • トーラス𝑇上の加算𝑧3 = 𝑧1 + 𝑧2は複素数としての加算 • 𝑃 = 𝜑Λ 𝑧1 = 𝑥1, 𝑦1 , 𝑄 = 𝜑Λ 𝑧2 = (𝑥2, 𝑦2)とすると 𝑦𝑖 2 = 4𝑥𝑖 3 − 20𝑐2 𝑥𝑖 − 28𝑐4 • 𝑢𝑖 = 2𝑥𝑖, 𝑣𝑖 = 2 𝑦𝑖とおくと 𝑣𝑖 2 = 𝑢𝑖 3 − 20𝑐2 𝑢𝑖 − 56𝑐4 • 𝑅 = 𝑥3, 𝑦3 = 𝑃 + 𝑄とすると楕円曲線の加法公式より 𝑢3 = ( 𝑣2 − 𝑣1 𝑢2 − 𝑢1 )2 −(𝑢1 + 𝑢2) • 𝑥𝑖, 𝑦𝑖の式に書き直すと 2𝑥3 = 1 2 𝑦2 − 𝑦1 𝑥2 − 𝑥1 2 − 2 𝑥1 + 𝑥2 加法公式の対応 56/59
  • 57. • もし𝜑 𝑧3 = 𝑅になるなら𝑥3 = ℘ 𝑧3 = ℘(𝑧1 + 𝑧2)より ℘ 𝑧1 + 𝑧2 = 1 4 ℘′ 𝑧2 − ℘′(𝑧1) ℘ 𝑧2 − ℘ 𝑧1 2 − (℘ 𝑧1 + ℘ 𝑧2 ) • これは実際に成り立つ ℘関数の加法公式 57/59
  • 58. • つまり 𝑅 = 𝑃 + 𝑄 𝜑Λ 𝑧1 + 𝑧2 = 𝜑Λ 𝑧1 + 𝜑Λ(𝑧2) • 図形的な加算の定義が複素数の加算とつながった 𝜑Λは同型 トーラス上の加算 楕円曲線上の加算 𝑧1 𝑧2 𝑧1 + 𝑧2 𝑃 𝑄 𝑙3 𝑃 + 𝑄 𝜑Λ 58/59
  • 59. • 平行四辺形の両端をつなげてトーラスを作る • トーラスは加算ができる一番簡単な物体 • 楕円曲線𝐸 = {(𝑥, 𝑦)|𝑦2 = 𝑥3 + 𝑎𝑥 + 𝑏}も加算ができる • トーラスと楕円曲線は表裏一体 まとめ 59/59