T

Text Machine

強力なテキストツールを、ブラウザで

トリテミウス暗号

最初の多表式暗号であり、ドイツの修道院長 Johannes Trithemius が1508年に発表したトリテミウス暗号を暗号化・復号しましょう。最初の文字を 0、2番目を 1、3番目を 2、というふうにずらしていく、キーのない着実に増えていくシフトです。暗号化と復号を切り替え、計算過程がリアルタイムで組み上がっていく様子を眺められます。すべての処理はブラウザ上で実行されます。

トリテミウス暗号はキー不要です。シフトの並びは常に 0、1、2、3、… なので、入力するのはテキストだけです。方式を知っている人なら誰でも解読できます。復号に切り替えて暗号文を貼り付けるだけです。

平文
暗号文

上にテキストを入力すると、トリテミウス暗号の結果がここに表示されます。

トリテミウス暗号 の使い方

  1. 1

    暗号化か復号かを選ぶ

    平文をトリテミウス暗号文に変えるには暗号化を、暗号文から平文を復元するには復号を選びます。この暗号はキー不要なので、選ぶ必要がある設定は向きだけです。

  2. 2

    テキストを入力または貼り付ける

    変換したいメッセージを入力します。入力すると同時に暗号が自動で実行され、増えていくシフト 0、1、2、3、… を各文字に順に適用します。

  3. 3

    計算過程を眺める

    1文字ずつの計算過程を開くと、すべての位置で適用されるシフトと、それが生み出す文字を確認できます。シフトは文字ごとに1ずつ大きくなり、26文字の後にリセットされます。

  4. 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 のような現代的で十分に検証されたアルゴリズムに頼るべきです。

よくある質問

トリテミウス暗号とは何ですか?
トリテミウス暗号は最初の多表式換字暗号で、ドイツの修道院長 Johannes Trithemius が1508年に発表しました。彼が導入した tabula recta を使って、各文字を着実に増えていく量だけ、最初は 0、2番目は 1、3番目は 2、というふうにずらします。キーを持たず、そのことが Vigenère 暗号のキー不要な祖先としての位置づけを与えています。
トリテミウス暗号はどう動きますか?
アルファベットに A を 0 から Z を 25 まで番号を振り、0 から始まり文字ごとに1ずつ増えるカウンターを保ちます。暗号化するには、カウンターを文字に 26 を法として足します: C = (P + i) mod 26。復号するには代わりに引きます: P = (C − i) mod 26。ずらされるのは文字だけで、スペース・数字・句読点は通り抜けてカウンターを進めません。
トリテミウス暗号にキーは必要ですか?
いいえ。トリテミウス暗号はキー不要です。シフトの並び 0、1、2、3、… は固定かつ公開されているので、入力するのはテキストだけです。これはこの暗号を定義づける特徴であり、同時に弱点でもあります。方式に気づく人なら誰でも、何の秘密もなしにメッセージを解読できるからです。
トリテミウス暗号の例を見せてもらえますか?
HELLO を暗号化すると HFNOS になります。文字は位置 0 から 4 にあるので、シフトは 0、1、2、3、4 です。H に 0 を足して H、E に 1 を足して F、L に 2 を足して N、L に 3 を足して O、O に 4 を足して S。2つの L は異なる位置にあるために異なる文字になります。同じ増えていくシフトで HFNOS を復号すると HELLO に戻ります。
トリテミウスは Vigenère 暗号とどう違いますか?
トリテミウス暗号は、キーワードがアルファベット全体を順に並べたものである Vigenère の特別な場合なので、シフトは単純に 0、1、2、3、… となってから繰り返します。Vigenère はその固定された並びを秘密のキーワードに置き換え、それが本物の強度を与えます。要するに、トリテミウスは ABCDEFGHIJKLMNOPQRSTUVWXYZ をキーとした Vigenère です。
トリテミウスは Caesar 暗号とどう違いますか?
Caesar 暗号はすべての文字を同じ固定量だけずらすので、単表式であり、同じ平文の文字は常に同じ暗号文の文字に対応します。トリテミウス暗号はすべての位置でシフトを1ずつ増やすので、多表式です。同じ平文の文字は、それがどこに現れるかに応じて、たいてい異なる暗号文の文字になります。
tabula recta とは何ですか?
tabula recta は Trithemius が導入したアルファベットの 26 行 26 列の格子で、各行はその上の行よりも1つ先へずらしたアルファベットになっています。暗号化するには、最初の文字を最初の行から、2番目を2番目の行から、というふうに読みます。Vigenère 暗号は後に同じ表を保ちつつ、秘密のキーワードで行を選びました。
トリテミウス暗号はどうやって復号しますか?
ツールを復号に切り替え、暗号文を貼り付けます。この暗号はキー不要なので、キーは要りません。ツールが増えていくシフト 0、1、2、3、… を引いて平文を復元します。メッセージがトリテミウス暗号だと見分けることが、それを読むために誰にとっても必要なすべてです。
この暗号はスペースや句読点を変えますか?
いいえ。ずらされるのは26文字だけです。スペース・句読点・数字はそのまま通り抜け、位置カウンターを進めないため、増えていくシフトは文字と並んだままになります。大文字・小文字は保たれるので、出力は元のテキストの形を保ちます。
26文字の後にシフトはどうなりますか?
シフトは 26 で割った余りで取られるため、循環します。27番目の文字は再び 0、28番目は 1、というふうにずれ、並びを繰り返します。これこそが、トリテミウス暗号が26文字すべてのアルファベットをキーとした Vigenère 暗号と等しい理由です。
トリテミウス暗号は安全ですか?
いいえ。トリテミウス暗号は何の安全性も提供しません。キーを持たず、その方式が公開されているからです。それと気づく人なら誰でもメッセージをただちに読めます。教育とパズルのための暗号、そして暗号史の一片として扱うのが最もよいでしょう。本物の保護のためには、代わりに AES のような現代的なアルゴリズムを使ってください。
入力したテキストはサーバーに送信されますか?
いいえ。すべての暗号化と復号はブラウザ内だけで実行されるため、あなたのテキストがアップロード・記録・保存されることは決してありません。共有リンクでさえ、データを URL のハッシュ以降の部分に保持しますが、ブラウザはこの部分をサーバーに決して送信しないため、自分で共有を選ぶまで非公開のまま保たれます。

関連ツール

こちらの便利なツールもどうぞ

ボーフォート暗号

グロンスフェルト暗号

ポルタ暗号

ヴィジュネル暗号

オートキー暗号

ランニングキー暗号