数 学 の か た ち 第3講 暗号を作ろう

27
1 数 数 数 数 数 数 数 数 数 数 数 数 数数数数数数 数数数数数数 早早 早早 [email protected] 早早早早早早早早早 www.nikonet.or.jp/sprin g/sanae/

Upload: medea

Post on 27-Jan-2016

17 views

Category:

Documents


0 download

DESCRIPTION

数 学 の か た ち 第3講 暗号を作ろう. 早苗 雅史 [email protected] 数学とソフトウエア www.nikonet.or.jp/spring/sanae/. 指で数える2進法. 28. ?. 13. 指で数える2進法. 指で数える2進法. 記数法で暗号を作る. 記数法で暗号を作る. cap = 2 , 0 , 15. 2 ×26 2 + 0 ×26 + 15 = 2×676 + 0×26 + 15 = 1367. 記数法で暗号を作る. 26. 1367. ・・・ 15. 52. ・・・  0. 26. 2. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 数 学 の か た ち  第3講 暗号を作ろう

1

数 学 の か た ち 数 学 の か た ち 第3講第3講暗号を作ろう暗号を作ろう

早苗 雅史[email protected]

数学とソフトウエアwww.nikonet.or.jp/spring/sanae/

Page 2: 数 学 の か た ち  第3講 暗号を作ろう

2

指で数える2進法指で数える2進法

13

28

Page 3: 数 学 の か た ち  第3講 暗号を作ろう

3

指で数える2進法指で数える2進法

Page 4: 数 学 の か た ち  第3講 暗号を作ろう

4

指で数える2進法指で数える2進法

小指

薬指

中指

人指

親指

(16) (8) (4) (2) (1)× × × × ×

0 1 1 0 1| | | | | | | | | |

0 8 4 0 1 = 13

Page 5: 数 学 の か た ち  第3講 暗号を作ろう

5

記数法で暗号を作る記数法で暗号を作る

a b c d e f g h i j k l m

0 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

Page 6: 数 学 の か た ち  第3講 暗号を作ろう

6

記数法で暗号を作る記数法で暗号を作る

cap = 2 , 0 , 15 cap = 2 , 0 , 15

2×262 + 0×26 + 15

= 2×676 + 0×26 + 15

= 1367

Page 7: 数 学 の か た ち  第3講 暗号を作ろう

7

記数法で暗号を作る記数法で暗号を作る

26

26

1367

52

・・・15

・・・ 0

Page 8: 数 学 の か た ち  第3講 暗号を作ろう

8

記数法で暗号を作る記数法で暗号を作る

Page 9: 数 学 の か た ち  第3講 暗号を作ろう

9

問題問題

①  boxを数字に直してみよう。

②  “ 13223” は何という文字を表しているか。

Page 10: 数 学 の か た ち  第3講 暗号を作ろう

10

暗号の重要性暗号の重要性

インターネットや電子メールなどの普及による危険性情報がネットワーク上に流出コンピュータ間のデータを見ることが可能

様々な手口電子メールを知らない人に読まれてしまう(盗聴)情報の内容を勝手に書き換えてしまう(改ざん)正当なユーザーになりすまして悪用(なりすまし)

それらの脅威を防ぐための解決法⇒暗号化  データを第三者に解読できないようにする方法

Page 11: 数 学 の か た ち  第3講 暗号を作ろう

11

シーザー暗号シーザー暗号

文字をアルファベット順に特定の文字数だけずらす =換字式(かえじしき)暗号

平文 暗号文 「暗号方式(アルゴリズム) 」

「鍵」

Page 12: 数 学 の か た ち  第3講 暗号を作ろう

12

多文字置換暗号多文字置換暗号

平文 I a m a b o y

鍵 7 3 2 4 7 3 2

暗号文 p d o e i r a

•キーワードが繰り返し使用される•使用頻度の高い文字を元に キーワードが簡単に推測

Page 13: 数 学 の か た ち  第3講 暗号を作ろう

13

いろいろな暗号いろいろな暗号

★ 円盤式暗号 ★ 転置式暗号

① 行→列② 1列→3列→2列→4列

① 内側の小さい円盤位置決め② 外側の大きい円盤の文字③ 短い方の矢印が指している

小さい円盤の文字が暗号

Page 14: 数 学 の か た ち  第3講 暗号を作ろう

14

問題問題

①   Mathe を鍵“ 3631” で暗号化してみよう。

②   HGWW を鍵“ 1234” で複合化してみよう。

Page 15: 数 学 の か た ち  第3講 暗号を作ろう

15

父へのメール父へのメール

父さんへ

キャッシュカードのパスワードを忘れたので教えてほしい。

他人に知られると困るので次の計算で出た数字をメールで教えてくれ。

