ヴィジュネル暗号
ヴィジュネル、自動鍵、ボーフォールの暗号化と復号を、鍵長の推定つきで行えます。
ヴィジュネル暗号はすべてブラウザ内で動作します。本文と鍵は端末内で処理され、送信されません。
シーザー暗号を試す
ヴィジュネル暗号 について
ヴィジュネル暗号は鍵語を本文に沿って繰り返し、各文字を対応する鍵文字の分だけずらします。同じ平文の文字が場所によって別の暗号文字になるため、単純なシーザー暗号を破る頻度分析が通用しません。三世紀にわたって解かれず、その間ほとんどの時期に「解読不能の暗号」と呼ばれていました。このツールは双方向に動き、大文字小文字と句読点を保ち、よく使われる二つの変種も備えます。鍵が繰り返さない自動鍵と、加算ではなく減算するため自分自身が逆変換になるボーフォールです。
機能
- 任意の鍵で暗号化と復号を行い、大文字小文字と句読点を保持
- 古典的な方式に加えて自動鍵とボーフォールの変種
- 各列の一致指数から鍵長を推定
- 本文の文字出現頻度の内訳
- 古典的な電信の慣習である5文字ごとの区切り表示
- 実際に適用された鍵の並びを表示
- 手作業向けに26行のヴィジュネル方陣
ヴィジュネル暗号 の使い方
- 本文を貼り付け、鍵語を入力します
- 暗号化か復号を選び、必要なら変種も選びます
- 結果と、その下の鍵の並びを確認します
- 鍵がわからない場合は復号に切り替え、推定された鍵長を見ます
例
入力
ATTACKATDAWN with the key LEMON
出力
LXFOPVEFRNHR
教科書どおりの例。各文字が上に並ぶ鍵文字の分だけずれています。
よくあるエラーとトラブルシューティング
- 復号すると冒頭は読めて途中から意味をなさない。 — 鍵は合っていますが変種が違います。古典的な方式は鍵を繰り返し、自動鍵は平文で続けるため、一致するのは最初の数文字だけです。
- 別のツールと結果が違う。 — 文字以外の扱いを確認してください。ここでは句読点はそのまま通り、鍵文字を消費しません。これが一般的な慣習ですが、すべての文字で鍵を進める実装もあります。
- 推定された鍵長が本当の長さの倍数になる。 — 想定どおりです。鍵長の倍数でも列は同じように整うため、最も短い有力な候補が答えであることが多いです。
- ボーフォールの復号が暗号化と同じに見える。 — それで正しいのです。ボーフォールは自分自身が逆変換なので、二度かければ元の文に戻り、方向の選択は結果を変えません。
よくある質問
- ヴィジュネル暗号はどのように動きますか。
- 鍵語を本文に沿って繰り返し、各文字を上にある鍵文字のアルファベット順位の分だけ前へずらします。Bなら1、Cなら2で、Zを越えると先頭に戻ります。
- 鍵なしでヴィジュネル暗号を破れますか。
- 破れます。繰り返しの模様や一致指数から鍵長がわかれば、暗号文は列に分かれ、各列は頻度分析で解ける単純なシーザー暗号になります。1863年にカシスキーが方法を公表しました。
- ここでの一致指数は何に使いますか。
- 本文から無作為に選んだ二文字が一致する割合を測ります。英語はおよそ0.067、無作為な文字列は0.038前後なので、列の値が最も高い鍵長がたいてい正解です。
- 自動鍵の変種はどこが違いますか。
- 鍵語を繰り返す代わりに、平文そのもので鍵を延長します。鍵が繰り返さないため、カシスキー法が頼る周期構造が消えます。
- ヴィジュネル暗号は今も安全ですか。
- まったく安全ではありません。わずかな解析で破れる、遊びや教材としての暗号です。守るべきものにはAES-GCMのような現代の認証付き暗号が必要です。
関連ツール
すべての ArrayKit ツール