SlideShare a Scribd company logo
1 of 45
-1-
©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
楕円曲線暗号勉強会
2014/6/4
2014/6/4 v.1.0
大石哲之
-
2©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
まめちしき
 楕円曲線   Elliptic Curve
 電子署名アルゴルズム  Digital Signature Algorithm
 つまり  ECDSA
-
3©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
楕円曲線暗号とは?(特徴)
・素数を使った RSA にくらべて・・・
 キーが短くてすむ
 短いキーでも強度がある( RSA にくらべて 1/10 )
 計算速度 [1]
– RSA 署名の生成には非常に時間がかかる
– ECDSA の署名検証は署名生成よりほんの少し長く時間がか
かる
– ECDSA の署名生成は普通に時間がかかる
– RSA 署名の検証は非常に短時間である ECDSA の署名生成は
普通に時間がかかる
– RSA では鍵長が長くなるほどその傾向が顕著になる。
– ECDSA は RSA ほどは鍵長が長くなる影響を受けない。
[1] http://blog.livedoor.jp/k_urushima/archives/1721840.html
-
4©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
楕円曲線暗号の原理
さっぱりわからないと思うけど、かっこ良くいうとw・・
p を素数とする有限体 Fp における楕円曲線 E の点は、加法を定義すると
、群をなす。
この群 G(E,Fp) における、離散対数問題は解くのが難しく、解読アルゴ
リズムの計算量は、せいぜい Ο(2^n) である。
これを利用して、鍵の共有、公開鍵暗号、電子署名を実現。
まあ、これを説明を試みます。
-
5©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
RSA と楕円曲線暗号
・ RSA は、巨大な数の素因数分解の困難さを原理としたもの
143 = 11 * 13
637 = 7 * 7 * 13
452587774583620210025098035652011444252579830245620256529
870265122336584520156200214785212221154464684613160460601
665840641198041651062509610160684064860113212102101213135
840861051568484115610615610351884512054685478963214785632
056302148632014896320145632589542685624586215863214520156
321456320158652147865214785621478632014589632145896324589
636985269854269885963258632014589632156214562145632145632
149
= ????
-
6©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
RSA と楕円曲線暗号
・楕円曲線上の、離散対数問題の困難さ
指数
10^4 = 10000
2^8 = 256
対数は指数関数の反対
log10(10000)=4 : 10^? = 10000
log2(256)=8 : 2^? = 256
Log2(65536)=? : 2^? = 65536
普通は指数を計算するのは、巨大な数でも、電卓で一発。
Log e (49256984613548561) = 38.435827572
しかし、楕円曲線上のある種の数の集合における特殊な対数(離散対数)においては、
これが極端に難しくなる。
-
7©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
楕円曲線
楕円形ではなく、楕円の弧の長さを求める問題と関係があるから
-
8©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
おさらい
グラフの線とは、楕円曲線の方程式を満たす=0になる
点をプロットしたもの。
無数に点があるということ。
-
9©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
有限体上の楕円曲線
実際に使われている楕円曲線暗号においては、楕円曲線の有理点を
使っているのではなく、「有限体上の楕円曲線の点(解の集合)」を
使っています。
有限体という、数学者以外は聞いたことのない概念を持ち出す必要
がありますが、挑戦いたします。
いままで説明した楕円曲線の話を、特殊な数の体系のなかでおこな
います。
-
10©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
体 (Field )とは?
体 (field) というのは、代数の構造で、加減乗除ができるもの
整数 加減乗しても整数だが、除すると、有理数になる
有理数 加減乗除しても有理数に収まる
有理数=分数であらわせるもの=つまり除算
有理数体  Q の字で表す
-
11©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
素数を法とした有限体 
・有理数体
つまりすべての有理数の集合は、無限にある
・有限体
要素が有限のもの
たとえば、 1,2,3,4,5,6,7,8,9,10,11,12
・この体では、計算がなりたつか?
足し算 1+2=3
3+5=8
8+6=14
足がでますね。そこで、これを12でわる
-
12©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
モジュラー算術
12を法とするモジュラー算術
7+5≡ 12
5+8≡1
9+9≡ 6
12+12+12+4 ≡ 4
-
13©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
モジュラー算術(時計)
・足し算
12+12=12
・引き算
1-12=1
・掛け算
4*10=40=4
・割り算
12 ÷ 5=?
5*?=12
5*12=60=(60-48)=12
※ 時計において、割り算はいつでも成り立つのかはよく分かりません
成り立たないとすると、定義からは Field ではないね。
-
14©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
Fp 上の算術
Fp ( Field p : 素数を法にした有限体)とは、整数を素数で除算
した余りの集合
要するに時計盤の文字数を素数にしたもの
F(23) という数の体系は、 0 から 22 までの数字がある世界だとお
もってよい。
素数の時計盤の算術は、加減乗除が常に成り立つらしい。
加減乗除が成り立つということは、方程式も解けます
つまり、 F(23) 上で、楕円曲線の方程式を解くことができる
-
15©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
有限体上の楕円曲線の解
要するに、たとえば F(23) だと、 0 ~ 22 までしかない数字の体系
のなかで、
こういう楕円曲線を解くということです。
解くというのは、つまり、この方程式がゼロになる点をみつけると
いうこと。
そんなことできるんですかね?
できるようです。
-
16©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
有限体上の楕円曲線の解 
たとえば、有限体 F(2) の場合、
楕円曲線の方程式を : y^2=x^3-x としましょう
F (2)は、 0 と 1 しかない体です。
この数の体系において、存在する座標は、つぎの 4 つですべて。全部を検証
してみましょう。
点 (0,0) 0^2=0^3-0 ・・ OK
点 (0,1) 1^2=0^3-0 ・・ NG
点 (1,1) 1^2=1^3-1 ・・ NG
点 (1,0) 0^2=1^1-1 ・・ OK
これだと、点 (0,1) と点 (1,0) がこの楕円方程式の解になることがわかり
ます。
-
17©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
F(5) での例
Source : 数学ガール
F(5) は 0 から 5 までの数しかない体なので、 5x5 = 25 個の座標があります。
-
18©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
Fp 上の楕円曲線とそのグラフ  (p=23)
F(23) 上で、 y^2=x^3-x という楕円曲線を描いたものです(解をプロット
したもの)。通常の楕円曲線と違って、「離散」しています。
Source: 数学ガール
F(23) における楕円曲線 y^2=x^3-x のグラフ
-
19©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
参考) Fp 上の楕円曲線の解の個数
http://sigma2011auemath.web.fc2.com/pdf/09shun.pdf
おまけ。こういうのを調べるのが、代数学です。
フェルマーの最終定理あたりはこのあたりから解けました。
-
20©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
楕円曲線上の点の足し算
P
R
Q
-
21©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
Fp 上の楕円曲線上の点:スカラー倍算(掛け
算)
2 × G = G + G ※ 同じものをたす2倍算
3 × G = G + (G + G) ※ 繰り返しで3倍
d × G = G + ( G + ( G ・・・・)※ d 倍が定義できる
-
22©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
群( Group)
・有限体上の楕円曲線の点(解の集合)は、加法に関して、群
(group) をなします。
・点を E と書くと
・任意の点の E の足し算、スカラー倍算の結果は、他の E の点になる
。
・ある点 E からはじめて順番に倍々していくと、すべての点が現れる
(巡回群)
-
23©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
楕円曲線上の離散対数
2 × G = G + G
3 × G = G + G + G
d × G = G + G + G ・・・・ d 回
これは計算が簡単。
Q = d × G
ある座標 Q が与えられて、ベースポイント G の座標も与えられている。
このとき、座標 Q は、ベースポイント G を何回足したものか(対数)を求め
るという問題
これが離散対数問題といわれるもの。
-
24©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
楕円曲線暗号のイメージ
ベースポイント G
F(23) における
y^2=x^3-x の解
d 倍 = 秘密鍵
※ 実際にこの点に移動す
るのかは分かりません。
あくまでイメージです
ベースポイントを倍算するたびに、ポイントは F(p) 上の楕円曲線の点をぐ
るぐるとすべての点をめぐります(巡回群)。 d が秘密鍵であり、ベース
ポイントを d 倍する行為が暗号化。
暗号 Q
-
25©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
Fp 上の楕円曲線における離散対数
ベースポイント G
。
暗号 Q
暗号の点 Q とベースポイントが分かったとしても、何倍したのか(d)を
効率的に計算することはできない。できるのは試行錯誤(最大d回)。
? 倍
-
26©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
楕円曲線のパラメータ例
F(p) = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFEE37
The curve E: y2 = x3 + ax + b over Fp is defined by:
a = 0
b = 3
: y2 = x3 + 3
The base point G
G = (DB4FF10E C057E9AE 26B07D02 80B7F434 1DA5D1B1 EAE06C7D,
9B2F2F6D 9C5628A7 844163D0 15BE8634 4082AA88 D95E2F9D)
Finally the order n of G and the cofactor are:
n = FFFFFFFF FFFFFFFF FFFFFFFE 26F2FC17 0F69466A 74DEFD8D
h = 01
素数体
解の個数
ベース
ポイント
の座標
楕円
方程式
=2^192
-
27©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
楕円曲線上のディフィー・ヘルマンの鍵共有
・利用する楕円曲線と、ベースと
なるポイント (G) はパラメータと
して予め公開
Alice bob
① アリスは、乱数を用いて
秘密鍵 A を作る
① ボブも、乱数を用いて
秘密鍵 A を作る
② 公開鍵 PA =秘密鍵 dA *
ベースポイント G
② 公開鍵 PB =秘密鍵 dB *
ベースポイント G
③ 送られてきた公開鍵に自
分の秘密鍵を掛け算
秘密鍵 dA * 公開鍵 PB
= 秘密鍵 dA *   ( 秘密鍵 dB
* ベースポイント G)
③ 送られてきた公開鍵に自
分の秘密鍵を掛け算
秘密鍵 dB * 公開鍵 PA
= 秘密鍵 dB * ( 秘密鍵 dA *
ベースポイント G)
第三者
暗号 A,B, ベースポイ
ント G からは秘密鍵
は計算不能
超簡単。自分の秘密鍵とペースポイントを掛け算して、相手に送り合う。おく
られてきた数に、自分の秘密鍵をもう一回掛け算すると、相手と同じ鍵が共有
できる
同じ値
-
28©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
楕円曲線上のデジタル署名
Source: 楕円曲線暗号入門 伊豆哲也
-
29©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
楕円曲線上のデジタル署名
•重要な事は、署名をするときに、ペースポイントの位数以下のランダムな数 k
を用いるが、これは繰り返しつかってはいけない。
•同じ k をつかって、署名した文章が2つあると、その差分から、秘密鍵を計算
することができてしまう。
Wikipedia による
-
30©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
ISO
Source: http://www.imes.boj.or.jp/research/papers/japanese/13-J-05.pdf
-
31©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
RSA の問題点
・鍵長が長くなる
( NIST : National Institute of Standards and
Technology )等によれば最近までは 1,024 ビット( 10 進数で
300 桁程度)あれば安全とされていたが、現在では 2030 年頃までの
利用を想定する場合には 2,048 ビット( 10 進数で 600 桁程
度)の鍵長が推奨されるようになってきている
Source: http://www.imes.boj.or.jp/research/papers/japanese/13-J-05.pdf
-
32©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
安全性
・楕円曲線暗号と RSA が同程度の安全性を達成するために必要な鍵
長について評価が行われている(図表 8 参照)。 NIST[2012] で
は、例えば、鍵長 2,048 ビットの RSA ( 10 進数で 600 桁程度)
と鍵長 224 ~ 255 ビット( 10 進数で 67 ~ 76 桁程度)の楕円曲
線暗号が同等の安全性を有すると評価している
Source: http://www.imes.boj.or.jp/research/papers/japanese/13-J-05.pdf
-
33©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
解読法
< RSA >
・数体ふるい法。 Ο(2^√n)
<楕円曲線暗号>
ブルースフォース
・平方根法、ロー ρ 法 
オーダーは、 Ο(2^n)
より簡単な離散対数問題に変換
・ GHS 法: Ο(2^√n)
・ MOV 帰着法、 FR 帰着法: Ο(2^√n)
・ SSSA 法: Ο(n^a)
パラメーター依存なので、パラメータ設定が大事
-
34©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
アルゴリズムのオーダー(計算量)
Source: http://www.imes.boj.or.jp/research/papers/japanese/13-J-05.pdf
-
35©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
以下未使用
以下未使用
-
36©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
楕円曲線暗号の暗号化のイメージ
パラメータ: y2=x3+ax+b  方程式
ペースポイント: P
ベースポイント P
ベースポイントを倍算するたびに、ポイントは楕円曲線の有理点上をぐる
ぐる回る。暗号化のときは、秘密鍵= d 回だけ掛け算する。
d 回掛け算
-
37©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
楕円曲線暗号の暗号化後の値
パラメータ: y2=x3+ax+b  方程式
ペースポイント: P
ベースポイント P
ペースポイントを、秘密鍵 d の回数だけ掛け算したものが暗号化後の値。
暗号化後の点 Q
d 回掛け算
-
38©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
安全性のイメージ
パラメータ: y2=x3+ax+b  方程式
ペースポイント: P
ベースポイント P
ベースポイントと点 Q から、秘密鍵 d の値を知るには、 P を 1 から倍算し
ていって、 Q になるかを確かめる総当りしかない。最悪の場合、秘密鍵 d
の回数の計算が必要
暗号化後の点 Q
不可能
-
39©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
検算のイメージ
パラメータ: y2=x3+ax+b  方程式
ペースポイント: P
ベースポイント P
秘密鍵 d を知っているひとは、ベースポイントを d 倍して、検算は簡単。
暗号化後の点 Q
秘密鍵 d
検算のしかた
dP = Q ?
-
40©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
パラメータ設定
利用する楕円曲線の方程式: E
体の位数: F(p)
E,F(p) 上の基準点: G
Microsoft Digital Rights Management で用いられている楕
円曲線
Source: wikipedia
-
41©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
パラメータ
Source: http://www.imes.boj.or.jp/research/papers/japanese/13-J-05.pdf
-
42©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
楕円曲線上の有理点の数
Source: 解決フェルマーの最終定理 加藤和也
y^2=x^3+1
有理点の個数は上の5つのみ
無数に点があるとやっかいなので、有理点のみを取り上げる
-
43©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
楕円曲線上の有理点の足し算
P
R
Q
-
44©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
楕円曲線暗号の暗号化のイメージ
パラメータ: y2=x3+ax+b  方程式
ペースポイント: G
ベースポイント G
ベースポイントを倍算するたびに、ポイントは楕円曲線の有理点上をぐる
ぐる回る。暗号化のときは、秘密鍵= d 回だけ掛け算する。
d 回掛け算
-
45©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。
楕円曲線上の公開鍵暗号
超簡単。先ほどの鍵交換アルゴリズムをつかって共有した共有鍵に平文をたし
たり引いたりするだけ
アリス
暗号化
相手の公開鍵に、自分の秘密鍵を掛け算=共有鍵
共有鍵 + 平文 = 暗号文
暗号文 と、自分の公開鍵を送る。
ボブ
復号化
送られてきた公開鍵に、自分の秘密鍵を掛け算=共有鍵を得る
暗号文 ― 共有鍵 = 平文

More Related Content

What's hot

BLS Based Discreet Log Contracts
BLS Based Discreet Log ContractsBLS Based Discreet Log Contracts
BLS Based Discreet Log ContractsIchiro Kuwahara
 
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)MITSUNARI Shigeo
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門Fixstars Corporation
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学MITSUNARI Shigeo
 
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃trmr
 
