รหัสซีซาร์
รหัสซีซาร์ (อังกฤษ: Caesar cipher) ในทางด้านวิทยาการเข้ารหัสลับ หรือเป็นที่รู้จักกันในชื่ออื่นว่า shift cipher Caesar's code หรือ Caesar shift เป็นเทคนิคการเข้ารหัสที่ง่ายและแพร่หลายที่สุด โดยใช้หลักการแทนที่ตัวอักษร ซึ่งในแต่ละตัวอักษรที่อยู่ในข้อความจะถูกแทนที่ด้วยตัวอักษรที่อยู่ลำดับถัดไปตามจำนวนตัวอักษรที่แน่นอน อย่างเช่น แปลงตัวอักษรไป 3 ตัว อักษร "A" ก็จะถูกแทนที่ด้วยอักษร "D" การเข้ารหัสแบบดังกล่าวตั้งชื่อตามจูเลียส ซีซาร์ ซึ่งคิดค้นขึ้นเพื่อการติดต่อสื่อสารกับแม่ทัพนายกองของเขา
ขั้นตอนการเข้ารหัสซีซาร์มักจะใช้ร่วมกับการเข้ารหัสที่มีความซับซ้อนมากกว่า เนื่องจากรหัสซีซาร์ใช้หลักการแทนที่ตัวอักษรเดี่ยวที่มีความตายตัว ดังนั้น รหัสดังกล่าวจึงสามารถถอดออกมาได้ง่าย รวมไปถึงความจริงที่ว่า ในทางปฏิบัติแล้ว มักจะไม่ได้ช่วยในการรักษาความปลอดภัยของข้อความนั้นเลย
ตัวอย่าง
[แก้]การแปลงสามารถแสดงด้วยการปรับแนวสองพยัญชนะ พยัญชนะรหัสเป็นพยัญชนะธรรมดาที่หมุนซ้ายหรือขวาบางตำแหน่ง ตัวอย่างเช่น ต่อไปนี้เป็นรหัสซีซาร์ที่ใช้การหมุนซ้ายสามตำแหน่ง เทียบเท่าหมุนขวา 23 ตำแหน่ง:
ธรรมดา: ABCDEFGHIJKLMNOPQRSTUVWXYZ รหัส: XYZABCDEFGHIJKLMNOPQRSTUVW
เมื่อเข้ารหัส บุคคลมองหาแต่ละอักษรของสารในบรรทัด "ปกติ" แล้วเขียนอักษรที่ตรงกันในบรรทัด "รหัส" การถอดรหัสให้ทำกลับกัน โดยเลื่อนขวา 3
ข้อความรหัส: QEB NRFZH YOLTK CLU GRJMP LSBO QEB IXWV ALD ข้อความธรรมดา: THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
ประวัติศาสตร์และการใช้งาน
[แก้]รหัสซีซาร์ได้รับชื่อตามจูเลียส ซีซาร์ ผู้ซึ่งใช้การแปลงตัวอักษรเพื่อปกป้องข้อมูลทางการทหารที่มีความสำคัญ แต่ถึงแม้ว่ารหัสซีซาร์จะเป็นการเข้ารหัสแบบแทนที่ตัวอักษรที่ถูกบันทึกไว้เป็นแบบแรก ก็ได้ปรากฏว่าได้มีรหัสแบบอื่นที่ได้มีการใช้งานก่อนหน้านั้นแล้ว
ถ้าเขาต้องการส่งข้อความใดที่เป็นความลับ เขาจะเขียนมันในลักษณะเข้ารหัส โดยการแทนที่ตัวอักษรตามลำดับตัวอักษร ซึ่งไม่สามารถอ่านได้เป็นคำ หากผู้ใดต้องการจะถอดข้อความดังกล่าว บุคคลผู้นั้นจะต้องแทนที่ตัวอักษรตัวที่สี่ หรือ "D" ด้วยตัวอักษร "A" ไปเรื่อย ๆ
— ซูโตเนียส, Life of Augustus 56
ส่วนหลานชายของเขา ออกุสตุส ซีซาร์ ได้ใช้วิธีเข้ารหัสแบบเดียวกันนี้ แต่เปลี่ยนไปใช้การแทนที่ตัวอักษรที่อยู่ถัดไปหนึ่งตัวแทน และไม่ได้ใช้ครอบคลุมรวมไปถึงตัวอักษรตัวแรกด้วย
เมื่อได้ก็ตามที่เขาเข้ารหัสข้อความ เขาจะใช้ตัวอักษร "B" แทน "A" ไปเรื่อย ๆ จนถึง "Z" จะใช้ "AA" เขียนแทน
— ซูโตเนียส, Life of Augustus 88
นอกจากนั้นยังได้ปรากฏหลักฐานอีกว่าจูเลียส ซีซาร์ได้คิดค้นรหัสลับที่มีความสลับซับซ้อนกว่านี้อีก อย่างเช่น นักเขียนคนหนึ่งที่มีชื่อว่า อุลุส เกลเลียส ได้กล่าวถึงตำราการเข้ารหัสของซีซาร์ว่า:
นอกเหนือจากนั้นยังได้มีรูปแบบการเข้ารหัสที่ฉลาดกว่านั้นอีกโดยนักไวยากรณ์ โพรเบียส ผู้ซึ่งให้ความสำคัญกับความหมายเป็นนัยของตัวอักษรที่ซ่อนอยู่ในสารลับของซีซาร์นั้น
— อุลุส เกลเลียส, Attic Nights 17.9.1–5
ไม่ได้มีการบันทึกแต่อย่างใดว่ารหัสดังกล่าวมีประสิทธิภาพมากเพียงใด แต่ก็ดูเหมือนว่ารหัสดังกล่าวจะให้ความปลอดภัยแก่สารลับอยู่ในระดับหนึ่ง เพราะศัตรูส่วนใหญ่ของซีซาร์นั้นคือ บุคคลที่สามารถอ่านออกเขียนได้แล้ว ซึ่งพวกเขาเหล่านั้นต่างก็เชื่อว่า ซีซาร์ใช้ภาษาต่างประเทศที่ไม่มีใครอื่นรู้จักในการส่งสาร เนื่องจากเกรงว่าจะมีผู้ที่สามารถถอดข้อความในสารลับได้ ดังนั้นจึงไม่มีการบันทึกเทคนิกการถอดรหัสการแทนที่ตัวอักษรในขณะนั้น ประวัติศาสตร์วิทยาการเข้ารหัสที่ย้อนกลับไปไกลที่สุดถูกบันทึกไว้ในคริสต์ศตวรรษที่ 9
หนังสืออ่านเพิ่มเติม
[แก้]- David Kahn, The Codebreakers — The Story of Secret Writing, 1967. ISBN 0-684-83130-9.
- F.L. Bauer, Decrypted Secrets, 2nd edition, 2000, Springer. ISBN 3-540-66871-3.
- Chris Savarese and Brian Hart, รหัสซีซาร์, 1999
แหล่งข้อมูลอื่น
[แก้]- อภิปรายรหัสซีซาร์ เก็บถาวร 2007-10-19 ที่ เวย์แบ็กแมชชีน
- แนะนำวิทยาการเข้ารหัสลับสำหรับมือใหม่ เก็บถาวร 2012-01-11 ที่ เวย์แบ็กแมชชีน
- การถอดรหัสซีซาร์ เก็บถาวร 2007-10-10 ที่ เวย์แบ็กแมชชีน แสดงรหัส 25 แบบที่สามารถเป็นไปได้ไม่ว่าจะแทนที่ตัวอักษรแบบใด
- รหัสซีซาร์ภาษาจาวา เก็บถาวร 2010-07-29 ที่ เวย์แบ็กแมชชีน