知識ベース

古典暗号

暗号化では、 古典暗号は歴史的に使用されていた暗号の一種ですが、現在では大部分が使用されなくなりました。現代の暗号化アルゴリズムとは対照的に、ほとんどの古典的な暗号は実際に手で計算して解決できます。ただし、それらは通常、最新のテクノロジーで簡単に破ることもできます。この用語には、ギリシャおよびローマ時代から使用されていた単純なシステム、精巧なルネッサンス暗号、エニグママシンなどの第二次世界大戦暗号化が含まれます。

対照的に、現代の強力な暗号化は、1970年代以降に開発された新しいアルゴリズムとコンピューターに依存しています。

古典暗号の種類

古典暗号はしばしば転位暗号置換暗号に分けられます。

置換暗号

置換暗号では、文字(または文字のグループ)は、他の文字(または文字のグループ)のメッセージ全体で体系的に置き換えられます。

置換暗号のよく知られた例は、シーザー暗号です。 Caesar暗号を使用してメッセージを暗号化するには、メッセージの各文字をアルファベットの3桁後の文字に置き換えます。したがって、AはDに、BはEに、CはFに、などと置き換えられます。最後に、X、YおよびZはそれぞれA、BおよびCに置き換えられます。したがって、たとえば、「WIKIPEDIA」は「ZLNLSHGLD」として暗号化します。 Caesarはアルファベットを3文字回転させましたが、どんな数字でも機能します。

置換暗号の別の方法は、キーワードに基づいています。すべてのスペースと繰り返される文字が単語またはフレーズから削除され、エンコーダーはそれらを暗号アルファベットの開始点として使用します。暗号アルファベットの末尾は、キーワード内の文字を繰り返さずにアルファベットの残りの部分です。たとえば、キーワードがCIPHERの場合、暗号アルファベットは次のようになります。

通常のアルファベット abcdefghijklmnopqrstu vwxyz
暗号アルファベット cipherstuvwxyzabdfgjk lmnoq

これまでの例は、すべて1つの暗号アルファベットが使用されるモノアルファベット置換暗号の例でした。複数の暗号アルファベットが使用されている場合、多アルファベット置換暗号を使用することもできます。エンコーダーは、選択した手法を使用して2つ以上の暗号アルファベットを作成し、すべての文字または単語で使用する暗号アルファベットを交互に使用してメッセージをエンコードします。コードブレーカーは両方の暗号アルファベットを把握する必要があるため、これによりメッセージの解読がはるかに困難になります。

デコードがはるかに困難な多アルファベット置換暗号のもう1つの例は、革新的なエンコード方法であるVigenèresquareです。正方形には、テキストの暗号化に使用される26種類の暗号アルファベットがあります。各暗号アルファベットは、元のアルファベットのもう1つの右方向のシーザーシフトです。これは、ビジェーネ広場の外観です。

ABCDEFGHIJKLMNOPQRSTU VWXYZBCDEFGHIJKLMNOPQ RSTUVWXYZACDEFGHIJKLM NOPQRSTUVWXYZABDEFGHI JKLMNOPQRSTUVWXYZABCE FGHIJKLMNOPQRSTUVWXYZ ABCDFGHIJKLMNOPQRSTUV WXYZABCDEGHIJKLMNOPQR STUVWXYZABCDEFHIJKLMN OPQRSTUVWXYZABCDEFGIJ KLMNOPQRSTUVWXYZABCDE FGHJKLMNOPQRSTUVWXYZA BCDEFGHIKLMNOPQRSTUVW XYZABCDEFGHIJLMNOPQRS TUVWXYZABCDEFGHIJKMNO PQRSTUVWXYZABCDEFGHIJ KLNOPQRSTUVWXYZABCDEF GHIJKLMOPQRSTUVWXYZAB CDEFGHIJKLMNPQRSTUVWX YZABCDEFGHIJKLMNOQRST UVWXYZABCDEFGHIJKLMNO PRSTUVWXYZABCDEFGHIJK LMNOPQSTUVWXYZABCDEFG HIJKLMNOPQRTUVWXYZABC DEFGHIJKLMNOPQRSUVWXY ZABCDEFGHIJKLMNOPQRST VWXYZABCDEFGHIJKLMNOP QRSTUWXYZABCDEFGHIJKL MNOPQRSTUVXYZABCDEFGH IJKLMNOPQRSTUVWYZABCD EFGHIJKLMNOPQRSTUVWXZ ABCDEFGHIJKLMNOPQRSTU VWXY

Vigenèresquareを使用してメッセージを暗号化するには、まず使用するキーワードを選択してから、エンコードするメッセージと同じ長さになるまで繰り返します。 LEMONをキーワードとして使用するとします。繰り返されるキーワードの各文字は、コード化されるメッセージの各文字に使用する暗号(行)を示します。 2行目の暗号アルファベットは、AにB、BにCなどを使用します。これは、暗号アルファベット「B」になります。各暗号アルファベットは、その最初の文字で名前が付けられます。たとえば、LEMONというキーワードがあり、エンコードするメッセージがATTACKATDAWNである場合、これは次のようになります。

