รหัสลับคลาสสิก

รหัสลับและการเข้ารหัสสัญญาณ 8 แบบที่เกิดก่อนคอมพิวเตอร์ หรือเกือบ ทั้งหมดนี้ไม่ปกป้องอะไรเลย และเราบอกไว้ตรงนี้แทนที่จะซ่อนไว้ท้ายหน้า เพราะทุกแบบถูกถอดได้มานานแล้ว หลายแบบถอดได้ด้วยตาเปล่า ที่เอามาไว้เพราะคุณยังเจอมันอยู่จริง ทั้งในเกมไขปริศนา การแข่ง CTF ข้อความที่ถูกซ่อนไว้ในไฟล์ต้องสงสัย และในหนังสือเก่า เลือกอันไหนก็ได้ แล้วมันจะอธิบายตัวเอง รวมถึงบอกว่าคุณจะไปเจอมันที่ไหนนอกเหนือจากในเกม

ไม่มีอันไหนในนี้ปกป้องอะไรได้เลย ทุกแบบถอดได้โดยไม่ต้องมีกุญแจ ส่วนใหญ่ใช้เวลาไม่กี่วินาที และบางแบบไม่ได้พยายามปิดบังอะไรตั้งแต่แรก ถ้าต้องการปกป้องข้อความจริง ๆ ให้ใช้เครื่องมือเข้ารหัสด้วยรหัสผ่านแทน

เลือกรหัส
ทิศทาง

ดูให้ออกว่ากำลังเจอรหัสแบบไหน

ทั้งแปดแบบนี้แตกทันทีที่รู้ว่าเป็นแบบไหน การระบุให้ได้ว่าเป็นแบบไหนคือตัวปริศนาทั้งหมด และหน้าตาของข้อความมักบอกใบ้ก่อนที่คุณจะลองอะไรเลยด้วยซ้ำ

หน้าตาแบบนี้น่าจะเป็นยืนยันโดย
มีแค่ 0 กับ 1 จัดเป็นกลุ่มละแปด หรือความยาวหารแปดลงตัว ข้อความที่เขียนเป็นฐานสอง ถ้าเป็นภาษาอังกฤษธรรมดา กลุ่มจะขึ้นต้นด้วย 010 หรือ 011 เพราะตัวอักษรอยู่ในช่วงนั้น
มีแค่ 0 กับ 1 ความยาวไม่แน่นอน ไม่จัดกลุ่ม ตัวเลขในฐานสอง ไม่ใช่ข้อความ ให้เอาไปที่ เครื่องแปลงเลขฐาน แทน หน้านี้จะอ่านมันเป็นข้อความแล้วให้ผลที่ไม่มีความหมายกลับมา
ตัวเลข 1 ถึง 26 คั่นเป็นตัว ๆ A1Z26 ไม่มีเลขไหนเกิน 26 โผล่มาเลยสักตัว
มีแต่ตัวอักษร ความถี่ของตัวอักษรดูเหมือนข้อความปกติ แต่คำอ่านไม่ออก Caesar, ROT13 หรือ Atbash ลอง ROT13 ก่อน แล้วไล่ Caesar ทั้ง 25 แบบ ต้องมีอันหนึ่งอ่านออก
มีแต่ตัวอักษร และความถี่กระจายเรียบเสมอกันหมด Vigenère การกระจายที่เรียบแปลว่ามีชุดตัวอักษรหลายชุดทำงานอยู่ ต้องหาคำกุญแจให้ได้
ตัวอักษรถูกต้องครบ แต่เรียงผิดที่ Rail fence หรือการสลับตำแหน่งแบบอื่น นับตัวอักษรดู การสลับตำแหน่งไม่เคยเปลี่ยนจำนวน E เปลี่ยนแค่ว่ามันไปอยู่ตรงไหน
เลขฐานสิบหกเป็นคู่ ๆ หรือไบต์ที่พิมพ์ออกมาไม่ได้ XOR ลอง XOR กับคำที่เดาว่าน่าจะมีอยู่ ถ้ามีข้อความอ่านออกโผล่มาเป็นช่วง แปลว่ากุญแจถูก

