本文へスキップ

自動鍵暗号エンコーダー・デコーダー

短いプライマーとメッセージを入力すると、ヴィジュネル暗号の自動鍵(オートキー)方式でエンコードまたはデコードします。鍵は繰り返さず、メッセージ自体が鍵の続きになります。鍵がテキストの下に並び、各文字の計算の和も表示されます。無料、登録不要。入力内容はブラウザの外に出ません。

モード

鍵の始まりになる短いキーワードです。その後は、鍵がメッセージ自体の続きになるので、鍵が繰り返されることはありません。

鍵の続きになるもの

平文の自動鍵は古典的な暗号で、パズルサイトが「自動鍵」と呼ぶものです。暗号文の形式は、教科書にあるもう1つの版です。送信側と受信側は、同じものを選ぶ必要があります。

結果に残すもの

計算過程

鍵を1文字ずつ:最初の12文字

平文ATTACKATDAWN
鍵QUEENLYATTAC
暗号文QNXEPVYTWTWP

最初の7個の鍵文字(網掛け)はプライマーです。その後の各鍵文字は、7文字前の平文の文字です。

  • 文字は A = 0、B = 1 … Z = 25 と番号を付け、すべての和は 26 で割った余りになります。
  • エンコード:暗号文字 = 平文字 + 鍵文字。
  • 鍵はプライマーに続けて平文が並んだものです。そのため復号するときは、復元した文字がすべて鍵に加わります。

ヴィジュネル方陣

ABCDEFGHIJKLMNOPQRSTUVWXYZ
AABCDEFGHIJKLMNOPQRSTUVWXYZ
BBCDEFGHIJKLMNOPQRSTUVWXYZA
CCDEFGHIJKLMNOPQRSTUVWXYZAB
DDEFGHIJKLMNOPQRSTUVWXYZABC
EEFGHIJKLMNOPQRSTUVWXYZABCD
FFGHIJKLMNOPQRSTUVWXYZABCDE
GGHIJKLMNOPQRSTUVWXYZABCDEF
HHIJKLMNOPQRSTUVWXYZABCDEFG
IIJKLMNOPQRSTUVWXYZABCDEFGH
JJKLMNOPQRSTUVWXYZABCDEFGHI
KKLMNOPQRSTUVWXYZABCDEFGHIJ
LLMNOPQRSTUVWXYZABCDEFGHIJK
MMNOPQRSTUVWXYZABCDEFGHIJKL
NNOPQRSTUVWXYZABCDEFGHIJKLM
OOPQRSTUVWXYZABCDEFGHIJKLMN
PPQRSTUVWXYZABCDEFGHIJKLMNO
QQRSTUVWXYZABCDEFGHIJKLMNOP
RRSTUVWXYZABCDEFGHIJKLMNOPQ
SSTUVWXYZABCDEFGHIJKLMNOPQR
TTUVWXYZABCDEFGHIJKLMNOPQRS
UUVWXYZABCDEFGHIJKLMNOPQRST
VVWXYZABCDEFGHIJKLMNOPQRSTU
WWXYZABCDEFGHIJKLMNOPQRSTUV
XXYZABCDEFGHIJKLMNOPQRSTUVW
YYZABCDEFGHIJKLMNOPQRSTUVWX
ZZABCDEFGHIJKLMNOPQRSTUVWXY

行 = 鍵文字、列 = 平文字、セル = 暗号文字。下の文字を選ぶと、その行と列が青く、交差するセルが琥珀色に点灯します。

平文字鍵文字計算暗号文字
Q0 + 16 = 16Q
U19 + 20 = 39 ≡ 13N
E19 + 4 = 23X
E0 + 4 = 4E
N2 + 13 = 15P
L10 + 11 = 21V
Y0 + 24 = 24Y
A19 + 0 = 19T
T3 + 19 = 22W
T0 + 19 = 19T
A22 + 0 = 22W
C13 + 2 = 15P

自動鍵暗号ツールの使い方

  1. 1. プライマーを選びます。 鍵の始まりとなる短いキーワード(例:QUEENLY)です。数えるのは文字だけです。
  2. 2. 鍵の続きを選びます。 古典的な自動鍵は平文を使います。暗号文を使う形式は、教科書で使われる場合があるので選べます。送信側と受信側で同じ方式を選ぶ必要があります。
  3. 3. メッセージを入力し、エンコードかデコードを選びます。 空白、数字、記号はそのまま出力され、鍵の文字は使いません。
  4. 4. 鍵が作られる様子を確認します。 鍵の表では、平文、鍵、暗号文が縦に並び、プライマーの部分に色が付きます。計算過程の文字を選ぶと、その文字がヴィジュネル方陣で示されます。

自動鍵暗号のしくみ

自動鍵暗号は、鍵が繰り返されないように変更したヴィジュネル暗号です。送信側と受信側は短いプライマーを決めておき、鍵はプライマーに続けてメッセージそのものを並べたものになります。A = 0 から Z = 25 とすると、各暗号文字はヴィジュネル暗号と同じく C = P + K(mod 26)になり、復号では鍵を引いて P = C − K を求めます。

