Presentation is loading. Please wait.

Presentation is loading. Please wait.

数 学 の か た ち 第3講 暗号を作ろう 早苗 雅史 数学とソフトウエア

Similar presentations


Presentation on theme: "数 学 の か た ち 第3講 暗号を作ろう 早苗 雅史 数学とソフトウエア"— Presentation transcript:

1 数 学 の か た ち 第3講 暗号を作ろう 早苗 雅史 sunny@nikonet.or.jp 数学とソフトウエア
早苗 雅史 数学とソフトウエア

2 指で数える2進法 13 28

3 指で数える2進法

4 指で数える2進法 小指 薬指 中指 人指 親指 (16) (8) (4) (2) (1) × 1 | | 8 4 13

5 記数法で暗号を作る a b c d e f g h i j k l m 1 2 3 4 5 6 7 8 9 10 11 12 n o p q
1 2 3 4 5 6 7 8 9 10 11 12 n o p q r s t u v w x y z 13 14 15 16 17 18 19 20 21 22 23 24 25

6 記数法で暗号を作る cap = 2,0,15 2×262+0×26+15 =2×676+0×26+15 =1367

7 記数法で暗号を作る 26 1367 ・・・15 26 52 ・・・ 0

8 記数法で暗号を作る

9 問題 ① boxを数字に直してみよう。 ② “13223”は何という文字を表しているか。

10 暗号の重要性 インターネットや電子メールなどの普及による危険性 情報がネットワーク上に流出 コンピュータ間のデータを見ることが可能
様々な手口 電子メールを知らない人に読まれてしまう(盗聴) 情報の内容を勝手に書き換えてしまう(改ざん) 正当なユーザーになりすまして悪用(なりすまし) それらの脅威を防ぐための解決法⇒暗号化   データを第三者に解読できないようにする方法

11 シーザー暗号 文字をアルファベット順に特定の文字数だけずらす =換字式(かえじしき)暗号 「暗号方式(アルゴリズム) 」 「鍵」 平文
文字をアルファベット順に特定の文字数だけずらす  =換字式(かえじしき)暗号 平文 暗号文 「暗号方式(アルゴリズム) 」 「鍵」

12 多文字置換暗号 平文 I a m b o y 鍵 7 3 2 4 暗号文 p d e i r キーワードが繰り返し使用される
使用頻度の高い文字を元に キーワードが簡単に推測

13 いろいろな暗号 ★転置式暗号 ★円盤式暗号 内側の小さい円盤位置決め 行→列 外側の大きい円盤の文字 1列→3列→2列→4列
短い方の矢印が指している 小さい円盤の文字が暗号 行→列 1列→3列→2列→4列

14 問題 ① Matheを鍵“3631”で暗号化してみよう。 ② HGWWを鍵“1234”で複合化してみよう。

15 父へのメール 父さんへ キャッシュカードのパスワードを忘れたので教えてほしい。
他人に知られると困るので次の計算で出た数字をメールで教えてくれ。 『まずパスワードの数字を37乗する。次に出た数値を2491で割る。そのときの余りの数字。』

16 いくつかの疑問 4桁のパスワードの数字を37乗して2491で割るなんて計算,どうやってやるのだろう。
送られてきた数字から本当にパスワードがわかるのだろうか。 このメールを誰かに盗聴されたら,その人にもパスワードを知られてしまわないか。

17 《疑問①》4桁の数を37乗して2491で 割る計算はどうするのか
《疑問①》4桁の数を37乗して2491で        割る計算はどうするのか 繰り返し2乗法 12342 ≡755 12344 =7552 =570025 ≡2077 12348 =20772 ≡2008 123416 =20082 ≡1626 123432 =16262 ≡925 123437 =123432×12344×12341 ≡925×2077×1234 = ×1234 ≡664×1234 =819376 ≡2328

18 《疑問②》送られてきた数字を どのように復元するのか
《疑問②》送られてきた数字を      どのように復元するのか 例:21を余りとする世界では 7乗,13乗,19乗,…すると元に戻る

19 37乗したあと97乗すると元に戻る 37乗 97乗 A君だけが知っている

20 37乗したあと97乗すると元に戻る 23282 ≡1659 23284 =16592 ≡2217 23288 =22172 ≡346 232816 =3462 =119716 ≡148 232832 =1482 =21904 ≡1976 232864 =19762 ≡1179 232897 =232864×232832×23281 ≡1179×1976×2328 = ×2328 ≡619×2328 ≡1234

21 共通鍵暗号方式・公開鍵暗号方式 平文 暗号化 暗号文 複合化 "apple" → "dssoh" 平文 暗号化 暗号文 複合化 “1234"
共通鍵=3 知られると困る 平文 暗号化 暗号文 複合化 "apple" "dssoh" 共通鍵 共通鍵 公開鍵暗号方式 公開鍵=37(乗),2491(で割る) 知られてもOK 秘密鍵=97  自分しか知らない 平文 暗号化 暗号文 複合化 “1234" “2328" 公開鍵 秘密鍵

22 RSA暗号 平文 e 乗してnで割る 暗号文 d 乗 秘密鍵 d=97 公開鍵 n=2491 e=37

23 A君はどうやって鍵を作ったか まず2つの素数を選ぶことから始まった 2つの 素数 P=47,Q=53を選択
N=PQ=2491を余りとする世界を作る(公開鍵N) P-1=46とQ-1=52の最小公倍数L=1196を計算 1196で割った余りの世界で □×○≡1となる2つの素数○=97,□=37を選ぶ 2つの数字の一つ□=37を父さんに送る(公開鍵E) もう一つの数字○=97で復元する まず2つの素数を選ぶことから始まった

24 《疑問③》37乗して2491が得られたことを知られてもパスワードは大丈夫か
2つの素数の積は簡単に計算できます    38903 × 60293 =  しかしある数を2つの素数の積に分解する   のは大変     = 40253 × 55897 暗号の秘密は「素因数分解の困難性」に起因

25 鍵の作成 2つの素数を選ぶ p=3,q=5 素数の積 これが余りの世界 n=15 p-1とq-1の最小公倍数Lを計算 L=2
Lと素な数を選択             e=7 7×□=1となる数を計算        d=13 平文 7乗して 15で割る 暗号文 13 乗

26 暗号を作ってみよう メッセージM=3,あまりの世界n=15,累乗e=7 37を計算する 3の累乗を計算 32=9 34≡92=81≡6
3の累乗を計算    32=9    34≡92=81≡6 37を計算    37=34×32×3≡6×9×3=162≡12 C=12

27 暗号を復元してみよう d=13で複合化 12の累乗を計算 122=144≡8 124≡82= 64≡4 128≡42=16≡1
12の累乗を計算    122=144≡8    124≡82= 64≡4    128≡42=16≡1 1212を計算    1212=128×124×12       ≡1×4×12=48≡3 M=3


Download ppt "数 学 の か た ち 第3講 暗号を作ろう 早苗 雅史 数学とソフトウエア"

Similar presentations


Ads by Google