アフィン暗号デコーダー&計算機
数学的数式計算機とステップバイステップのソルバーを備えた、アフィン暗号の暗号化と復号のためのプロフェッショナルなオンラインツール。
🚀 クイック例 - これらを試してください:
計算機付きアフィン暗号ツール
解答付きアフィン暗号の例
例1: 基本的な暗号化
Plaintext: "HELLO" | Key: a = 5, b = 8
Ciphertext: "RCLLA"
例2: 復号プロセス
Ciphertext: "MJQTO" | Key: a = 5, b = 8 (Inverse: a⁻¹ = 21)
Plaintext: "GVMXW"
例3: 既知の平文からキーを見つける
Known: A→D, T→F
アフィン暗号の完全ガイド
🧮 数学的基礎
アフィン暗号は線形代数を使用して暗号化と復号を行います:
Decryption: D(x) = a⁻¹(x - b) mod n
'a'はnと互いに素でなければなりません (gcd(a,n) = 1)。これにより暗号が可逆であることが保証されます。
🔑 鍵空間分析
- Valid 'a' values: 12 (numbers coprime to 26)
- Valid 'b' values: 26 (any integer 0-25)
- Total keys: 12 × 26 = 312 possible combinations
- Security: Vulnerable to frequency analysis and brute force
⚡ 暗号解読法
- Brute Force: Try all 312 possible keys
- Frequency Analysis: Use letter frequency patterns
- Known Plaintext: Use two known letter pairs to solve for a and b
🛡️ セキュリティに関する考慮事項
- Weakness: Preserves letter frequency patterns, making it insecure for modern use.
- Vulnerability: Only 312 keys, easily breakable by computers.
- Modern Use: Primarily for educational purposes and puzzles.
📈 歴史的背景
- Development: An extension of the Caesar cipher, adding multiplication.
- Innovation: Introduced more complex mathematical concepts to classical ciphers.
- Legacy: A key teaching tool for modular arithmetic in cryptography.
🎯 実用的な応用
- Education: Teaching modular arithmetic and basic cryptographic principles.
- Puzzles: Used in escape rooms and cryptographic challenges.
- Programming: A good exercise for implementing algorithms.
よくある質問
アフィン暗号は、関数 E(x) = (ax + b) mod 26 を使用する数学的な換字暗号です。乗算 ('a') と加算 ('b') を組み合わせて文字を変換します。
総当たり攻撃(312個すべてのキーを試す)、頻度分析、または2つの既知の平文と暗号文のペアを使用してキー'a'と'b'を解くことができます。
暗号化関数が可逆であるためです。'a'と26が共通の因子を持つ場合、複数の文字が同じ文字に暗号化され、一意の復号が不可能になります。
シーザー暗号はa=1のアフィン暗号です。アフィン暗号は乗算ステップを追加し、キー空間を25から312に増やします。
逆元 a⁻¹ mod 26 は、'a' mod 26 で乗算すると1になる数です。たとえば、5 mod 26 の逆元は 21 です。なぜなら 5 * 21 = 105 ≡ 1 (mod 26) だからです。
はい!当社のツールはカスタムアルファベットをサポートしています。モジュラスと有効な傾きの値は、アルファベットの長さに応じて自動的に調整されます。
いいえ。312個のキーしかなく、頻度分析に脆弱なため、簡単に破られます。教育目的で使用されます。
「HELLO」を(a=5, b=8)で暗号化すると「RCLLA」になります。暗号学のコース、プログラミング演習、脱出ゲームのようなパズルゲームでよく使用されます。