ธรรมชาติของการเข้ารหัสลับ
เมื่อเราลองวิเคราะห์ระบบรหัสลับนั้น เราจะกล่าวได้ว่ามันเป็น 5-ทูเพิลของ $(P, C, K, E, D)$
ทูเพิล (tuple) คำนี้อาจไม่คุ้นเคยและดูยุ่งยาก แต่ที่จริงแล้วมันเป็นเพียงวิธีการเขียนเรียงลำดับสมาชิกเท่านั้นเอง (ต่างจากเซตที่สมาชิกแต่ละตัวไม่มีความสำคัญในเรื่องลำดับ)
โดยสมาชิกของทูเพิลนั้นจะต้องมีจำนวนจำกัด $n$ ตัวเสมอ $n$-ทูเพิลที่เราคุ้นเคยกันดีก็คือ 2-ทูเพิลที่อยู่ในรูป $(x, y)$ หรือเรียกติดปากกันว่าคู่อันดับนั่นเอง
ดังนั้นการที่กล่าวได้ว่าระบบรหัสลับเป็น 5-ทูเพิล ก็หมายความว่าระบบนี้มีสิ่งที่สำคัญประกอบอยู่ 5 อย่าง ซึ่งมีความสัมพันธ์กันดังนี้
- $P$ (Plaintext) คือ เซตจำกัดของข้อความอ่านออกที่เป็นไปได้
- $C$ (Ciphertext) คือ เซตจำกัดของข้อความเข้ารหัสที่เป็นไปได้
- $K$ (Key) คือ เซตจำกัดของกุญแจการเข้ารหัสที่เป็นไปได้
- สำหรับแต่ละ $k \in K$ จะมี
- ใช้กุญแจเข้ารหัส (Encryption) $e_k \in E$ โดยที่ $e_k: P \to C$
- ใช้กุญแจถอดรหัส (Decryption) $d_k \in D$ $d_k: C \to P$
- จากวิธีใช้กุญแจข้างต้น จะได้ว่า $x = d_k(e_k(x))$ สำหรับ $x \in P$
จากข้อ 4 นี้ จะหมายความว่า $d_k$ และ $e_k$ เป็นอินเวอร์สของกันและกันเสมอ และอาจเขียนได้ว่า $d_k = e_k^{-1}$
นอกจากนี้ $e_k$ และ $d_k$ ยังต้องเป็นฟังก์ชันแบบ 1-1 อีกด้วย (จับคู่กันและกันแค่คู่ต่อคู่เท่านั้น) เพราะถ้าไม่เป็นฟังก์ชัน 1-1 แล้ว เมื่อเราต้องการถอดรหัสกลับเป็นข้อความธรรมดา เราอาจไม่รู้เลยว่าคำที่ถูกต้องคืออะไรกันแน่ เพราะคำหนึ่งคำอาจถอดรหัสกลับออกมาได้หลายแบบนั่นเอง
จากที่เกริ่นมานี้หมายความว่า ถ้าเราสามารถล่วงรู้ $e_k$ ได้ เราก็จะหา $d_k$ เพื่อถอดรหัสลับได้เช่นกัน
หรือว่าถ้าเราสามารถดักจับข้อความลับ $y$ ได้ และล่วงรู้ข้อความที่ถูกต้อง $x$ บางส่วน เราอาจทดลองหา $k$ ที่ทำให้ $y = e_k(x)$ จนสำเร็จ และหา $d_k$ ได้ด้วย
author