楕円曲線入門 トーラスと楕円曲線のつながり
楕円曲線入門トーラスと楕円曲線のつながり楕円曲線入門トーラスと楕円曲線のつながり
楕円曲線入門 トーラスと楕円曲線のつながりMITSUNARI Shigeo
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpsonickun
 
自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介MITSUNARI Shigeo
 
『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算MITSUNARI Shigeo
 
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例Fixstars Corporation
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編Fixstars Corporation
 
範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコルMITSUNARI Shigeo
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門Norishige Fukushima
 
『データ解析におけるプライバシー保護』勉強会
『データ解析におけるプライバシー保護』勉強会『データ解析におけるプライバシー保護』勉強会
『データ解析におけるプライバシー保護』勉強会MITSUNARI Shigeo
 
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門競技プログラミングのためのC++入門
競技プログラミングのためのC++入門natrium11321
 
証明プログラミング超入門
証明プログラミング超入門証明プログラミング超入門
証明プログラミング超入門Kyoko Kadowaki
 

What's hot (20)

BLS Based Discreet Log Contracts
BLS Based Discreet Log ContractsBLS Based Discreet Log Contracts
BLS Based Discreet Log Contracts
 
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
 
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
 
楕円曲線入門 トーラスと楕円曲線のつながり
楕円曲線入門トーラスと楕円曲線のつながり楕円曲線入門トーラスと楕円曲線のつながり
楕円曲線入門 トーラスと楕円曲線のつながり
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
 
