XOR 000 011 101 110 A 100 0001

  • Slides: 29
Download presentation

XOR演算 0+0=0, 0+1=1, 1+0=1, 1+1=0 A: 100 0001 + T: 101 0100 = 001

XOR演算 0+0=0, 0+1=1, 1+0=1, 1+1=0 A: 100 0001 + T: 101 0100 = 001 0101 同じものを足すと消える 18

暗号化の例 キー 平文 1010100 1101001 1110011 0100000 1101001 1110011 (T) (h) (i) (s) (

暗号化の例 キー 平文 1010100 1101001 1110011 0100000 1101001 1110011 (T) (h) (i) (s) ( ) (i) (s) + + + + 1010100 1000101 1010011 21 暗号文 同じものを足すと消える (T) (E) (S) = = = = 0000000 0101101 0111010 0100111 1110100 0101100 0100000

復号の例 キー 暗号文 0000000 0101101 0111010 0100111 1110100 0101100 0100000 + + + +

復号の例 キー 暗号文 0000000 0101101 0111010 0100111 1110100 0101100 0100000 + + + + 1010100 1000101 1010011 平文 (T) (E) (S) 22 = = = = 1010100 1101001 1110011 0100000 1101001 1110011 (T) (h) (i) (s) ( ) (i) (s)

一致確率 暗号文とそれをずらしたものを並べる shift 1 00010100 01011001 00010101 00110011 01001110 01011010 00110011 01010011 01000110 00100110

一致確率 暗号文とそれをずらしたものを並べる shift 1 00010100 01011001 00010101 00110011 01001110 01011010 00110011 01010011 01000110 00100110 25 shift 2 00010100 01011001 00010101 0011 01001110 01011010 0011 01010011

キー長の倍数以外のずらし量 左右が一致する確率はランダム(1/27=約0. 78%) 平文 キー 01010100 + 01001011 Shift 1 01101000 + 01000101 ←一致?→

キー長の倍数以外のずらし量 左右が一致する確率はランダム(1/27=約0. 78%) 平文 キー 01010100 + 01001011 Shift 1 01101000 + 01000101 ←一致?→ 01010100 + 01001011 01101001 + 01011001 ←一致?→ 01101000 + 01000101 01110011 + 01001011 ←一致?→ 01101001 + 01011001 00100000 + 01000101 ←一致?→ 01110011 + 01001011 01101001 + 01011001 ←一致?→ 00100000 + 01000101 01110011 + 01001011 ←一致?→ 01101001 + 01011001 00100000 + 01000101 ←一致?→ 01110011 + 01001011 01100001 + 01011001 ←一致?→ 00100000 + 01000101 26

キー長の倍数のずらし量 左右が一致する確率は英語の文字が一致する確率. 出現頻度の偏りのため高くなる (約6%) 平文 キー 01010100 + 01001011 Shift 3 01101000 + 01000101

キー長の倍数のずらし量 左右が一致する確率は英語の文字が一致する確率. 出現頻度の偏りのため高くなる (約6%) 平文 キー 01010100 + 01001011 Shift 3 01101000 + 01000101 同じものを足すと消える 01101001 + 01011001 01110011 + 01001011 ←一致?→ 01010100 + 01001011 00100000 + 01000101 ←一致?→ 01101000 + 01000101 01101001 + 01011001 ←一致?→ 01101001 + 01011001 01110011 + 01001011 ←一致?→ 01110011 + 01001011 00100000 + 01000101 ←一致?→ 00100000 + 01000101 01100001 + 01011001 ←一致?→ 01101001 + 01011001 27

ASCII 7 bit code A 01000001 N 01001110 a 01100001 n 01101110 空白 00100000

ASCII 7 bit code A 01000001 N 01001110 a 01100001 n 01101110 空白 00100000 B 01000010 O 01001111 b 01100010 o 01101111 . 00101110 C 01000011 P 01010000 c 01100011 p 01110000 D 0100 Q 01010001 d 01100100 q 01110001 0 00110000 E 01000101 R 01010010 e 01100101 r 01110010 1 00110001 F 01000110 S 01010011 f 0110 s 01110011 2 00110010 G 01000111 T 01010100 g 01100111 t 01110100 3 0011 H 01001000 U 0101 h 01101000 u 01110101 4 00110100 I 01001001 V 01010110 i 01101001 v 01110110 5 00110101 J 01001010 W 01010111 j 01101010 w 0111 6 00110110 K 01001011 X 01011000 k 01101011 x 01111000 7 00110111 L 01001100 Y 01011001 l 01101100 y 01111001 8 00111000 M 01001101 Z 01011010 m 01101101 z 01111010 9 00111001 29