2017年05月25日

2200年前の古代ギリシャが発祥の暗号 〜ポリュビオスの暗号表〜

応援クリックを1日1回宜しくお願いいたします。





昨日の記事に引き続き、今日も暗号を調べてみました。


過去分はこちら。
↓↓↓
暗号: ラインセグメント日記


本日は、ポリュビオスの暗号表による文字の変換です。

ポリュビオス(Polybius)はもちろん人名で、今から2200年前の古代ギリシャ人だそうです。

ポリュビオスの暗号表は、変換前の文字を書いた表の行と列の2つの数字を合わせた数字に変換するものです。

例えばこんな感じ。
 12345678
1ABCDEFGH
2IJKLMNOP
3QRSTUVWX
4YZabcdef
5ghijklmn
6opqrstuv
7wxyz0123
8456789  

例えば、Bは1行2列に位置しているので、12に変換されます。

12から復号化するときは、1行2列を見て、Bになります。

上記の表では、アルファベットの大文字・小文字と半角数字の(26文字$\times2+10=$)62個を変換対象としています。

表は8行8列の64マスで、62個が入る最小の正方形となっています。




変換対象は自由に変更してよくて、大文字のアルファベットの26文字を5行5列の表で変換することも考えられます。
そのとき、IとJをどちらも同じ数字に変換して、復号化のときに文脈に応じてIかJか判断します。

歴史的には、最初に用いられた時(おそらくポリュビオス本人でしょう)は、ギリシャ文字で変換されたそうです。

ギリシャ文字も26文字なので、そのうちどれか2つが同じ数字に変換されます。

共通のルールは、正方形の暗号表を用いて、1文字から2桁の数字に変換することです。

ここから先の工夫として下記が考えられます。
・ひらがな、カタカナ、漢字、記号、空白なども変換対象とする。
・行番号や列番号が9より大きくなれば、アルファベットなども含める。
・正方形でなく、長方形や直方体、高次元の直方体の暗号表として、$n$次元の表のとき$n$文字の数字に変換する。



昨日のアトバシュ暗号もそうですが、ポリュビオス暗号表は単一換字式暗号という暗号の方式の一種だそうです。

すなわち、変換前の文字に対して変換後の文字が決まっている暗号のことを単一換字式暗号たんいつかえじしきあんごうといいます。

単一換字式暗号 - Wikipedia

これは、ポリュビオス暗号表でいうと、暗号表は一定で変化しないものとして扱うという(暗黙の前提)ことを言っています。

アトバシュ暗号でいうと、アルファベットの逆順に変換するというルールは変化しない、という意味です。


たしかに、暗号表が変化したり、何個目の文字かによって変換後の文字が変わると、かなり暗号が強くなりそうです。

こういった希望感の余韻に浸りつつ、次の暗号に進みたいと思います。



最後に、ポリュビオス暗号表で暗号化・復号化するアプリケーションを作成しました。
↓↓↓
ポリュビオスの暗号表で暗号化


タグ:技術 数学 暗号

posted by Line Segment at 18:00 | Comment(0) | TrackBack(0) | ホームページ | このブログの読者になる | 更新情報をチェックする