自動鍵暗号は、復号する側の鍵が常に1歩先を行くので復号できます。プライマーで最初の数文字を復号すると、復号された平文の文字が次の鍵の文字になり、それがさらに後の文字を復号する、という流れを最後まで繰り返します。プライマー QUEENLY とメッセージ ATTACKATDAWN の例では、次のようになります。

平文鍵和暗号文
A (0)Q (16)0 + 16 = 16Q
T (19)U (20)19 + 20 = 39 ≡ 13N
T (19)E (4)19 + 4 = 23X
A (0)E (4)0 + 4 = 4E
C (2)N (13)2 + 13 = 15P

メッセージ全体は QNXEPVYTWTWP になります。これは英語版ウィキペディアの自動鍵暗号の記事が、この例に示す答えと一致します。鍵は QUEENLY に続けて ATTACKATDAWN が並んだもので、その8文字目の A は、メッセージの最初の文字です。ツールは、プライマーがどこで終わり、メッセージがどこから鍵の役割を担うのかが分かるように、この鍵の行をテキストの真下に表示します。

自動鍵暗号の簡単な歴史

メッセージ自体で鍵を作るという考えは、一般に16世紀半ばのイタリアの学者ジローラモ・カルダーノに由来するとされています。彼の方式は単語ごとに鍵を書き直すもので、最初の単語は、受信者にとっても解読が難しいものでした(David Kahn の歴史書 The Codebreakers による)。1586年、ブレーズ・ド・ヴィジュネルは Traicté des chiffres で、より明快な方式を記しました。1つの初期文字を置き、その後は鍵が再び始まらずに、メッセージ全体を通して続くというものです。これが今日教えられている自動鍵暗号です。ヴィジュネルの名で知られる、繰り返し鍵を使う暗号は、まったく別のもので、それより前にジョヴァンニ・バッティスタ・ベラーゾが考案したものです。その暗号に、19世紀になってヴィジュネルの名が誤って結び付けられました。

自動鍵暗号の破り方

繰り返さない鍵は、ヴィジュネル暗号を崩す攻撃を無力にします。カシスキーの方法は鍵の長さの間隔で繰り返される断片を探し、一致指数は周期を探しますが、自動鍵のメッセージにはどちらの手がかりもありません。しかし鍵は普通の言葉でできており、そこに弱点があります。解読者は「THE」のようなよく使われる単語を推測し、暗号文に沿ってずらしながら引き算します。結果が読める英語になる箇所は、おそらく鍵の一部でもあり、そこからプライマー1つ分先の平文がさらに分かります。正しい推測が次の推測につながり、メッセージは急速にほどけていきます。最初の文字はプライマーだけで暗号化されるため、短い鍵のヴィジュネル暗号と同じです。もう1つの欠点は誤りの伝播です。暗号化や写しの際に1文字でも誤ると、それ以降のすべての文字が壊れます。

パズルや学習のための暗号であり、機密用ではありません

自動鍵は繰り返し鍵より一歩進んだ方式ですが、何世代も前から破られています。仕組みを学ぶために使い、秘密の情報を守るためには使わないでください。

よくある質問

自動鍵暗号とは何ですか?
自動鍵暗号は、鍵が短いプライマーに続けてメッセージそのものになる、多表式の換字式暗号です。各文字はヴィジュネルの規則 C = P + K(mod 26)で暗号化されるので、鍵はメッセージと同じ長さになり、繰り返しません。
自動鍵暗号はどのように復号しますか?
プライマーを書き、各鍵文字を対応する暗号文字から引いて平文の文字を求めます。その平文の文字を鍵に追加し、同じ手順を続けます。プライマーを使い切った後は、鍵は復元済みの平文そのものになります。このツールで「デコード」を選ぶと、これを自動で行います。
自動鍵暗号とヴィジュネル暗号の違いは何ですか?
ヴィジュネル暗号は鍵の語をメッセージ全体で繰り返しますが、自動鍵暗号は鍵の語を一度だけ使い、その後はメッセージが鍵の続きになります。その結果、カシスキーの方法や一致指数が頼りにしていた繰り返しのパターンが消え、自動鍵暗号はそれらの攻撃に強かったのです。
自動鍵暗号は安全ですか?
いいえ。鍵が平文でできているため、推測された単語は、メッセージの一部と鍵の一部を同時に明らかにし、それが連鎖します。よく使われる単語を当てはめるクリブ・ドラッグで手作業でも破れますし、ソフトウェアなら数百文字からプライマーを復元できます。
プライマーの長さはどれくらいにすべきですか?
1文字から任意の長さにできます。ヴィジュネルの原案は1文字で、アメリカ暗号協会(American Cryptogram Association)の例は6文字の PRIMER を使います。プライマーが長いと最初の数文字をさらに隠せますが、根本的な弱点は変わりません。プライマーの後は、鍵そのものが平文だからです。
暗号文の自動鍵とは何ですか?
暗号文の形式では、鍵は平文ではなく暗号文の続きになります。鍵全体が暗号文から見えるので復号は簡単ですが、誰でも鍵を読めるということなので、短いヴィジュネルの鍵と比べてほとんど利点はありません。送信側と受信側は、どちらの方式にするか同じものを選ぶ必要があります。

関連ツール

暗号・符号のその他のツール