暗号理論にみる数学 ~情報と数学の接点から~ 2002.6.15 札幌新川高等学校 早 苗 雅 史 1 はじめに インターネットの普及に伴い,ネット上にお ける情報の機密保持,改ざん防止の方法 として公開鍵暗号方式が注目 中でも最も普及しているのがRSA暗号 この理論には基本的でかつ魅力的な数学 の整数に関する理論が用いられている 高校数学レベルでも理解できる数学をもと に,暗号論の魅力を少しでも紹介 2 父へのメール 父さんへ キャッシュカードのパスワードを忘れたので教 えてほしい。 他人に知られると困るので次の計算で出た数 字をメールで教えてくれ。 『まずパスワードの数字を37乗する。次に出た 数値を2491で割る。そのときの余りの数字。』 3 いくつかの疑問 ① 4桁のパスワードの数字を37乗して2491で 割るなんて計算,どうやってやるのだろう。 ② 送られてきた数字から本当にパスワードが わかるのだろうか。 ③ このメールを誰かに盗聴されたら,その人に もパスワードを知られてしまわないか。 4 《疑問①》4桁の数を37乗して2491 で割る計算はどうするのか 繰り返し2乗法 12342 =1522756 ≡755 12344 =7552 =570025 ≡2077 12348 =20772 =4313929 ≡2008 123416 =20882 =4032064 ≡1626 123432 =16262 =2643876 ≡925 123437 =123432×12344×12341 ≡925×2077×1234 5 =1921225×1234 ≡664×1234 =819376 ≡2328 法 記数法 《疑問②》送られてきた数字をどのよ うに復元するのか 例:21を法とする世界では 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 4 8 16 11 1 2 4 8 16 11 1 2 4 8 16 11 1 2 3 9 6 18 12 15 3 9 6 18 12 15 3 9 6 18 12 15 3 4 16 1 4 16 1 4 16 1 4 16 1 4 16 1 4 16 1 4 5 4 20 16 17 1 5 4 20 16 17 1 5 4 20 16 17 1 5 6 15 6 15 6 15 6 15 6 15 6 15 6 15 6 15 6 15 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 1 8 9 18 15 9 18 15 9 18 15 9 18 15 9 18 15 9 18 15 9 10 16 13 4 19 10 16 13 4 19 10 16 13 4 19 10 6 1 1 7乗,13乗,19乗,…すると元に戻る 1 37乗したあと97乗すると元に戻る 2 3 4 5 6 7 8 9 10 … 36 37 … 1197 … 2393 … 3589 2 4 8 16 32 64 128 256 512 1024 … 672 1344 … 2 … 2 … 2 3 9 27 81 243 729 2187 1579 2246 1756 … 788 2364 … 3 … 3 … 3 4 16 64 256 1024 1605 1438 770 589 2356 … 713 361 … 4 … 4 … 4 5 25 125 625 634 679 904 2029 181 905 … 897 1994 … 5 … 5 … 5 6 36 216 1296 303 1818 944 682 1601 2133 … 1444 1191 … 6 … 6 … 6 7 49 343 2401 1861 572 1513 627 1898 831 … 354 2478 … 7 … 7 … 7 8 64 512 1605 385 589 2221 331 157 1256 … 864 1930 … 8 … 8 … 8 9 81 729 1579 1756 858 249 2241 241 2169 … 685 1183 … 9 … 9 … 9 … … … … … … … … … … … … … … … … … 1234 755 36 … 664 2328 … 1234 … 1234 … 1234 … … 2077 2270 1296 7 42 37乗 2008 1818 1512 97乗 暗号とは 平 文 ・・・元のデータ 暗号文 ・・・第三者に解読不可能な形式に変換されたデータ 暗号化 ・・・平文を暗号文に変換する処理 複号化 ・・・暗号文を平文に変換する処理 8 暗号化の規則と鍵 “apple”をアルファベット順に3つずつずらす →“dssoh” 「アルファベット順にずらす」が暗号化の規則(アルゴリズム) 「3」が鍵 受信者以外に鍵を知られないことで秘匿性が守られる 平文 "apple" 9 暗号化 → 暗号文 "dssoh" 複合化 → 平文 "apple" 共通鍵暗号方式・公開鍵暗号方式 共通鍵暗号方式 共通鍵=3 知られると困る 平文 "apple" 暗号化 → 共通鍵 暗号文 "dssoh" 複合化 → 共通鍵 平文 "apple" 公開鍵暗号方式 公開鍵=37(乗),2491(で割る) 知られてもOK 秘密鍵=97 自分しか知らない 平文 “1234" 10 暗号化 → 公開鍵 暗号文 “2328" 複合化 → 秘密鍵 平文 “1234" RSA暗号 法nの元で 平文 11 e乗 暗号文 d乗 → → 公開鍵 秘密鍵 n,e d 平文 A君はどうやって鍵を作ったか ①2つの素数P=47,Q=53を選択 ②N=PQ=2491を法とする世界を作る(公開鍵N) ③P-1=46とQ-1=52の最小公倍数L=1196を計算 ④Lと素な数E=37を選んで父さんに送る(公開鍵E) ⑤L=1196を法とするE=37の逆元D=97で復元する まず2つの素数を選ぶことから始まった 12 《疑問③》37乗して2491が得られたこ とを知られてもパスワードは大丈夫か 2つの素数の積は簡単に計算できます 38903 × 60293 = 2345578579 しかしある数を2つの素数の積に分解する のは大変です 2250021941 = 40253 × 55897 暗号の秘密は「素因数分解の困難性」に起因 13 おわりに 素数・合成数 素数の判定,素因数分解 法,剰余の定理 法と合同,法に関する演算 逆元 最大公約数,互いに素 ユークリッドの互除法 最小公倍数 記数法 14 暗号理論は整数に 関する様々な内容 が盛りだくさん 易しく教材化できな いか
© Copyright 2024 ExpyDoc