『まずパスワードの数字を 37乗する。次に出た数値を 2491で割る。そのときの余りの数字。』

Page 16: 数 学 の か た ち  第3講 暗号を作ろう

16

いくつかの疑問いくつかの疑問

① 4 桁のパスワードの数字を 37 乗して 2491 で割るなんて計算,どうやってやるのだろう。

② 送られてきた数字から本当にパスワードがわかるのだろうか。

③ このメールを誰かに盗聴されたら,その人にもパスワードを知られてしまわないか。

Page 17: 数 学 の か た ち  第3講 暗号を作ろう

17

《疑問①》《疑問①》 44 桁の数を桁の数を 3737 乗して乗して 24912491で  で       割る計算はどうするのか     割る計算はどうするのか

12342繰り返し 2乗法 = 152275

6≡755

12344 = 7552 = 570025 ≡207712348 = 20772 = 4313929 ≡2008123416 = 20082 = 4032064 ≡1626123432 = 16262 = 2643876 ≡925

123437 = 123432×12344×12341

≡925×2077×1234= 1921225×1234 ≡664×1234= 819376 ≡2328

Page 18: 数 学 の か た ち  第3講 暗号を作ろう

18

《疑問②》送られてきた数字を《疑問②》送られてきた数字を          どのように復元するのかどのように復元するのか

例: 21を余りとする世界では

7乗, 13乗, 19乗,…すると元に戻る

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 1 10 16 13 4 19 1 10 16 13 4 19 1 10

Page 19: 数 学 の か た ち  第3講 暗号を作ろう

19

3737乗したあと乗したあと 9797乗すると元に戻る乗すると元に戻る

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 2077 2270 1296 42 2008 1818 1512 … 664 2328 … 1234 … 1234 … 1234

37乗 97乗A 君だけが知っている

Page 20: 数 学 の か た ち  第3講 暗号を作ろう

20

23282 = 5419584

≡165923284 = 16592 = 2752281 ≡221723288 = 22172 = 4915089 ≡346232816 = 3462 = 119716 ≡148232832 = 1482 = 21904 ≡1976

232897 = 232864×232832×23281

≡1179×1976×2328= 2329704×2328 ≡619×2328= 1441032 ≡1234

3737乗したあと乗したあと 9797乗すると元に戻る乗すると元に戻る

232864 = 19762 = 3904576 ≡1179

Page 21: 数 学 の か た ち  第3講 暗号を作ろう

21

共通鍵暗号方式・公開鍵暗号方式共通鍵暗号方式・公開鍵暗号方式

平文 暗号化 暗号文 複合化 平文"apple" → "dssoh" → "apple"

共通鍵暗号方式

公開鍵暗号方式

平文 暗号化 暗号文 複合化 平文“1234" → “2328" → “1234"

共通鍵=3 知られると困る

公開鍵= 37(乗), 2491(で割る) 知られても OK

秘密鍵= 97  自分しか知らない

共通鍵 共通鍵

公開鍵 秘密鍵

Page 22: 数 学 の か た ち  第3講 暗号を作ろう

22

RSARSA暗号暗号

平文

e 乗して n で割

る 暗号文d 乗 平文

→ →秘密鍵

d=97

公開鍵

n=2491

e=37

Page 23: 数 学 の か た ち  第3講 暗号を作ろう

23

AA君はどうやって鍵を作ったか君はどうやって鍵を作ったか

①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つの素数を選ぶことから始まった

Page 24: 数 学 の か た ち  第3講 暗号を作ろう

24

《疑問③》《疑問③》 3737 乗して乗して 24912491 が得られたが得られたことを知られてもパスワードは大丈夫ことを知られてもパスワードは大丈夫かか2つの素数の積は簡単に計算できます 

   38903  ×  60293 =  2345578579

しかしある数を2つの素数の積に分解する  のは大変

   2250021941 =  40253  ×  55897暗号の秘密は「素因数分解の困難性」「素因数分解の困難性」に起因

Page 25: 数 学 の か た ち  第3講 暗号を作ろう

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 乗

平文→ →

Page 26: 数 学 の か た ち  第3講 暗号を作ろう

26

暗号を作ってみよう暗号を作ってみよう

① 3 の累乗を計算    32 = 9    34≡92 = 81≡6

② 37 を計算    37 = 34×32×3≡6×9×3 = 162≡12

③ C=12

メッセージ M=3 ,あまりの世界 n=15 ,累乗 e=737 を計算する

Page 27: 数 学 の か た ち  第3講 暗号を作ろう

27

暗号を復元してみよう暗号を復元してみよう

d=13 で複合化

① 12 の累乗を計算    122 = 144≡8    124≡82 = 64≡4    128≡42 = 16≡1

② 1212 を計算    1212 = 128×124×12      ≡ 1×4×12 = 48≡3

③ M=3