Q q 情報セキュリティ 第7回:2005年5月27日(金) q q.

Slides:



Advertisements
Similar presentations
1 前回の練習問題 F 29 = {1, 2,…, 28} において, g = 11 が生成元であることを確 かめ, F 29 の元とその離散対数との関係を図示せよ. x = 1,..., 28 に対し, g x mod 29 を計算すればよい
Advertisements

コンピュータプラクティ スⅠ 比較実験 水野嘉明. 本日の予定 計算量について 「比較実験」  パラメータを変化させての比較 ⇒ 実験1  二つのプログラムの比較 ⇒ 実験2  実験レポート R3として提出 2.
素数判定の効率性について 東邦大学理学部情報科学科卒業研究発表会 指導教員 白柳 潔 提出者 後藤 雄大.
極小集合被覆を列挙する 実用的高速アルゴリズム
データ構造と アルゴリズム 第十二回 知能情報学部 知能情報学科 新田直也.
黒澤 馨 (茨城大学) 情報セキュリティ特論(4) 黒澤 馨 (茨城大学) 2017/3/4 confidential.
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第4回 配列(2) 情報・知能工学系 山本一公
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
Q q 情報セキュリティ 第6回:2005年5月20日(金) q q.
第5回 ディジタル回路内の数値表現 瀬戸 ディジタル回路内部で,数を表現する方法(2進数)を学ぶ 10進数⇔2進数⇔16進数の変換ができる
黒澤 馨 (茨城大学) 情報セキュリティ特論(6) 黒澤 馨 (茨城大学) 2017/3/13 confidential.
分子生物情報学 動的計画法に基づく配列比較法 (ペアワイズアライメント法)
2009/10/9 良いアルゴリズムとは 第2講: 平成21年10月9日 (金) 4限 E252教室 コンピュータアルゴリズム.
データ構造と アルゴリズム 第二回 知能情報学部 新田直也.
香川大学工学部 富永浩之 情報数学1 第2-2章 合同式の逆元と応用 香川大学工学部 富永浩之
香川大学工学部 富永浩之 情報数学1 第2-1章 合同式の性質と計算 香川大学工学部 富永浩之
共通鍵と公開鍵 暗号のしくみ 情報、数学ハイブリッド版.
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
データ構造とアルゴリズム論 第2章 配列(構造)を使った処理
黒澤 馨 (茨城大学) 情報セキュリティ特論(7) 黒澤 馨 (茨城大学)
データ構造とアルゴリズム論 第7章 探索のアルゴリズム
暗号技術 ~公開鍵暗号方式の仕組み~ (3週目)
情報処理3 第5回目講義         担当 鶴貝 達政 11/8/2018.
博士たちの愛する素数 徳山 豪 東北大学 Prime numbers that professors love
Q q 情報セキュリティ 第3回:2005年4月28日(金) q q.
Q q 情報セキュリティ 第3回:2005年4月22日(金) q q.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
繰り返し計算 while文, for文.
情報セキュリティ  第4回 メッセージ認証コード.
情報セキュリティ  第11回 デジタル署名.
モデルの逆解析 明治大学 理工学部 応用化学科 データ化学工学研究室 金子 弘昌.
前回の練習問題.
情報セキュリティ  第8回 RSA暗号.
5.RSA暗号 素因数分解の困難性を利用した暗号.
25. Randomized Algorithms
Q q 情報セキュリティ 第8回:2005年6月3日(金) q q.
Q q 情報セキュリティ 第6回:2007年5月25日(金) q q.
プログラミング 4 探索と計算量.
11.再帰と繰り返しの回数.
生物情報ソフトウェア特論 (2)たたみ込みとハッシュに 基づくマッチング
ナップサック問題 クマさん人形をめぐる熱いドラマの結末.
香川大学創造工学部 富永浩之 情報数学1 第1-3章 素数と素因数分解 香川大学創造工学部 富永浩之
代数体上で定義された楕円曲線の 素因数分解への応用
補講:アルゴリズムと漸近的評価.
データ構造とアルゴリズム (第5回) 静岡大学工学部 安藤和敏
Diffie-Hellman 鍵共有 ElGamal 暗号 楕円曲線暗号,量子コンピュータ
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
Q q 情報セキュリティ 第5回:2006年5月19日(金) q q.
情報工学概論 (アルゴリズムとデータ構造)
ウェブデザイン演習 第6回.
計算機プログラミングI 第4回 2002年10月31日(木) 問題解決とアルゴリズム クラスメソッドと手続きの抽象化 最大公約数
復習 if ~ 選択制御文(条件分岐) カッコが必要 true 条件 false 真(true)なら この中が aを2倍する 実行される
香川大学創造工学部 富永浩之 情報数学1 第2-1章 合同式の性質と計算 香川大学創造工学部 富永浩之
情報処理Ⅱ 2006年11月24日(金).
情報工学科 05A2301 樽美 澄香 (Tarumi Sumika)
分枝カット法に基づいた線形符号の復号法に関する一考察
プログラミング基礎演習 第4回.
Q q 情報セキュリティ 第6回:2005年5月26日(金) q q.
プログラミング演習I 数値計算における計算精度と誤差
Q q 情報セキュリティ 第8回:2004年5月28日(金) の補足 q q.
暗号技術・セキュリティ 情報工学科  04A1004 石川 真悟.
香川大学創造工学部 富永浩之 情報数学1 第2-2章 合同式の逆元と応用 香川大学創造工学部 富永浩之
情報生命科学特別講義III (3)たたみ込みとハッシュに 基づくマッチング
情報処理Ⅱ 第2回 2004年10月12日(火).
知能情報工学演習I 第11回(後半第5回) 課題の回答
情報処理Ⅱ 第3回 2004年10月19日(火).
情報処理Ⅱ 2006年10月20日(金).
知能情報工学演習I 第10回( C言語第4回) 課題の回答
ファーストイヤー・セミナーⅡ 第10回 if文による選択処理(2).
Presentation transcript:

