EP 10: The Beale Treasure Ciphers
ไม่รู้ทุกคนจะยังจำกันได้มั้ยว่าใน EP ที่แล้วเราได้แอบกระซิบบอกไว้ว่า จะพาทุกคนมาทดลองเข้ารหัสแบบ The Beale Treasure Ciphers เผื่อว่ามีใครอยากจะลองไปถอดรหัสอีก 2 แผ่นที่เหลือ หรืออาจจะอยากทำรหัสลับซ่อนสมบัติของคุณเองดูก็ได้นะ
เพื่อไม่ให้เป็นการเสียเวลา ไปเริ่มกันเลย
The Beale Treasure Ciphers หรือ Beale Ciphers เป็นการเข้ารหัสรูปแบบหนึ่งของ Homophonic Substitution ที่เราเคยพูดถึงกันไปแล้วใน EP 7 หากใครยังไม่เคยอ่านสามารถกลับไปอ่านกันก่อนได้เลย เพราะหลักการเข้ารหัสของทั้ง 2 ตัวนี้จะเหมือนกัน คือเป็นการเเทนที่ตัวอักษรด้วยตัวอักษรหรือตัวเลขผสมกันไป แต่ถ้าทุกคนยังจำกระดาษรหัสลับของ Beale ได้ ก็จะรู้ว่า การเข้ารหัสแบบ Beale Ciphers จะใช้แค่ตัวเลข หลักหน่วย หลักสิบ และ หลักร้อย เท่านั้น ไม่มีตัวหนังอักษรใดๆ เลยนั่นเอง
ทุกคนสามารถ คลิกรูปภาพด้านล่าง เพื่อศึกษาวิธีการเข้ารหัสแบบ The Beale Treasure Ciphers
-
กำหนดข้อความที่ต้องการเข้ารหัส คือ “I HAVE DEPOSITED IN THE COUNTY OF BEDFORD” (ฉันได้ฝังมันไว้ในเขตเบดฟอร์ด)
-
สร้างตาราง Plain Text Alphabet
-
ในการเข้ารหัสแบบ Beale จะไม่มีการกำหนดคำศัพท์ภาษาอังกฤษเป็นคีย์ แต่จะสร้างตาราง Cipher Text Alphabet โดยกำหนดตัวเลขแทนตัวอักษรใน Plain Text Alphabet แทนเลย ซึ่งสามารถกำหนดตัวเลขแทนได้หลายแบบ ทั้งหลักหน่วย หลักสิบ หรือหลักร้อย และในหนึ่งตัวอักษรสามารถกำหนดตัวเลขเเทนได้หลายตัวเลขไม่จำกัด ซึ่งเราสามารถใช้หลักการของ Frequency Analysis เพื่อกำหนดตัวเลขแทนที่ให้กับตัวอักษรที่มีการใช้งานบ่อยในภาษาอังกฤษเยอะกว่าตัวอักษรอื่น ๆ ได้ อย่างเช่น ในตัวอย่างจะกำหนดให้ตัวอักษร 12 ตัว ที่มีการใช้งานบ่อยในภาษาอังกฤษ อย่าง E, T, A, O, I, N, S, H, R, D, L, U มีตัวเลขแทนที่เยอะกว่าตัวอักษรอื่น ดังรูปที่ 1
หรือหากเรารู้สึกว่าการส่งตาราง Cipher Text Alphabet ให้คู่สนทนาของเราโดยตรงมันเสี่ยงเกินไป หากถูกฝั่งตรงข้ามขโมยไปได้ เขาอาจจะถอดรหัสลับของเราได้หมด เราสามารถที่จะหยิบเอาบทความสักบทความหนึ่งขึ้นมา จากนั้นเอาข้อความที่เราต้องการเข้ารหัสไปเทียบกับคำต่าง ๆ ที่อยู่ในบทความนั้น แล้วนำเอาตำแหน่งของคำที่ในบทความมาสร้าง Cipher Text Alphabet อย่างเช่น กระดาษรหัสลับแผ่นที่ 2 ของ The Beale Treasure Ciphers ที่ใช้ตำแหน่งของคำใน “คำประกาศอิสรภาพแห่งสหรัฐ” มาแทนที่ หรือถ้าหากทุกคนอยากลองเข้ารหัสเอง อาจจะหยิบเอานิทานสั้น ๆ สักเรื่องหนึ่งมาลองใช้ในการเข้ารหัสดูก็ได้เช่นกัน
-
นำตาราง Plain Text Alphabet และ Cipher Text Alphabet มาสร้างรหัสลับ โดยเราจะนำตัวอักษรในข้อความเทียบกับ Plain Text Alphabet ในตารางจากนั้น นำตัวเลขในตาราง Cipher Text Alphabet มาใช้ในการสร้างรหัสลับ ซึ่งหากเป็นตัวอักษร ที่มีตัวเลขแทนที่หลายตัว เราจะใช้เรียงไปตามลำดับตัวอักษรที่พบในข้อความธรรมดา เช่น
“E” ตัวแรกที่พบในข้อความจะแทนด้วย “37” ส่วน “E” ตัวที่สองที่พบในข้อความจะแทนด้วย “196” เป็นต้น วนไปเรื่อย ๆ จนกว่าจะเข้ารหัสครบทุกตัวอักษรในข้อความ
เมื่อเข้ารหัสจนครบเราจะได้ ชุดตัวเลขเข้ารหัส คือ “31 17 115 239 37 907 196 47 140 79 186 84 554 9 53 15 808 42 82 24 52 56 59 133 811 95 55 73 37 35 55 190 107 287” -
การเข้ารหัสแบบ Beale Ciphers จะไม่เขียนตัวเลขติดกันหรือเขียนตัวเลขเป็นให้เว้นช่องตามคำในข้อความธรรมดา แต่จะเขียนแยกกันเป็นตัว ๆ
เมื่อคุณได้รับรหัสลับ “31 17 115 239 37 907 196 47 140 79 186 84 554 9 53 15 808 42 82 24 52 56 59 133 811 95 55 73 37 35 55 190 107 287” สามารถทำตามขั้นตอนด้านล่างเพื่อถอดรหัส ดังนี้
-
เราต้องทราบตาราง Cipher Text Alphabet ที่กำหนดไว้ ดังรูปที่ 3
-
นำรหัสที่ได้เทียบกับ Cipher Text Alphabet ที่กำหนดไว้ จากนั้นก็เทียบกับ Plain Text Alphabet จะสามารถถอดรหัส ได้เป็น “I HAVE DEPOSITED IN THE COUNTY OF BEDFORD”
เป็นอย่างไรกันบ้าง สำหรับการเข้ารหัสแบบ The Beale Treasure Ciphers ที่เรานำมาเล่ากันใน EP นี้
จริง ๆ แล้วการเข้ารหัสแบบ The Beale Treasure Ciphers ค่อนข้างจะถอดรหัสไม่ยากเลย ถ้าเราทราบคีย์ ซึ่งก็คือรูปแบบของ Cipher Text Alphabet ที่ถูกกำหนดขึ้นมา แต่อย่างที่บอก ถ้าหากเราอยากให้รหัสลับที่เราสร้าง มีการถอดรหัสได้ยากมากขึ้น เราสามารถที่จะหยิบเอาบทความสักบทความหนึ่งขึ้นมาใช้ในการสร้าง Cipher Text Alphabet ได้ เพื่อทำให้การเข้ารหัสของเราดูมีลูกเล่น มีสีสัน ถอดได้ยากขึ้น สามารถนำไปเล่นกับกลุ่มเพื่อนได้อีกด้วย
รหัสลับจาก Hashpire ในวันนี้คือ XXX XXX XXX