📝 概要
RepeatSeq Analyzerは、暗号文の中にある反復文字列(3-25文字)を検出・可視化し、古典暗号(特にヴィジュネル暗号など)の鍵長推定に活用できるツールです。一致指数(IC)による事前判定とカシスキー検査法を用いて暗号解析を支援します。
🚀 使用方法
- 暗号文の入力
- テキストエリアに暗号文を直接入力・貼り付け
- テキストファイルをドラッグ&ドロップ
- エリアをクリックしてファイル選択ダイアログから選択
- 解析オプション
- 「空白・記号を除去して処理」: 英字以外の文字を除去(推奨)
- 解析実行
- 「🔍 解析する」ボタンをクリック
- 自動的に暗号種別の事前判定が実行されます
📊 結果の見方
🔍 暗号種別の事前判定
- 一致指数(IC)による自動判定: 単一換字式 vs 多表式暗号を自動判別
- 単一換字式判定時: 頻度分析ツールへの誘導表示
- 多表式判定時: カシスキー検査法の推奨
- 信頼度表示: 高(緑)・中(黄)・低(赤)で判定精度を表示
🖍 ハイライト結果
- 黄色: 3-4文字の反復パターン
- 緑色: 5-7文字の反復パターン(中程度の重要度)
- 赤色: 8文字以上の反復パターン(重要度高)
- ハイライト制御: 各項目のチェックボックスで個別ON/OFF可能
📋 検出された反復文字列
- ハイライト: 個別のハイライト表示制御
- 文字列: 反復している文字列(3-25文字)
- 長さ: 文字列の長さ(ソート可能)
- 信頼度: 統計的信頼度スコア(0-100%、詳細はツールチップ表示)
- 1回目位置・2回目位置: 文字列が出現した位置
- 間隔: 1回目と2回目の間隔
- 公約数(1除外): 間隔の公約数(鍵長候補)
📊 統計情報
- 基本統計: 検出パターン数、ユニーク文字列、平均信頼度
- 信頼度分布: 高・中・低・極低信頼度の分布グラフ
- 長さ分布: パターン長別の分類
- 最高信頼度: 最も信頼性の高いパターンの詳細
🧠 鍵長の候補(推定)
公約数の出現頻度に基づいて推定される鍵長候補。頻度が高いほど正しい鍵長の可能性が高い。鍵長3以下・20以上の非表示機能付き。
⚙️ 機能
🔍 事前判定機能
- 一致指数(IC)計算: 暗号文の統計的特性を自動分析
- 暗号種別判定: 単一換字式・多表式・判定困難の3分類
- 推奨ツール誘導: 判定結果に応じた最適な解読手法の提案
- 教育的配慮: 判定結果に関わらず学習目的での使用を許可
🔄 ソート機能
列ヘッダーをクリックすると、その列でソートできます。同じ列を再度クリックすると昇順/降順が切り替わります。デフォルトは長さの降順表示。
📄 ページネーション
検出結果が20件を超える場合、自動的にページネーション機能が有効になります。前後ナビゲーションとページ情報を表示。
🔍 フィルター機能
- 文字列長フィルター: 特定の長さの反復文字列のみ表示(複数選択可能)
- 鍵長候補フィルター: 多表式暗号で現実的でない鍵長(3以下、20以上)を非表示するトグル
- 全選択・全解除: フィルター項目の一括操作
🖍 ハイライト制御
- 個別制御: 各検出結果のハイライト表示を個別にON/OFF
- 優先度システム: 重複箇所では高重要度色(赤→緑→黄)を優先表示
- 全体制御: 全選択・全解除ボタンで一括操作
🌙 ダークモード
目の疲れを軽減するダークテーマに切り替えられます。設定は自動保存され、次回起動時に復元されます。
🔬 暗号解読の理論背景
一致指数(Index of Coincidence)
文字の出現頻度の偏りを測定する統計値。英語では約0.065、ランダムテキストでは約0.038。この値により暗号種別を判定します。
- IC > 0.060: 単一換字式暗号(シーザー暗号など)の可能性が高い
- IC < 0.045: 多表式暗号(ヴィジュネル暗号など)の可能性が高い
- 0.045 ≤ IC ≤ 0.060: 判定困難、両方の可能性あり
カシスキー検査法
ヴィジュネル暗号などの多表式換字暗号の鍵長を推定する手法です。同じ平文が同じ鍵文字で暗号化されると同じ暗号文になることを利用し、反復パターンの間隔から鍵長を推定します。
信頼度スコア
本ツールでは複数の要素を総合して信頼度を計算します:
- 文字列長: 長いパターンほど偶然の一致確率が低い
- 出現頻度: 複数回出現するパターンは信頼性が高い
- 間隔妥当性: 適切な間隔(10-100文字程度)を評価
- 公約数有用性: 現実的な鍵長候補(3-20文字)の存在
分析のコツ
- 長い反復パターン(8文字以上)はより信頼性が高い
- 複数の反復パターンで共通する公約数を探す
- 鍵長3以下は多表式暗号では現実的でない
- 鍵長20以上は手動暗号では非現実的
- 信頼度スコアの高いパターンを優先的に分析
- 統計情報で全体的な傾向を把握
💡 使用上のヒント
- 前処理: 解析前に「空白・記号を除去」を有効にすることを推奨
- 暗号文の長さ: 短すぎる暗号文(100文字未満)では正確な判定が困難
- 事前判定の活用: IC値による暗号種別判定を参考に適切な解読手法を選択
- 信頼度の重視: 高信頼度(80%以上)のパターンを優先的に分析
- 統計情報の確認: 全体的な傾向把握に統計ダッシュボードを活用
- フィルタリング: 大量の結果は長さフィルターで絞り込み
- 総合判断: 複数の証拠を総合して鍵長候補を判断
- ツールの役割: 本ツールは鍵長推定のみ。実際の復号は関連ツールを使用