トリテミウス暗号
最初の多表式暗号であり、ドイツの修道院長 Johannes Trithemius が1508年に発表したトリテミウス暗号を暗号化・復号しましょう。最初の文字を 0、2番目を 1、3番目を 2、というふうにずらしていく、キーのない着実に増えていくシフトです。暗号化と復号を切り替え、計算過程がリアルタイムで組み上がっていく様子を眺められます。すべての処理はブラウザ上で実行されます。
トリテミウス暗号はキー不要です。シフトの並びは常に 0、1、2、3、… なので、入力するのはテキストだけです。方式を知っている人なら誰でも解読できます。復号に切り替えて暗号文を貼り付けるだけです。
上にテキストを入力すると、トリテミウス暗号の結果がここに表示されます。
トリテミウス暗号 の使い方
- 1
暗号化か復号かを選ぶ
平文をトリテミウス暗号文に変えるには暗号化を、暗号文から平文を復元するには復号を選びます。この暗号はキー不要なので、選ぶ必要がある設定は向きだけです。
- 2
テキストを入力または貼り付ける
変換したいメッセージを入力します。入力すると同時に暗号が自動で実行され、増えていくシフト 0、1、2、3、… を各文字に順に適用します。
- 3
計算過程を眺める
1文字ずつの計算過程を開くと、すべての位置で適用されるシフトと、それが生み出す文字を確認できます。シフトは文字ごとに1ずつ大きくなり、26文字の後にリセットされます。
- 4
確認し、コピーし、共有する
結果を確認し、それをコピーしたり、テキストファイルとしてダウンロードしたり、あなたの正確な向きとテキストとともにツールを開き直すリンクで共有したりできます。すべてはブラウザ内に留まります。
トリテミウス暗号を理解する
トリテミウス暗号とは何ですか?
トリテミウス暗号は、最初の多表式換字暗号として広く認められています。ドイツのベネディクト会修道院長 Johannes Trithemius が、暗号学に関する最古の印刷書である1508年の Polygraphiae libri sex で発表しました。Caesar 暗号のようにすべての文字を同じ量だけずらすのではなく、トリテミウス暗号は各文字を着実に増えていく量だけずらします。最初の文字は 0、2番目は 1、3番目は 2、というふうにメッセージを通じてずれていきます。シフトがすべての位置で変わるため、同じ平文の1文字でもいくつもの異なる暗号文の文字になりうるので、単純なシフト暗号を破る文字頻度のパターンを隠します。
トリテミウス暗号が多表式暗号の中で異色なのは、キーを持たないことです。シフトの並び 0、1、2、3、… は固定かつ公開されているので、取り決めるべき秘密の語や数はありません。方式を知っている人なら誰でもメッセージを読めます。それは弱点でもありますが、歴史的にはその発想は画期的でした。ずらされたアルファベットの正方形である tabula recta を導入したのです。これは後に Vigenère 暗号が借用し、秘密のキーワードと組み合わせることになります。
トリテミウス暗号の仕組み
アルファベットに A を 0 から Z を 25 まで番号を振ります。メッセージに沿って進みながら、0 から始まり文字ごとに1ずつ増えるカウンターを保ちます。暗号化するには、そのカウンターを文字に足し、26 で割った余りでアルファベットを循環させます。そうすると暗号文の文字は C = (P + i) mod 26 になります。ここで i は文字の位置です。復号するには代わりに同じカウンターを引いて P = (C − i) mod 26 とします。これはシフトを打ち消し、元の文字を返します。
ずらされるのは26文字だけです。スペース・句読点・数字・その他の文字はそのまま通り抜け、カウンターを進めないため、増えていくシフトは肝心の文字と並んだままになります。大文字・小文字は保たれます。シフトは 26 で割った余りで取られるため、その並びは26文字ごとに繰り返されます。27番目の文字は再び 0、28番目は 1、というふうにずれます。これによりトリテミウス暗号は、キーワードがアルファベット全体 ABCDEFGHIJKLMNOPQRSTUVWXYZ である Vigenère 暗号と同一になります。
実例で見る
メッセージ HELLO を暗号化しましょう。5つの文字は位置 0、1、2、3、4 にあるので、シフトは 0、1、2、3、4 です。各シフトを足すと、H に 0 を足して H、E に 1 を足して F、L に 2 を足して N、L に 3 を足して O、O に 4 を足して S となります。暗号文は HFNOS です。2つの L が異なる位置にあるために異なる文字 N と O になったことに注目してください。これは固定された Caesar のシフトには決してできなかったことです。
HFNOS を復号するには、同じ増えていくシフトを引きます。H から 0 を引いて H、F から 1 を引いて E、N から 2 を引いて L、O から 3 を引いて L、S から 4 を引いて O となり、再び HELLO と綴られます。暗号化と復号の手順は互いに鏡像であり、シフトの並びは固定されているため、受信者に必要なのは、それがトリテミウス暗号であるという知識だけです。
tabula recta
Trithemius は自身の暗号を tabula recta、ラテン語で「まっすぐな表」を意味するものとともに示しました。これは 26 行 26 列の格子で、最初の行は素のアルファベット、2番目の行は1つずらしたアルファベット、3番目の行は2つずらしたもの、というふうに 25 のシフトまで続きます。最初の文字を暗号化するには最初の行から読み、2番目の文字は2番目の行から、3番目は3番目の行から読み、メッセージの後続の文字ごとに1行ずつ下に進みます。
この表こそがトリテミウス暗号の永続的な貢献です。数十年後、Giovan Battista Bellaso、そして彼の名を取った Vigenère 暗号は、同じ tabula recta を保ちつつ、決まった順序で行を辿るのではなく、秘密のキーワードで行を選びました。したがってトリテミウス暗号は、Vigenère、Beaufort、Gronsfeld を含む、キーワード表式暗号という一族全体の直接の祖先です。
トリテミウス、Vigenère、そして漸進キー
トリテミウス暗号を、その子孫たちと並べてみると分かりやすくなります。Vigenère 暗号はメッセージに繰り返すキーワードを足し、C = (P + K) mod 26 となります。ここで各キー文字は 0 から 25 までのシフトを与えます。トリテミウス暗号は、そのキーワードがアルファベット全体を順に並べたものである特別な場合であり、シフトは単純に 0、1、2、3、…、25 となってから繰り返します。言い換えれば、トリテミウスは ABCDEFGHIJKLMNOPQRSTUVWXYZ をキーとした Vigenère です。
これこそが、トリテミウス暗号が時に漸進キー暗号と呼ばれる理由です。シフトは秘密によって選ばれるのではなく、一歩ごとに1ずつ進みます。キーを持たないことの代償は、秘密がまったく存在しないことであり、そのためこの暗号はメッセージを、方式に気づかない人に対してのみ守ります。Bellaso と Vigenère がしたように秘密のキーワードを加えることこそが、この教育的な発想を、3世紀にわたって解析に耐えた暗号へと変えた一歩でした。
トリテミウス暗号を破る方法
トリテミウス暗号を破るのは造作もありません。復元すべき秘密が何もないからです。シフトの並び 0、1、2、3、… は公開されているので、トリテミウス暗号ではないかと疑う人は誰でも、増えていくシフトを引くだけでただちにメッセージを読めます。見つけるべきキーの長さも、推測すべきキーもありません。この暗号を見分けることは、それを破ることと同じです。
方式を知らない解読者でさえ容易です。固定された並びは最初の文字がずらされないことを意味するので、しばしばそれが暗号の正体を露呈させ、ほんの一握りの開始オフセットを試すだけで読めるテキストがすぐに現れます。これは Vigenère とは大きく異なります。Vigenère では秘密のキーワードが攻撃者に Kasiski 検査と一致指数を強います。トリテミウス暗号は、それらより強力なキー付き暗号が後に築かれた教育的な骨組みと考えるのが最もよいでしょう。
トリテミウス暗号は安全ですか?
いいえ。トリテミウス暗号は何の安全性も提供しません。キーを持たないからです。その方式全体が公開されているので、それと気づく人なら誰でもメッセージをただちに読めます。他の歴史的な手作業暗号の基準に照らしても、それは純粋に教育用の道具であり、何かを隠すためではなく、多表式のシフトがどのように働くかを示す点に価値があります。
今日、トリテミウス暗号は学習と娯楽のために楽しまれています。tabula recta と、Vigenère の背後にある漸進シフトの発想への、考えうる限り最も明快な入門であり、易しい最初の多表式暗号として、パズル・脱出ゲーム・キャプチャー・ザ・フラッグの課題に登場します。本物の情報を守るためには、代わりに AES のような現代的で十分に検証されたアルゴリズムに頼るべきです。
よくある質問
トリテミウス暗号とは何ですか?
トリテミウス暗号はどう動きますか?
トリテミウス暗号にキーは必要ですか?
トリテミウス暗号の例を見せてもらえますか?
トリテミウスは Vigenère 暗号とどう違いますか?
トリテミウスは Caesar 暗号とどう違いますか?
tabula recta とは何ですか?
トリテミウス暗号はどうやって復号しますか?
この暗号はスペースや句読点を変えますか?
26文字の後にシフトはどうなりますか?
トリテミウス暗号は安全ですか?
入力したテキストはサーバーに送信されますか?
関連ツール
こちらの便利なツールもどうぞ