Upload
peigi
View
105
Download
0
Embed Size (px)
DESCRIPTION
楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用. (株)日立製作所. 桶屋 勝幸. 櫻井 幸一. 九州大学. 概要. 動機. ECDSA の検証でマルチスカラー倍を用いる. [ANSI]. スカラー倍からマルチスカラー倍への 変換法の存在. [GLV01]. 問題. マルチスカラー倍の高速化. 成果. 前計算の効率化により マルチスカラー倍の高速化を達成. 約 3 倍. 内容. マルチスカラー倍. 問題設定. 解決策. 計算量比較. マルチスカラー倍. スカラー倍. 整数. スカラー倍. 楕円曲線上の点. - PowerPoint PPT Presentation
Citation preview
楕円曲線暗号におけるマルチスカラー倍算の前計算で
のモンゴメリトリックの使用
(株)日立製作所桶屋 勝幸
櫻井 幸一 九州大学
2/21
概要
ECDSA の検証でマルチスカラー倍を用いる
マルチスカラー倍の高速化
スカラー倍からマルチスカラー倍への変換法の存在
動機
問題
成果 前計算の効率化によりマルチスカラー倍の高速化を達成
約 3倍
[GLV01]
[ANSI]
3/21
内容
マルチスカラー倍
問題設定
解決策
計算量比較
4/21
マルチスカラー倍
スカラー倍
P
lQkP マルチスカラー
倍
マルチスカラー倍
k 整数楕円曲線上の点
回k
PPPkP スカラー倍
QP,lk, 整数
楕円曲線上の点
回k
PPP
回l
QQQ
5/21
計算法
QPQP ,,
二つのスカラー倍を独立に計算独立計算法
二つのスカラー倍を同時に計算
Pk,
Ql,
kP
lQlQkP
スカラー倍
スカラー倍
加算
Pk,
Ql,
lQkP マルチスカラー倍
同時計算法
[Aki01, Moe01]
[Elg85, HHM00]
Shamir’s trick
高速化手法
ウィンドウ法
Comb 法[Knu81, CMO98][LL94]
tQsP 加算
6/21
計算プロセス
前計算ステージ
実計算ステージ入力 出力
テーブル作成 実際の計算
Pk,Ql,
lQkP QPQPQPQ
QPQPQPQ
QPQPQPQ
PPPO
333233
232222
32
32
tQsP
QP 32
テーブル
加算
前計算テーブル
7/21
ターゲット
前計算ステージ
実計算ステージ
独立計算法
同時計算法 低速
低速高速
高速
多くの人が考察
議論の余地あり!
あまり考察されてなさそうだ
[Aki01, Moe01, Sol01]
[CC87, MO90, LL94, CMO98, …]
[CMO98]
8/21
何が高速化を阻んでいるのか?
求める点の数が多い
逆元演算が必要( 1 点につき 1
回)
実計算ステージでは
用いない点の存在
障害
マルチスカラー倍固有の問題
9/21
何が高速化を阻んでいるのか?
アフィン座標で計算するため
求める点の数が多い
逆元演算が必要( 1 点につき 1
回)
実計算ステージでは
用いない点の存在
障害 理由
実計算ステージでの計算高速化のためにはアフィン座標で格納する必要がある
アフィン座標の演算は逆元演算を必要とする
マルチスカラー倍固有の問題
10/21
何が高速化を阻んでいるのか?
求める点の数が多い
逆元演算が必要( 1 点につき 1
回)
実計算ステージでは
用いない点の存在
障害 理由
求める点が 2 次元
vQuP ,1,0, vu
QPQPQPQ
QPQPQPQ
QPQPQPQ
PPPO
333233
232222
32
32
マルチスカラー倍固有の問題
11/21
何が高速化を阻んでいるのか?
求める点の数が多い
逆元演算が必要( 1 点につき 1
回)
実計算ステージでは
用いない点の存在
障害 理由
前計算ステージ計算する点の数:64点
実計算ステージ使用する点の数:54点
160 ビット・ウィンドウサイズ 3
マルチスカラー倍固有の問題
12/21
とりあえず単純な改良
の 座標が等しい
),(),( yxPyxP
QP
QPQP
逆元の共通化
y座標の値の反転計算の省略
Q x
13/21
MM
MM
I
MM
MM
M M
モンゴメリトリック
naaaa ,,,, 321
21aa 321 aaa
1321aaa
2a 3a
1a
121aa1
1a
12a 1
3a
113
12
11 ,,,,
naaaa
IMn 13入力
出力
計算量
M M
I
M :乗算I :逆元演
算
[Coh93]
楕円曲線法による因数分解の高速化
に用いられた
[Coh93]
14/21
モンゴメリトリックの適応例(スカラー倍の前計算高速化)
モンゴメリトリックと用いると複数の逆元演算を 1 回の逆元計算で計算可能
P2 P3P 2 倍算
2 倍算
モンゴメリトリックを用いて逆元計算
P4加算
前計算テーブル作成
加算 加算
加算
[CMO98]
P7
P5
P82 倍算
2 べき点との加算で使用
15/21
複数加算の逆元共通化(マルチスカラー倍)
モンゴメリトリックと用いると複数の逆元演算を 1 回の逆元計算で計算可能
QP
P2 QP 3
Q2
P
Q
2 倍算
2 倍算
加算
モンゴメリトリックを用いて逆元計算
QP 22
加算
前計算テーブル作成
加算
加算
加算
計算する点が 2 次元のため複雑
16/21
前計算テーブル作成
P
Q
Q2
Q3
P2 P3
QP
QP 2
QP 3
QP 2 QP 3
QP 22
QP 32
QP 23
QP 33
O ステップ 0
ステップ 1
ステップ 2
ステップ 3
前計算テーブル
各ステップではモンゴメリトリックを用いて逆元共通化す
る
17/21
ステップ 2 で計算できなくなった
前計算テーブル作成(計算しなくてよい点がある場合)
P
Q
Q2
Q3
P2 P3
QP
QP 2
QP 3
QP 2 QP 3
QP 22
QP 32
QP 23
QP 33
O
前計算テーブル
計算の順序を考える必要あり
ステップ 0
ステップ 1
ステップ 2
ステップ 3
18/21
前計算テーブル作成手順の簡略化
P
Q
Q2
Q3
P2 P3
QP
QP 2
QP 3
QP 2 QP 3
QP 22
QP 32
QP 23
QP 33
O ステップ 0
ステップ 1
ステップ 2
ステップ 3
前計算テーブル
を先に計算しテーブル真中は最後に計算
vQuP,
19/21
前計算テーブル作成(計算しなくてよい点がある場合)
P
Q
Q2
Q3
P2 P3
QP
QP 2
QP 3
QP 2 QP 3
QP 22
QP 32
QP 23
QP 33
O ステップ 0
ステップ 1
ステップ 2
ステップ 3
前計算テーブル
他に影響を与えないので問題なし
20/21
計算量比較
前計算ステージ
実計算ステージ
独立計算法
同時計算法
336.8 M
計
2809.8M
3146.6M
1011.6M
1655.5 M 2667.1 M
279.2 M 1655.5 M 1934.7 M
既存法
提案法
160 ビット
[CMO98]
[HHM00][Moe01]
21/21
まとめ
ECDSA の検証の高速化
マルチスカラー倍の高速化
マルチスカラー倍高速化によるスカラー倍計算の高速化
結果
問題
成果 前計算の効率化によりマルチスカラー倍の高速化を達成
約 3倍
解決策 モンゴメリトリックを用いた逆元共通化
前計算テーブル作成手順の簡略化