情報工学科 06A2055 平塚 翔太 Hiratsuka Shota 第1回 暗号化技術 Cryptography 情報工学科 06A2055 平塚 翔太 Hiratsuka Shota
スライド一覧 はじめに 暗号とは?? 暗号化 暗号の分類(1) 暗号の分類(2) 今後の課題 参考文献
動機&目的 内容(流れ) ~はじめに~ 卒業論文テーマ …「Javaによる暗号化ソフトの開発」 ~はじめに~ 卒業論文テーマ …「Javaによる暗号化ソフトの開発」 動機&目的 暗号化ソフト … 暗号化をどのように行っているか? Java … プログラム言語の習得 + 卒業後、必要な言語となる 内容(流れ) 暗号技術の勉強 Java言語(JCE)の勉強 ソフトの制作
~暗号とは??~ 暗号化ファイル 第三者 盗聴・なりすまし etc ~暗号とは??~ 第三者に通信内容を知られないように行う表記法(変換アルゴリ ズム)のことである。 通信だけではなく保管する文文書等の内容を秘匿する方法として も用いることができる。 暗号化ファイル 第三者 盗聴・なりすまし etc
~暗号化~ 暗号化 平分 暗号文 復号化 アルゴリズム 鍵(キー)
暗号化 WATCH ZDWFK 復号化 アルファベット順にずらす 3文字
~暗号の分類(1)~ 共通鍵暗号方式 《 POINT !! 》 暗号化と復号化に同じ鍵を使う暗号方式 暗号化 INTERNET 復号化 PC A PC B 同じ鍵 《 POINT !! 》 鍵の配送・管理の徹底
特徴 長所 大勢でのやり取りでは鍵が多くなってしまう 処理が比較的高速である 【※公開鍵暗号方式と比べて】 ⇒ 大容量のデータの暗号化に向いている 短所 鍵の配送・管理に気を使わなければならない 大勢でのやり取りでは鍵が多くなってしまう
鍵が増えるとは ?? 2人でやりとりする場合 ※100人の時は4950個も必要!! 大人数でのやり取りに向 いていない・・ 大人数でのやり取りに向 いていない・・ 4人でやりとりする場合
代表的なアルゴリズム DES AES 1970年代に米IBMが開発。 1977年以降は米国標準の暗号方式として使われてき たが安全性の問題より使われなくなってきた。 カギの長さが64(56)ビット AES より高速で強い共通鍵暗号方式。 無線LANデータの暗号化などに使われている。 カギの長さが128, 192, 256ビット
~暗号の分類(2)~ 公開鍵暗号方式 鍵 X 鍵 Y 暗号化と復号化に異なる鍵を使う暗号方式 暗号化 INTERNET 復号化 PC A PC B 鍵 X 鍵 Y
公開鍵と個人鍵 公開鍵 … 不特定多数のユーザに公開(ネットなどで) 個人鍵 … 制作者だけが保持(盗まれると安全でなくなる) 2人でのやり取りの場合、鍵は4種類 存在する Aさんの公開鍵 Bさんの公開鍵 Aさんの個人鍵 Bさんの個人鍵 Aさん Bさん 公開鍵 … 不特定多数のユーザに公開(ネットなどで) 個人鍵 … 制作者だけが保持(盗まれると安全でなくなる)
鍵のルール 公開鍵で暗号化したデータは、そのペアの個人鍵でしか復号でき ない 公開鍵 A 個人鍵 A 暗号化 復号化 暗号化 復号化 個人鍵で暗号化したデータは、そのペアの公開鍵でしか復号でき ない 個人鍵 A 公開鍵 A 暗号化 復号化
使用方法 使用例(1) 《データの中身を隠して秘密を守る》 悪意ある第三者 盗聴 ファイル ファイル Aさん Bさん 公開鍵A 公開鍵B 《データの中身を隠して秘密を守る》 悪意ある第三者 公開鍵A 公開鍵B 盗聴 個人鍵A 個人鍵B 暗号化 INTERNET 復号化 ファイル ファイル Aさん Bさん
使用方法 使用例(2) 《送信者を証明する署名として使う》 なりすまし 悪意ある第三者 署名 署名 Aさん Bさん 公開鍵A 公開鍵B 《送信者を証明する署名として使う》 なりすまし 悪意ある第三者 公開鍵A 公開鍵B 個人鍵A 個人鍵B 暗号化 INTERNET 復号化 署名 署名 Aさん Bさん
特徴 長所 ⇒ 大人数でのやり取りに向いている 鍵の配送(配布)が容易で管理が楽 短所 処理が複雑で暗号・復号に要する時間がかかる ⇒ 大人数でのやり取りに向いている 短所 処理が複雑で暗号・復号に要する時間がかかる 【※共通鍵暗号方式と比べて】
代表的なアルゴリズム RSA 開発者であるRivest,Shamir,Adlemanの頭文字をとっ て命名された。 現在広く使われている公開鍵暗号方式 鍵の長さに制限はないが、512~2048ビットくらいでな いと安全性が確保できない
~今後の課題~ 今回は暗号技術の概略的知識のみだったので・・・ AESやRSAなど、より実用的な暗号化アルゴリズムの 勉強 暗号化技術に必要な数学的理論の知識を深める Javaプログラミング能力を高める
~参考文献~ SBI Net System http://dev.sbins.co.jp/cryptography/cryptography01.html Wikipedia http://ja.wikipedia.org/wiki/ IT pro http://itpro.nikkeibp.co.jp/index.html
ご清聴ありがとうございました