橋梁線形計算の手引き 橋梁線形計算の基礎と電算処 …橋梁線形計算の手引き 橋梁線形計算の基礎と電算処理および線形図の作成 T-Eng
楕円曲線暗号における マルチスカラー倍算の前計算での...
description
Transcript of 楕円曲線暗号における マルチスカラー倍算の前計算での...
![Page 1: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用](https://reader033.fdocuments.net/reader033/viewer/2022061612/56814fd5550346895dbd9926/html5/thumbnails/1.jpg)
楕円曲線暗号におけるマルチスカラー倍算の前計算で
のモンゴメリトリックの使用
(株)日立製作所桶屋 勝幸
櫻井 幸一 九州大学
![Page 2: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用](https://reader033.fdocuments.net/reader033/viewer/2022061612/56814fd5550346895dbd9926/html5/thumbnails/2.jpg)
2/21
概要
ECDSA の検証でマルチスカラー倍を用いる
マルチスカラー倍の高速化
スカラー倍からマルチスカラー倍への変換法の存在
動機
問題
成果 前計算の効率化によりマルチスカラー倍の高速化を達成
約 3倍
[GLV01]
[ANSI]
![Page 3: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用](https://reader033.fdocuments.net/reader033/viewer/2022061612/56814fd5550346895dbd9926/html5/thumbnails/3.jpg)
3/21
内容
マルチスカラー倍
問題設定
解決策
計算量比較
![Page 4: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用](https://reader033.fdocuments.net/reader033/viewer/2022061612/56814fd5550346895dbd9926/html5/thumbnails/4.jpg)
4/21
マルチスカラー倍
スカラー倍
P
lQkP マルチスカラー
倍
マルチスカラー倍
k 整数楕円曲線上の点
回k
PPPkP スカラー倍
QP,lk, 整数
楕円曲線上の点
回k
PPP
回l
QQQ
![Page 5: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用](https://reader033.fdocuments.net/reader033/viewer/2022061612/56814fd5550346895dbd9926/html5/thumbnails/5.jpg)
5/21
計算法
QPQP ,,
二つのスカラー倍を独立に計算独立計算法
二つのスカラー倍を同時に計算
Pk,
Ql,
kP
lQlQkP
スカラー倍
スカラー倍
加算
Pk,
Ql,
lQkP マルチスカラー倍
同時計算法
[Aki01, Moe01]
[Elg85, HHM00]
Shamir’s trick
高速化手法
ウィンドウ法
Comb 法[Knu81, CMO98][LL94]
tQsP 加算
![Page 6: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用](https://reader033.fdocuments.net/reader033/viewer/2022061612/56814fd5550346895dbd9926/html5/thumbnails/6.jpg)
6/21
計算プロセス
前計算ステージ
実計算ステージ入力 出力
テーブル作成 実際の計算
Pk,Ql,
lQkP QPQPQPQ
QPQPQPQ
QPQPQPQ
PPPO
333233
232222
32
32
tQsP
QP 32
テーブル
加算
前計算テーブル
![Page 7: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用](https://reader033.fdocuments.net/reader033/viewer/2022061612/56814fd5550346895dbd9926/html5/thumbnails/7.jpg)
7/21
ターゲット
前計算ステージ
実計算ステージ
独立計算法
同時計算法 低速
低速高速
高速
多くの人が考察
議論の余地あり!
あまり考察されてなさそうだ
[Aki01, Moe01, Sol01]
[CC87, MO90, LL94, CMO98, …]
[CMO98]
![Page 8: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用](https://reader033.fdocuments.net/reader033/viewer/2022061612/56814fd5550346895dbd9926/html5/thumbnails/8.jpg)
8/21
何が高速化を阻んでいるのか?
求める点の数が多い
逆元演算が必要( 1 点につき 1
回)
実計算ステージでは
用いない点の存在
障害
マルチスカラー倍固有の問題
![Page 9: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用](https://reader033.fdocuments.net/reader033/viewer/2022061612/56814fd5550346895dbd9926/html5/thumbnails/9.jpg)
9/21
何が高速化を阻んでいるのか?
アフィン座標で計算するため
求める点の数が多い
逆元演算が必要( 1 点につき 1
回)
実計算ステージでは
用いない点の存在
障害 理由
実計算ステージでの計算高速化のためにはアフィン座標で格納する必要がある
アフィン座標の演算は逆元演算を必要とする
マルチスカラー倍固有の問題
![Page 10: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用](https://reader033.fdocuments.net/reader033/viewer/2022061612/56814fd5550346895dbd9926/html5/thumbnails/10.jpg)
10/21
何が高速化を阻んでいるのか?
求める点の数が多い
逆元演算が必要( 1 点につき 1
回)
実計算ステージでは
用いない点の存在
障害 理由
求める点が 2 次元
vQuP ,1,0, vu
QPQPQPQ
QPQPQPQ
QPQPQPQ
PPPO
333233
232222
32
32
マルチスカラー倍固有の問題
![Page 11: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用](https://reader033.fdocuments.net/reader033/viewer/2022061612/56814fd5550346895dbd9926/html5/thumbnails/11.jpg)
11/21
何が高速化を阻んでいるのか?
求める点の数が多い
逆元演算が必要( 1 点につき 1
回)
実計算ステージでは
用いない点の存在
障害 理由
前計算ステージ計算する点の数:64点
実計算ステージ使用する点の数:54点
160 ビット・ウィンドウサイズ 3
マルチスカラー倍固有の問題
![Page 12: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用](https://reader033.fdocuments.net/reader033/viewer/2022061612/56814fd5550346895dbd9926/html5/thumbnails/12.jpg)
12/21
とりあえず単純な改良
の 座標が等しい
),(),( yxPyxP
QP
QPQP
逆元の共通化
y座標の値の反転計算の省略
Q x
![Page 13: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用](https://reader033.fdocuments.net/reader033/viewer/2022061612/56814fd5550346895dbd9926/html5/thumbnails/13.jpg)
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]
![Page 14: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用](https://reader033.fdocuments.net/reader033/viewer/2022061612/56814fd5550346895dbd9926/html5/thumbnails/14.jpg)
14/21
モンゴメリトリックの適応例(スカラー倍の前計算高速化)
モンゴメリトリックと用いると複数の逆元演算を 1 回の逆元計算で計算可能
P2 P3P 2 倍算
2 倍算
モンゴメリトリックを用いて逆元計算
P4加算
前計算テーブル作成
加算 加算
加算
[CMO98]
P7
P5
P82 倍算
2 べき点との加算で使用
![Page 15: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用](https://reader033.fdocuments.net/reader033/viewer/2022061612/56814fd5550346895dbd9926/html5/thumbnails/15.jpg)
15/21
複数加算の逆元共通化(マルチスカラー倍)
モンゴメリトリックと用いると複数の逆元演算を 1 回の逆元計算で計算可能
QP
P2 QP 3
Q2
P
Q
2 倍算
2 倍算
加算
モンゴメリトリックを用いて逆元計算
QP 22
加算
前計算テーブル作成
加算
加算
加算
計算する点が 2 次元のため複雑
![Page 16: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用](https://reader033.fdocuments.net/reader033/viewer/2022061612/56814fd5550346895dbd9926/html5/thumbnails/16.jpg)
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
前計算テーブル
各ステップではモンゴメリトリックを用いて逆元共通化す
る
![Page 17: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用](https://reader033.fdocuments.net/reader033/viewer/2022061612/56814fd5550346895dbd9926/html5/thumbnails/17.jpg)
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
![Page 18: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用](https://reader033.fdocuments.net/reader033/viewer/2022061612/56814fd5550346895dbd9926/html5/thumbnails/18.jpg)
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,
![Page 19: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用](https://reader033.fdocuments.net/reader033/viewer/2022061612/56814fd5550346895dbd9926/html5/thumbnails/19.jpg)
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
前計算テーブル
他に影響を与えないので問題なし
![Page 20: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用](https://reader033.fdocuments.net/reader033/viewer/2022061612/56814fd5550346895dbd9926/html5/thumbnails/20.jpg)
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]
![Page 21: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用](https://reader033.fdocuments.net/reader033/viewer/2022061612/56814fd5550346895dbd9926/html5/thumbnails/21.jpg)
21/21
まとめ
ECDSA の検証の高速化
マルチスカラー倍の高速化
マルチスカラー倍高速化によるスカラー倍計算の高速化
結果
問題
成果 前計算の効率化によりマルチスカラー倍の高速化を達成
約 3倍
解決策 モンゴメリトリックを用いた逆元共通化
前計算テーブル作成手順の簡略化