EP 11: Disrupted Transposition Cipher
ใน EP นี้เราจะพาทุกคน ไปเพิ่มสกิลการเข้ารหัส ถ้าหากคุณยังรู้สึกว่าการเข้ารหัสที่ผ่านนั้น ง่ายเกินไป งั้นเราลองมาเข้ารหัสด้วยวิธีการแบบ Columnar Transposition Cipher ที่เหมือนเดิมแต่ไม่เหมือนเดิมกัน จะเป็นยังไง? ไปเริ่มกันเลย แต่แอบกระซิบบอกถ้าใครจำการเข้ารหัสแบบ Columnar Transposition Cipher ไม่ได้ สามารถกลับไปดู EP 8 Columnar Transposition Cipher ก่อนได้เลยน้า
ก่อนเริ่มเข้ารหัสเราขออธิบาย กันก่อน
Disrupted Transposition Cipher คือ การเข้ารหัสแบบ “Transposition Cipher” (การเข้ารหัสโดยการย้ายตำแหน่งของตัวอักษร) ซึ่งใช้หลักการในการเข้ารหัสเหมือนกับ Columnar Transposition Cipher แต่จะมีการกำหนดคีย์ในการเข้ารหัส 2 ตัว คือ “Normal Key” ที่ใช้ในการเข้ารหัสและ “Disrupted Key” ที่ใช้ในการกำหนดช่องว่างในตารางที่ใช้เข้ารหัส
เมื่อกองทัพของคุณต้องการความปลอดภัยที่มากขึ้น เนื่องจากกองทัพของคุณพึ่งจะโดนฝ่ายตรงข้ามถอดรหัสลับ Columnar Transposition Cipher แบบเดิมได้ที่คุณใช้ได้ การกำหนดคีย์เดียวมันง่ายเกินไป แม่ทัพที่แสนฉลาดอย่างคุณเลยกำหนดคีย์ 2 ตัว แล้วส่งให้กับรองแม่ทัพของคุณเพื่อหลอกให้ฝ่ายศัตรู งงเป็นไก่ตาแตก ไม่รู้จะใช้อันไหนมาถอดรหัสกันเลยทีเดียว อ่ะ อ่ะ อ่ะ ถึงจะรู้ 2 คีย์ก็ไม่แน่ว่าจะถอดรหัสของเราได้ด้วยนะ
ทีนี้เราไปเริ่มเข้ารหัสกันเถอะ ทุกคนสามารถ คลิกรูปภาพด้านล่าง เพื่อศึกษาวิธีการเข้ารหัสแบบ Disrupted Transposition Cipher
-
กำหนดข้อความที่ต้องการเข้ารหัส คือ “WE ARE DISCOVERED, FLEE AT ONCE” (25 ตัวอักษร)
-
กำหนด Normal Key คือคำว่า “CRYPTO” (6 ตัวอักษร) และเรียงตามลำดับตัวอักษรภาษาอังกฤษ (Alphabetical Order) จะได้ COPRTY โดย C=1, O=2 , P=3, R=4, T=5 และ Y=6, จากนั้นสั่งให้พลทหารฝ่ายซ้ายส่ง Normal Key ออกไป
-
กำหนด Disrupted Key คือคำว่า “SECRET” (6 ตัวอักษร) และเรียงตามลำดับตัวอักษรภาษาอังกฤษ (Alphabetical Order) จะได้ CEERST โดย C=1, E=2, E=3, R=4, S=5 และ T=6 จากนั้นสั่งให้พลทหารฝ่ายขวาส่ง Disrupted Key ออกไป
4.ทำการวาดตารางและในส่วนหัวของตารางให้นำ Normal Key ไปใส่ในแถวแรกและตัวเลขใส่ในแถวที่สองตามลำดับ
-
นำข้อความใส่ลงในตารางเริ่มจากแถวแรกทางซ้ายไปขวา (รูปแบบตารางจะกำหนดได้เฉพาะคอลัมน์จาก Normal Key ที่ใช้ แต่แถวเราไม่สามารถกำหนดได้ ต้องทำการใส่ตัวอักษรลงไปก่อน) โดยในขณะที่ใส่ข้อความลงในตาราง จะต้องเว้นช่องว่างตามเลขลำดับของตัวอักษรใน Disrupted Key (ใส่ * ) เช่น ถ้า Disrupted Key = 5 เราจะต้องใส่ตัวอักษร 4 ตัวลงในตารางและเว้นช่องที่ 5 ไว้ จากนั้นก็ดู Disrupted Key ตัวถัดไปของเราและทำแบบเดิมไปเรื่อยจนครบตามจำนวนข้อความ
ตัวที่ 1 คือ S=5 หมายความว่าเราจะนำตัวอักษรใส่ตารางจำนวน 4 ตัวเเล้ว และเว้น 1 ช่องว่าง
ตัวที่ 2 คือ E=2 ให้นำตัวอักษรใส่ลงในตารางจำนวน 1 ตัวต่อจากเดิม และเว้น 1 ช่องว่าง
ตัวที่ 3 คือ C=1 ส่วนนี้ให้เว้น 1 ช่องว่างได้เลย
ตัวที่ 4 คือ R=4 ใส่ตัวอักษรอีก 3 ตัวต่อจากเดิม เเละเว้น 1 ช่องว่าง
ตัวที่ 5 คือ E=3 ใส่ตัวอักษร 2 ตัวต่อจากเดิม เเละเว้น 1 ช่องว่าง
ตัวที่ 6 คือ T=6 ใส่ตัวอักษร 5 ตัวต่อจากเดิม เเละเว้น 1 ช่องว่าง
หลังจากทำครบ 1 ครั้งก็วนกลับไปที่ Disrupted Key ตัวที่ 1 อีกครั้ง ทำวนไปจนใส่ข้อความครบทั้งหมด ดังรูปที่ 1
-
จากรูปที่ 1 เราจะเข้ารหัสโดยนำเอาตัวอักษรในแถวใต้คอลัมน์ Normal Key เรียงตามลำดับตัวอักษรใน Normal Key ออกมาเขียน จะได้เป็น “WCEEO ERETR IVFCE ODNSE LEADA”
-
ในการเข้ารหัสลับ เราสามารถเขียนรหัสเรียงติดกัน โดยไม่ต้องเว้นช่องว่างได้ แต่เพื่อให้ง่ายต่อการจำและการเขียน ส่วนใหญ่จึงเขียนเป็นกลุ่มตัวอักษร กลุ่มละ 5 ตัว จำนวนกลุ่มขึ้นอยู่กับจำนวนของตัวอักษรทั้งหมด (n/5)
เมื่อเข้ารหัสเรียบร้อยแล้ว ทำการส่งรหัสลับออกไป โดยให้พลทหารกองกลางเป็นผู้ส่งรหัสลับ นี้ ตกลงเงื่อนไขกับรองแม่ทัพ ว่าเราจะให้ คีย์จากพลทหารฝ่ายซ้ายเป็น Normal Key และคีย์ของพลทหารฝ่ายขวาจะเป็น Disrupted Key ห้าม!!! ใช้สลับกันเด็ดขาด ไม่งั้นคนที่งงเป็นไก่ตาแตกน่าจะเป็นพวกเราเอง
เมื่อรองแม่ทัพได้ทุกอย่างครบแล้ว ทั้ง Normal Key และ Disrupted Key และรหัสลับที่ส่งมาในตอนหลัง ให้ทำตามขั้นตอนต่อไปนี้อย่างเคร่งครัด
-
เราต้องทราบ Normal Key , Disrupted Key ที่ใช้ในการเข้ารหัส และเราจำนวนแถวของตารางที่ใช้ในการถอดรหัส
-
นำ Normal Key ใส่บนหัวตาราง จากนั้นทำการหาตำแหน่งการเว้นช่องว่างจากลำดับตัวอักษรใน Disrupted Key ดังรูปที่ 2 เป็นคำว่า SECRET เรียงตามลำดับตัวอักษรภาษาอังกฤษ (Alphabetical Order) จะได้ CEERST โดย C=1, E=2, E=3, R=4, S=5, T=6
ตัวที่ 1 คือ S=5 = เว้นว่างในช่องที่ 5 ของแถว
ตัวที่ 2 คือ E=2 = นับต่อจากช่องว่างของตัวที่ 1 อีก 1 ช่องแล้วเว้นว่างในช่องถัดมา
ตัวที่ 3 คือ C=1 = เว้นช่องว่างต่อจากช่องว่างของตัวที่ 2
ตัวที่ 4 คือ R=4 = นับต่อจากช่องว่างของตัวที่ 3 อีก 3 ช่องแล้วเว้นว่างในช่องถัดมา
ตัวที่ 5 คือ E=3 = นับต่อจากช่องว่างของตัวที่ 4 อีก 2 ช่องแล้วเว้นว่างในช่องถัดมา
ตัวที่ 6 คือ T=6 = นับต่อจากช่องว่างของตัวที่ 5 อีก 5 ช่องแล้วเว้นว่างในช่องถัดมา
หลังจากทำครบ 1 รอบ ก็วนกลับที่ Disrupted Key ตัวที่ 1 อีกครั้ง ทำวนไปจนใส่ข้อความครบทั้งหมด ดังรูปที่ 3 -
นำรหัสที่ได้รับมาใส่ลงในตาราง โดยอย่าลืมว่าเราจะต้องใส่รหัสลับให้ตรงกับลำดับตัวอักษรใน Normal key (CRYPTO จะได้ COPRTY โดย C=1, O=2 , P=3, R=4, T=5, Y=6,) เช่น "WCEEO จะอยู่ใต้คอลัมน์ C= 1 หรือ ERETR จะอยู่ในแถวใต้คอลัมน์ O=2 เป็นต้น ห้ามสลับแถวเด็ดขาด ดังรูปที่ 3
-
ถอดรหัสข้อความจากรูปที่ 3 เรียงจากซ้ายไปขวา จะได้ “WE ARE DISCOVERED, FLEE AT ONCE”
เป็นอย่างไรกันบ้าง สำหรับการเข้ารหัสแบบ Disrupted Transposition Cipher ที่เรานำมาเล่ากันใน EP นี้
การเข้าและถอดรหัสแบบ Disrupted Transposition Cipher นี้ค่อนข้างยากเลยใช่มั้ยล่ะ เพราะมีคีย์ตั้ง 2 ตัว แถมห้ามใช้สลับกันอีกด้วย แล้วไหนจะ จำนวนแถวของตารางที่กำหนดไม่ได้อีก แต่มันก็ทำให้มีความปลอดภัยเพิ่มมากขึ้นจากการเข้ารหัสแบบ Columnar Transposition Cipher ธรรมดาได้นั่นเอง
References