暗認本読書会4
暗認本読書会4暗認本読書会4
暗認本読書会4
 
自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介
 
新しい暗号技術
新しい暗号技術新しい暗号技術
新しい暗号技術
 
『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算
 
プログラムを高速化する話
プログラムを高速化する話プログラムを高速化する話
プログラムを高速化する話
 
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
 
llvm入門
llvm入門llvm入門
llvm入門
 
範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル範囲証明つき準同型暗号とその対話的プロトコル
範囲証明つき準同型暗号とその対話的プロトコル
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
 
『データ解析におけるプライバシー保護』勉強会
『データ解析におけるプライバシー保護』勉強会『データ解析におけるプライバシー保護』勉強会
『データ解析におけるプライバシー保護』勉強会
 
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門競技プログラミングのためのC++入門
競技プログラミングのためのC++入門
 
証明プログラミング超入門
証明プログラミング超入門証明プログラミング超入門
証明プログラミング超入門
 

More from Tetsuyuki Oishi

Permissioned ledger の基本
Permissioned ledger の基本Permissioned ledger の基本
Permissioned ledger の基本Tetsuyuki Oishi
 
20141217 暗号通貨による資金調達とマネタイズモデル
20141217 暗号通貨による資金調達とマネタイズモデル20141217 暗号通貨による資金調達とマネタイズモデル
20141217 暗号通貨による資金調達とマネタイズモデルTetsuyuki Oishi
 
