公開暗号鍵と復号鍵を作るために、法則を発見してみる。
暗号地図プログラム を動かしてみる。 公開鍵で暗号化するプログラム を動かしてみる。 復号化するプログラム を動かしてみる。
p = 3, q = 7 の素数の場合で以降考える。公開鍵を s = 5, 平文を "10 9 2 18" とする。
^ 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ 6 ^ 7 ^ 8 ^ 9 ^10 ^11 ^12 ^13
---------------------------------------------------------
d= 1| 1 1 1 1 1 1 1 1 1 1 1 1 1
d= 2| 2 4 8 16 11 1 2 4 8 16 11 1 2
d= 3| 3 9 6 18 12 15 3 9 6 18 12 15 3
d= 4| 4 16 1 4 16 1 4 16 1 4 16 1 4
d= 5| 5 4 20 16 17 1 5 4 20 16 17 1 5
d= 6| 6 15 6 15 6 15 6 15 6 15 6 15 6
d= 7| 7 7 7 7 7 7 7 7 7 7 7 7 7
d= 8| 8 1 8 1 8 1 8 1 8 1 8 1 8
d= 9| 9 18 15 9 18 15 9 18 15 9 18 15 9
d=10| 10 16 13 4 19 1 10 16 13 4 19 1 10
d=11| 11 16 8 4 2 1 11 16 8 4 2 1 11
d=12| 12 18 6 9 3 15 12 18 6 9 3 15 12
d=13| 13 1 13 1 13 1 13 1 13 1 13 1 13
d=14| 14 7 14 7 14 7 14 7 14 7 14 7 14
d=15| 15 15 15 15 15 15 15 15 15 15 15 15 15
d=16| 16 4 1 16 4 1 16 4 1 16 4 1 16
d=17| 17 16 20 4 5 1 17 16 20 4 5 1 17
d=18| 18 9 15 18 9 15 18 9 15 18 9 15 18
d=19| 19 4 13 16 10 1 19 4 13 16 10 1 19
d=20| 20 1 20 1 20 1 20 1 20 1 20 1 20
暗号化プログラムより、 暗号化した文は "19 18 11 9" と得られた。
復号化プログラムより、復号する秘密鍵は d = 5 となり、 復号できることがわかる。