Playfair暗号
Playfairが5x5の鍵表を使って文字のペアを暗号化する仕組みを学び、単純置換暗号からの進歩を理解します。
「Playfair暗号」はCoddyKit上の無料Cryptology Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCryptology Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cryptology Academyコースには全4レッスンが含まれています。
単一文字置換を超えて
Caesarのような単純な置換暗号は一度に1文字を暗号化するため、頻度分析に弱いという特徴があります。英語の文字には予測可能な出現頻度があり、最も多いのはE、次いでT、A、Oなどです。
Playfair暗号は、1文字ずつではなく文字のペア(ダイグラフ)を暗号化します。これにより、可能なビグラムの数が大幅に増え、頻度分析による偏りが小さくなります。
5x5の鍵方陣
Playfair暗号では、鍵方陣と呼ばれる5x5の文字グリッドを使用します。25個のセルしかないため、IとJを1つのセルにまとめ、アルファベット26文字をすべて含めます。
鍵方陣を作るには、まずキーワードを重複を取り除いて書き、その後に残りのアルファベットを順番に埋めます。キーワードによって全体の配置が決まります。
鍵行列の構築
キーワード「MONARCHY」から重複を取り除くと、M-O-N-A-R-C-H-Yになります。5x5のグリッドを行ごとに埋めると、MONAR / CHYBE / DFGIK / LPQST / UVWXZとなります。
残りの文字B、D、E、F、G、I、K、L、P、Q、S、T、U、V、W、X、Zは、キーワードの文字の後に順番に挿入されます。I/Jは同じセルを共有します。
平文の準備
暗号化する前に、平文をダイグラフ(2文字の組)に分割します。1つの組に同じ文字が含まれる場合は、その間にXを挿入します。たとえば、「BALLOON」は「BA LX LO ON」になります。
文字数が奇数の場合は、末尾にXを追加します。この前処理により、Playfairの規則を常に問題なく適用できます。
同一行の規則
ペアの両方の文字が鍵方陣の同じ行にある場合、それぞれをすぐ右側の文字に置き換えます。行の末尾からは行の先頭に折り返します。
たとえばMONARCHYの行列で「AR」を暗号化する場合、両方とも1行目にあります。AはRに、RはCに置き換わるため、暗号文のペアは「RC」になります。
同一列の規則
ペアの両方の文字が同じ列にある場合、それぞれをすぐ下の文字に置き換えます。列の最下段からは最上段に折り返します。
この規則は対称的に機能します。「MB」が同じ列にある場合、Mはその列で直下にある文字に置き換えられます。列も行と同じように折り返します。
長方形の規則
2つの文字が鍵方陣上で長方形を形成する場合、それぞれを同じ行にある長方形のもう一方の角の文字に置き換えます。
これは最もよくあるケースです。「MU」を暗号化する場合は、グリッド上でMとUを探します。Mは1行1列、Uは5行1列にあり、長方形を形成します。MはUの列の1行目にある文字に、UはMの列の5行目にある文字に置き換えます。
Playfair暗号化を手順に沿って
「HIDE THE GOLD」を暗号化するには、空白を取り除いてダイグラフを準備します。「HI DE TH EG OL DX」となります。鍵方陣を使い、各ペアに適切な規則(同一行、同一列、または長方形)を適用します。
各ペアは独立して暗号化されます。その結果、ダイグラフ暗号文の列が得られます。平文を復元するには、同じ鍵方陣を使ってこの暗号文を復号する必要があります。
Playfairの弱点
単純な置換より強力ではありますが、Playfairも暗号解読には弱いままです。ダイグラフの頻度分析が可能であり、英語では「TH」、「HE」、「IN」、「ER」が最も一般的なビグラムです。
攻撃者は十分な量の暗号文を入手すれば、暗号化されたダイグラフの頻度表を作成し、英語で予想されるダイグラフの頻度と比較して鍵方陣を推測できます。
第一次世界大戦におけるPlayfair
Playfair暗号は1854年にCharles Wheatstoneが発明しましたが、Baron Playfairが普及させたことからこの名前が付いています。イギリス陸軍は第一次世界大戦中、野戦通信にこの暗号を広く使用しました。
機械装置なしでも使えるほど簡単でありながら、戦術通信を保護するのに十分な強度があったため、好んで使われました。オーストラリア軍も第二次世界大戦中に使用しましたが、日本の暗号解読者によって解読されました。
Playfairによる復号
Playfairの復号では、同じ鍵方陣と同じ3つの規則を使いますが、方向は逆になります。同一行のペアでは右ではなく左に移動し、同一列のペアでは下ではなく上に移動します。長方形のペアでは、暗号化と同じ規則を使います。
復号後は、パディングとして追加されたXを取り除く必要があります。Xで分けられた重複文字を結合し、末尾のXを削除します。この復元手順によって、元のメッセージを取り戻せます。
Playfairの規則クイズ
Playfair暗号の規則についての理解度を確認しましょう。
要点:Playfair暗号
Playfairは、キーワードから作成した5x5の鍵方陣を使ってダイグラフを暗号化します。3つの規則で、同一行、同一列、長方形のケースを処理します。ダイグラフの頻度は利用しにくいため、単純な置換よりも大幅に強力です。
巧妙な仕組みを持っていたにもかかわらず、Playfairは第一次世界大戦期の暗号解読者によって破られました。単純暗号から多表式暗号、そして現代の暗号化へと発展していく過程における重要な一歩として、現在も重要な位置を占めています。
よくある質問
「Playfair暗号」レッスンは無料ですか?
はい。「Playfair暗号」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cryptology Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cryptology Academyコースには全4レッスンが含まれています。
「Playfair暗号」で何を学びますか?
Playfairが5x5の鍵表を使って文字のペアを暗号化する仕組みを学び、単純置換暗号からの進歩を理解します。 ブラウザで直接実行するハンズオンコードでCryptology Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cryptology Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCryptology Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「Playfair暗号」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCryptology Academyレッスンでコードを書いて実行できますか?
はい。すべてのCryptology Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。