20141107 rippleとはなにか?仕組みと可能性
20141107 rippleとはなにか?仕組みと可能性20141107 rippleとはなにか?仕組みと可能性
20141107 rippleとはなにか?仕組みと可能性Tetsuyuki Oishi
 
Ethereumとはなにか(日本海賊党ニコ生資料)
Ethereumとはなにか(日本海賊党ニコ生資料)Ethereumとはなにか(日本海賊党ニコ生資料)
Ethereumとはなにか(日本海賊党ニコ生資料)Tetsuyuki Oishi
 
ビットアクセラレーター立ち上げ
ビットアクセラレーター立ち上げビットアクセラレーター立ち上げ
ビットアクセラレーター立ち上げTetsuyuki Oishi
 
20140625 ステルスアドレスとその仕組み
20140625 ステルスアドレスとその仕組み20140625 ステルスアドレスとその仕組み
20140625 ステルスアドレスとその仕組みTetsuyuki Oishi
 
ビットコインスタートアップMTG
ビットコインスタートアップMTGビットコインスタートアップMTG
ビットコインスタートアップMTGTetsuyuki Oishi
 
Proof of existence Market Research
Proof of existence Market ResearchProof of existence Market Research
Proof of existence Market ResearchTetsuyuki Oishi
 

More from Tetsuyuki Oishi (8)

