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

Slides:



Advertisements
Similar presentations
1 高速フーリエ変換 (fast Fourier transform). 2 高速フーリエ変換とは? – 簡単に言うとフーリエ変換を効率よく計算 する方法 – アルゴリズムの設計技法は分割統治法に基 づいている 今回の目的は? – 多項式の積を求める問題を取り上げ、高速 フーリエ変換のアルゴリズムを用いた解法.
Advertisements

授業展開#12 コンピュータの扱いにくい問 題. 扱いにくい問題  処理時間がかかる。  メモリを大量に必要とする。  プログラムの優劣、アルゴリズムの優劣 を比較するためには、標準的なコン ピュータで比較する必要がある。  処理時間を計るのに、コンピュータのモ デルとして、チューリングマシンを考え、
効率的に計算可能な 加法的誤りの訂正可能性 安永 憲司 九州先端科学技術研究所 SITA 2012 @ 別府湾ロイヤルホテル
平成 27 年 10 月 21 日. 【応用課題 2-1 】 次のビット列は、ある 10 進数を 8 ビット固定小数点表示で表した時の ものです。ただし、小数点の位置は 3 ビット目と 4 ビット目の間としてお り、負数は2の補数で表しています。このとき、元の 10 進数を求めてく ださい。
Y - 座標復元を伴うモンゴメリ型 楕円曲線上のスカラー倍計算方法と 楕円曲線暗号における効率性の解析 桶屋 勝幸 (株)日立製作所 櫻井 幸一 九州大学 All Rights Reserved, Copyright © 2001, Hitachi, Ltd.
Imagire Day CEDEC 2009続・レンダリスト養成講座 田村 尚希 川瀬 正樹 シリコンスタジオ株式会社.
0章 数学基礎.
ゲーム開発者向け最新技術論文の解説・実装講座
区間グラフにおける区間表現からMPQ-treeを効率よく構成するアルゴリズム
第10章:自分自身の関数を書く 10月31日(金) 発表者:紺野憲一
CPUとGPUの 性能比較 -行列計算およびN体問題を用いて-
計算理工学基礎 「ハイパフォーマンスコンピューティングの基礎」
Chapter11-4(前半) 加藤健.
2001/10/10 PSEC-KEM NTT 小林 鉄太郎 CRYPTREC 2001
Ⅰ.電卓キーの基本的機能 00 0 1 2 3 6 ⑤ 4 9 8 7 M- MR MC + × % M+ - = ÷ C √ +/- GT
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
Q q 情報セキュリティ 第6回:2005年5月20日(金) q q.
AllReduce アルゴリズムによる QR 分解の精度について
ブロック線図によるシミュレーション ブロック線図の作成と編集 ブロック線図の保存と読込み ブロック線図の印刷 グラフの印刷
データ構造と アルゴリズム 知能情報学部 新田直也.
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
第7章 データベース管理システム 7.1 データベース管理システムの概要 7.2 データベースの格納方式 7.3 問合せ処理.
システム開発実験No.7        解 説       “論理式の簡略化方法”.
在宅医療における 対話型自動健康診断システム
3次元での回転表示について.
データ構造とアルゴリズム論 第7章 探索のアルゴリズム
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
文献名 “Performance Tuning of a CFD Code on the Earth Simulator”
2001/10/10 PSEC-KEM NTT 小林 鉄太郎 CRYPTREC 2001
OpenMPハードウェア動作合成システムの検証(Ⅰ)
高速剰余算アルゴリズムとそのハードウェア実装についての研究
行列による画像処理 デジタル表現論 担当者:劉 雪峰 2017年6月1日.
情報セキュリティ  第4回 メッセージ認証コード.
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
情報とコンピュータ 静岡大学工学部 安藤和敏
情報セキュリティ  第8回 RSA暗号.
トーリックイデアルの グレブナ基底を求める アルゴリズム – F4およびF5 –
3次元での回転表示について.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
5.RSA暗号 素因数分解の困難性を利用した暗号.
計算機構成 第2回 ALUと組み合わせ回路の記述
Ibaraki Univ. Dept of Electrical & Electronic Eng.
変換されても変換されない頑固ベクトル どうしたら頑固になれるか 頑固なベクトルは何に使える?
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
SURF+BoFによる特定物体認識 卒業研究1 1 11/27/11.
音声分析 フーリエ解析の定性的理解のために.
プログラミング 4 探索と計算量.
第2回課題 配布した通り.氏名・学生番号を忘れないこと.
先週の復習: CPU が働く仕組み コンピュータの構造 pp 制御装置+演算装置+レジスタ 制御装置がなければ電卓と同様
本時の目標 コンピュータが情報を処理するしくみを知る。
コンパイラ 2011年10月20日
かけ算.
基本情報技術概論(第2回) 埼玉大学 理工学研究科 堀山 貴史
  第3章 論理回路  コンピュータでは,データを2進数の0と1で表現している.この2つの値,すなわち,2値で扱われるデータを論理データという.論理データの計算・判断・記憶は論理回路により実現される.  コンピュータのハードウェアは,基本的に論理回路で作られている。              論理積回路.
問題作成、解説担当:中島 副担当:坪坂、松本
B03 量子論理回路の 最適化に関する研究 西野哲朗,垂井淳,太田和夫,國廣昇 電気通信大学 情報通信工学科.
Handel-Cを用いた パックマンの設計
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
保守請負時を対象とした 労力見積のためのメトリクスの提案
Q q 情報セキュリティ 第5回:2006年5月19日(金) q q.
地理情報システム論 第4回 コンピュータシステムおける データ表現(2)
Ibaraki Univ. Dept of Electrical & Electronic Eng.
9. 演算回路 五島 正裕.
コンピュータアーキテクチャ 第 3 回.
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
Q q 情報セキュリティ 第8回:2004年5月28日(金) の補足 q q.
Q q 情報セキュリティ 第7回:2005年5月27日(金) q q.
プログラミング基礎a 第5回 C言語によるプログラミング入門 配列と文字列
情報処理Ⅱ 小テスト 2005年2月1日(火).
Presentation transcript:

