ヴィジュネル暗号エンコーダー
ヴィジュネル暗号は、1553年にジョヴァン・バッティスタ・ベラソが初めて記述し、後にブレーズ・ド・ヴィジュネルに誤って帰属された暗号で、繰り返すキーワードに応じて各文字を異なる量だけずらします。300年にわたり「le chiffre indéchiffrable(解読不能な暗号)」と呼ばれましたが、1863年にフリードリヒ・カシスキーの統計的攻撃によってついに破られました。このエンコーダーでは、パズルやCTFの問題、教室での暗号学のために暗号化と復号を試せます。
ヴィジュネル暗号の使い方
-
1
メッセージを入力する
A から Z の文字がずらされます。数字、スペース、句読点、ラテン文字以外の文字はそのまま通過します。
-
2
キーワードを設定する
任意の単語やフレーズを選びます。使われるのは文字だけで、長いキーワードほど解読が難しくなります。
-
3
暗号化か復号を選ぶ
同じツールがヴィジュネル方陣を使って両方向を処理します。
-
4
結果を読む
各文字は対応するキーワードの文字の分だけずれます(A=0、B=1 など)。大文字と小文字は保たれます。
手順を追った例
ツールは Hello World とキー KEY で始まります。暗号化すると次のようになります。
Text: Hello World
Key: KEYKE YKEYK
Out: Rijvs Uyvjn
大文字・小文字が保たれ(H は大文字のまま R になる)、スペースはそのまま残り、キーのポインタは文字のときだけ進むことに注目してください。同じキーで復号に切り替えると、Rijvs Uyvjn は再び Hello World に戻ります。
ヴィジュネル方陣
各文字とキーの各文字が、26x26 のシーザーずらしの格子から行と列を選びます。文字が H でキーの文字が K なら、出力は R です。H (7) + K (10) = 17 = R だからです。古典的な教科書の例では、繰り返すキーを使います。
Text: ATTACKATDAWN
Key: LEMONLEMONLE
Out: LXFOPVEFRNHR
以前の暗号を破った理由
シーザーやアトバッシュのような単一換字式暗号は E を常に同じように変換するため、暗号文で最も多い文字が平文で最も多い文字を暴いてしまいます。ヴィジュネルはずらす量を回転させるので、E があるときは X、次は K になり、文字の頻度を平らにして単純な解析を打ち破ります。
カシスキー攻撃を1段落で
暗号文の中で一定の間隔をあけて繰り返される文字のまとまりは、キー長がその間隔を割り切ることを示唆します。そうした間隔をいくつか集めて最大公約数を取れば、ありそうなキー長が得られます。暗号文をその数のシーザー列に分け、それぞれに頻度分析を行います。
セキュリティに関する注意
ヴィジュネルは教育目的の価値しかない古典暗号です。現代のどんな攻撃にも安全ではありません。6文字のキーの短い英語テキストは数秒で解読できます。本当の機密性には、手作業の暗号ではなく、検証済みライブラリの AES-GCM か ChaCha20-Poly1305 を使ってください。
よくある質問
ラテン文字 A-Z の26文字だけがずれます。日本語(ひらがな、カタカナ、漢字)、数字、句読点などラテン文字以外はそのままコピーされます。暗号化するにはラテン文字で入力してください。
はい。小文字のテキストは小文字の出力になり、大文字は大文字のままです。キーワード自体は大文字・小文字を区別しません。
もちろんです。初心者向けCTFの定番です。ヒントには問題文にキー長が書かれていたり、暗号文に繰り返す文字のまとまりが残されていたりします。
入力したテキストとキーは、暗号を計算するために当社のサーバーへ送られて処理され、保存もログ記録もされません。ヴィジュネルは安全ではないので、本物の秘密を古典暗号で暗号化しないでください。
関連ツール
GweiからEtherへの変換ツール
Gwei単位の金額をEther(ETH)に最大18桁の小数で変換します。ガス料金の推定や取引データの読み取りに役立ちます。
チェックサム検証
任意のファイルやテキストの MD5、SHA-1、SHA-256、SHA-384、SHA-512、CRC-32 チェックサムを計算し、公開者が掲載している値と比較して一致・不一致を明確に判定します。
JWTジェネレーター
カスタムのヘッダー、ペイロードのクレーム、HMACまたはRSA署名、有効期限、オーディエンス制限を備えた、署名済みJWTをテスト用に生成します。
MD5ジェネレーター
任意のテキストまたはファイルからMD5ハッシュを生成します。128ビットの出力を16進数で表示し、すべてブラウザー内で計算します。
AES暗号化 / 復号
OpenSSLのAES暗号方式で低リスクのテキストを暗号化・復号します。パスフレーズはSHA-256でハッシュされ、Base64出力はIVと暗号文です。
暗号化識別子
暗号文またはハッシュ値を貼り付けると、識別子からMD5、SHA、bcrypt、AES、RSA、Base64などの推定されるアルゴリズムや符号化方式が示されます。
このツールは他の言語でも利用できます
- Vigenère-Verschlüsselungs-Encoder [DE]
- Koder szyfru Vigenère [PL]
- Bộ mã hóa Vigenère [VI]
- Codificador de cifrado Vigenère [ES]
- Encodeur de chiffre de Vigenère [FR]
- Codificador da cifra de Vigenère [PT]
- Penyandi Sandi Vigenère [ID]
- مشفّر فيجينير [AR]
- Vigenère-cijfercodeerder [NL]
- Vigenère-chifferkodare [SV]
- เครื่องมือเข้ารหัส Vigenère [TH]
- 비즈네르 암호 인코더 [KO]
- Vigenère Şifre Kodlayıcı [TR]
- 维吉尼亚密码编码器 [ZH]
- Vigenere Cipher Encoder [EN]
- Codificatore del cifrario di Vigenère [IT]
- Кодировщик шифра Виженера [RU]