Permissioned ledger の基本
Permissioned ledger の基本Permissioned ledger の基本
Permissioned ledger の基本
 
20141217 暗号通貨による資金調達とマネタイズモデル
20141217 暗号通貨による資金調達とマネタイズモデル20141217 暗号通貨による資金調達とマネタイズモデル
20141217 暗号通貨による資金調達とマネタイズモデル
 
20141107 rippleとはなにか?仕組みと可能性
20141107 rippleとはなにか?仕組みと可能性20141107 rippleとはなにか?仕組みと可能性
20141107 rippleとはなにか?仕組みと可能性
 
Ethereumとはなにか(日本海賊党ニコ生資料)
Ethereumとはなにか(日本海賊党ニコ生資料)Ethereumとはなにか(日本海賊党ニコ生資料)
Ethereumとはなにか(日本海賊党ニコ生資料)
 
ビットアクセラレーター立ち上げ
ビットアクセラレーター立ち上げビットアクセラレーター立ち上げ
ビットアクセラレーター立ち上げ
 
20140625 ステルスアドレスとその仕組み
20140625 ステルスアドレスとその仕組み20140625 ステルスアドレスとその仕組み
20140625 ステルスアドレスとその仕組み
 
ビットコインスタートアップMTG
ビットコインスタートアップMTGビットコインスタートアップMTG
ビットコインスタートアップMTG
 
Proof of existence Market Research
Proof of existence Market ResearchProof of existence Market Research
Proof of existence Market Research
 

Recently uploaded

UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
新人研修のまとめ 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
 
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
 
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
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 

Recently uploaded (9)

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] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
新人研修のまとめ 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
 
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
 
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
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 

