.... 1 22 9 17 1 / 44
1 (9/17) 2 (10/22) P2P 3 (11/12) 2 / 44
ogawa is.uec.ac.jp http://www.quest.is.uec.ac.jp/ogawa/ http://www.is.uec.ac.jp/ 3 / 44
ARPANet (1969) 4 / 44
M. Blum ( ), Coin Flipping by Telephon ( ), 1981. 5 / 44
6 / 44
7 / 44
Suica (JR ), PASMO ( ), Edy ( ) FeliCa (SONY) IC LAN SIM (NTT FOMA ), 8 / 44
SSL SSL (Secure Socket Layer) Web https://www. 9 / 44
IC (e-tax) (Felica, SONY) Suica DES DES 10 / 44
11 / 44
(1970 ) DES (Data Encryption Standard, 1977) AES (Advanced Encryption Standard 2001) (1976) RSA (1978) 12 / 44
, 100 44 ABCDE FGHIJ KLMNO PQRST UVWXYZ DEFGH IJKLM NOPQR STUVW XYZABC HELLO KHOOR 13 / 44
(1) 1 (2) 3 4 14 / 44
HELLO HELLO 15 / 44
= 25 25 ABCDE FGHIJ KLMNO PQRST UVWXYZ TIEFH DJKLM GOQRC ASUVW YZBPXN 26 25 24 2 1 E 12.7% T 9.1% E T 16 / 44
17 / 44
0 1 (ASCII) A B C Z 1100001 1100010 1100011 1111010 97 98 99 122 18 / 44
= 0 = 1 (0) + (0) = (0) (0) + (1) = (1) (1) + (0) = (1) (1) + (1) = (0) (bit) 0 1... 0 0 = 0... 0 1 = 1 1 0 = 1 1 1 = 0 19 / 44
a = 1 1 0 1 0 0 0 0 ) b = 0 1 1 0 1 0 1 0 c = a b = 1 0 1 1 1 0 1 0. a b..... a b b = a (b b) }{{} = a 0000000000 }{{} = a 20 / 44
(one-time pad) HELLO a = 11010000 HELLO a = 11010000 b = 01101010 b = 01101010 c = 10111010 c = 10111010 c = 10111010 21 / 44
(Vernam, 1926)... 1. b 2. a a c = a b. 3. c b = (a b) b = a.. 22 / 44
(Shannon), 1948 (APPLE, BEACH,, HAPPY, HELLO,, ZEBRA, ) (1976, ) 23 / 44
24 / 44
2587269023 25 / 44
Diffie-Hellman-Merkle (1976), (x ) (x ) (y ) (y ) x + y = 26 / 44
... 10 + 3. = 13 =1.. 10 3 = 13 =1 10+3=1 (mod 12) 12 1=13=25= (mod 12) mod 27 / 44
12 1 12 = 0 ( 1) 13 12 = 1 ( 1) 25 12 = 2 ( 1) 1=13=25= (mod 12) 12 13-1=12 12 1=13 (mod 12) 25-1=24 12 1=25 (mod 12) 12 0 = 5, 1 = 6, 2 = 7, 3 = 8, 4 = 9 (mod 5) 1 5 1 + 2 = 6 + 7 = 3 = 13 (mod 5) 4 1 = 9 6 = 3 (mod 5) 2 3 = 7 8 = 6 = 56 = 1 (mod 5) 28 / 44
y = a x a x a x y = a x = a a a }{{} x y = 10 x (a = 10) (x = 1) 10 1 = 10 (x = 2) 10 2 = 10 10 = 100 (x = 3) 10 3 = 10 10 10 = 1000 y = 10 x 10000 9000 8000 7000 6000 5000 4000 3000 2000 1000 0 0 0.5 1 1.5 2 2.5 3 3.5 4 29 / 44
y = log a x [y = log a x x = a y ] a y x y a x x = a y = a a a }{{} y y = log 10 x (a = 10) x = 10 y (x = 10) 10 1 = 10 y = 1 (x = 100) 10 2 = 100 y = 2 (x = 1000) 10 3 = 1000 y = 3 y = log 10 x 3 2.8 2.6 2.4 2.2 2 1.8 1.6 1.4 1.2 1 0 200 400 600 800 1000 30 / 44
...... y y = a x (mod p) x y = 10 x (mod 7) (p = 7 ) x 1 2 3 4 5 6 7 y = 10 x 10 100 1000 10000 100000 1000000 10000000 y = 10 x (mod 7) 3 2 6 4 5 1 3 y = a x (mod p) y x x = 1, x = 2,, x = 6 p 31 / 44
y = a x (mod p) p 1024 x 2587269023 y p a y = a x (mod p) y = a x (mod p) x 32 / 44
= = 33 / 44
... 1. 2. 3. 4.. 5... 34 / 44
RSA Diffie-Hellman (1976) 1978 (Rivest-Shamir-Adleman) 1960, (Ellis), 1973, (Cocks), RSA 1974, (Williamson), Diffie-Hellman-Merkle 35 / 44
36 / 44
A B B A 37 / 44
= 1. a = 0 a = 1 a a 2. a a 3. a a a = a 38 / 44
1. 2. 3. 1. a 2. 39 / 44
a = 0 a = 1 a, b c = a b a, b b a a c a b = 0 b = 1 b, a a c = a b 40 / 44
c = 0 c = 1 50% 1 a b 2 41 / 44
1 a b a b c = a b a c b c = a b 2 b a b a 42 / 44
,,, 2001. (Simon Singh, The Code Book, 1999).,, BP, 1978.,,, 2008.,,,1997.,,, 1986. 43 / 44
44 / 44