bee-san/Ciphey

⚡ Automatically decrypt encryptions without knowing the key or cipher, decode encodings, and crack hashes ⚡

解決する課題

cipheyは、エンコードまたは暗号化されたテキストを自動的に識別して復号するために設計されたデコーディングツールです。メッセージを隠すためにどのエンコーディングや暗号(Base64、Caesar、Rot13など)が使用されたかを手動で推測するという問題を解決し、平文を見つけるために複数のデコーダーとパスを試行するプロセスを自動化します。

仕組み

このツールは、A*探索アルゴリズムを使用して潜在的なデコーディングパスを探索し、ヒューリスティック、過去の成功統計、および一般的なエンコーディングのペアに基づいてデコーダーの優先順位を決定します。採用されている技術には以下が含まれます:

  • 平文検出: quadgram/trigram分析、英語辞書チェック、およびAPIキーやMACアドレス用の500以上の正規表現パターンのデータベースを組み合わせて、テキストが正常に復号されたかどうかを識別します。
  • AIによる強化: gibberish-or-not クレートのBERTベースのモデルをオプションで使用することで、平文検出の精度を約40%向上させることができます。
  • パフォーマンス: Rustで書かれており、Rayonライブラリによるマルチスレッド処理と、文字列のタイプ(例:IPアドレス)を迅速に判断するLemmeKnowと呼ばれる高速なRustベースの識別器を利用しています。
  • 探索の最適化: 探索ツリーを枝刈りし、冗長な計算を避けるために結果をキャッシュします。

対象ユーザー

主にCTF (Capture The Flag) の参加者、セキュリティ研究者、および謎のテキスト文字列を迅速に復号する必要があるすべての人を対象としています。

ハイライト

  • 自動デコーディング: 16種類以上のデコーダーをサポートし、多段階の復号(例:Rot13 → Base64 → Rot13)を処理できます。
  • AIによる検出: より正確な「意味不明な文字列(gibberish)」の検出のために、オプションでBERTベースのモデルを使用可能です。
  • 高速動作: 高性能なマルチスレッド復号を実現するためにRustで構築されています。
  • CTFに基づいたテスト: 実用的な効果を保証するため、15,000以上のCTFチャレンジとそのライトアップ(解説)のデータセットに対してテストされています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト