EP 3: Rail Fence Cipher

EP 3: Rail Fence Cipher

EP ที่แล้ว เราได้พาทุกคนเข้าสู่สนามรบกับนักรบ Spartans พร้อมกับแอบล้วงความลับของอุปกรณ์เข้ารหัสอย่าง Scytale กันไปแล้ว มาใน EP นี้เราจะพาทุกคนเข้าและถอดรหัสไปพร้อมกันอีกครั้ง กับการเข้ารหัสที่มีชื่อว่า “Rail Fence Cipher” การเข้ารหัสที่ใช้หลักการทำงานเดียวกับ Scytale คือการเข้ารหัสโดยการย้ายตำแหน่งของตัวอักษร (Transposition cipher) แต่!! ไม่ต้องใช้แท่งไม้ ?

มาเริ่มไปพร้อมกันเลย

Rail Fence Cipher หรือ บางครั้งจะถูกเรียกว่า Zigzag Cipher เป็นการเข้ารหัสแบบ Transposition Cipher (การเข้ารหัสโดยการย้ายตำแหน่งของตัวอักษร) โดยการนำข้อความธรรมดาไปเขียนลงในตารางตามเเนวทเเยงบนลงล่างเเละล่างขึ้นบนต่อเนื่องกัน ซึ่งมีรูปแบบเปรียบเสมือนเป็นรั้วและรางที่เชื่อมต่อกัน ถูกคิดค้นขึ้นโดยชาวกรีกโบราณซึ่งเป็นผู้คิดค้นอุปกรณ์การเข้ารหัสอย่าง Scytale โดย Rail Fence Cipher และ Scytale มีรูปแบบการเข้ารหัสที่เหมือนกัน แต่การเข้ารหัสแบบ Rail Fence Cipher ถูกปรับให้ทำได้ง่ายขึ้น โดยการวาดตารางลงบนกระดาษ ซึ่งหากกล่าวว่า การเข้า-ถอดรหัสแบบ Scytale มีกุญแจสำคัญคือ ขนาดของแท่งไม้ที่ต้องเท่ากันแล้ว ในการเข้ารหัสแบบ Rail Fence Cipher กุญแจที่สำคัญของมันก็คือ จำนวนแถวของตารางที่ใช้ในการเข้า-ถอดรหัสนั่นเอง

เอาล่ะ ทีนี้ทุกคนคงรู้ที่มาที่ไปของ การเข้ารหัสแบบ Rail Fence Cipher ไปพอสมควรแล้ว ต่อจากนี้เราจะพาทุกคนไปทดลองเข้าและถอดรหัสกันเลย

อันดับแรกเราต้องทำการเข้ารหัสข้อความลับของเราก่อน ซึ่งในสถานการณ์ที่อันตราย เราต้องเขียนข้อความให้สั้น กระชับ และเข้าใจง่ายที่สุด

ทุกคนสามารถ คลิกรูปภาพด้านล่าง เพื่อศึกษาวิธีการเข้ารหัสแบบ Rail Fence Cipher

  1. ให้คุณกำหนดข้อความที่ต้องการเข้ารหัส เป็น WE ARE DISCOVERED FLEE AT ONCE ( มีจำนวนตัวอักษรทั้งหมด 25 ตัวอักษร )

  2. ทำการสร้างตาราง 25x3 ( 25 คอลัมน์, 3 แถว ) โดย 25 คอลัมน์ได้มาจากจำนวนตัวอักษรทั้งหมดของข้อความและ 3 แถวได้มาจากคีย์

  3. นำข้อความที่ต้องการเข้ารหัสใส่ลงในตาราง โดยเริ่มจากด้านซ้ายบนลงล่างและล่างขึ้นบนตามแนวทแยงจนครบทุกช่อง ดังรูปที่ 1

  4. นำตัวอักษรในตารางมาเรียงต่อกัน เริ่มจากแถวบนสุด โดยเรียงจากซ้ายไปขวาตามแนวนอน จะได้ข้อความใหม่โดยที่ข้อความนี้เป็นข้อความที่ถูกเข้ารหัสเรียบร้อยแล้ว คือ WECRL TEERD SOEEF EAOCA IVDEN

  5. ในการเข้ารหัสลับ เราสามารถเขียนรหัสเรียงติดกัน โดยไม่ต้องเว้นช่องว่างได้ แต่เพื่อให้ง่ายต่อการจำและการเขียน ส่วนใหญ่ จึงนิยมเขียนเป็นกลุ่มตัวอักษร กลุ่มละ 5 ตัว โดยที่จำนวนกลุ่มตัวอักษรจะขึ้นอยู่กับจำนวนตัวอักษรทั้งหมด (n/5)

