21
楕楕楕楕楕楕楕楕楕楕 楕楕楕楕楕楕楕楕楕楕楕楕楕楕楕 楕楕楕楕楕楕楕楕楕楕楕楕 株株 株株株株株 () 株株 株株 株株 株株株株株

楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用

  • Upload
    peigi

  • View
    105

  • Download
    0

Embed Size (px)

DESCRIPTION

楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用. (株)日立製作所. 桶屋 勝幸. 櫻井 幸一. 九州大学. 概要. 動機. ECDSA の検証でマルチスカラー倍を用いる. [ANSI]. スカラー倍からマルチスカラー倍への 変換法の存在. [GLV01]. 問題. マルチスカラー倍の高速化. 成果. 前計算の効率化により マルチスカラー倍の高速化を達成. 約 3 倍. 内容. マルチスカラー倍. 問題設定. 解決策. 計算量比較. マルチスカラー倍. スカラー倍. 整数. スカラー倍. 楕円曲線上の点. - PowerPoint PPT Presentation

Citation preview

Page 1: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用

楕円曲線暗号におけるマルチスカラー倍算の前計算で

のモンゴメリトリックの使用

(株)日立製作所桶屋 勝幸

櫻井 幸一 九州大学

Page 2: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用

2/21

概要

ECDSA の検証でマルチスカラー倍を用いる

マルチスカラー倍の高速化

スカラー倍からマルチスカラー倍への変換法の存在

動機

問題

成果 前計算の効率化によりマルチスカラー倍の高速化を達成

約 3倍

[GLV01]

[ANSI]

Page 3: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用

3/21

内容

マルチスカラー倍

問題設定

解決策

計算量比較

Page 4: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用

4/21

マルチスカラー倍

スカラー倍

P

lQkP マルチスカラー

マルチスカラー倍

k 整数楕円曲線上の点

回k

PPPkP スカラー倍

QP,lk, 整数

楕円曲線上の点

回k

PPP

回l

QQQ

Page 5: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用

5/21

計算法

QPQP ,,

二つのスカラー倍を独立に計算独立計算法

二つのスカラー倍を同時に計算

Pk,

Ql,

kP

lQlQkP

スカラー倍

スカラー倍

加算

Pk,

Ql,

lQkP マルチスカラー倍

同時計算法

[Aki01, Moe01]

[Elg85, HHM00]

Shamir’s trick

高速化手法

ウィンドウ法

Comb 法[Knu81, CMO98][LL94]

tQsP 加算

Page 6: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用

6/21

計算プロセス

前計算ステージ

実計算ステージ入力 出力

テーブル作成 実際の計算

Pk,Ql,

lQkP QPQPQPQ

QPQPQPQ

QPQPQPQ

PPPO

333233

232222

32

32

tQsP

QP 32

テーブル

加算

前計算テーブル

Page 7: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用

7/21

ターゲット

前計算ステージ

実計算ステージ

独立計算法

同時計算法 低速

低速高速

高速

多くの人が考察

議論の余地あり!

あまり考察されてなさそうだ

[Aki01, Moe01, Sol01]

[CC87, MO90, LL94, CMO98, …]

[CMO98]

Page 8: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用

8/21

何が高速化を阻んでいるのか?

求める点の数が多い

逆元演算が必要( 1 点につき 1

回)

実計算ステージでは

用いない点の存在

障害

マルチスカラー倍固有の問題

Page 9: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用

9/21

何が高速化を阻んでいるのか?

アフィン座標で計算するため

求める点の数が多い

逆元演算が必要( 1 点につき 1

回)

実計算ステージでは

用いない点の存在

障害 理由

実計算ステージでの計算高速化のためにはアフィン座標で格納する必要がある

アフィン座標の演算は逆元演算を必要とする

マルチスカラー倍固有の問題

Page 10: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用

10/21

何が高速化を阻んでいるのか?

求める点の数が多い

逆元演算が必要( 1 点につき 1

回)

実計算ステージでは

用いない点の存在

障害 理由

求める点が 2 次元

vQuP ,1,0, vu

QPQPQPQ

QPQPQPQ

QPQPQPQ

PPPO

333233

232222

32

32

マルチスカラー倍固有の問題

Page 11: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用

11/21

何が高速化を阻んでいるのか?

求める点の数が多い

逆元演算が必要( 1 点につき 1

回)

実計算ステージでは

用いない点の存在

障害 理由

前計算ステージ計算する点の数:64点

実計算ステージ使用する点の数:54点

160 ビット・ウィンドウサイズ 3

マルチスカラー倍固有の問題

Page 12: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用

12/21

とりあえず単純な改良

の 座標が等しい

),(),( yxPyxP

QP

QPQP

逆元の共通化

y座標の値の反転計算の省略

Q x

Page 13: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用

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: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用

14/21

モンゴメリトリックの適応例(スカラー倍の前計算高速化)

モンゴメリトリックと用いると複数の逆元演算を 1 回の逆元計算で計算可能

P2 P3P 2 倍算

2 倍算

モンゴメリトリックを用いて逆元計算

P4加算

前計算テーブル作成

加算 加算

加算

[CMO98]

P7

P5

P82 倍算

2 べき点との加算で使用

Page 15: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用

15/21

複数加算の逆元共通化(マルチスカラー倍)

モンゴメリトリックと用いると複数の逆元演算を 1 回の逆元計算で計算可能

QP

P2 QP 3

Q2

P

Q

2 倍算

2 倍算

加算

モンゴメリトリックを用いて逆元計算

QP 22

加算

前計算テーブル作成

加算

加算

加算

計算する点が 2 次元のため複雑

Page 16: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用

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: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用

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: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用

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: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用

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: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用

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: 楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用

21/21

まとめ

ECDSA の検証の高速化

マルチスカラー倍の高速化

マルチスカラー倍高速化によるスカラー倍計算の高速化

結果

問題

成果 前計算の効率化によりマルチスカラー倍の高速化を達成

約 3倍

解決策 モンゴメリトリックを用いた逆元共通化

前計算テーブル作成手順の簡略化