練習問題(2)

共通科目情報処理(講義)、国際総合学類対象、1997年02月05日

                                       電子・情報工学系
                                       新城 靖
                                       <yas@is.tsukuba.ac.jp>

このページは、次の URL にあります。
http://www.hlla.is.tsukuba.ac.jp/~yas/ipe/kokusai-kougi-1996/1997-02-05 /exercise-2.html
あるいは、次のページから手繰っていくこともできます。
http://www.hlla.is.tsukuba.ac.jp/~yas/ipe
http://www.hlla.is.tsukuba.ac.jp/~yas/index-j.html
http://www.ipe.tsukuba.ac.jp/~yshinjo
http://www.ipe.tsukuba.ac.jp

■暗号

◆符号

暗号の例題を示す時には、平文を小文字で、暗号文を大文字で表記する習慣が ある。 この練習問題では、英語のアルファベット26文字を、次のように符号化する。
----------------------------------------------------------------------
 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 26
 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
 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
----------------------------------------------------------------------

◆Caesar暗号

Caesar暗号とは、平文アルファベットをN文字ずらした暗号文アルファベット に変える単純な暗号である。次は、N=2 の時の対応表である。

 平文アルファベット: abcdefghijklmnopqrstuvwxyz
暗号文アルファベット: CDEFGHIJKLMNOPQRSTUVWXYZAB

★練習問題: 次の文をCaesar暗号(N=2)で暗号化しなさい。

	kokusai

★練習問題: 次の文をCaesar暗号(N=2)で復号化しなさい。

	ICMWTWK

◆バーナム暗号法

Caesar暗号では、定数だけずらしていた。バーナム暗号(Vernam cipher)では、 定数ではなく、乱数ストリーム(無限の長さの乱数表、実際に使うのはメッセー ジの長さだけ)を使い、文字ごとに乱数の数だけだけずらす。

例:

乱数表: 0 18 19 22 22  7  9  4 14  3
 平文: h  e  l  l  o  w  o  r  l  d
        8  5 12 12 15 23 15 18 12  4
暗号文: H  W  E  H  K  D  X  V  Z  G
   : 8 23  5  8 11  4 24 22 26  7

★練習問題: 上の乱数表を使って、次の文を暗号化しなさい。

	kokusai

★練習問題: 上の乱数表を使って、次の文を復号化しなさい。

	KADKQGXY

◆コラム暗号

次は、転置暗号の1つ、コラム転置の例である。キーは、同じ文字を含まない 1個の単語や熟語である。このキーでコラムに番号付けをする。たとえばコラ ム1は、アルファベットで先頭に近い文字の下のコラムとなる。

MEGABUCK
--------
74512836
--------
pleasetr
ansferon
emillion
dollarst
omyswiss
bankacco
untsixtw
otwoabcd
 平文: pleasetransferonemilliondollarstomyswissbankaccountsixtwotwo
暗号文: AFLLSKSOSELAWAIATOOSSCTCLNMOMANTESILYNTWRNNTSOWDPAEDOBUOERIRICXB
★練習問題: 上の鍵を使って、次の文を暗号化しなさい。

	kokusai

★練習問題: 上の鍵を使って、次の文を復号化しなさい。

	TULIRAVA


↑[もどる] ←[1月29日] ・[2月5日] →[2月12日]
Last updated: 1997/02/05 00:22:37
Yasushi Shinjo / <yas@is.tsukuba.ac.jp>