สามในแปดแบบนี้ไม่ใช่รหัสลับเลย ฐานสอง A1Z26 และมอร์ส เป็นวิธีเขียนข้อความลงไป ไม่ใช่วิธีซ่อนข้อความ และในเกมปริศนามันมักเป็นชั้นนอกสุดที่ห่อของจริงไว้อีกที ให้ลอกชั้นพวกนี้ออกก่อนแล้วดูว่าข้างในเป็นอะไร

คำถามที่พบบ่อย

ข้อความของฉันถูกอัปโหลดไหม

ไม่ ทั้งเก้าแบบทำงานในแท็บนี้ขณะที่คุณพิมพ์ นโยบายความปลอดภัยของเว็บกำหนด connect-src ‘none’ เบราว์เซอร์จึงบล็อกการเรียกเครือข่ายจากหน้านี้ ต่อให้โค้ดอยากส่งข้อความออกไปก็ส่งไม่ได้

ใช้ปกป้องข้อมูลได้ไหม

ไม่ได้ และเรื่องนี้ควรพูดตรง ๆ รหัสทุกแบบบนหน้านี้ถูกถอดได้ตั้งแต่ก่อนมีคอมพิวเตอร์ และโปรแกรมถอดได้ในเวลาไม่ถึงวินาทีโดยไม่ต้องมีกุญแจ อีกสามแบบไม่ได้พยายามปิดบังด้วยซ้ำ เพราะมอร์ส เลขฐานสอง และ A1Z26 เป็นวิธีเขียนข้อความ ไม่ใช่วิธีซ่อนข้อความ ถ้าต้องการให้มีแค่คนเดียวอ่านได้ ให้ใช้เครื่องมือเข้ารหัสด้วยรหัสผ่านของเว็บนี้ ซึ่งใช้ AES-256-GCM ผ่านระบบเข้ารหัสของเบราว์เซอร์เอง

ทำไมภาษาไทยของฉันไม่เปลี่ยนเลย

เพราะรหัสกลุ่มที่เลื่อนตัวอักษรจะเลื่อนเฉพาะ A ถึง Z และปล่อยอักขระอื่นไว้ตามเดิมทุกตัว นี่ไม่ใช่ข้อจำกัดของหน้านี้ แต่เป็นสิ่งที่ทุกโปรแกรมทำเหมือนกัน และเป็นพฤติกรรมเดียวที่ทำให้ถอดกลับได้ตรง ส่วนเลขฐานสองกับ XOR รองรับภาษาไทยได้ เพราะทำงานกับไบต์ ไม่ใช่กับตัวอักษร

ทำไมผลลัพธ์ของ XOR เป็นเลขฐานสิบหก ไม่ใช่ข้อความ

เพราะ XOR สร้างไบต์ที่ไม่ใช่ตัวอักษร ทั้งรหัสควบคุม ไบต์ศูนย์ และครึ่งหนึ่งของลำดับ UTF-8 ถ้าเขียนออกมาเป็นข้อความ ไบต์พวกนั้นจะหายไปเงียบ ๆ แล้วคุณจะได้ของกลับมาสั้นกว่าที่ใส่ไปโดยไม่มีอะไรเตือน ส่วนเลขฐานสิบหกย้อนกลับได้ตรงทุกไบต์ ซึ่งเป็นสิ่งเดียวที่สำคัญตรงนี้

ทำไมมอร์สทำให้เครื่องหมายวรรคตอนกับตัวพิมพ์เล็กใหญ่หายไป

เพราะมอร์สไม่มีแนวคิดเรื่องตัวพิมพ์เล็กพิมพ์ใหญ่ และมีรหัสสำหรับเครื่องหมายวรรคตอนอยู่ไม่กี่ตัว อะไรที่ไม่มีรหัสระบบจะรายงานให้ทราบ ไม่ใช่ตัดทิ้งเงียบ ๆ ส่วน A1Z26 เข้มกว่านั้นอีก เพราะเขียนได้เฉพาะตัวอักษรเท่านั้น