EP 4: Simple Substitution Cipher

EP 4: Simple Substitution Cipher

จาก EP ที่ผ่านมาเราได้พาทุกคนไปทดลองเข้าและถอดรหัสแบบ Transposition Cipher (การเข้ารหัสโดยการย้ายตำแหน่งของตัวอักษร) อย่างเช่น Rail Fence Cipher กันไปแล้ว ใน EP นี้เราจะพาทุกคนมาลองเปลี่ยนรูปแบบการเข้ารหัสเป็นแบบ Substitution ciphers (การเข้ารหัสโดยการแทนที่ตัวอักษร) กันดูบ้าง มาดูสิว่าการเข้ารหัสแบบไหนจะยากหรือง่ายกว่ากัน

ไปเริ่มกันเลย

การเข้ารหัสแบบ Substitution Ciphers มีมากมายหลายรูปแบบ แต่ใน EP นี้ เราจะขอเริ่มด้วยการเข้ารหัสแบบ Simple Substitution Cipher ซึ่งเป็นการเเทนที่ตัวอักษรเดี่ยวอย่างง่าย โดยการนำเอาคีย์ที่กำหนดใส่ในตาราง เเทนที่ลำดับของตัวอักษรเดิม เพื่อสร้างตาราง Cipher Text Alphabet ที่ใช้สำหรับการเข้ารหัส

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

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

  1. กำหนดคีย์ คือคำว่า “ZEBRAS” จากนั้นสร้างตาราง Plain Text Alphabet ขึ้นมาโดยตารางนี้ภายในจะเป็นการเรียงตัวอักษร A-Z ตามลำดับ (การกำหนดคีย์จะไม่กำหนดคีย์ที่มีตัวอักษรซ้ำกันในคำ เช่น BOOM )

  2. สร้างตาราง Cipher Text Alphabet โดยให้นำคีย์ไปใส่ไว้ในตอนต้นของตาราง ดังรูปที่ 1

เมื่อเราใส่คีย์ลงในตารางเรียบร้อยแล้ว ให้ใส่ตัวอักษรภาษาอังกฤษที่เหลือลงไปในตารางตามลำดับเดิม (Alphabetical Order : A-Z) โดยที่ตัดตัวอักษรที่มีอยู่แล้วในคีย์ออก ตัวอย่างเช่น จากตารางรูปที่ 1 หลังจากคีย์ คำว่า ZEBRAS ตัวอักษรถัดมาคือ C เนื่องจาก A และ B เป็นตัวอักษรที่มีอยู่แล้วในคีย์ เป็นต้น

  1. กำหนดข้อความที่ต้องการเข้ารหัส (Plain Text) เป็น “FLEE AT ONCE. WE ARE DISCOVERED!”

  2. นำตาราง Plain Text Alphabet และ Cipher Text Alphabet มาสร้างรหัสลับ โดยเราจะใช้ตัวอักษรที่อยู่ในตำแหน่งเดียวกันของทั้งสองตารางมาเขียนเป็นรหัสลับ เช่น “F” ให้เขียนเป็น “S” เนื่องจากตำแหน่งของตัวอักษร “F” บนตาราง Plain Text Alphabet อยู่ในตำแหน่งเดียวกันกับตัวอักษร “S” ที่อยู่ในตาราง Cipher Text Alphabet เมื่อเขียนจนครบเราจะได้ข้อความใหม่ เป็นข้อความที่ถูกเข้ารหัสแล้ว คือ “SIAAZ QLKBA VAZOA RFPBL UAOAR” (Cipher Text)

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

เมื่อคุณได้รับรหัสลับ “SIAAZ QLKBA VAZOA RFPBL UAOAR” สามารถทำตามขั้นตอนด้านล่างเพื่อถอดรหัส ดังนี้

  1. เราจะต้องทราบคีย์ที่ใช้ในการถอดรหัสก่อน ในตัวอย่างนี้คือ “ZEBRAS”

  2. สร้างตาราง Plain Text Alphabet ขึ้นมา โดยวิธีการสร้างจะเหมือนกับขั้นตอนที่ 1 ของการเข้ารหัส

  3. นำคีย์ไปสร้างตาราง Cipher Text Alphabet โดยให้นำคีย์ไปใส่ไว้ในตอนต้นของตาราง ดังรูปที่ 3 (เช่นเดียวกับขั้นตอนที่ 2 ของการเข้ารหัส)

  4. เมื่อนำรหัสลับ SIAAZ QLKBA VAZOA RFPBL UAOAR ไปเทียบตำแหน่งในตาราง Plain Text Alphabet และ Cipher Text Alphabet ที่ได้จากขั้นตอนที่ 2 เราก็จะสามารถถอดรหัสลับได้ ดังนี้

  5. ถอดรหัสได้เป็นข้อความว่า FLEE AT ONCE. WE ARE DISCOVERED! (รีบหนีไป พวกเราถูกพบแล้ว)

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

ไม่รู้ว่าการเข้ารหัสแบบ Simple Substitution Cipher นี้จะ Simple สมชื่อหรือเปล่า :rofl: แต่ถ้าทุกคนเข้าใจการเข้ารหัสแบบ Simple Substitution Cipher ซึ่งเป็นพื้นฐานของการเข้ารหัสแบบ Substitution Cipher ใน EP นี้แล้ว รับรองว่า EP ต่อ ๆ ทุกคนจะสามารถเข้าใจการเข้ารหัสแบบ Substitution Cipher ได้ดียิ่งขึ้นแน่นอน

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

References

1 Like