Monoalphabetic Substitution Cipher
รูปแบบซิเฟอร์แทนที่ (Substitution Cipher) เก่าแก่ที่สุด ใช้ Mapping คงที่ 1-1 ระหว่าง Plaintext Alphabet และ Ciphertext Alphabet
คุณสมบัติหลัก
- Deterministic: ตัวอักษร 'A' ใน Plaintext → ตัวอักษร 'X' ใน Ciphertext ทุกครั้ง ที่ปรากฏ
- Reversible: Mapping เป็น Bijection (1-1, Onto) → ถอดรหัสได้
- Key Space: 26! ≈ 4×10²⁶ (Permutations ทั้งหมดของอักษร 26 ตัว)
- Caesar Cipher: กรณีพิเศษของ Monoalphabetic (Shift คงที่, Keyspace=25)
ตัวอย่าง
Plaintext: TREE → Ciphertext: ADOO (T→A, R→D, E→O)
สังเกต: E ปรากฏ 2 ครั้ง → O ปรากฏ 2 ครั้ง (Pattern คงที่)
การโจมตี (Cryptanalysis)
1. Brute Force
26! มากเกินไป ไม่ทำได้
2. Statistical Attack (Frequency Analysis) - โจมตีหลัก
- นับความถี่ตัวอักษรใน Ciphertext
- เปรียบเทียบกับความถี่มาตรฐานภาษาอังกฤษ (ETAOIN SHRDLU...)
- จับคู่ตัวอักษรความถี่สูง → เดา Mapping
- ใช้ Bigram (TH, HE, AN...), Trigram (THE, AND, ING...) ช่วย
- Known Plaintext (crib) ทำให้แตกได้เร็วมาก
3. Pattern Analysis
- คำสั้น: THE, AND, OF, TO, IN, IS, IT, BE, AS, AT...
- Repeated Letters: EE, LL, SS, OO, TT, FF, RR, NN, PP, MM
- Word Length Patterns
เหตุผลที่ไม่ปลอดภัย
โครงสร้างภาษาธรรมชาติ (Language Statistics) คงอยู่ แม้ Mapping จะซับซ้อนแค่ไหน กุญแจ 26! ใหญ่แค่ไหน Frequency Analysis แตกได้ในวินาทีด้วยคอมพิวเตอร์
บทเรียนสำคัญ
- Key Space ใหญ่ ≠ ปลอดภัย (ต้องมี Confusion + Diffusion)
- ต้องใช้ Polyalphabetic (หลาย Alphabets) หรือ Block Cipher (Permutation + Substitution หลายรอบ)
- Kerckhoffs's Principle: ความปลอดภัยต้องพึ่งพา Key เท่านั้น