q q 情報セキュリティ 第7回:2005年5月27日(金) q q

本日学ぶこと RSAのアルゴリズム RSAの安全性 暗号アルゴリズムのその他の話題 剰余演算,べき剰余 ユークリッドの互助法とその拡張 素数判定 RSAの安全性 素因数分解 離散対数問題 暗号アルゴリズムのその他の話題 ハイブリッド暗号 ブロック暗号モード 前回

素数生成 入力:ビット数N 出力:Nビットの素数 アルゴリズム Step 1. 最上位が1,間は(N-2回の1ビット乱数生成により)N-2ビットの乱数,最下位は1となるような,Nビットの整数nをランダムに生成する. Step 2. nが素数であるかどうかを判定する.素数でないと判定されたら,Step 1に戻る. Step 3. nを出力して終了する. 1 ? …

素数判定 入力:2以上の整数n,テスト回数T 出力:nが素数なら「yes」,素数でないなら「no」 アルゴリズム(フェルマーテスト) フェルマーの小定理: p が素数 ⇒ (gcd(p,a)=1 ⇒ ap-1 % p = 1 ) 入力:2以上の整数n,テスト回数T 出力:nが素数なら「yes」,素数でないなら「no」 アルゴリズム(フェルマーテスト) Step 1. i←1とする. Step 2. 2以上n未満の正整数aをランダムに生成する. Step 3. gcd(a,n)>1ならば,Step 7に進む. Step 4. an-1%n≠1ならば,Step 7に進む. Step 5. i←i+1とする.i≦Tならば,Step 2に戻る. Step 6. 「yes」と出力して終了する. Step 7. 「no」と出力して終了する. うまくいく? 素数であれば必ず「yes」と出力するが,素数でないのに誤って「yes」を出力することもある(例:n=561).

○ ○ 素数判定法の分類(1) 確率的手法 乱数を使う. 素数でないと判定したら,必ず素数でないが, 素数であると判定しても,実は素数でない可能性がある. 精度と実行時間は,テスト回数次第. 事実 素数でない 素数である 判定結果 素数でない ○ 起こらない 素数である 起こり得る ○

○ ○ 素数判定法の分類(2) 確定的手法 乱数は使わない. 判定結果は正しい. 多項式時間アルゴリズムが提案されているが,計算時間は実用的ではない. 事実 素数でない 素数である 判定結果 素数でない ○ 起こらない 素数である 起こらない ○

RSAにおける素因数分解の方法 Nをk=3, 5, 7, ...の順に割って割り切れる(余りが0になるか)を調べる. 乱数Mを1<M<Nの範囲で生成して,gcd(N,M)を求める.これが1より大きければ,Nの素因数の一つである. これらで素因数を発見するための実行回数の期待値は, N(の素因数の小さいほうの値)に比例する.したがって, 指数時間アルゴリズムであり,効率は悪い. 素因数分解をする多項式時間アルゴリズムはまだ見つかっていない. 存在していたら,RSAは安全でなくなってしまう.

整数の対数を求める方法 入力:2以上の整数a,正整数y = az 出力:z 方法1 方法2 log2 az = z log2 a を用いる. 整数値xのビット数を |x| で表すとき,|y| ≒ z×|a| である. よって z ≒ |y| / |a|. 方法2 2分探索を応用する. a, a2, a4, a8,... を求めていき,a2q≦y<a2q+1 を満たす整数qが見つかれば,2q≦z<2q+1とわかる.y'=y / a2q に対して,y'=az' を満たすz'を(再帰的に)求め,z=2q+z' とする.

離散対数問題 入力:2以上の整数a,正整数m, y = az % m 出力:z (ただし1≦z<m) 前記の「整数の対数を求める方法」は, いずれも適用できない.