EP 5: Route Cipher
เชื่อว่าหลายๆ คนคงต้องเคยได้ยิน หรืออาจจะเคยดูภาพยนตร์เกี่ยวกับเรื่องราวของการเกิดสงครามกลางเมืองอเมริกา (The American Civil War) สงครามที่เกิดจากความขัดแย้ง ระหว่างรัฐอุตสาหกรรมทางเหนือ ที่ต้องการยกเลิกแรงงานทาสเพื่อสิทธิมนุษยชน กับรัฐเกษตรกรรมทางใต้ที่ต้องการให้มีแรงงานทาสเพื่ออุตสาหกรรมฝ้าย
ในสงครามที่กินเวลายาวนานถึง 4 ปี ก่อนอเมริกาจะได้มาซึ่งอิสรภาพของแรงงานและความเท่าเทียมของคนทั้ง ประเทศ มีเรื่องราวที่คุณอาจจะยังไม่เคยรู้มาก่อน นั่นก็คือ ในสงครามครั้งนี้ มีการใช้ศาสตร์ “Cryptography” เกิดขึ้นด้วย
ศาสตร์ Cryptography ที่ใช้ในสงครามกลางเมืองอเมริกา คือการเข้ารหัสที่มีชื่อว่า “Route Cipher” ถูกคิดค้นโดย Anton Stager ผู้อำนวยการทั่วไปของ Western Union Telegraph Company (ฝ่ายสหภาพหรือรัฐอุตสาหกรรมทางเหนือ) เป็นการเข้ารหัสแบบ Transposition Cipher (การเข้ารหัสโดยการย้ายตำแหน่งของของตัวอักษร) โดยการเขียนข้อความธรรมดาลงในตาราง แล้วกำหนดรูปแบบเส้นทางการเข้ารหัสข้อความตามที่ต้องการ เช่น หมุนวนเข้าด้านในจากมุมบนขวามือ ทิศทางตามเข็มนาฬิกา เป็นต้น
แต่ต้องบอกก่อนว่า การเข้ารหัสแบบ “Route Cipher” ที่ใช้ในสงครามกลางเมืองอเมริกา ทางผู้คิดค้น Anton Stager ได้มีการนำคำที่ตลกขบขันมาแทนที่คำสำคัญบางคำในข้อความเดิมก่อนที่จะนำไปเข้ารหัสด้วย “Route Cipher” เพื่อเพิ่มความปลอดภัยในการเข้ารหัสมากยิ่งขึ้น
ทีนี้ทุกคนก็ได้รู้ความเป็นมาเป็นไปของการเข้ารหัสแบบ Route Cipher กันไปพอสมควรแล้ว ต่อจากนี้เราจะพาทุกคนไปสวมบทบาทเป็นสายลับฝ่ายสหภาพในสงครามกลางเมืองอเมริกา ที่สืบจนพบว่า กองทัพของคุณที่อยู่ ณ. อาคารแห่งหนึ่งในเมือง ได้ถูกวางระเบิดไว้ คุณต้องทำการส่งสารลับเพื่อแจ้งให้กองทัพของคุณ หนีออกมาอย่างรวดเร็ว
อันดับแรก ! เราต้องทำการเข้ารหัสข้อความลับของเราก่อน ซึ่งในสถานการณ์ที่อันตราย เราต้องเขียนข้อความให้สั้น กระชับ และเข้าใจง่ายที่สุด นอกจากนั้น สิ่งที่สำคัญที่สุด !!! ในการเข้ารหัสแบบ Route Cipher ก็คือ เราควรที่จะตกลงรูปแบบการเข้ารหัสกับคู่สนทนาของเราให้ชัดเจนก่อนแยกย้ายกันไปปฏิบัติภารกิจ เพื่อป้องกันข้อผิดพลาดที่อาจเกิดขึ้นจากความเข้าใจที่ไม่ตรงกันได้
ทุกคนสามารถ คลิกรูปภาพด้านล่าง เพื่อศึกษาวิธีการเข้ารหัสแบบ Route Cipher
-
ให้คุณกำหนดข้อความที่ต้องการจะเข้ารหัส คือ “THERE IS A BOMB. FLEE AT ONCE”
(มีจำนวนตัวอักษรทั้งหมด 22 ตัวอักษร ) -
ออกแบบตารางให้เหมาะสมกับข้อความที่กำหนดไว้ โดยที่สามารถคำนวณจากจำนวนตัวอักษรในข้อความได้ เช่น ข้อความมี 22 ตัวอักษร กำหนดให้ 22/4 = 5.5 (ปัดเศษขึ้นเป็น 6) ก็จะทำให้ได้ตารางแบบ 6x4 (6 คอลัมน์ได้มาจากผลลัพธ์การหาร และ 4 แถวได้มาจากจำนวนที่นำไปหาร) หรืออาจจะกำหนดเป็น 22/2 = 11 ก็จะได้ตารางแบบ 11x2 ก็ได้เช่นกัน และถ้าหากข้อความไม่สามารถคำนวณได้ลงตัว สามารถเว้นว่างไว้ หรือใส่ตัวอักษรอื่นที่ไม่ส่งผลทำให้ความหมายของข้อความเดิมผิดเพี้ยนไป เช่น X เป็นต้น
โดยการเข้ารหัสแบบ Route Cipher นั้นจะใช้รูปแบบเส้นทางการเข้ารหัสเป็นคีย์ในการถอดรหัส เช่น หมุนวนตามเข็มนาฬิกา, หมุนวนทวนเข็มนาฬิกา, จากด้านนอกเข้าด้านใน หรือ จากด้านในออกด้านนอก เป็นต้น ซึ่งการออกแบบตารางจะมีผลกับการกำหนดรูปแบบเส้นทางการเข้ารหัส ดังนั้นควรออกแบบตารางให้เหมาะสม จะไม่ทำให้การกำหนดรูปแบบเส้นทางการเข้ารหัสของคุณยากหรือง่ายจนเกินไป
-
นำข้อความธรรมดามาเขียนลงในตาราง โดยเริ่มเขียนจากคอลัมน์ซ้ายจากบนลงล่างจนครบทั้งแถว และทำเหมือนกันจนครบทุกคอลัมน์ จากนั้นกำหนดรูปแบบเส้นทางการเข้ารหัส คือเริ่มจากมุมบนขวามือวนเข้าด้านในทิศตามเข็มนาฬิกา ดังรูปที่ 1
-
นำตัวอักษรที่ได้จากรูปแบบการเข้ารหัสในตารางรูปที่ 1 ออกมาเขียนเป็นรหัสได้ “CEXXN EBARE HTEBF ATOEM SIOL”
-
ในการเข้ารหัสลับ เราสามารถเขียนรหัสเรียงติดกัน โดยไม่ต้องเว้นช่องว่างได้ แต่เพื่อให้ง่ายต่อการจำและการเขียน ส่วนใหญ่ จึงนิยมเขียนเป็นกลุ่มตัวอักษร กลุ่มละ 5 ตัว โดยที่จำนวนกลุ่มตัวอักษรจะขึ้นอยู่กับจำนวนตัวอักษรทั้งหมด (n/5)
รีบส่งรหัสลับพร้อมกับคีย์ให้กับกองทัพของคุณโดยเร็ว ที่สำคัญอย่าลืมส่ง ขนาดตารางที่คุณใช้ในการเข้ารหัสให้กับ กองทัพของคุณด้วย ถ้าหากกองทัพของคุณไม่รู้ตารางที่ใช้ เขาจะถอดรหัสออกมาไม่ได้ !!
อ่ะ อ่ะ อ่ะ แต่ในสงครามจริง เขาคงไม่เขียนเงื่อนไขกันไปแบบโต้ง ๆ บอกหมดหรอกนะ แต่อาจจะมีการส่งไปในรูปแบบของรหัสมอร์ส หรือคลื่นวิทยุ ไปนั่นเอง
เมื่อกองทัพของคุณรับข้อความลับ “CEXXN EBARE HTEBF ATOEM SIOL” พร้อมกับคีย์เรียบร้อยแล้ว ให้ทำตามขั้นตอนด้านล่าง เพื่อถอดรหัสข้อความดังนี้
-
เราจะต้องทราบขนาดของตารางที่ผู้ส่งใช้ในการเข้ารหัสว่ากำหนดจำนวนคอลัมน์และแถวเท่าใด รวมทั้งรูปแบบเส้นทางการเข้ารหัสที่กำหนด
-
นำรหัส CEXXN EBARE HTEBF ATOEM SIOL เขียนลงในตาราง โดยเรียงจากรูปแบบเส้นทางการเข้ารหัส คือ เริ่มจากมุมบนขวามือวนเข้าด้านในตามเข็มนาฬิกา ดังรูปที่ 2
- เมื่อเขียนรหัสลงในตารางจนครบ เราก็จะสามารถถอดข้อความที่เข้ารหัสไว้ออกมาได้ โดยการเริ่มอ่านจากคอลัมน์ซ้ายมือจากบนลงล่าง ดังรูปที่ 2 กรอบที่ 3 จะได้ข้อความว่า “THERE IS A BOMB. FLEE AT ONCE” (มีระเบิด รีบหนีไป)
เป็นอย่างไรกันบ้าง สำหรับการเข้ารหัสแบบ Route Cipher ที่เรานำมาเล่ากันใน EP นี้
การเข้ารหัสแบบ Route Cipher เป็นวิธีการที่ค่อนข้างทำได้ง่าย รวดเร็ว และยังสร้างความสับสนได้มากอีกด้วยใช่มั้ยล่ะ แต่ส่วนสำคัญที่ต้องระวังก็คือ การเข้าและถอดรหัสแบบ Route Cipher ใช้รูปแบบเส้นทางที่เรากำหนดเป็นคีย์ ดังนั้นการกำหนดรูปแบบเส้นทางที่ไม่เหมาะสมกับจำนวนตัวอักษร อาจจะทำให้จำนวนคีย์ที่ได้รับมากจนเกินไปและยากต่อการส่งต่อข้อมูลได้นั้นเอง ลองนึกภาพว่า ถ้าเราเลือกเส้นทางการเข้าที่ลึกลับซับซ้อนวน 18 ล้านรอบ กว่าเพื่อนของเราจะถอดรหัสเสร็จ ระเบิดอาจจะระเบิดจนครบทุกลูกแล้วก็เป็นได้
รหัสลับจาก Hashpire ในวันนี้คือ XXX XXX XXX
References