ตัวระบุรหัสลับ
ไม่แน่ใจว่ากำลังดูรหัสอะไรอยู่? วางข้อความปริศนาลงไป แล้วเครื่องมือนี้จะวิเคราะห์ชุดอักขระ ความถี่ของตัวอักษร และดัชนีความบังเอิญ เพื่อจัดอันดับรหัสที่เป็นไปได้มากที่สุด — แล้วพาคุณไปยังตัวถอดรหัสที่ตรงกันโดยตรง ทุกอย่างทำงานในเบราว์เซอร์ของคุณ
ลองตัวอย่าง:
วางข้อความด้านบน แล้วรหัสที่เป็นไปได้มากที่สุดจะปรากฏที่นี่ จัดอันดับตามความเชื่อมั่น
วิธีใช้ ตัวระบุรหัสลับ
- 1
วางข้อความปริศนาของคุณ
คัดลอกโค้ดหรือข้อความเข้ารหัสที่ไม่รู้จักแล้ววางลงในกล่อง มันสามารถเป็นตัวอักษร, จุดและขีดแบบ Morse, Base64, ตัวเลข หรือเกือบทุกอย่าง
- 2
อ่านสรุปการวิเคราะห์
ดูจำนวนอักขระ จำนวนตัวอักษรที่มี ชุดอักขระที่ตรวจพบ และดัชนีความบังเอิญ ซึ่งบอกใบ้ว่ารหัสใช้อักษรชุดเดียวหรือหลายชุด
- 3
ตรวจดูการคาดเดาที่จัดอันดับไว้
รหัสที่เป็นไปได้มากที่สุดจะปรากฏเป็นการ์ด เรียงตามความเชื่อมั่นจากเป็นไปได้สูงมากลงไปจนถึงไม่น่าจะเป็น แต่ละการ์ดมีเหตุผลสั้น ๆ อธิบายสัญญาณที่ตรวจพบ
- 4
เปิดตัวถอดรหัสที่ตรงกัน
คลิกไปยังตัวถอดรหัสเฉพาะของผู้สมัครอันดับต้นเพื่อทำการถอดรหัสให้เสร็จ หากมีหลายตัวที่แนะนำ ให้ลองจากบนสุดของรายการลงมา
- 5
แชร์หรือล้าง
คัดลอกลิงก์สำหรับแชร์ที่เปิดเครื่องมือขึ้นมาใหม่พร้อมข้อความเดิมของคุณ หรือล้างกล่องเพื่อเริ่มใหม่ ทุกอย่างอยู่ในเบราว์เซอร์ของคุณ
วิธีระบุรหัสลับที่ไม่รู้จัก
ตัวระบุรหัสลับคืออะไร?
ตัวระบุรหัสลับเป็นเครื่องมือที่รับข้อความปริศนาเข้ามา แล้วบอกคุณว่ารหัสหรือการเข้ารหัสชนิดใดน่าจะเป็นต้นเหตุมากที่สุด แทนที่จะเดาแบบมืดบอดหรือลองทุกตัวถอดรหัสทีละตัว คุณเพียงวางข้อความเข้ารหัสครั้งเดียวก็ได้รายการผู้สมัครที่จัดอันดับไว้ — Caesar, Vigenère, Base64, Morse และอื่น ๆ — แต่ละรายการมีระดับความเชื่อมั่นและลิงก์ตรงไปยังตัวถอดรหัสที่ถูกต้อง
นี่คือจุดเริ่มต้นตามธรรมชาติเมื่อใดก็ตามที่คุณพบข้อความที่ถูกเข้ารหัสโดยไม่มีใครบอกว่ามันถูกสร้างขึ้นอย่างไร เช่น โจทย์ capture-the-flag, เบาะแสในห้องหนีภัย, ปริศนา geocaching, เกมความจริงทางเลือก หรือโน้ตที่เข้ารหัสไว้ การรู้ตระกูลของรหัสจะลดความเป็นไปได้นับสิบให้เหลือเพียงหนึ่งหรือสอง คุณจึงหยุดค้นหาและเริ่มถอดรหัสได้
ตัวระบุรหัสลับทำงานอย่างไร
ตัวระบุใช้การวิเคราะห์รหัสลับแบบคลาสสิก ไม่ใช่แมชชีนเลิร์นนิง ดังนั้นทุกคำตัดสินจึงอธิบายได้ มันนำข้อความของคุณผ่านชุดการทดสอบ ตั้งแต่ที่ชัดเจนที่สุดไปจนถึงที่ละเอียดอ่อนที่สุด ขั้นแรกมันดูที่ชุดอักขระ: ข้อความที่มีเพียงจุดและขีดคือ Morse, มีเพียงศูนย์และหนึ่งคือไบนารี, มีเพียงเลขฐานสิบหกคือ hex และชุดอักขระ Base64 ที่มีความยาวเป็นจำนวนเท่าของสี่คือ Base64 ส่วนกลุ่มของตัวเลขเล็ก ๆ ชี้ไปที่ตาราง Polybius, การแทนตัวอักษรด้วยตัวเลขแบบ A1Z26 หรือรหัส ASCII
เมื่อข้อความเป็นตัวอักษรธรรมดา เครื่องมือจะเปลี่ยนไปใช้สถิติ มันวัดดัชนีความบังเอิญเพื่อตัดสินว่าใช้อักษรชุดเดียว (แบบอักษรเดี่ยว) หรือหลายชุด (แบบหลายอักษร) จากนั้นทำการทดสอบการเลื่อนแบบ Caesar และการทดสอบ Atbash โดยใช้การให้คะแนนแบบ chi-squared เทียบกับความถี่ของตัวอักษรภาษาอังกฤษ การผสมกันของชุดอักขระ โปรไฟล์ความถี่ และเบาะแสเชิงโครงสร้าง เช่น ความยาวและรูปแบบที่ซ้ำกัน จะให้รายการจัดอันดับที่คุณเห็น
ดัชนีความบังเอิญ อธิบายอย่างเข้าใจง่าย
ดัชนีความบังเอิญ หรือ IoC วัดความน่าจะเป็นที่ตัวอักษรสองตัวที่สุ่มหยิบจากข้อความจะเป็นตัวเดียวกัน ข้อความภาษาอังกฤษทั่วไปมี IoC ประมาณ 0.067 เพราะตัวอักษรบางตัวอย่าง E และ T พบบ่อยกว่าตัวอื่นมาก ส่วนข้อความที่สุ่มอย่างสมบูรณ์จะอยู่ใกล้ 0.038 ซึ่งตัวอักษรทุกตัวมีโอกาสเท่ากัน
ตัวเลขเพียงตัวเดียวนี้คือเบาะแสที่มีประโยชน์ที่สุดสำหรับรหัสที่อิงตัวอักษร รหัส Caesar, Atbash และการแทนที่ด้วยคำสำคัญเพียงแค่สลับตัวอักษรหนึ่งเป็นอีกตัวหนึ่ง ดังนั้นโปรไฟล์ความถี่ที่ไม่สม่ำเสมอของภาษาอังกฤษจึงยังคงอยู่ และ IoC ยังคงสูงใกล้ 0.066 ส่วนรหัสแบบหลายอักษรอย่าง Vigenère ใช้อักษรหลายชุดพร้อมกัน ซึ่งทำให้ความถี่ราบเรียบและดึง IoC ลงไปทาง 0.04 ดังนั้น IoC สูงบ่งบอกถึงแบบอักษรเดี่ยว IoC ต่ำบ่งบอกถึงแบบหลายอักษร และค่าที่อยู่ตรงกลางคือคำใบ้ให้ลองทั้งสองแบบ
การอ่านเบาะแสจากชุดอักขระ
การเข้ารหัสหลายชนิดเปิดเผยตัวเองด้วยชุดอักษรเพียงอย่างเดียว รหัส Morse ใช้เพียงจุด ขีด และตัวคั่น ไบนารีใช้เพียงเลข 0 และ 1 ซึ่งมักจัดเป็นกลุ่มละแปด เลขฐานสิบหกใช้เลข 0 ถึง 9 และตัวอักษร A ถึง F โดยมีจำนวนอักขระเป็นเลขคู่ Base64 ใช้ตัวอักษรพิมพ์ใหญ่และพิมพ์เล็ก ตัวเลข เครื่องหมายบวกและเครื่องหมายทับ มักลงท้ายด้วยเครื่องหมายเท่ากับหนึ่งหรือสองตัวเป็นการเติมเต็ม และมีความยาวรวมเป็นจำนวนเท่าของสี่
ตัวเลขก็มีความหมายของมันเอง คู่ของตัวเลขระหว่าง 1 ถึง 5 คือพิกัดของตาราง Polybius ตัวเลขที่อยู่ระหว่าง 1 ถึง 26 ทั้งหมดน่าจะเป็น A1Z26 ซึ่ง 1 คือ A และ 26 คือ Z ส่วนตัวเลขที่ใหญ่กว่าในช่วง 32 ถึง 126 คือรหัสอักขระ ASCII เลขฐานสิบ และข้อความที่สร้างขึ้นจากตัวอักษร A, D, F, G, V และ X เท่านั้น คือลักษณะเฉพาะที่ไม่อาจเข้าใจผิดได้ของรหัสสนามรบ ADFGX หรือ ADFGVX ที่ใช้ในสงครามโลกครั้งที่หนึ่ง
รหัสแบบอักษรเดี่ยวเทียบกับแบบหลายอักษร
หากข้อความเป็นตัวอักษรและ IoC สูง คุณเกือบจะแน่ใจได้ว่ากำลังดูรหัสแบบอักษรเดี่ยว ซึ่งตัวอักษรต้นฉบับแต่ละตัวจะแมปไปยังตัวอักษรเข้ารหัสตัวเดิมเสมอ ที่ง่ายที่สุดคือรหัส Caesar ซึ่งเลื่อนตัวอักษรทุกตัวด้วยจำนวนเท่ากัน ตัวระบุจะยืนยันได้เมื่อมีการเลื่อนเพียงค่าเดียวที่เปลี่ยนข้อความให้เป็นภาษาอังกฤษ Atbash คือกรณีพิเศษที่กลับลำดับตัวอักษรจน A กลายเป็น Z หากทั้งการเลื่อนและการกลับลำดับไม่ได้ผลแต่ IoC ยังคงสูง ก็เป็นการแทนที่ด้วยคำสำคัญทั่วไปหรือแบบ affine ที่ต้องใช้ตัวแก้การแทนที่
หาก IoC ต่ำ รหัสนั้นใช้อักษรมากกว่าหนึ่งชุด ตัวอย่างคลาสสิกคือ Vigenère ซึ่งใช้คำสำคัญที่ทำซ้ำ ดังนั้นแต่ละตำแหน่งจึงสามารถใช้การเลื่อนที่ต่างกันได้ ญาติของมันได้แก่ Beaufort, Gronsfeld และ Porta ส่วนเบาะแสอีกอย่างหนึ่ง คือความยาวเป็นเลขคู่และไม่มีตัวอักษรซ้ำภายในคู่ จะชี้ไปยังรหัสแบบหลายตัวอักษรอย่าง Playfair ซึ่งเข้ารหัสครั้งละสองตัวอักษรแทน
สิ่งที่ควรทำหลังจากระบุรหัสได้
การระบุเป็นเพียงขั้นตอนแรก ผู้สมัครแต่ละรายในผลลัพธ์จะลิงก์ไปยังตัวถอดรหัสเฉพาะของรหัสนั้น ซึ่งคุณสามารถทำงานให้เสร็จได้ สำหรับรหัส Caesar ตัวถอดรหัสสามารถลองทุกการเลื่อนทั้ง 25 ค่าและเลือกค่าที่ดีที่สุดด้วยการวิเคราะห์ความถี่ สำหรับ Base64, Morse, ไบนารี หรือ hex ตัวแปลงที่ตรงกันจะเปลี่ยนรหัสกลับเป็นข้อความได้ทันที สำหรับ Vigenère และรหัสแบบแทนที่ คุณมักจะต้องใช้กุญแจหรือตัวแก้ แต่การรู้ตระกูลจะบอกคุณได้แน่ชัดว่าควรใช้เทคนิคใด
เมื่อมีผู้สมัครหลายรายปรากฏ ให้ไล่จากบนสุดที่เชื่อมั่นมากที่สุดลงมา ตัวระบุจงใจแสดงความเป็นไปได้มากกว่าหนึ่งเมื่อหลักฐานคลุมเครือ เพราะข้อความสั้น ๆ มักไม่ให้คำตอบที่ชัดเจน การลองตัวถอดรหัสอันดับต้น ๆ มักจะยืนยันหรือตัดการคาดเดาออกได้ภายในไม่กี่วินาที
ข้อจำกัดที่ควรคำนึงถึง
ไม่มีตัวระบุอัตโนมัติใดที่สมบูรณ์แบบ ข้อความที่สั้นมากไม่มีตัวอักษรเพียงพอให้สถิติเชื่อถือได้ ดังนั้นตัวอย่างห้าตัวอักษรอาจคลุมเครือ ทั้งที่ย่อหน้าหนึ่งคงจะชัดเจน ข้อความที่ถูกเข้ารหัสหลายชั้น เช่น รหัส Caesar แล้วแปลงเป็น Base64 จะเปิดเผยเพียงชั้นนอกสุดก่อนในตอนแรก เมื่อถอดมันแล้วให้รันตัวระบุอีกครั้งกับผลลัพธ์ที่ได้
เครื่องมือนี้มุ่งเน้นที่รหัสคลาสสิกและการเข้ารหัสทั่วไป ตระกูลที่ปรากฏในปริศนา เกม และประวัติศาสตร์ มันไม่พยายามจดจำการเข้ารหัสสมัยใหม่อย่าง AES หรือ RSA ซึ่งผลลัพธ์ถูกออกแบบให้ดูสุ่มอย่างสมบูรณ์และไม่มีโครงสร้างที่ระบุได้เลย ให้ถือว่าผลลัพธ์เป็นคำใบ้จากผู้เชี่ยวชาญที่ชี้คุณไปยังตัวถอดรหัสที่ถูกต้อง ไม่ใช่คำตัดสินที่รับประกันได้
คำถามที่พบบ่อย
ตัวระบุรหัสลับคืออะไร?
มันรู้ได้อย่างไรว่าเป็นรหัสอะไร?
ดัชนีความบังเอิญคืออะไร?
มันระบุรหัสได้ทุกชนิดหรือไม่?
ทำไมมันถึงแนะนำรหัสมากกว่าหนึ่งชนิด?
มันบอกว่าข้อความของฉันเป็นข้อความธรรมดา หมายความว่าอย่างไร?
เครื่องมือนี้ถอดรหัสข้อความด้วยหรือไม่?
ข้อความของฉันถูกอัปโหลดไปยังเซิร์ฟเวอร์หรือไม่?
มันตรวจจับรหัสและการเข้ารหัสชนิดใดได้บ้าง?
ทำไมมันถึงระบุข้อความที่สั้นมากไม่ได้?
ฉันจะระบุรหัสด้วยมือได้อย่างไร?
อะไรคือความแตกต่างระหว่างรหัสกับการเข้ารหัส?
เครื่องมือที่เกี่ยวข้อง
ทำงานต่อด้วยเครื่องมือที่มีประโยชน์เหล่านี้