対称性を持った暗号

暗号変換方法の対称性という概念があります。何かというと、暗号化の変換と復号化の変換が全く同じ計算で行われるということです。

最も有名なものはROT 13です。暗号化によってAはNに、BはOに行きますが、逆にNはAに、OはBに変換されます。ですのでROT+13されて変換された文章を再度ROT+13して暗号化すると、元の文章に戻ってくることになります。ROT2なんかだとAはCに行きますがCはEに行ってしまうため、このようなことは起こりません。

また、Atbashも暗号化によってAはZに、BはYに行きますが、逆にZはAに、YはBに行くため、ROT13と同様に2回暗号化すると元の文書に返ってきます。つまりこれも対称性のある暗号です。

一般に、a→bならb→aを満たしているような単一換字変換の暗号であれば上記のような対称性を持ちます。

そして、単一換字暗号以外でも対称性を持ったものはあります。例えばBeaufortというVigenere暗号に似たkeyed cipherがあります。Vigenereが平文にkeyを足すような変換をするのに対して、Beaufortはkeyを中心として対象の位置のアルファベットに変換するような暗号方式になります。その為、Vigenere暗号とほぼ同様の解読難度と使いやすさを持ちながら、たとえば

CIPHERをTESTをkeyにしてBeaufortで暗号化すると RWDMPN

RWDMPNを再度TESTをkeyにしてBeaufortで暗号化すると CIPHER

となり、対称性を持っていることをみることができます。

また、Playfair暗号も、二文字を一単位としてPolybius方陣上の座標 (a,b) (c,d)を(a,d)(c,b)に変換する(列座標を取り替える)変換なので2回暗号化を繰り返すと元の文章に戻ってくる変換となっています。残念ながら平文の文字が同じ行や同じ列に並んでいる場合の処理が対称的でないので完全に対象な暗号変換とはなっていないのですが、仮にそういった場合の変換ルールを「方陣上の点対称な位置の文字に変換する」とかの対称性が保たれるルールに変えれば、今とほぼ同様の解読難度を持ちながら対称性のある暗号を作ることができます。

さらに、詳細なロジックはここでは書きませんが、有名なEnigma暗号も対称性のある暗号です。ローターやプラグの設定等多くのパラメータがありますが、暗号文に対してそれらの設定を同じにしてもう一度暗号機を回すと平文が出てくるという仕組みになっています。このことは当時実際に暗号機を製造し、運用していく上では色々とメリットがあったようです。

趣味でデコードを楽しむ立場としては対称性というのは少々面白い性質という程度のものでしかなく特にメリットは感じませんが、それは決して暗号が弱いということを意味するものでもありません。また、上では換字タイプの暗号を中心に書きましたが、文字の転置系の暗号など他にも対称性のある暗号はあり、分類の方法として個人的に割と気にいっているものの一つです。

 

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中