技術勉強会(楕円曲線暗号)資料

  • 1. -1- ©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 楕円曲線暗号勉強会 2014/6/4 2014/6/4 v.1.0 大石哲之
  • 2. - 2©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 まめちしき  楕円曲線   Elliptic Curve  電子署名アルゴルズム  Digital Signature Algorithm  つまり  ECDSA
  • 3. - 3©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 楕円曲線暗号とは?(特徴) ・素数を使った RSA にくらべて・・・  キーが短くてすむ  短いキーでも強度がある( RSA にくらべて 1/10 )  計算速度 [1] – RSA 署名の生成には非常に時間がかかる – ECDSA の署名検証は署名生成よりほんの少し長く時間がか かる – ECDSA の署名生成は普通に時間がかかる – RSA 署名の検証は非常に短時間である ECDSA の署名生成は 普通に時間がかかる – RSA では鍵長が長くなるほどその傾向が顕著になる。 – ECDSA は RSA ほどは鍵長が長くなる影響を受けない。 [1] http://blog.livedoor.jp/k_urushima/archives/1721840.html
  • 4. - 4©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 楕円曲線暗号の原理 さっぱりわからないと思うけど、かっこ良くいうとw・・ p を素数とする有限体 Fp における楕円曲線 E の点は、加法を定義すると 、群をなす。 この群 G(E,Fp) における、離散対数問題は解くのが難しく、解読アルゴ リズムの計算量は、せいぜい Ο(2^n) である。 これを利用して、鍵の共有、公開鍵暗号、電子署名を実現。 まあ、これを説明を試みます。
  • 5. - 5©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 RSA と楕円曲線暗号 ・ RSA は、巨大な数の素因数分解の困難さを原理としたもの 143 = 11 * 13 637 = 7 * 7 * 13 452587774583620210025098035652011444252579830245620256529 870265122336584520156200214785212221154464684613160460601 665840641198041651062509610160684064860113212102101213135 840861051568484115610615610351884512054685478963214785632 056302148632014896320145632589542685624586215863214520156 321456320158652147865214785621478632014589632145896324589 636985269854269885963258632014589632156214562145632145632 149 = ????
  • 6. - 6©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 RSA と楕円曲線暗号 ・楕円曲線上の、離散対数問題の困難さ 指数 10^4 = 10000 2^8 = 256 対数は指数関数の反対 log10(10000)=4 : 10^? = 10000 log2(256)=8 : 2^? = 256 Log2(65536)=? : 2^? = 65536 普通は指数を計算するのは、巨大な数でも、電卓で一発。 Log e (49256984613548561) = 38.435827572 しかし、楕円曲線上のある種の数の集合における特殊な対数(離散対数)においては、 これが極端に難しくなる。
  • 7. - 7©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 楕円曲線 楕円形ではなく、楕円の弧の長さを求める問題と関係があるから
  • 8. - 8©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 おさらい グラフの線とは、楕円曲線の方程式を満たす=0になる 点をプロットしたもの。 無数に点があるということ。
  • 9. - 9©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 有限体上の楕円曲線 実際に使われている楕円曲線暗号においては、楕円曲線の有理点を 使っているのではなく、「有限体上の楕円曲線の点(解の集合)」を 使っています。 有限体という、数学者以外は聞いたことのない概念を持ち出す必要 がありますが、挑戦いたします。 いままで説明した楕円曲線の話を、特殊な数の体系のなかでおこな います。
  • 10. - 10©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 体 (Field )とは? 体 (field) というのは、代数の構造で、加減乗除ができるもの 整数 加減乗しても整数だが、除すると、有理数になる 有理数 加減乗除しても有理数に収まる 有理数=分数であらわせるもの=つまり除算 有理数体  Q の字で表す
  • 11. - 11©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 素数を法とした有限体  ・有理数体 つまりすべての有理数の集合は、無限にある ・有限体 要素が有限のもの たとえば、 1,2,3,4,5,6,7,8,9,10,11,12 ・この体では、計算がなりたつか? 足し算 1+2=3 3+5=8 8+6=14 足がでますね。そこで、これを12でわる
  • 12. - 12©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 モジュラー算術 12を法とするモジュラー算術 7+5≡ 12 5+8≡1 9+9≡ 6 12+12+12+4 ≡ 4
  • 13. - 13©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 モジュラー算術(時計) ・足し算 12+12=12 ・引き算 1-12=1 ・掛け算 4*10=40=4 ・割り算 12 ÷ 5=? 5*?=12 5*12=60=(60-48)=12 ※ 時計において、割り算はいつでも成り立つのかはよく分かりません 成り立たないとすると、定義からは Field ではないね。
  • 14. - 14©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 Fp 上の算術 Fp ( Field p : 素数を法にした有限体)とは、整数を素数で除算 した余りの集合 要するに時計盤の文字数を素数にしたもの F(23) という数の体系は、 0 から 22 までの数字がある世界だとお もってよい。 素数の時計盤の算術は、加減乗除が常に成り立つらしい。 加減乗除が成り立つということは、方程式も解けます つまり、 F(23) 上で、楕円曲線の方程式を解くことができる
  • 15. - 15©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 有限体上の楕円曲線の解 要するに、たとえば F(23) だと、 0 ~ 22 までしかない数字の体系 のなかで、 こういう楕円曲線を解くということです。 解くというのは、つまり、この方程式がゼロになる点をみつけると いうこと。 そんなことできるんですかね? できるようです。
  • 16. - 16©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 有限体上の楕円曲線の解  たとえば、有限体 F(2) の場合、 楕円曲線の方程式を : y^2=x^3-x としましょう F (2)は、 0 と 1 しかない体です。 この数の体系において、存在する座標は、つぎの 4 つですべて。全部を検証 してみましょう。 点 (0,0) 0^2=0^3-0 ・・ OK 点 (0,1) 1^2=0^3-0 ・・ NG 点 (1,1) 1^2=1^3-1 ・・ NG 点 (1,0) 0^2=1^1-1 ・・ OK これだと、点 (0,1) と点 (1,0) がこの楕円方程式の解になることがわかり ます。
  • 17. - 17©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 F(5) での例 Source : 数学ガール F(5) は 0 から 5 までの数しかない体なので、 5x5 = 25 個の座標があります。
  • 18. - 18©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 Fp 上の楕円曲線とそのグラフ  (p=23) F(23) 上で、 y^2=x^3-x という楕円曲線を描いたものです(解をプロット したもの)。通常の楕円曲線と違って、「離散」しています。 Source: 数学ガール F(23) における楕円曲線 y^2=x^3-x のグラフ
  • 19. - 19©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 参考) Fp 上の楕円曲線の解の個数 http://sigma2011auemath.web.fc2.com/pdf/09shun.pdf おまけ。こういうのを調べるのが、代数学です。 フェルマーの最終定理あたりはこのあたりから解けました。
  • 20. - 20©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 楕円曲線上の点の足し算 P R Q
  • 21. - 21©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 Fp 上の楕円曲線上の点:スカラー倍算(掛け 算) 2 × G = G + G ※ 同じものをたす2倍算 3 × G = G + (G + G) ※ 繰り返しで3倍 d × G = G + ( G + ( G ・・・・)※ d 倍が定義できる
  • 22. - 22©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 群( Group) ・有限体上の楕円曲線の点(解の集合)は、加法に関して、群 (group) をなします。 ・点を E と書くと ・任意の点の E の足し算、スカラー倍算の結果は、他の E の点になる 。 ・ある点 E からはじめて順番に倍々していくと、すべての点が現れる (巡回群)
  • 23. - 23©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 楕円曲線上の離散対数 2 × G = G + G 3 × G = G + G + G d × G = G + G + G ・・・・ d 回 これは計算が簡単。 Q = d × G ある座標 Q が与えられて、ベースポイント G の座標も与えられている。 このとき、座標 Q は、ベースポイント G を何回足したものか(対数)を求め るという問題 これが離散対数問題といわれるもの。
  • 24. - 24©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 楕円曲線暗号のイメージ ベースポイント G F(23) における y^2=x^3-x の解 d 倍 = 秘密鍵 ※ 実際にこの点に移動す るのかは分かりません。 あくまでイメージです ベースポイントを倍算するたびに、ポイントは F(p) 上の楕円曲線の点をぐ るぐるとすべての点をめぐります(巡回群)。 d が秘密鍵であり、ベース ポイントを d 倍する行為が暗号化。 暗号 Q
  • 25. - 25©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 Fp 上の楕円曲線における離散対数 ベースポイント G 。 暗号 Q 暗号の点 Q とベースポイントが分かったとしても、何倍したのか(d)を 効率的に計算することはできない。できるのは試行錯誤(最大d回)。 ? 倍
  • 26. - 26©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 楕円曲線のパラメータ例 F(p) = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFEE37 The curve E: y2 = x3 + ax + b over Fp is defined by: a = 0 b = 3 : y2 = x3 + 3 The base point G G = (DB4FF10E C057E9AE 26B07D02 80B7F434 1DA5D1B1 EAE06C7D, 9B2F2F6D 9C5628A7 844163D0 15BE8634 4082AA88 D95E2F9D) Finally the order n of G and the cofactor are: n = FFFFFFFF FFFFFFFF FFFFFFFE 26F2FC17 0F69466A 74DEFD8D h = 01 素数体 解の個数 ベース ポイント の座標 楕円 方程式 =2^192
  • 27. - 27©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 楕円曲線上のディフィー・ヘルマンの鍵共有 ・利用する楕円曲線と、ベースと なるポイント (G) はパラメータと して予め公開 Alice bob ① アリスは、乱数を用いて 秘密鍵 A を作る ① ボブも、乱数を用いて 秘密鍵 A を作る ② 公開鍵 PA =秘密鍵 dA * ベースポイント G ② 公開鍵 PB =秘密鍵 dB * ベースポイント G ③ 送られてきた公開鍵に自 分の秘密鍵を掛け算 秘密鍵 dA * 公開鍵 PB = 秘密鍵 dA *   ( 秘密鍵 dB * ベースポイント G) ③ 送られてきた公開鍵に自 分の秘密鍵を掛け算 秘密鍵 dB * 公開鍵 PA = 秘密鍵 dB * ( 秘密鍵 dA * ベースポイント G) 第三者 暗号 A,B, ベースポイ ント G からは秘密鍵 は計算不能 超簡単。自分の秘密鍵とペースポイントを掛け算して、相手に送り合う。おく られてきた数に、自分の秘密鍵をもう一回掛け算すると、相手と同じ鍵が共有 できる 同じ値
  • 28. - 28©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 楕円曲線上のデジタル署名 Source: 楕円曲線暗号入門 伊豆哲也
  • 29. - 29©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 楕円曲線上のデジタル署名 •重要な事は、署名をするときに、ペースポイントの位数以下のランダムな数 k を用いるが、これは繰り返しつかってはいけない。 •同じ k をつかって、署名した文章が2つあると、その差分から、秘密鍵を計算 することができてしまう。 Wikipedia による
  • 30. - 30©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 ISO Source: http://www.imes.boj.or.jp/research/papers/japanese/13-J-05.pdf
  • 31. - 31©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 RSA の問題点 ・鍵長が長くなる ( NIST : National Institute of Standards and Technology )等によれば最近までは 1,024 ビット( 10 進数で 300 桁程度)あれば安全とされていたが、現在では 2030 年頃までの 利用を想定する場合には 2,048 ビット( 10 進数で 600 桁程 度)の鍵長が推奨されるようになってきている Source: http://www.imes.boj.or.jp/research/papers/japanese/13-J-05.pdf
  • 32. - 32©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 安全性 ・楕円曲線暗号と RSA が同程度の安全性を達成するために必要な鍵 長について評価が行われている(図表 8 参照)。 NIST[2012] で は、例えば、鍵長 2,048 ビットの RSA ( 10 進数で 600 桁程度) と鍵長 224 ~ 255 ビット( 10 進数で 67 ~ 76 桁程度)の楕円曲 線暗号が同等の安全性を有すると評価している Source: http://www.imes.boj.or.jp/research/papers/japanese/13-J-05.pdf
  • 33. - 33©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 解読法 < RSA > ・数体ふるい法。 Ο(2^√n) <楕円曲線暗号> ブルースフォース ・平方根法、ロー ρ 法  オーダーは、 Ο(2^n) より簡単な離散対数問題に変換 ・ GHS 法: Ο(2^√n) ・ MOV 帰着法、 FR 帰着法: Ο(2^√n) ・ SSSA 法: Ο(n^a) パラメーター依存なので、パラメータ設定が大事
  • 34. - 34©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 アルゴリズムのオーダー(計算量) Source: http://www.imes.boj.or.jp/research/papers/japanese/13-J-05.pdf
  • 35. - 35©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 以下未使用 以下未使用
  • 36. - 36©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 楕円曲線暗号の暗号化のイメージ パラメータ: y2=x3+ax+b  方程式 ペースポイント: P ベースポイント P ベースポイントを倍算するたびに、ポイントは楕円曲線の有理点上をぐる ぐる回る。暗号化のときは、秘密鍵= d 回だけ掛け算する。 d 回掛け算
  • 37. - 37©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 楕円曲線暗号の暗号化後の値 パラメータ: y2=x3+ax+b  方程式 ペースポイント: P ベースポイント P ペースポイントを、秘密鍵 d の回数だけ掛け算したものが暗号化後の値。 暗号化後の点 Q d 回掛け算
  • 38. - 38©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 安全性のイメージ パラメータ: y2=x3+ax+b  方程式 ペースポイント: P ベースポイント P ベースポイントと点 Q から、秘密鍵 d の値を知るには、 P を 1 から倍算し ていって、 Q になるかを確かめる総当りしかない。最悪の場合、秘密鍵 d の回数の計算が必要 暗号化後の点 Q 不可能
  • 39. - 39©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 検算のイメージ パラメータ: y2=x3+ax+b  方程式 ペースポイント: P ベースポイント P 秘密鍵 d を知っているひとは、ベースポイントを d 倍して、検算は簡単。 暗号化後の点 Q 秘密鍵 d 検算のしかた dP = Q ?
  • 40. - 40©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 パラメータ設定 利用する楕円曲線の方程式: E 体の位数: F(p) E,F(p) 上の基準点: G Microsoft Digital Rights Management で用いられている楕 円曲線 Source: wikipedia
  • 41. - 41©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 パラメータ Source: http://www.imes.boj.or.jp/research/papers/japanese/13-J-05.pdf
  • 42. - 42©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 楕円曲線上の有理点の数 Source: 解決フェルマーの最終定理 加藤和也 y^2=x^3+1 有理点の個数は上の5つのみ 無数に点があるとやっかいなので、有理点のみを取り上げる
  • 43. - 43©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 楕円曲線上の有理点の足し算 P R Q
  • 44. - 44©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 楕円曲線暗号の暗号化のイメージ パラメータ: y2=x3+ax+b  方程式 ペースポイント: G ベースポイント G ベースポイントを倍算するたびに、ポイントは楕円曲線の有理点上をぐる ぐる回る。暗号化のときは、秘密鍵= d 回だけ掛け算する。 d 回掛け算
  • 45. - 45©2014 OTETSUYUKI OISHI 本資料の無断配布、2次配布、および無断転載・転用は固く禁じます。 楕円曲線上の公開鍵暗号 超簡単。先ほどの鍵交換アルゴリズムをつかって共有した共有鍵に平文をたし たり引いたりするだけ アリス 暗号化 相手の公開鍵に、自分の秘密鍵を掛け算=共有鍵 共有鍵 + 平文 = 暗号文 暗号文 と、自分の公開鍵を送る。 ボブ 復号化 送られてきた公開鍵に、自分の秘密鍵を掛け算=共有鍵を得る 暗号文 ― 共有鍵 = 平文