เครื่องมือถอดรหัสแทนที่
วางรหัสแทนที่แบบโมโนอัลฟาเบติกหรือคริปโตแกรม แล้วกู้ข้อความต้นฉบับกลับมาโดยไม่ต้องรู้กุญแจ เครื่องมือนี้จับคู่ความถี่ของตัวอักษรเพื่อตั้งค่าเดาเริ่มต้น จากนั้นใช้ simulated annealing ที่ให้คะแนนตามไทรแกรมภาษาอังกฤษเพื่อค้นหาตัวอักษร 26 ตัวให้ได้คำอ่านที่ดูเหมือนภาษาอังกฤษมากที่สุด ทุกอย่างทำงานในเบราว์เซอร์ของคุณ
ลองตัวอย่าง:
วางรหัสแทนที่ด้านบน กดแกะ แล้วข้อความที่กู้คืนมาและตัวอักษรแทนที่จะปรากฏที่นี่ ยิ่งคุณให้ข้อความมากเท่าไร คำตอบก็ยิ่งน่าเชื่อถือมากขึ้น
วิธีใช้ ตัวถอดรหัสแทนที่
- 1
วางข้อความที่เข้ารหัส
คัดลอกรหัสแทนที่หรือคริปโตแกรมของคุณแล้ววางลงในกล่อง ยิ่งมีข้อความมากก็ยิ่งแกะได้แม่นยำขึ้น ตัวอักษรจะถูกอ่านโดยไม่สนตัวพิมพ์ใหญ่เล็ก และเว้นวรรค ตัวเลข กับเครื่องหมายวรรคตอนจะถูกละไว้ระหว่างการแกะ แล้วนำกลับมาใส่ในคำตอบ
- 2
กดแกะ
คลิกแกะรหัส การค้นหาจะทำงานสักครู่ — มันจะลองตัวอักษรที่เป็นไปได้หลายแสนชุด — แล้วแสดงคำอ่านที่ดูเหมือนภาษาอังกฤษมากที่สุดที่พบ
- 3
อ่านข้อความที่กู้คืนมา
ข้อความที่ถอดได้จะปรากฏพร้อมตัวพิมพ์ใหญ่เล็ก การเว้นวรรค และเครื่องหมายวรรคตอนเดิมที่ถูกนำกลับมาใส่ คัดลอกด้วยคลิกเดียวเพื่อเก็บผลลัพธ์
- 4
ตรวจสอบตัวอักษรที่กู้คืนมา
ใต้ข้อความ ตัวอักษรแทนที่จะแสดงว่าตัวอักษรของข้อความที่เข้ารหัสแต่ละตัวถอดได้เป็นอะไร ตัวอักษรที่จางคือตัวที่ไม่เคยปรากฏในข้อความของคุณ เครื่องมือจึงไม่สามารถระบุตำแหน่งให้ได้ คัดลอกตัวอักษรเพื่อนำกลับมาใช้ซ้ำหรือตรวจสอบกุญแจ
- 5
แชร์หรือล้าง
คัดลอกลิงก์สำหรับแชร์ที่จะเปิดเครื่องมือขึ้นมาใหม่พร้อมข้อความที่เข้ารหัสของคุณตรงเป๊ะ — ข้อความจะอยู่ในส่วนของ URL หลังเครื่องหมาย hash ซึ่งไม่เคยส่งถึงเซิร์ฟเวอร์ ล้างจะรีเซ็ตทุกอย่าง
อธิบายการแกะรหัสแทนที่
เครื่องมือนี้ทำอะไร
รหัสแทนที่แบบโมโนอัลฟาเบติกจะแทนตัวอักษรทุกตัวในชุดตัวอักษรด้วยตัวอื่น — A อาจกลายเป็น Q, B อาจกลายเป็น W — และใช้ชุดตัวอักษรที่สับเปลี่ยนนั้นชุดเดียวกันตลอดทั้งข้อความ มันคือรหัสที่อยู่เบื้องหลังคริปโตแกรมในหนังสือพิมพ์ ปริศนาห้องหนีภัย และ Aristocrat ของ American Cryptogram Association มีชุดตัวอักษรที่เป็นไปได้มากกว่าสี่ร้อยเซปทิลเลียนชุด มากเกินกว่าจะลองทีละชุดได้ แต่กระนั้นรหัสแทนที่ก็เป็นหนึ่งในรหัสที่ทลายได้ง่ายที่สุด เครื่องมือนี้ทลายมันให้คุณโดยอัตโนมัติ ไม่ต้องมีกุญแจ
วางข้อความที่เข้ารหัส แล้วเครื่องมือจะคืนข้อความต้นฉบับที่น่าจะเป็นไปได้มากที่สุด พร้อมกับตัวอักษรแทนที่ครบชุดที่กู้คืนมา มันทำงานเหมือนนักไขปริศนาที่ช่ำชอง — เริ่มจากความถี่ของตัวอักษร แล้วสลับตัวอักษรไปเรื่อยๆ พร้อมเก็บการเปลี่ยนแปลงที่ทำให้ข้อความอ่านเหมือนภาษาอังกฤษมากขึ้น — เพียงแต่มันทำเช่นนั้นได้หลายแสนครั้งต่อวินาที ไม่มีอะไรออกไปจากเบราว์เซอร์ของคุณ การค้นหาทั้งหมดทำงานบนเครื่องของคุณเอง
ทำไมรหัสแทนที่จึงถูกทลายได้
รหัสแทนที่ซ่อนว่าตัวอักษรไหนคือตัวอักษรอะไร แต่มันซ่อนไม่ได้ว่าแต่ละตัวอักษรถูกใช้บ่อยแค่ไหน ในภาษาอังกฤษ E พบบ่อยกว่าตัวอักษรอื่นใดมาก ตามด้วย T, A, O, I และ N ขณะที่ J, Q, X และ Z นั้นหายาก การเข้ารหัสเพียงแค่เปลี่ยนป้ายให้กับความถี่เหล่านั้น ไม่ว่าตัวอักษรใดจะแทน E ตัวนั้นจะกลายเป็นตัวอักษรที่พบบ่อยที่สุดในข้อความที่เข้ารหัส ข้อเท็จจริงเพียงข้อเดียวนั้น — ความถี่ของตัวอักษรคงอยู่แม้ผ่านการแทนที่ — คือรอยรั่วในเกราะที่วิชาการวิเคราะห์รหัสทั้งหมดถูกสร้างขึ้นบนนั้น
ลำพังความถี่อย่างเดียวยังไม่เพียงพอ เพราะตัวอักษรหลายตัวมีจำนวนใกล้เคียงกันและอาจถูกสลับกันโดยผิดพลาด สัญญาณที่ลึกกว่าอยู่ที่วิธีการที่ตัวอักษรประกอบกัน ภาษาอังกฤษนิยมรูปแบบบางอย่าง — TH, HE, ING, THE, AND — และแทบไม่ใช้รูปแบบอื่นเลย การถอดรหัสที่ถูกต้องจะเต็มไปด้วยรูปแบบธรรมชาติเหล่านั้น ส่วนการถอดรหัสที่ผิดจะเต็มไปด้วยการประกอบที่ภาษาอังกฤษจริงๆ ไม่เคยใช้ การวัดความแตกต่างนั้นคือสิ่งที่ทำให้คอมพิวเตอร์สามารถจดจำคำตอบที่ถูกต้องท่ามกลางคำตอบที่ผิดซึ่งดูสมเหตุสมผลนับไม่ถ้วน
ขั้นที่หนึ่ง: การเดาเริ่มต้นที่จับคู่ตามความถี่
เครื่องมือเริ่มต้นด้วยการนับว่าตัวอักษรแต่ละตัวปรากฏในข้อความที่เข้ารหัสบ่อยแค่ไหน แล้วเรียงจำนวนเหล่านั้นเทียบกับลำดับความถี่ที่ทราบของภาษาอังกฤษ ตัวอักษรที่พบบ่อยที่สุดในข้อความที่เข้ารหัสจะถูกเดาว่าเป็น E ตัวถัดมาเป็น T แล้วจึงเป็น A, O, I, N และต่อไปเรื่อยๆ ลงไปตามรายการ นี่คือก้าวแรกแบบคลาสสิกที่ผู้แกะคริปโตแกรมทุกคนเรียนรู้ด้วยมือ
การเดานั้นแทบไม่เคยสมบูรณ์แบบ — ตัวอักษรที่หายากกว่ามักจะถูกวางผิดที่เป็นพิเศษ — แต่มันไม่จำเป็นต้องสมบูรณ์ มันเพียงต้องใกล้เคียงพอที่จะให้การค้นหามีจุดเริ่มต้นที่เหมาะสม จากนั้นเครื่องมือจะปรับชุดตัวอักษรทีละตัวจนข้อความเข้าที่ชัดเจน
ขั้นที่สอง: simulated annealing ค้นหากุญแจ
จากการเดาเริ่มต้น เครื่องมือจะสลับความหมายของข้อความต้นฉบับของตัวอักษรสองตัวซ้ำๆ แล้วถามว่าตอนนี้ข้อความอ่านเหมือนภาษาอังกฤษมากขึ้นหรือไม่ หากการสลับช่วยได้ ก็จะเก็บไว้ ปัญหาคือการยืนกรานให้ต้องดีขึ้นทันทีเสมอจะทำให้การค้นหาติดอยู่กับคำตอบที่เกือบถูก — จุดเหมาะที่สุดเฉพาะถิ่น (local optimum) — ที่ไม่มีการสลับเพียงครั้งเดียวจะหลุดออกมาได้ การแกะรหัสแทนที่คือกรณีตำราเรียนสำหรับเทคนิคที่เรียกว่า simulated annealing ซึ่งแก้ปัญหานี้ได้พอดี
Simulated annealing บางครั้งยอมรับการสลับที่ทำให้สิ่งต่างๆ แย่ลงชั่วขณะ ด้วยความน่าจะเป็นที่เริ่มสูงและถูกลดลงอย่างสม่ำเสมอ — ราวกับว่าการค้นหานั้นร้อนในตอนแรกและค่อยๆ เย็นลง ในช่วงแรกมันท่องไปอย่างอิสระและไต่ออกจากทางตัน ในภายหลังมันสงบลงและขัดเกลาชุดตัวอักษรที่ดีที่สุดที่พบมา เครื่องมือจะรันสิ่งนี้หลายครั้งจากจุดเริ่มต้นต่างๆ จบแต่ละครั้งด้วยรอบที่ปรับให้ดีขึ้นเท่านั้นอย่างเคร่งครัด แล้วเก็บผลลัพธ์ที่ดีที่สุดเพียงผลเดียวไว้ — ซึ่งเป็นเหตุผลว่าทำไมมันจึงหาคำตอบที่การไต่เนินแบบธรรมดาจะพลาดได้อย่างน่าเชื่อถือ
เครื่องมือตัดสินภาษาอังกฤษอย่างไร: ความเหมาะสมของไทรแกรม
ชุดตัวอักษรที่เป็นไปได้แต่ละชุดจะถูกให้คะแนนด้วยตัวเลขเดียว นั่นคือความเหมาะสมของไทรแกรม เครื่องมือจะดูทุกชุดของตัวอักษรสามตัวที่ติดกันในข้อความที่ถอดได้ แล้วรวมความน่าจะเป็นของแต่ละชุดสามตัวในภาษาอังกฤษจริง โดยใช้ตารางความถี่ของตัวอักษรสามตัวที่สร้างจากงานเขียนภาษาอังกฤษจำนวนมาก ชุดสามตัวที่พบบ่อยอย่าง THE, AND และ ING ได้คะแนนดี ส่วนชุดสามตัวที่ภาษาอังกฤษไม่เคยใช้ได้คะแนนแย่มาก
ไทรแกรมสำคัญเพราะความถี่ของตัวอักษรเดี่ยวหลอกได้ง่ายเกินไป — กุญแจที่ผิดอาจตรงกับจำนวนตัวอักษรแต่ก็ยังเป็นข้อความที่อ่านไม่รู้เรื่อง การปลอมการประกอบสามตัวอักษรที่น่าเชื่อถือทั้งหน้านั้นยากกว่ามาก ด้วยการบังคับให้ทุกการสลับมุ่งไปสู่ความเหมาะสมของไทรแกรมที่สูงขึ้น การค้นหาจะถูกดึงทีละการสลับเข้าสู่ภาษาอังกฤษที่แท้จริง ตารางนี้สร้างขึ้นจากบทความของเว็บไซต์นี้เอง ดังนั้นจึงไม่มีการดึงข้อมูลจากภายนอก และเครื่องมือยังคงทำงานรวดเร็วและเป็นส่วนตัว
คุณต้องมีข้อความมากแค่ไหน และเมื่อไรที่มันลำบาก
การทลายรหัสแทนที่เป็นงานเชิงสถิติ ดังนั้นมันอยู่หรือตายขึ้นอยู่กับว่าคุณให้ข้อความมากแค่ไหน ด้วยตัวอักษรภาษาอังกฤษทั่วไปราวหนึ่งร้อยห้าสิบตัวขึ้นไป การกู้คืนมักจะเกือบสมบูรณ์แบบ ราวแปดสิบถึงหนึ่งร้อยตัวอักษรก็ยังใช้ได้ แต่ตัวอักษรหายากหนึ่งหรือสองตัว — J, Q, X และ Z ที่แทบไม่ปรากฏ — อาจถูกอ่านผิด เพราะหลักฐานยังไม่มากพอจะระบุตำแหน่งให้แน่ชัด ต่ำกว่าราวห้าสิบตัวอักษร ไม่ว่าผู้แกะจะเป็นคนหรือเครื่อง ก็แทบจะเป็นการเดาเป็นส่วนใหญ่
มีอีกหลายสิ่งที่ทำให้ข้อความแกะได้ยากขึ้น: ข้อความที่จงใจหลีกเลี่ยงตัวอักษรที่พบบ่อย (เช่นแพนแกรม) งานเขียนที่ไม่ใช่ภาษาอังกฤษ หรือรหัสที่ยังย้ายตำแหน่งตัวอักษรไปมาด้วยแทนที่จะเปลี่ยนป้ายอย่างเดียว เมื่อคำอ่านออกมาเกือบถูกแล้ว คำตอบเกือบจะเสมอคือป้อนข้อความที่เข้ารหัสเพิ่ม หรือแก้ตัวอักษรหนึ่งหรือสองตัวที่ดื้อด้วยสายตา หากข้อความไม่ใช่การแทนที่อย่างง่ายเลย เครื่องมือระบุประเภทรหัส (Cipher Identifier) สามารถบอกคุณได้ว่าจริงๆ แล้วคุณกำลังเจอกับอะไร
รหัสแทนที่และญาติพี่น้องของมัน
การแทนที่อย่างง่ายที่คงการเว้นวรรคของคำไว้คือสิ่งที่ผู้ตั้งคริปโตแกรมเรียกว่า Aristocrat ส่วนรหัสเดียวกันที่ลบเว้นวรรคออกคือ Patristocrat ทั้งคู่เป็นโมโนอัลฟาเบติก — ชุดตัวอักษรคงที่ชุดเดียวตลอดทั้งข้อความ — และทั้งคู่ก็พ่ายแพ้ต่อวิธีการที่นี่ Caesar และ Atbash เป็นเพียงการแทนที่แบบพิเศษที่ยิ่งง่ายกว่า ดังนั้นเครื่องมือนี้ก็แกะมันได้เช่นกัน แม้ว่าหน้าเฉพาะของมันจะแก้ได้ทันทีก็ตาม
ก้าวกระโดดด้านความยากครั้งใหญ่คือรหัสโพลีอัลฟาเบติก ซึ่งเปลี่ยนชุดตัวอักษรไปเรื่อยๆ ขณะทำงาน ทำให้ตัวอักษรเดียวกันสามารถแทนตัวอักษรหลายตัวที่ต่างกันได้ รหัส Vigenère คือตัวอย่างที่โด่งดัง และการวิเคราะห์ความถี่บนทั้งข้อความใช้ไม่ได้ผลกับมันอีกต่อไป หากข้อความของคุณต้านทานเครื่องมือนี้และความถี่ของตัวอักษรดูราบเรียบอย่างน่าสงสัย มันอาจเป็นโพลีอัลฟาเบติก — ให้ไปใช้เครื่องมือถอดรหัส Vigenère แทน
คำถามที่พบบ่อย
คุณแกะรหัสแทนที่ได้จริงโดยไม่ต้องมีกุญแจหรือ?
เครื่องมือนี้แกะรหัสประเภทใด?
เครื่องมือนี้ทำงานอย่างไร?
ทำไมจึงใช้การให้คะแนนไทรแกรมแทนความถี่ของตัวอักษร?
ฉันต้องมีข้อความมากแค่ไหนเพื่อทลายคริปโตแกรม?
ผลลัพธ์เกือบถูกแล้วแต่ตัวอักษรไม่กี่ตัวผิด เพราะอะไร?
มันจะแกะคริปโตแกรมที่คงเว้นวรรคไว้ (Aristocrat) ได้หรือไม่?
เครื่องมือนี้ให้ผลแน่นอน (deterministic) หรือไม่?
มันทำงานกับภาษาอังกฤษเท่านั้นหรือ?
ข้อความที่เข้ารหัสของฉันถูกส่งไปยังเซิร์ฟเวอร์หรือไม่?
ถ้ามันไม่ใช่รหัสแทนที่เลยล่ะ?
เครื่องมือที่เกี่ยวข้อง
ทำงานต่อด้วยเครื่องมือที่มีประโยชน์เหล่านี้