このツールが役に立ったら、開発者にコーヒーを奢ってください ☕
暗号文の反復配列を分析することで、ヴィジュネル暗号などの古典暗号の鍵長を推定し、暗号解読を補助します。
テキストを入力してテストを開始してください。

一致指数計算
暗号解析や言語識別に用いるテキストの一致指数(IC)を計算します。英字の出現頻度統計に対応。

テキスト頻度分析ツール
テキスト内の文字やフレーズの出現頻度をカウントします。N-gramの長さや文字タイプのカスタマイズに対応しています。

テキスト文字数カウント
日本語・英語の有効文字数、総文字数、漢字、アルファベット、数字、句読点の数を正確にカウントします。執筆、編集、コンテンツ分析に最適です。

テキスト行の重複カウント
テキストリスト内の各行の重複出現回数をすばやくカウントします。データクレンジングやログ分析などの用途に最適です。

ファイル種類・MIMEタイプ判定ツール
ファイルの真の種類(MIMEタイプ)を判定し、ファイル名やサイズ情報も同時に取得できる、開発者から一般ユーザーまで幅広く使えるツールです。
ヴィジュネル暗号などの古典的な多表式換字暗号で暗号化された文章を入手しても、鍵の長さ(鍵長)が分からなければ解読の糸口は掴めません。カシスキテスト(Kasiski examination)は、この重要な課題を解決するための古典的な暗号解析技術です。暗号文中に繰り返し出現する文字の配列(通常は3文字以上)をスキャンし、それらの反復配列間の距離(間隔)を計算することで、暗号化に使用された鍵長を推定します。その中核となる原理は、「暗号文に反復配列が出現し、それが元の平文の同じ単語やフレーズが鍵の同じ部分で暗号化された結果である場合、反復配列間の距離は鍵長の整数倍である可能性が極めて高い」というものです。すべての反復配列の距離の最大公約数を分析することで、最も可能性の高い鍵長を推定でき、その後の頻度分析などの解読手順の基礎を築くことができます。簡単に言えば、カシスキテストは統計的法則に基づいた鍵長推定アルゴリズムです。
Q:カシスキテストには暗号文の長さに要件はありますか?
暗号文が長いほど、結果の信頼性は高まります。偶然ではない反復パターンを効果的に識別するには、通常数百文字以上が必要です。暗号文が短すぎると、統計サンプルの不足により誤判定を招く可能性があります。
Q:テスト結果で提示される「推定される鍵長」は1つだけですか?
必ずしもそうではありません。これはカシスキテストで最もよくある疑問です。答えは「いいえ」であり、ツールは通常、1つまたは複数の候補となる長さを出力します。例えば、ある暗号文に対してツールが「3, 6, 9」と出力した場合、3が最も可能性の高い鍵長であり、6と9はその倍数です。最終的な正しい長さを特定するには、一致度指数(Index of Coincidence)などの他の技術と組み合わせて交差検証を行う必要があります。
入力にはプレーンテキストの暗号文を使用し、無関係な説明文や特殊なフォーマットを含めないでください。ツールの解析は文字配列の完全一致に基づいているため、アルファベット以外の文字(数字や句読点など)は無視されるか、結果に干渉する可能性があります。カシスキテストの結果は確率的な推定であり、特に暗号文が短い場合や反復パターンが不明確な場合は、確定的な結論ではありません。実際の機密情報を含む暗号文の処理にこのツールを使用しないでください。解析プロセスはブラウザのフロントエンドで完了しますが、データプライバシーには十分注意してください。
実践的な暗号解析において、カシスキテストは通常、フリードマンテスト(一致度指数法)と組み合わせて使用されます。前者は「反復間隔」の観点から鍵長を推定し、後者は「文字分布の統計的特性」の観点から検証を行います。この2つを組み合わせることで、精度を大幅に向上させることができます。典型的な使用フローは次の通りです。まず本ツールを使用していくつかの候補となる鍵長(例:5, 10, 15)を導き出し、次に暗号文を各候補の長さごとにグループ化します。そして、各グループの文字の頻度分布と標準的な英文字の頻度との一致度(一致度指数)をそれぞれ計算し、一致度が最も高い長さが、最も可能性の高い実際の鍵長となります。なお、意図的に大量の「ダミー文字」が追加されていたり、非標準のアルファベットが使用されていたりする暗号文に対しては、カシスキテストの効果は大幅に低下します。