平文 ATTACKATDAWN
キーレモンレモン
暗号文 LXFOPVEFRNHR

一部の置換暗号では、文字の代わりに数字を使用します。この例は、音節を表すために数字が使用された大暗号です。また、キーワードに基づいた文字に対して4つの異なる番号ペアオプションを使用することを伴う別の番号置換暗号もあります。

数字の代わりに、記号を使用して文字や音節を置き換えることもできます。たとえば、干支のアルファベットはさまざまな文字を表すために使用されます。たとえば、太陽のシンボルはAを表し、木星はBを表し、土星はCを表しました。点、線、ダッシュはモールス符号もこの例の1つです。これは実際には暗号ではありませんが、それでも文字としてドットとダッシュを使用しています。 pigpen暗号は、グリッドシステムまたはラインとドットを使用して、文字の記号を確立します。アルファベットの文字を記号またはドットとダッシュに置き換えることを含む他のさまざまな方法があります。

転置暗号

転置暗号では、文字自体は変更されませんが、メッセージ内の文字の順序は、明確に定義されたスキームに従ってスクランブルされます。多くの転置暗号は、幾何学的設計に従って行われます。単純な(もう一度簡単に解読できる)暗号化は、すべての単語を逆方向に書くことです。たとえば、「こんにちは、私の名前はアリスです」。 「olleH ym eman si ecilA」になります。 scytaleは、メソッドの転置を支援するマシンです。

カラムナー暗号では、元のメッセージは、左から右、上から下の長方形に配置されます。次に、キーを選択して使用し、長方形の各列に番号を割り当てて、再配置の順序を決定します。キーの文字に対応する番号は、アルファベットの位置によって決まります。つまり、Aは1、Bは2、Cは3などです。たとえば、キーワードがCATでメッセージがTHE SKY IS BLUEの場合、これはあなたのメッセージを整理する方法です:

CAT 3 1 20 THESKYISBLUE

次に、文字を数字の順序で受け取り、それがメッセージの転置方法です。最初にAの下の列、次にCの下の列、次にTの下の列を使用すると、「空は青」というメッセージがHKSUTSILEYBEになります。

中国の暗号の転置の方法では、メッセージの文字は、文字をスクランブルするために、右から左、上下の列に書き込まれます。次に、最初の行から始めて、新しい暗号文を取得するために文字が取得されます。たとえば、暗号化が必要なメッセージがTHE DOG RAN FARであった場合、中国の暗号は次のようになります。

RRGTAAOHFNDE

暗号テキストは次のようになります:RRGT AAOH FNDE

多くの転置暗号は、これら2つの例に似ており、通常、文字を行または列に再配置してから、体系的な方法で文字を転置します。他の例には、垂直並列暗号および二重転置暗号が含まれます。

製品暗号に置換と転置を混在させることにより、より複雑なアルゴリズムを形成できます。 DESなどの最新のブロック暗号は、置換と転置のいくつかの段階を繰り返します。

古典暗号の暗号解析

一般的に、古典的な暗号は簡単に解読できます。攻撃者が十分な暗号文のみを知っている場合でも、古典的な暗号の多くは破られる可能性があるため、暗号文のみの攻撃を受けやすくなります。一部の古典的な暗号(たとえば、シーザー暗号)には小さなキースペースがあります。これらの暗号は、ブルートフォース攻撃、つまりすべてのキーを単に試すことで破ることができます。置換暗号は大きなキースペースを持つことができますが、例えば、平文言語の頻繁な文字は暗号文の頻繁な文字に対応するため、しばしば周波数分析の影響を受けやすくなります。 Vigenère暗号などの多アルファベット暗号は、複数の置換を使用することにより、単純な周波数分析を防ぎます。ただし、カシスキ試験などのより高度な手法を使用して、これらの暗号を破ることができます。

一方、最新の暗号は、暗号文のみの攻撃よりもはるかに強力な攻撃に耐えるように設計されています。優れた最新の暗号は、既知の平文攻撃、選択された平文攻撃、および選択された暗号文攻撃を含む広範な潜在的な攻撃に対して安全でなければなりません。これらの暗号の場合、攻撃者は、プレーンテキストとそれに対応する暗号テキストの量を知っていて、自分でプレーンテキストまたは暗号テキストを選択できたとしても、キーを見つけることができません。古典的な暗号はこれらのはるかに強力な基準を満たしていないため、深刻なアプリケーションにはもはや関心がありません。

古典的な暗号からのいくつかの技術は、現代の暗号を強化するために使用できます。たとえば、AESのMixColumnsステップはHill暗号です。