課題プリント18 | マルチメディア実習 |
○RSA暗号-2
余りの数をだけを扱う世界で、べき乗の計算をするとあるべき乗数で元の値に戻る。この性質を暗号に利用したものが「RSA暗号」である。
例として、アルファベット26文字を暗号化する。Nが26より大きくなるように、P=3,Q=11とする。 N=P×Q=(@ )となる。
元に戻る べき乗数 D =n×(P−1)×(Q−1)+1 (n=1とする)
=(3−1)×(11−1)+1 = ( A )
文字Mを21乗すると元に戻るので、それでは暗号にならない。まず、3乗した値を暗号文とする。これを復号するには、さらに( B )乗する。
(M3)7 = M3×7 = M21
公開するかぎは、「べき乗数の3」と「( C )」である。P,Qを公開するとNはすぐに計算されてしまうからである。
暗号化するときは、N(=33)の余りの世界で( D )乗してもらうことになる。
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 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
例えば、「MEDIA」を暗号化する。文字コードは「77,69,68,73,65」となる。実際にはしないが計算しやすいように、それぞれから65を減算すると文字コードは「12,4,3,8,0」となる。
123の33の余り→12×12 mod 33 = 12, 12×12 mod 33 = 12
乗数 1 33余 2 33余 3 33余 12 12 12 144 12 144 12 4 4 4 16 16 64 31 3 3 3 9 9 27 27 8 8 8 64 31 248 17 0 0 0 0 0 0 0
かけ算するごとに余りを求め、余りとのかけ算をすれば、大きな数にならずに計算できる。
「12,31,27,17,0」が暗号化されたデータである。
次は、復号計算である。1乗は省略。空欄を埋めよ。
乗数 2 33余 3 33余 4 33余 5 33余 6 33余 7 33余 +65 12 144 12 144 12 144 12 144 12 144 12 144 12 77(=M) 31 961 4 @ A B C D E F G H I 69(=E) 27 729 3 81 15 405 9 243 12 324 27 729 3 68(=D) 17 289 25 J K L M N O P Q R S 73(=I) 0 0 0 0 0 0 0 0 0 0 0 0 0 65(=A)
マルチメディア実習 | Copyright © 2010 Hiroshi Masuda |