การเข้ารหัสลับ Cryptography ที่เกิดขึ้นก่อนมีคอมพิวเตอร์ ?
คนส่วนใหญ่มักจะเข้าใจว่าคำว่า Crypto คือเหรียญ Bitcoin แต่จริง ๆแล้ว Crypto ย่อมาจากคำว่า Cryptography คือ ศาสตร์ของการเข้ารหัส เป็นการแปลงข้อความปกติให้กลายเป็นข้อความลับ ข้อความที่ผู้อื่น นอกเหนือจากคู่สนทนาที่ต้องการ ไม่สามารถเข้าใจได้
ขั้นตอนการเข้ารหัสลับ Cryptography หลักๆจะประกอบไปด้วย
- การนำเอาข้อความต้นฉบับ(PLAINTEXT)ไปทำการเข้ารหัส (encryption) ในรูปแบบต่าง ๆ เพื่อให้ได้ข้อความลับออกมา
- จากนั้นส่งให้คู่สนทนาของเราโดยในการส่งเราจะต้องส่งข้อความลับคู่ไปกับกุญเเจ (key)
- ถ้าหากคู่สนทนาต้องการที่จะอ่านข้อความก็จะทำการถอดรหัส(decryption)ข้อความนั้นออกมา
รูปแบบของ Cryptography
เเบ่งได้เป็น 2 ประเภท คือ
- Modern cryptography คือ การเข้ารหัสที่เราใช้กันอยู่ในปัจจุบันเป็นการเข้ารหัสที่มีการใช้คอมพิวเตอร์เข้ามาช่วยทำให้การเข้ารหัสมีความยากมากขึ้น
-
Classical cryptography คือการเข้ารหัสที่เกิดขึ้นมาก่อนที่จะมีคอมพิวเตอร์
“ซึ่ง Classical cryptography ก็คือเป็นหัวข้อใหญ่เราจะพูดถึงกันในบทความนี้ ว่าคนสมัยโบราณเขาทำการเข้ารหัสกันด้วยวิธีใดบ้าง”
Classical cryptography การเข้ารหัสก่อนจะมีคอมพิวเตอร์ทำยังไง ?
ในวิทยาการเข้ารหัสลับ (cryptography) ตัว Classical cryptography หรือ Classical cipher คือประเภทของการเข้ารหัสที่เคยใช้ในอดีต แต่ส่วนใหญ่จะเลิกใช้งานเเล้ว
- การเข้ารหัสเเบบคลาสสิกส่วนใหญ่สามารถคำนวณเเละเเก้ไขได้ด้วยมือเป็นการเข้ารหัสที่ทำได้โดยการใช้กระดาษและปากกา
- Classical cipher เป็นระบบง่ายๆ ที่ใช้ตั้งแต่สมัยกรีกและโรมัน การเข้ารหัสยุคฟื้นฟูศิลปวิทยาที่ซับซ้อน รวมไปถึง การเข้ารหัสในสงครามโลกครั้งที่สอง
- การเข้ารหัสแบบคลาสสิกมักถูกแบ่งออกเป็น 2 ประเภท คือ 1. transposition ciphers และ 2. substitution ciphers
transposition ciphers
Transposition ciphers เป็นการเข้ารหัสโดยใช้การสลับตำแหน่งของตัวอักษรซึ่งเป็นการเข้ารหัสอย่างง่าย เช่น HELLO เข้ารหัสเป็น OLLEH เป็นต้น
ตัวอย่างของ transposition ciphers เช่น
-
Columnar transposition ciphers
-
คือการนำเอาตัวอักษรต้นฉบับมาจัดเรียงเป็นสี่เหลี่ยมผืนผ้าจากซ้ายไปขวา
-
มีคีย์ที่เลือกเพื่อใช้ในการกำหนดตัวเลขให้กับเเต่ละคอลัมน์ในสี่เหลี่ยมผืนผ้าเพื่อกำหนดลำดับการจัดเรียงตัวอักษรใหม่ ตัวเลขที่ตรงกับตัวอักษรในคีย์จะถูกกำหนดโดยตำแหน่งตัวอักษร เช่น A = 1 ,B= 2 , C=3 เป็นต้น ตัวอย่างเช่น คีย์เวิลด์คือ
CAT
และ ข้อความคือTHE SKY IS BLUE
ให้เรียงลำดับจากลำดับของตัวอักษร อย่างในตัวอย่าง A เป็นตัวเเรก จากนั้นให้เอาตัวอักษรที่อยู่ใต้ A มาเขียนเป็นลำดับเเรก จะได้ ดังนี้
1= A = HKSU
3=C = TSIL
20=T = EYBE
เรียงต่อกัน จะได้THE SKY IS BLUE
เข้ารหัสเป็นHKSUTSILEYBE
-
-
Scytale ciphers
- การเข้ารหัสที่เกิดขึ้นในสมัยกรีกโบราณ (σκυτάλη skutálē) และยังมีการกล่าวอ้างว่าถูกใช้โดยเฉพาะในกลุ่มชาวสปาร์ตันที่ใช้วิธีนี้ในการสื่อสารทางการทหาร (500 B.C. The Spartans)
- Scytale เป็นการเข้ารหัส ซึ่งประกอบด้วย ไม้รูปทรงกระบอกที่มีกระดาษตัดเป็นเส้นยาวๆพันอยู่รอบ ๆ เเละเขียนข้อความเรียงลงมาไว้ หากต้องการที่จะถอดรหัสผู้รับจะต้องมีอุปกรณ์รูปทรงกระบอกที่มีขนาดเท่ากันทุกประการจากนั้นนำกระดาษที่เขียนข้อความมาพันรอบไม้จะได้เป็นข้อความที่สามารถอ่านเข้าใจได้
substitution ciphers
substitution ciphers เป็นการเข้ารหัสโดยใช้การเเทนที่ตัวอักษรหรือกลุ่มตัวอักษร อย่างเป็นระบบทั้งข้อความ
ตัวอย่างของ substitution ciphers เช่น
-
Caesar cipher
- Caesar cipher หรือ รหัสซีซาร์
- เป็นการเขารหัสแบบ Secret Key หรือ Symmetric Key Cryptography
- คิดค้นโดยกษัตริย์ Julius Caesar
- เพื่อสื่อสารกับ ทหารในกองทัพ และป้องกันไม่ให้ข่าวสารรั่วไหลไปถึงศัตรู
- การเข้ารหัสเเบบซีซาร์ตัวอักษรจะถูกแทนที่ด้วยตัวอักษรตัวที่ 3 นับจากตัวมัน เช่น A จะเเทนด้วย D , B จะเเทนด้วย E , C จะเเทนด้วย F , X จะเเทนด้วย A , Y จะเเทนด้วย B และ Z จะเเทนด้วย C เป็นต้น ตัวอย่าง เช่น
HASHPIRE
เข้ารหัสเป็นKDVKSLUH
!
-
The Enigma machine cipher
- เครื่อง Enigma เป็นอุปกรณ์เข้ารหัสที่พัฒนาและใช้ในช่วงต้นถึงกลางศตวรรษที่ 20
- ทำขึ้นเพื่อปกป้องการสื่อสารทางการค้า การทูต และการทหาร
- ถูกใช้อย่างกว้างขวางโดยนาซีเยอรมนีในช่วงสงครามโลกครั้งที่สอง
- เครื่อง Enigma ถือว่าปลอดภัยมากจนสามารถใช้เพื่อเข้ารหัสข้อความลับสุดยอดได้ เพราะ ความน่าจะเป็นที่จะเดาออกได้มีเพียงหนึ่งใน 158.962 ล้านรูปแบบ
- หลักการทำงานของเครื่อง Enigma คือการเเทนที่ตัวอักษรหลาย ๆ ครั้ง อย่างในตัว Caesar cipher เป็นการเเทนที่ตัวอักษรโดยการเลื่อนตัวอักษรไป 3 ตำแหน่ง แต่ในตัว Enigma จะทำการเลื่อนหลายครั้งจนคาดเดาได้ยาก
- วิธีการใช้เครื่อง Enigma คือนำเอาข้อความที่ต้องการเข้ารหัสมาจากนั้นพิมพ์ลงไปบนเครื่อง Enigma ซึ่งตัวเครื่อง Enigma จะมีชุดตัวอักษรอยู่ 2 ชุด คือชุดที่เป็นเเป้นพิมพ์และชุดแสดงผลที่จะเป็นตัวอักษรที่มีไฟ เมื่อเรานำตัวอักษรไปพิมพ์บนเเป้นพิมพ์แล้ว ชุดแสดงตัวอักษรที่เป็นไฟก็จะเเสดงรหัสขึ้นมาให้เราทำการจดไว้
-
จากนั้นทำการส่งรหัสที่จดไว้ไปให้กับบุคคลที่เราต้องการจะสื่อสารด้วยในกองทัพของเยอรมนีจะส่งรหัสนี้ผ่านคลื่นวิทยุในรูปแบบของรหัสมอร์ส โดยอีกฝั่งจะต้องมีเครื่อง Enigma ที่ทำการตั้งค่าไว้เหมือนกันทุกประการ และการตั้งค่าเครื่อง Enigma ของกองทัพเยอรมนีจะมีการตั้งค่าใหม่ทุกๆ เดือนเพื่อป้องกันการคาดเดาได้ จากนั้นเอารหัสที่ได้มาพิมพ์บนเครื่อง Enigma ก็จะสามารถถอดรหัสออกมาได้
-
การเข้ารหัสของเครื่องจะไม่ซ้ำกันเเม้ว่าเราจะกดตัวอักษรซ้ำ เพราะกลไกภายในของเครื่องจะหมุนไปเรื่อยๆทำให้รูปแบบการเชื่อมโยงของตัวอักษรเปลี่ยนทุกครั้งที่ทำการกดลงไป
โดยสรุป การเข้ารหัสที่เราใช้กันอยู่อย่างในปัจจุบัน Modern cryptography ที่มีความยากและซับซ้อนนั้น มีพื้นฐานในการสร้างมาจาก Classical cryptography ซึ่งเป็นการผสมผสานระหว่างการทำ transposition ciphers และ substitution ciphers สลับกันไปให้ได้รูปแบบการเข้ารหัสที่มีความซับซ้อนและยากต่อการคาดเดาขึ้นมานั่นเอง
References