# EP 3: Rail Fence Cipher

**URL:** <https://discuss.hashpire.io/t/ep-3-rail-fence-cipher/271>\
**Category:** กระดานเนื้อหา 📄\
**Tags:** published\
**Created:** [July 12, 2022, 11:40am UTC](https://discuss.hashpire.io/t/ep-3-rail-fence-cipher/271 "2022-07-12T11:40:56Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Namtan](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/namtan/32/23_2.png) [@Namtan](https://discuss.hashpire.io/u/Namtan)\
**Post date:** [July 12, 2022, 11:40am UTC](https://discuss.hashpire.io/t/ep-3-rail-fence-cipher/271/1 "2022-07-12T11:40:56Z")

</div>

EP 3: Rail Fence Cipher

 ![Cryptographic-series---ep3-1](https://discuss.hashpire.io/uploads/default/original/1X/5a0d7b0c0d03f42f01543d09eb658d8f97a1b5ed.png)

 ![Cryptographic-series---ep3-2](https://discuss.hashpire.io/uploads/default/original/1X/459d0a222a6ac2815537940c6779d786104a7409.png)

 ![Cryptographic-series---ep3-3](https://discuss.hashpire.io/uploads/default/original/1X/23f46c9563077f27003e08e9091c8d298a0b0beb.png)

 ![Cryptographic-series---ep3-4](https://discuss.hashpire.io/uploads/default/original/1X/f9db2d97878b234c9dc87104f0eb1fb0ad7aca07.png)

 ![Cryptographic-series---ep3-5](https://discuss.hashpire.io/uploads/default/original/1X/e68f363926578fd49fbb4cd97f269a3100b5026a.png)

 ![Cryptographic-series---ep3-6](https://discuss.hashpire.io/uploads/default/original/1X/a3e4183ab2c79df446b099a790e97eeb6d38cfa8.png)

 ![Cryptographic-series---ep3-7](https://discuss.hashpire.io/uploads/default/original/1X/4a3ba2ae3d9ef20e72e4987b9a3eae7d5288a68f.png)

 ![Cryptographic-series---ep3-8](https://discuss.hashpire.io/uploads/default/original/1X/64d015d9db66913a331fe4cf53ed66d73a08e177.png)

 ![Cryptographic-series---ep3-9](https://discuss.hashpire.io/uploads/default/original/1X/d3b77ef2b3028cbec71d19966141ea47bba62744.png)

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) และคีย์ที่ใช้ในการถอดรหัส (จำนวนแถว) เสียก่อน แต่ดีนะที่กองทัพทางใต้ไม่ลืมที่จะส่งมาให้เรา 🙂

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  
[https://en.wikipedia.org/wiki/Transposition\_cipher#Rail\_Fence\_cipher](https://en.wikipedia.org/wiki/Transposition_cipher#Rail_Fence_cipher)

---

<div class="post-metadata">

**Author:** ![parinyar](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/parinyar/32/127_2.png) [@parinyar](https://discuss.hashpire.io/u/parinyar)\
**Post date:** [July 13, 2022, 10:42am UTC](https://discuss.hashpire.io/t/ep-3-rail-fence-cipher/271/2 "2022-07-13T10:42:01Z")

</div>

1. [โพสต์บน Facebook](https://www.facebook.com/HashpireThailand/posts/pfbid02rALyyLeXCMYaMhwsTgzQwank1NVnqGZeEC7a5UDv6gFkv8W5daukzB5CwmMi5Jg6l)

2. [โพสต์บน Instagram](https://www.instagram.com/p/Cf8tsR9rmKz/)
