รหัสรั้วรางรถไฟ

รหัสรั้วราง (หรือเรียกว่ารหัสซิกแซก ) เป็นรหัสสลับตำแหน่ง แบบ คลาสสิกชนิดหนึ่งชื่อของมันมาจากวิธีการเข้ารหัส ซึ่งเปรียบเสมือนรั้วที่สร้างด้วยรางแนวนอน
การเข้ารหัส
ในการเข้ารหัสแบบรางรั้ว (Rail Fence Cipher) ข้อความต้นฉบับจะถูกเขียนลงในแนวทแยงลงมาบน "ราง" สมมติทีละราง จากนั้นจะเลื่อนขึ้นเมื่อถึงรางล่างสุด และเลื่อนลงอีกครั้งเมื่อถึงรางบนสุด และทำเช่นนี้ไปเรื่อยๆ จนกว่าจะเขียนข้อความต้นฉบับเสร็จทั้งหมด จากนั้นจึงอ่านข้อความที่เข้ารหัสแล้วออกมาทีละแถว
ตัวอย่างเช่น หากต้องการเข้ารหัสข้อความ 'WE ARE DISCOVERED. RUN AT ONCE.' ด้วย "ราง" 3 ราง ให้เขียนข้อความดังนี้:
W . . . E . . . C . . . R . . . U . . . O . . . . E . R . D . S . O . E . E . R . N . T . N . E . . A . . . I . . . V . . . D . . . A . . . C .
(ละเว้นช่องว่างและเครื่องหมายวรรคตอน) จากนั้นอ่านข้อความในแนวนอนเพื่อรับข้อความที่เข้ารหัส:
WECRUO ERDSOEERNTNE AIVDAC
การถอดรหัส
อนุญาตให้ เป็นจำนวนรางที่ใช้ในระหว่างการเข้ารหัส สังเกตว่าเมื่อเขียนข้อความธรรมดา ลำดับตำแหน่งแนวตั้งของแต่ละตัวอักษรบนรางจะเปลี่ยนแปลงขึ้นลงเป็นวงจรซ้ำๆ ในตัวอย่างข้างต้น (โดยที่ตำแหน่งแนวตั้งจะซ้ำกันทุกๆ 4 ครั้ง โดยทั่วไปลำดับจะซ้ำกันทุกๆ 4 ครั้ง.
อนุญาตให้ เป็นความยาวของสตริงที่จะถอดรหัส สมมติสักครู่ว่าเป็นผลคูณของและปล่อยให้เริ่มต้นด้วยการแบ่งข้อความที่เข้ารหัสออกเป็นสตริง โดยที่ความยาวของสตริงแรกและสตริงสุดท้ายคือและความยาวของสตริงตัวกลางแต่ละสตริงคือสำหรับตัวอย่างข้างต้นด้วยเรามีดังนั้นเราจึงแบ่งข้อความที่เข้ารหัสออกเป็นส่วนๆ ดังนี้:
WECRUO ERDSOEERNTNE AIVDAC
เขียนแต่ละข้อความลงในบรรทัดแยกกัน โดยเว้นวรรคหลังตัวอักษรแต่ละตัวในบรรทัดแรกและบรรทัดสุดท้าย:
เวครูโอ เออร์โซเอิร์นท์เน AIVDAC
จากนั้นเราสามารถอ่านข้อความต้นฉบับลงมาตามคอลัมน์แรก อ่านเฉียงขึ้น แล้วลงมาตามคอลัมน์ถัดไป และทำเช่นนี้ต่อไปเรื่อยๆ
ถ้าไม่ใช่ผลคูณของการกำหนดวิธีการแบ่งข้อความที่เข้ารหัสมีความซับซ้อนกว่าที่อธิบายไว้ข้างต้นเล็กน้อย แต่แนวทางพื้นฐานยังคงเหมือนเดิม หรืออีกทางเลือกหนึ่ง เพื่อความง่ายในการถอดรหัส เราสามารถเติมตัวอักษรเพิ่มเติมลงในข้อความต้นฉบับเพื่อให้ความยาวเป็นจำนวนเท่าของ.
หากข้อความที่เข้ารหัสไม่ได้ถูกเติมข้อมูล แต่คุณทราบหรือเต็มใจที่จะใช้วิธีเดาจำนวนรางที่ใช้ คุณสามารถถอดรหัสได้โดยใช้ขั้นตอนต่อไปนี้
ดังที่กล่าวมาข้างต้น ให้ให้ เป็นความยาวของสตริงที่จะถอดรหัส และให้คือจำนวนรางที่ใช้ในระหว่างการเข้ารหัส เราจะเพิ่มตัวแปรสองตัวและ, ที่ไหน= จำนวนเส้นทแยงมุมใน Rail Fence ที่ถอดรหัสแล้ว และ= จำนวนช่องว่างในแนวทแยงมุมสุดท้าย
ต่อไปให้แก้หาค่าและในทางพีชคณิต โดยที่ทั้งสองค่าเป็นจำนวนที่น้อยที่สุดที่เป็นไปได้ วิธีนี้ทำได้ง่ายๆ โดยการเพิ่มค่าทีละหนึ่งลดลงทีละ 1 จนกว่าตัวหารจะมีค่ามากกว่าจากนั้นก็แก้หาค่า ง่ายๆ เลยลองพิจารณารหัสตัวอย่างที่ดัดแปลงให้ใช้ราง 6 รางแทนที่จะเป็น 3 ราง
ว.........วี.........โอ .E.......OE......TN ..A.....C...R.....A...C ...อาร์...เอส...เอ็น...อี ....EI......DU...... .....D.........R........
ข้อความเข้ารหัสที่ได้คือ:
WVO EOETN ACRAC RSENE EIDU DR
เราทราบดีว่าและถ้าเราใช้เราสามารถแก้สมการข้างต้นได้
ตอนนี้เรามี,, และหรือราง 6 ราง เส้นทแยงมุม 5 เส้น (4+1) และช่องว่าง 2 ช่องที่ปลายสุดโดยการปิดกั้นช่องว่างที่ปลายเส้นทแยงมุมสุดท้าย เราสามารถเติมเส้นรั้วรางทีละบรรทัดโดยใช้ข้อความเข้ารหัสได้
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ X _ _ X
ดับเบิลยูวีโอ อีโออีทีเอ็น เอซีอาร์เอซี _ _ _ _ _ _ _ _ _ X _ _ X
การวิเคราะห์รหัส
กุญแจของรหัสลับคือจำนวนราง ถ้าเป็นที่ทราบกันว่าสามารถถอดรหัสข้อความที่เข้ารหัสได้โดยใช้อัลกอริธึมข้างต้น ค่าของเท่ากับหรือมากกว่าหากความยาวของข้อความที่เข้ารหัสแล้วมากเกินไป จะไม่สามารถใช้งานได้ เนื่องจากข้อความที่เข้ารหัสแล้วจะเหมือนกับข้อความต้นฉบับ ดังนั้น จำนวนกุญแจที่ใช้งานได้จึงมีน้อย ทำให้สามารถโจมตีแบบเดาไปเรื่อยๆ โดยการลองใช้กุญแจที่เป็นไปได้ทั้งหมดได้ ส่งผลให้การเข้ารหัสแบบรางรั้ว (rail-fence cipher) ถือว่าอ่อนแอ
รหัสซิกแซก
คำว่ารหัสซิกแซกอาจหมายถึงรหัสรั้วรางรถไฟตามที่อธิบายไว้ข้างต้น อย่างไรก็ตาม มันอาจหมายถึงรหัสอีกประเภทหนึ่งที่เฟลตเชอร์ แพรตต์ อธิบายไว้ ในหนังสือSecret and Urgentก็ได้ โดย "เขียนโดยการขีดเส้นบนแผ่นกระดาษเป็นคอลัมน์แนวตั้ง โดยมีตัวอักษรอยู่ที่หัวคอลัมน์แต่ละคอลัมน์ ทำเครื่องหมายจุดสำหรับตัวอักษรแต่ละตัวของข้อความในคอลัมน์ที่ถูกต้อง โดยอ่านจากบนลงล่างของแผ่นกระดาษ จากนั้นตัดตัวอักษรที่หัวคอลัมน์ออก ลบเส้นที่ขีดไว้ และส่งข้อความที่เป็นจุดไปยังผู้รับ ซึ่งเมื่อทราบความกว้างของคอลัมน์และการจัดเรียงตัวอักษรที่ด้านบนแล้ว ก็จะประกอบแผนภาพขึ้นใหม่และอ่านสิ่งที่มันต้องการจะบอก" [ 1 ]
ดูเพิ่มเติม
ลิงก์ภายนอก
- สมาคมการเข้ารหัสลับแห่งอเมริกา
- หน้าเว็บ Black Chamber สำหรับการเข้ารหัสและถอดรหัสรหัส Rail Fence