楕円曲線暗号における マルチスカラー倍算の前計算での モンゴメリトリックの使用 桶屋 勝幸 (株)日立製作所 櫻井 幸一 九州大学

ECDSAの検証でマルチスカラー倍を用いる 概要 動機 ECDSAの検証でマルチスカラー倍を用いる [ANSI] スカラー倍からマルチスカラー倍への 変換法の存在 [GLV01] 問題 マルチスカラー倍の高速化 成果 前計算の効率化により マルチスカラー倍の高速化を達成 約3倍

内容 マルチスカラー倍 問題設定 解決策 計算量比較

マルチスカラー倍 スカラー倍 整数 スカラー倍 楕円曲線上の点 マルチスカラー倍 整数 マルチスカラー倍 楕円曲線上の点

計算法 独立計算法 二つのスカラー倍を独立に計算 同時計算法 二つのスカラー倍を同時に計算 [Knu81, CMO98] [LL94] ウィンドウ法 スカラー倍 [Knu81, CMO98] 加算 Comb 法 スカラー倍 [LL94] 同時計算法 二つのスカラー倍を同時に計算 Shamir’s trick マルチスカラー倍 [Elg85, HHM00] 高速化手法 加算 [Aki01, Moe01]

計算プロセス 前計算 ステージ 実計算 ステージ 入力 出力 テーブル作成 実際の計算 加算 前計算テーブル テーブル

ターゲット 前計算ステージ 実計算ステージ 独立計算法 高速 低速 多くの人が考察 同時計算法 低速 高速 議論の余地あり! [CMO98] [CC87, MO90, LL94, CMO98, …] 同時計算法 低速 高速 議論の余地あり! あまり考察されてなさそうだ [Aki01, Moe01, Sol01]

何が高速化を阻んでいるのか? 障害 逆元演算が必要 (1点につき1回) 求める点の数が多い 実計算ステージでは 用いない点の存在 マルチスカラー倍固有の問題 求める点の数が多い 実計算ステージでは 用いない点の存在

何が高速化を阻んでいるのか? 障害 理由 逆元演算が必要 アフィン座標で計算するため (1点につき1回) 実計算ステージでの計算 高速化のためにはアフィン 座標で格納する必要がある マルチスカラー倍固有の問題 求める点の数が多い 実計算ステージでは 用いない点の存在 アフィン座標の演算は 逆元演算を必要とする

何が高速化を阻んでいるのか? 障害 理由 逆元演算が必要 (1点につき1回) 求める点が2次元 マルチスカラー倍固有の問題 求める点の数が多い 実計算ステージでは 用いない点の存在

何が高速化を阻んでいるのか? 障害 理由 逆元演算が必要 (1点につき1回) 前計算ステージ 計算する点の数:64点 マルチスカラー倍固有の問題 実計算ステージ 使用する点の数:54点 求める点の数が多い 実計算ステージでは 用いない点の存在 160ビット・ウィンドウサイズ3

とりあえず単純な改良 逆元の共通化 の 座標が等しい 計算の省略 y座標の値の反転

楕円曲線法による因数分解の高速化に用いられた モンゴメリトリック [Coh93] 入力 計算量 出力 M M M I M I M [Coh93] M:乗算 楕円曲線法による因数分解の高速化に用いられた M I:逆元演算

モンゴメリトリックの適応例 (スカラー倍の前計算高速化) [CMO98] モンゴメリトリックと用いると複数の逆元演算を1回の逆元計算で計算可能 前計算テーブル作成 2倍算 加算 加算 2倍算 加算 加算 2べき点との加算で使用 2倍算 モンゴメリトリックを用いて逆元計算

複数加算の逆元共通化 (マルチスカラー倍) モンゴメリトリックと用いると複数の逆元演算を1回の逆元計算で計算可能 前計算テーブル作成 2倍算 加算 加算 加算 加算 加算 2倍算 モンゴメリトリックを用いて逆元計算 計算する点が2次元のため複雑

モンゴメリトリックを用いて逆元共通化する 前計算テーブル作成 前計算テーブル ステップ0 ステップ1 ステップ2 ステップ3 各ステップでは モンゴメリトリックを用いて逆元共通化する

前計算テーブル作成 (計算しなくてよい点がある場合) ステップ0 ステップ1 ステップ2で計算できなくなった ステップ2 ステップ3 計算の順序を考える必要あり

前計算テーブル作成手順の簡略化 前計算テーブル ステップ0 ステップ1 ステップ2 ステップ3 を先に計算し テーブル真中は最後に計算

前計算テーブル作成 (計算しなくてよい点がある場合) ステップ0 ステップ1 ステップ2 ステップ3 他に影響を与えないので問題なし

計算量比較 前計算 ステージ 実計算 ステージ 計 160ビット 独立計算法 336.8M 2809.8M 3146.6M 同時計算法 [CMO98] 同時計算法 [HHM00] 既存法 1011.6M 1655.5M 2667.1M [Moe01] 提案法 279.2M 1655.5M 1934.7M

まとめ 問題 マルチスカラー倍の高速化 解決策 モンゴメリトリックを用いた逆元共通化 前計算テーブル作成手順の簡略化 成果 約3倍 前計算の効率化により マルチスカラー倍の高速化を達成 結果 ECDSAの検証の高速化 マルチスカラー倍高速化による スカラー倍計算の高速化