ヴィジュネル暗号 を 数式で観る
2010年 03月 21日
ヴィジュネル暗号を数学的に見てみる。
Vigenere cipher
平文 a b c d e f g h i j k l m n o p q r s t u v w x y z 鍵↓ 0 A...A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 B...B C D E F G H I J K L M N O P Q R S T U V W X Y Z A 2 C...C D E F G H I J K L M N O P Q R S T U V W X Y Z A B 3 D...D E F G H I J K L M N O P Q R S T U V W X Y Z A B C 4 E...E F G H I J K L M N O P Q R S T U V W X Y Z A B C D 5 F...F G H I J K L M N O P Q R S T U V W X Y Z A B C D E 6 G...G H I J K L M N O P Q R S T U V W X Y Z A B C D E F 7 H...H I J K L M N O P Q R S T U V W X Y Z A B C D E F G 8 I...I J K L M N O P Q R S T U V W X Y Z A B C D E F G H 9 J...J K L M N O P Q R S T U V W X Y Z A B C D E F G H I 10 K...K L M N O P Q R S T U V W X Y Z A B C D E F G H I J 11 L...L M N O P Q R S T U V W X Y Z A B C D E F G H I J K 12 M...M N O P Q R S T U V W X Y Z A B C D E F G H I J K L 13 N...N O P Q R S T U V W X Y Z A B C D E F G H I J K L M 14 O...O P Q R S T U V W X Y Z A B C D E F G H I J K L M N 15 P...P Q R S T U V W X Y Z A B C D E F G H I J K L M N O 16 Q...Q R S T U V W X Y Z A B C D E F G H I J K L M N O P 17 R...R S T U V W X Y Z A B C D E F G H I J K L M N O P Q 18 S...S T U V W X Y Z A B C D E F G H I J K L M N O P Q R 19 T...T U V W X Y Z A B C D E F G H I J K L M N O P Q R S 20 U...U V W X Y Z A B C D E F G H I J K L M N O P Q R S T 21 V...V W X Y Z A B C D E F G H I J K L M N O P Q R S T U 22 W...W X Y Z A B C D E F G H I J K L M N O P Q R S T U V 23 X...X Y Z A B C D E F G H I J K L M N O P Q R S T U V W 24 Y...Y Z A B C D E F G H I J K L M N O P Q R S T U V W X 25 Z...Z A B C D E F G H I J K L M N O P Q R S T U V W X Y
上記の並び順を見て見ると、全26文字に0~25までの番号が振ってある。
ここで数字をNとしたとき、26文字なので26で割った余りで表すことができる。
(N mod26) (N=数字)
上の式に当てはめてみると、それぞれに対応した数字とアルファベットを得ることができる。
- ここで鍵 “B” の Im boy でやってみると JN CPZ となり、1文字目 I を見てみると
- 平文(l) = 8
- 鍵B(アルファベットのシフト数) = 1
- 暗号文(J) = 平文 + 鍵 = 8 + 1, 9(mod26) = 9 % 26 = 9
- 同じく鍵 “Z” の Im boy でやってみると HL ANX となり、1文字目 I を見てみると
- 平文(l) = 8
- 鍵Z(アルファベットのシフト数) = 25
- 暗号文(H) = 平文 + 鍵 = 8 + 25, 33(mod26) = 33 % 26 = 7
2つの結果を、下の表の暗号配列に照らし合わせると暗号文字と一致する。
暗号配列
数字 (N)・・・0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 暗号配列・・・A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
また、復号化は暗号化の逆をすれば良い。
- 例として上と同じ
鍵 “B” の JN CPZ でやってみると Im boy となり、1文字目 I を見てみると - 暗号文(J) = 9
- 鍵B(アルファベットのシフト数) = 1
- 平文(I) = 平文 -- 鍵 = 9 -- 1, 8(mod26) = 8 % 26 = 8
- ここで、平文 -- 鍵 が負になる場合
同じく鍵 “Z” の HL ANX でやってみると Im boy となり、1文字目 I を見てみると - 暗号文(H) = 7
- 鍵Z(アルファベットのシフト数) = 25
- 平文(I) = 平文 -- 鍵 = 7 -- 25 = -18 + 26, 8(mod26) = 8 % 26 = 8
のように26を加えるとよい。
このようにしてみると、ヴィジュネル暗号も高々26文字の換字式暗号でしか無いことが解る。

2 トラックバック(s)