ส่งข้อความลับนี้พร้อมกับคีย์ไปให้กองทัพทางเหนือคุณได้เลยยยย…

เมื่อกองทัพทางเหนือของคุณรับข้อความลับ “WECRL TEERD SOEEF EAOCA IVDEN” เรียบร้อยแล้ว ให้ทำตามขั้นตอนด้านล่าง เพื่อถอดรหัสข้อความดังนี้

  1. หากเราต้องการถอดรหัสข้อความ เราจะต้องทราบรหัสลับ (Cipher Text) และคีย์ที่ใช้ในการถอดรหัส (จำนวนแถว) เสียก่อน แต่ดีนะที่กองทัพทางใต้ไม่ลืมที่จะส่งมาให้เรา :slight_smile:

  2. ทำการสร้างตาราง 25x3 ( 25 คอลัมน์, 3 แถว ) โดย 25 คอลัมน์ได้มาจากจำนวนตัวอักษรทั้งหมดของรหัสลับ และ 3 แถวได้มาจากคีย์

  3. นำตัวอักษรตัวแรกในรหัสลับไปใส่ไว้ในตารางที่มุมบนด้านซ้าย จากนั้นให้ทำการขีดเส้นทแยงเรียงจากบนลงล่างและล่างขึ้นบนตามแนวทแยงจนครบ เพื่อให้ทราบตำแหน่งของตัวอักษรตัวต่อไป ดังรูปที่ 2

  4. นำรหัสลับ WECRL TEERD SOEEF EAOCA IVDEN ใส่ลงในตาราง ตามช่องที่ได้ขีดเส้นไว้ ดังรูปที่ 3

  5. ใส่รหัสลับลงในตารางจนครบทุกตัวอักษร จะได้ตารางตามรูปที่ 4

  6. นำตัวอักษรในตารางมาเรียงต่อกัน โดยเรียงตามแนวทแยงบนลงล่างและล่างขึ้นบน จะได้ข้อความ คือ WE ARE DISCOVERED FLEE AT ONCE

เป็นอย่างไรกันบ้าง สำหรับการเข้ารหัสแบบ Rail Fence Cipher ที่เรานำมาเล่ากันใน EP นี้

ต้องบอกก่อนว่า จริง ๆ แล้ว การเข้ารหัสแบบ Rail Fence Cipher นั้นค่อนข้างที่จะไม่ปลอดภัยเท่าไรนัก เพราะถ้าหากเราเป็นคนที่ขโมยรหัสลับนี้ไป แล้วสงสัยว่ามันคือการเข้ารหัสแบบ Rail Fence Cipher เราสามารถนำรหัสลับนั้นมาทดลองสุ่มคีย์(จำนวนแถว) จากนั้นใส่ตัวอักษรลงในตาราง ซึ่งอาจจะทำให้เราสามารถถอดรหัสออกมาได้อย่างง่ายดาย เนื่องจากการเข้ารหัสแบบ Rail Fence Cipher นั้น จำนวนตัวอักษรของข้อความที่เข้ารหัสจะเท่ากับข้อความธรรมดา และคีย์ที่ใช้ได้ก็มีจำกัด โดยเฉพาะข้อความสั้น ๆ ดังนั้นเราก็แค่เดาจำนวนแถวให้ได้ก็ถอดรหัสได้แล้ว…

รหัสลับจาก Hashpire ในวันนี้คือ XXX XXX XXX

References

  1. โพสต์บน Facebook

  2. โพสต์บน Instagram