Monoalphabetic Substitution Cipher (ไซเฟอร์แทนที่แบบอักษรเดี่ยว)
แทนที่ตัวอักษรแต่ละตัวใน Plaintext ด้วยตัวอักษรตัวเดียวใน Ciphertext ตลอดข้อความ (Fixed Mapping) 26! ≈ 4×10²⁶ Keyspace
เทคนิคหลัก 3 แบบ
1. Additive Cipher (Caesar Cipher แบบขยาย)
- เลื่อนตัวอักษรทุกตัว จำนวนคงที่ k (Key)
- สูตร: C = (P + k) mod 26
- ตัวอย่าง k=5: a→F, b→G, ..., u→Z, v→A, ..., z→E
- Keyspace: 25 (k=1..25) → แตกได้ง่ายด้วย Brute-force
2. Multiplicative Cipher
- คูณตำแหน่งตัวอักษรด้วย k แล้ว mod 26
- สูตร: C = (P × k) mod 26
- k ต้องเป็นจำนวนที่ gcd(k,26)=1 → k ∈ {1,3,5,7,9,11,15,17,19,21,23,25} (12 ค่า)
- ถอดรหัส: P = (C × k⁻¹) mod 26 (k⁻¹ = Modular Inverse)
- ตัวอย่าง: P='h'=7, k=5 → C = 7×5=35≡9='J'
3. Affine Cipher
- รวม Additive + Multiplicative: C = (P × k₁ + k₂) mod 26
- กุญแจคู่ (k₁, k₂): k₁ ∈ {1,3,5,7,9,11,15,17,19,21,23,25}, k₂ ∈ {0..25}
- Keyspace: 12 × 26 = 312
- ถอดรหัส: P = ((C - k₂) × k₁⁻¹) mod 26
- ลำดับการถอดรหัส: ลบ k₂ ก่อน (Inverse of Add) แล้วคูณ k₁⁻¹ (Inverse of Multiply)
จุดอ่อนร่วมของ Monoalphabetic Ciphers
- Frequency Analysis (Statistical Attack): ตัวอักษรในภาษาอังกฤษมีความถี่คงที่ (E≈12.7%, T≈9.1%, A≈8.2%...)
- นับความถี่ใน Ciphertext → จับคู่กับความถี่ภาษา → หา Mapping
- Bigram/Trigram Analysis (TH, HE, ING...) เพิ่มความแม่นยำ
- Known Plaintext Attack: ถ้ารู้บางส่วน → หา Mapping ได้เร็ว
สรุป
Monoalphabetic Ciphers (Additive, Multiplicative, Affine) ไม่ปลอดภัยต่อการโจมตีทางสถิติ ใช้ได้เฉพาะการศึกษา หรือปริศนา ไม่ใช้ในระบบจริง