เฉลยของฉบับแรก
ต่อคำถามที่ว่า สำหรับ caesar cipher ถ้ารู้
e แล้วจะหา d
ได้ไหม คำตอบก็คือ ได้ครับ ทำอย่างไรน่ะเหรอครับ เรามาลองตั้งข้อสังเกตุกัน
อย่างในตัวอย่างที่ให้ไว้ ถ้า A ถูกแทนด้วยตัวอักษรที่ห่างออกไป 12 ตำแหน่ง
A จะถูกแทนด้วย M ใช่ไหมครับ คราวนี้ ถ้าเราแทน A ด้วยตัวอักษรที่ห่างออกไป
26 ตำแหน่งล่ะ A จะถูกแทนด้วยอะไร (อย่าเพิ่งอ่านต่อ ลองคิดดูก่อน)
คำตอบก็คือ A จะถูกแทนด้วย A ไงล่ะครับ หรือพูดอีกอย่างหนึ่งก็คือว่า เมื่อเราใช้
e
= 26 แล้ว plaintext กับ ciphertext คืออันเดียวกัน (คงไม่มีใครเลือกใช้
e
อันนี้หรอกนะ) ทีนี้ในการ encrypt ข้อมูล A ถูกแทนด้วยตัวอักษรที่ห่างออกไป
e
ตำแหน่ง สมมุติว่า คือ A' นะครับ แล้วในการ decrypt ถ้าเราจะเอา A กลับมา
เราต้องแทน A' ด้วยตัวอักษรที่ห่างออกไป d ตำแหน่ง เมื่อมองภาพรวมอีกแง่หนึ่งแล้ว
เหมือนกับว่า เราต้องแทน A ด้วยตัวอักษรที่ห่างออกไป e+d ตำแหน่ง
เพื่อให้ได้ A กลับมา ดังนั้น e+d จึงต้องเป็น 26 ยังไงล่ะครับ
ถ้าเรารู้ e ก็หา d ได้ หรือถ้ารู้ d ก็หา
e
ได้เช่นกัน สำหรับคำถามที่ว่า จะโจมตีข้อความลับที่ให้ไว้อย่างไรนั้น ก็ใช้การหาอย่างละเอียด(exhaustive
search) อย่างที่อธิบายไว้ในบทความฉบับนี้ครับ