ヴィジュネル暗号ツール
ユーザーが指定したキーワードに基づいて各文字を変化する量だけシフトする、ヴィジュネル多表式暗号を使用してテキストを暗号化および復号します。リアルタイムの鍵整列ストリーム、タブラ・レクタ(正方形換字表)の可視化、オートキーおよびボーフォート変形暗号、ラウンドトリップ検証、カシスキー・テストの周期ヒント機能を搭載。
広告ブロッカーにより広告が表示できません
MiniWebtool は広告収益で無料提供しています。このツールが役に立ったら、Premium(広告なし+高速)をご利用いただくか、MiniWebtool.com を許可リストに追加して再読み込みしてください。
- または Premium(広告なし)にアップグレード
- MiniWebtool.com の広告を許可してから再読み込みしてください
ヴィジュネル暗号ツール
このヴィジュネル暗号ツールは、約300年もの間暗読に耐え続けた多表式換字暗号を使用して、テキストの暗号化と復号を行います。任意のメッセージとキーワードを入力すると、瞬時に暗号文が生成されるとともに、平文、鍵、暗号文字を一緒に表示する垂直に並んだ鍵アライメントストリームが表示されます。これにより、なぜすべての文字が変化したのかを視覚的に理解することができます。また、このツールはオリジナルのオートキー変形版、第二次世界大戦のハゲリン M-209 で使用されたボーフォート相互変形版、ラウンドトリップ検証、および手動検証用の 26×26 タブラ・レクタ(正方形方眼表)も提供しています。
ステップ・バイ・ステップの仕組み
平文 ATTACKATDAWN とキーワード LEMON を例にします。キーワードを平文を覆うまで下に繰り返し並べ、位置ごとに2つの文字を足し合わせ(A=0, B=1, …, Z=25)、26の剰余(modulo 26)を求めます。
緑色の行を読み取ると、暗号文 LXFOPVEFRNHR が得られます。鍵文字 L は A を11ポジションシフトし(A→L)、E は T を4ポジションシフトし(T→X)、以下同様に続きます。同じ平文字 A が3回現れていますが、3つの異なる文字(L, O, E)に暗号化されています。これが多表式暗号の特性であり、ヴィジュネル暗号が単一文字の頻度分析を無効化する理由です。
1行で表す数学的理論
アルファベットに A=0 から Z=25 までの番号を振ります。\( p_i \) を i 番目の平文字、\( k_i \) を対応する鍵文字とします(キーワードは循環するため、鍵の長さを \( n \) とすると \( k_i = K_{i \bmod n} \) となります)。このとき:
暗号化: \( c_i = (p_i + k_i) \bmod 26 \) · 復号: \( p_i = (c_i - k_i) \bmod 26 \)
ボーフォート変形版の場合、同じ1行の数式 \( c_i = (k_i - p_i) \bmod 26 \) が両方向の処理を処理します。オートキー変形版では、キーワードが尽きると平文自体が鍵を拡張するため、鍵は \( k_1, k_2, \dots, k_n, p_1, p_2, \dots \) になります。
3つの変形版の解説
タブラ・レクタ(ヴィジュネルの正方形)
ヴィジュネル暗号を適用する古典的な方法は、各行がアルファベットを r ポジション回転させた 26×26 の表を引くことです。鍵文字の「行」を見つけ、平文字の「列」を見つけます。その交点にあるセルが暗号文字になります。復号する場合は、鍵の行を見つけ、暗号文字があるところまで横にスキャンし、その列のヘッダーを読み取ります。
| · | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
| B | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A |
| C | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B |
| D | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C |
| E | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D |
| F | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E |
| G | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F |
| H | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G |
| I | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H |
| J | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I |
| K | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J |
| L | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K |
| M | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L |
| N | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M |
| O | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N |
| P | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
| Q | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P |
| R | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q |
| S | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R |
| T | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S |
| U | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T |
| V | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U |
| W | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V |
| X | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W |
| Y | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X |
| Z | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y |
行のラベル = 鍵文字。列のヘッダー = 平文字。セルの内容 = 暗号文字。例:L行、A列 → L。E行、T列 → X。
ヴィジュネル暗号ツールの使い方
- 入力ボックスに平文(暗号化用)または暗号文(復号用)を貼り付けます。右側のライブ鍵アライメントストリームには、平文、鍵文字、結果の暗号文字が垂直に積み重ねて表示されるため、文字ごとのシフトが一目で分かります。
- 「キーワード」フィールドにキーワードを入力します。アルファベット以外の文字は自動的に除去されます。文字が消費されるにつれてオレンジ色のキーワード文字が循環し、「最新のペア」拡大鏡が直近の 平文 + 鍵 = 暗号文 の3つ組を拡大表示するのを確認してください。
- モード(暗号化または復号)と変形版(ヴィジュネル、オートキー、またはボーフォート)を選択します。ボーフォートは自己逆暗号であるため、モードを切り替えても出力は変わりません。
- 「ヴィジュネル暗号を適用」をクリックします。文字ごとのシフトトレース、統計情報(鍵の長さ、周期、カバー率)、ラウンドトリップ検証、および同じ入力に対するすべての変形版を並べて比較する並列暗号ラボが下に表示されます。
- コピーボタンを使用して、暗号文、オリジナル、またはキーワードを取得します。復号するには、暗号文を貼り付け、同じキーワードでモードを「復号」に切り替えて、もう一度クリックします。
ヴィジュネル vs シーザー vs アトバシュ vs ROT13 — クイックリファレンス
| 暗号 | タイプ | 鍵 | 自己逆(対合) | 鍵 LEMON での "HELLO" |
|---|---|---|---|---|
| ヴィジュネル | 多表式換字暗号 | キーワード(1文字以上) | いいえ(復号モードを使用) | SIXZB |
| シーザー(シフト3) | 単表式換字(回転) | 単一のシフト量 | いいえ | KHOOR |
| ROT13 | 回転暗号(固定13) | なし(固定) | はい | URYYB |
| アトバシュ | 反転暗号 | なし(固定) | はい | SVOOL |
| ボーフォート | 多表式相互暗号 | キーワード | はい | EABDZ |
なぜヴィジュネル暗号は「解読不能な暗号」と呼ばれたのか
1553年にベラソが最初に発表してから約3世紀の間、ヴィジュネル暗号は解読不可能と考えられていました。1つの平文字がその位置に応じて最大26個の異なる暗号文字に暗号化されるため、シーザー暗号を崩す平坦な頻度前提(英語の E が最も一般的な文字であるなど)が機能しなくなりました。チャールズ・バベッジが1850年代にこれを解読しましたが発表せず、フリードリヒ・カシスキーが1863年に独立してその攻撃法を発表しました。その重要な洞察とは、キーワードが繰り返されるため、鍵の長さの倍数だけ離れた位置にある同じ平文の部分文字列は、同じ暗号文を生成するという点です。繰り返される3文字組の間隔を見つけ、その最大公約数を求めれば、鍵の長さの強力な候補が得られます。鍵の長さが判明すれば、ヴィジュネル暗号は n 個の並列なシーザー暗号に分解され、それぞれが頻度分析によって破られます。
カシスキー・テスト — ヴィジュネル暗号が破られるプロセス
- 暗号文をスキャンして、繰り返される3文字または4文字のシーケンスを探します。
- 繰り返されるペアの間の距離を記録します。
- それらの距離の最大公約数(GCD)を求めます — 鍵の長さはほぼ確実にこのGCDを割り切ります。
- 暗号文を n 個の列(n文字ごと)に分割します。各列は単一のシーザー暗号になります。
- 各列について、合同指数(IC)を最大化するか、英語の文字頻度と一致する文字シフトを見つけます。そのシフト量が鍵の1文字になります。
これを確かめるには、「カシスキー脆弱」のクイックサンプルを試してみてください。入力で "The quick brown fox" が繰り返されており、鍵がわずか3文字であるため、同じ単語が両方とも同じように暗号化されます — これはカシスキー分析官にとっての目立つシグナルとなります。
バベッジ / カシスキー / フリードマンの攻撃法ファミリー
- バベッジ(1850年代、未発表)。 繰り返されるパターンが鍵の長さを露呈させることを発見。
- カシスキー(1863年)。 同じアイデアを発表:繰り返しの間の距離は鍵の長さの倍数である。
- フリードマン(1922年)。 合同指数(Index of Coincidence: IC)を導入 — 正しい列分割が行われた場合、ランダムな ~0.038 ではなく、~0.067(英語)付近でピークに達する統計的尺度。
- 現代のコンピュータ。 1から30までのすべての鍵の長さを実行し、各列分割のICを計算して、分割の平均ICが最も高くなる長さを選択します。その後、各列に頻度攻撃を行います。合計時間:ミリ秒単位。
セキュリティに関する注意
ヴィジュネル暗号は現代の暗号ではありません。5文字のキーワードはカシスキー法によって数ミリ秒で解読され、20文字のキーワードも自動分析の数秒で破られます。周期性の弱点を取り除いたオートキーでさえ、既知平文攻撃やキーワードのプレフィックスに対する蓋然文字攻撃に対して脆弱です。パスワード、個人データ、財務情報、または機密を保持すべきものを保護するためにヴィジュネル暗号を決して使用しないでください。実際の保護には、AES-256、ChaCha20、RSA、またはlibsodiumを使用してください。ヴィジュネル暗号は、テキストを保護するためではなく、パズル、CTF、教育、歴史的な実演などのためにテキストを一時的に分かりにくくする(難読化する)手段として扱ってください。
最善の結果を得るためのヒント
- 復号するには、暗号文を貼り付け、同じキーワードを入力し、モードを「復号」に切り替えます。同じツールで暗号化と復号の両方が行えます。
- ボーフォート変形版の場合、モードは関係ありません — ボーフォートを同じ鍵で2回適用すると元に戻ります。
- 文字だけを気にし、出力にスペースや記号を含めたくない場合は、「元の大文字・小文字を維持する」のチェックを外してください — 入力は暗号化前に大文字に正規化され、出力は大文字のみになります。
- 入力内のスペースや記号は変更されずにそのまま通過します。カジュアルな読者から単語の境界を隠したい場合は、貼り付ける前にご自身でそれらを取り除いてください。
- 暗号ラボを使用して、同じ鍵が3つの変形版すべてでどのように動作するかを確認してください — オートキーは、鍵ストリームが変化するため、最初の n 文字以降は通常、クラシックなヴィジュネルとは大きく異なる出力を生成します。
FAQ
ヴィジュネル暗号とは何ですか?
ヴィジュネル暗号は、繰り返されるキーワードによって決定される異なるシフト量で各平文字をシフトする多表式換字暗号の一種です。鍵文字がK(11番目の文字)の場合、平文字は10ポジション前方にシフトされます。この暗号は1553年にジョヴァン・バティスタ・ベラソによって記述され、後にブレズ・ド・ヴィジュネルのものと誤認され、その名前が定着しました。
ヴィジュネル暗号はシーザー暗号やアトバシュ暗号とどう違うのですか?
シーザー暗号はすべての文字に対して単一の固定されたシフトを使用します — 1文字のヴィジュネル鍵は正確にシーザー暗号と同じです。ヴィジュネル暗号は、繰り返されるキーワードから取得される、位置ごとに異なるシフトを使用します — そのため、同じ平文字が複数の異なる暗号文字に暗号化されることがあります。アトバシュ暗号は鍵のない固定された反転暗号(A↔Z, B↔Y)です。ヴィジュネル暗号は、鍵が文字の出現頻度を平滑化するため、単一文字の頻度分析で破ることがはるかに困難です。
ヴィジュネル暗号は実際の暗号化において安全ですか?
いいえ。フリードリヒ・カシスキーは1863年に、繰り返されるキーワードの周期性を利用してヴィジュネル暗号を解読しました。現代のコンピュータは、フリードマン・テスト(合同指数)やカシスキー・テストを使用してヴィジュネル暗号を瞬時に解読します。実際の保護にはAES-256、ChaCha20、またはlibsodiumを使用してください。ヴィジュネル暗号はパズル、CTF、および教育用です。
オートキー(自己鍵)変形版とは何ですか?
オートキーはキーワードの後に平文自体を結合して拡張するため、鍵ストリームが繰り返されることはありません。ヴィジュネルは、後にカシスキーが突くことになるまさにその弱点を克服するために、1586年にこれを提案しました。オートキーはクラシックなヴィジュネルよりも解読がはるかに困難ですが、既知平文攻撃やキーワードのプレフィックスに対する蓋然文字攻撃に対しては依然として脆弱です。
ボーフォート変形版とは何ですか?
ボーフォート暗号は 暗号文 = (鍵 − 平文) mod 26 という演算を使用します。これにより、暗号自体が逆の性質を持ち、同じ鍵で2回暗号化すると元に戻ります。フランシス・ボーフォート卿にちなんで名付けられ、第二次世界大戦中に米陸軍で使用された携帯型機械式暗号機ハゲリン M-209 の背景にある暗号でした。
キーワードの長さはどのくらいにするべきですか?
長ければ長いほど良いです。1文字の鍵はヴィジュネル暗号をシーザー暗号に縮小させてしまいます。短い鍵(3〜5文字)は、カシスキー法によって数秒で解読されます。メッセージと同じ長さで一度しか使用されない鍵は、ワンタイムパッド(一回性パッド)となり、論理的に解読不可能です。パズルや教育用には、6〜12文字のキーワードが一般的です。
このコンテンツ、ページ、またはツールを引用する場合は、次のようにしてください:
"ヴィジュネル暗号ツール"(https://MiniWebtool.com/ja/ヴィジュネル暗号ツール/) MiniWebtool からの引用、https://MiniWebtool.com/
by miniwebtool チーム。更新日: 2026-05-26