รหัสนิฮิลิสต์
เข้ารหัสและถอดรหัสนิฮิลิสต์ รหัสตัวเลขของนักปฏิวัติชาวรัสเซียในศตวรรษที่ 19 ตัวอักษรแต่ละตัวถูกเปลี่ยนเป็นพิกัดสองหลักบนตาราง Polybius ก่อน จากนั้นคำสำคัญที่วนซ้ำ — ซึ่งถูกเปลี่ยนเป็นตัวเลขด้วยวิธีเดียวกัน — ถูกบวกเข้าไปด้านล่าง ทำให้รหัสกลายเป็นสายของตัวเลข ผสมตาราง กำหนดคำสำคัญแบบบวก ติดตามการแยกแยะการบวกพิกัดแบบสด แล้วคัดลอก ดาวน์โหลด หรือแชร์ผลลัพธ์ ทุกอย่างทำงานในเบราว์เซอร์ของคุณ
กุญแจตาราง
กุญแจแบบบวก
กุญแจตารางผสมตาราง Polybius ที่ให้พิกัดแก่ตัวอักษรแต่ละตัว ส่วนกุญแจแบบบวกถูกเปลี่ยนเป็นตัวเลขบนตารางเดียวกันนั้นและถูกบวกใต้ข้อความ โดยวนซ้ำตามที่จำเป็น ทั้งสองฝ่ายต้องใช้ตารางและกุญแจชุดเดียวกัน เว้นกุญแจแบบบวกให้ว่างไว้เพื่อดูพิกัดล้วน ๆ
ป้อนข้อความด้านบนเพื่อดูผลลัพธ์ที่นี่
ตาราง Polybius
1
2
3
4
5
1
2
3
4
5
วิธีใช้ รหัสนิฮิลิสต์
- 1
เลือกเข้ารหัสหรือถอดรหัสและตาราง
เลือกเข้ารหัสเพื่อเปลี่ยนข้อความธรรมดาเป็นตัวเลขรหัสนิฮิลิสต์ หรือถอดรหัสเพื่อเปลี่ยนตัวเลขกลับ เลือกตาราง 5×5 สำหรับตัวอักษร หรือตาราง 6×6 เพื่อพาตัวเลขไปด้วย
- 2
กำหนดคำสำคัญสองคำ
ป้อนคำสำคัญตารางเพื่อผสมตาราง Polybius ได้ตามต้องการ และคำสำคัญแบบบวกที่ถูกบวกทับข้อความ ทั้งสองฝ่ายต้องใช้ตารางและกุญแจชุดเดียวกัน เว้นกุญแจแบบบวกให้ว่างไว้เพื่อดูพิกัดล้วน ๆ
- 3
พิมพ์หรือวางข้อความของคุณ
ป้อนข้อความของคุณแล้วมันจะถูกแปลงขณะที่คุณพิมพ์ แผงขั้นตอนแสดงตัวอักษรแต่ละตัวเหนือพิกัดของมัน ตัวเลขกุญแจที่วนซ้ำซึ่งบวกอยู่ด้านล่าง และตัวเลขรหัสที่ได้
- 4
อ่านตาราง
เปิดตาราง Polybius เพื่อดูตัวอักษรทุกตัวพร้อมเลขแถวและเลขคอลัมน์ของมัน และช่องของคำสำคัญใด ๆ ที่ถูกเน้นไว้
- 5
คัดลอก ดาวน์โหลด หรือแชร์
คัดลอกผลลัพธ์ ดาวน์โหลดเป็นไฟล์ข้อความ หรือแชร์ลิงก์ที่จะเปิดเครื่องมือขึ้นมาใหม่พร้อมข้อความ ตาราง และคำสำคัญที่แน่นอนของคุณพร้อมใช้งานทันที
ทำความเข้าใจรหัสนิฮิลิสต์
รหัสนิฮิลิสต์คืออะไร
รหัสนิฮิลิสต์เป็นรหัสที่ทำด้วยมือจากช่วงคริสต์ทศวรรษ 1880 ตั้งชื่อตามขบวนการนิฮิลิสต์ของรัสเซีย — นักปฏิวัติที่ต่อต้านระบอบซาร์และจำเป็นต้องมีวิธีส่งข้อความลับ มันสร้างขึ้นจากแนวคิดง่าย ๆ สองอย่างซ้อนกัน: ตาราง Polybius ซึ่งเปลี่ยนตัวอักษรทุกตัวให้เป็นคู่ของตัวเลข และกุญแจตัวเลขที่วนซ้ำซึ่งถูกบวกทับเข้าไป ทั้งสองแนวคิดไม่ใช่ของใหม่เมื่ออยู่ลำพัง แต่การรวมการแทนที่ด้วยพิกัดเข้ากับการบวกแบบเป็นคาบทำให้รหัสนิฮิลิสต์แข็งแกร่งกว่าส่วนใดส่วนหนึ่งเพียงลำพังอย่างเห็นได้ชัด และมันได้กลายเป็นต้นตระกูลของรหัสตัวเลขรัสเซียและโซเวียตทั้งวงศ์ที่ตามมา
เพราะผลลัพธ์เป็นสายของตัวเลขแทนที่จะเป็นตัวอักษร รหัสนิฮิลิสต์จึงดูแตกต่างจากรหัสตัวอักษรแบบคลาสสิกอย่าง Caesar หรือ Vigenère มากทีเดียว แต่ภายใต้พื้นผิว มันเกี่ยวข้องกันอย่างใกล้ชิด: ขั้นตอน Polybius คือการแทนที่ด้วยพิกัดเดียวกันกับที่รหัส Bifid และ ADFGX ใช้ และขั้นตอนการบวกกุญแจคือแนวคิดกุญแจวนซ้ำของ Vigenère ที่ทำด้วยเลขคณิตแทนตัวอักษร การศึกษามันเป็นวิธีที่ชัดเจนในการเห็นว่านักเข้ารหัสสร้างรหัสที่ใหญ่ขึ้นด้วยการซ้อนชิ้นส่วนเล็ก ๆ ที่เข้าใจกันดีอยู่แล้วได้อย่างไร
รหัสนิฮิลิสต์ทำงานอย่างไร
เริ่มด้วยตาราง Polybius: ตาราง 5×5 ที่บรรจุตัวอักษร (โดย I และ J ใช้ช่องร่วมกัน) ด้วยแถวและคอลัมน์ที่กำกับเลข 1 ถึง 5 ตัวอักษรทุกตัวจึงมีพิกัดสองหลัก — เลขแถวตามด้วยเลขคอลัมน์ ข้อความถูกเปลี่ยนเป็นรายการของตัวเลขพิกัดเหล่านี้ ถึงตรงนี้มันคือรหัส Polybius เป๊ะ ๆ
ทีนี้นำคำสำคัญมาแล้วเปลี่ยนตัวอักษรแต่ละตัวของมันเป็นพิกัดบนตารางเดียวกัน ได้รายการสั้น ๆ ของตัวเลขกุญแจ เขียนตัวเลขข้อความไว้เป็นแถวแล้ววนตัวเลขกุญแจซ้ำไว้ใต้มัน กลับไปเริ่มต้นคำสำคัญใหม่เมื่อใดก็ตามที่ใช้หมด สุดท้าย บวกตัวเลขข้อความแต่ละตัวเข้ากับตัวเลขกุญแจที่อยู่ใต้มันเป็นผลรวมฐานสิบธรรมดา ตัวเลขที่ได้ — โดยปกติสองหรือสามหลักต่อตัว — คือข้อความรหัส เขียนออกมาคั่นด้วยช่องว่าง การถอดรหัสเพียงลบตัวเลขกุญแจที่วนซ้ำชุดเดิมออกแล้วอ่านพิกัดที่กู้คืนมาออกจากตาราง
ตารางและคำสำคัญสองคำ
รหัสนิฮิลิสต์ใช้ความลับสองอย่างที่อิสระต่อกัน อย่างแรกคือตัวตารางเอง เครื่องมือนี้สร้างตารางจากคำสำคัญตารางที่ไม่บังคับ เช่นเดียวกับการสร้างตาราง Polybius หรือ Playfair ที่ใส่กุญแจ: ตัวอักษรที่ไม่ซ้ำของคำสำคัญถูกเขียนเข้าไปก่อน ตามลำดับและไม่ซ้ำ แล้วตัวอักษรที่เหลือในชุดจึงตามมา ตารางสดด้านล่างเน้นช่องของคำสำคัญเพื่อให้คุณดูการผสมได้ การเว้นคำสำคัญตารางให้ว่างไว้จะใช้ตารางตามลำดับตัวอักษรล้วน ๆ
ความลับอย่างที่สองคือคำสำคัญแบบบวก ตัวอักษรของมันถูกค้นหาบนตารางเดียวกันนั้นเพื่อกลายเป็นตัวเลขกุญแจที่ถูกบวกเข้ากับข้อความ กุญแจสองตัวทำหน้าที่ต่างกัน — กุญแจตารางตัดสินว่าตัวอักษรแต่ละตัวมีพิกัดอะไร กุญแจแบบบวกตัดสินว่าอะไรถูกบวกทับเข้าไป — และทั้งผู้ส่งและผู้รับต้องใช้ทั้งสองร่วมกัน ในเครื่องมือนี้คุณเว้นกุญแจแบบบวกให้ว่างไว้เพื่อดูพิกัดล้วน ๆ ปรากฏขึ้นโดยไม่มีอะไรบวกเข้ามาได้ ซึ่งเป็นวิธีที่ช่วยให้เห็นขั้นตอน Polybius เพียงลำพังก่อนที่การบวกจะถูกซ้อนเข้ามา
การเลือกตาราง 5×5 หรือ 6×6
รหัสนิฮิลิสต์แบบคลาสสิกใช้ตาราง 5×5 ที่มี 25 ช่อง เพราะชุดตัวอักษรละตินมี 26 ตัว I และ J จึงใช้ช่องร่วมกัน ดังนั้น J ที่ถอดได้จะอ่านกลับเป็น I — การประนีประนอมมาตรฐานของ Polybius พิกัดวิ่งจาก 11 ถึง 55 และตัวเลขรหัส (พิกัดบวกกุญแจ) ตกลงไปอยู่ที่ไหนสักแห่งระหว่าง 22 ถึง 110
เครื่องมือนี้ยังมีตาราง 6×6 ที่มี 36 ช่อง ซึ่งบรรจุตัวอักษรทั้ง 26 ตัวแยกกันบวกกับตัวเลขสิบตัว 0 ถึง 9 นั่นทำให้รหัสสามารถพาตัวเลขไปได้ — มีประโยชน์สำหรับวันที่ การอ้างอิงแผนที่ และจำนวนเงิน — โดยไม่ต้องสะกดมันออกมา แลกกับพิกัดที่ใหญ่ขึ้นเล็กน้อย (11 ถึง 66) และตัวเลขรหัส (สูงสุดถึง 132) เลือกตารางด้วยสวิตช์ด้านบน ตารางอ้างอิงสดจะกำกับเลขตัวเองใหม่ให้เข้ากัน และทั้งสองฝ่ายต้องเห็นพ้องกันว่ากำลังใช้ตารางใด
ตัวอย่างนิฮิลิสต์ประกอบ
ลองนำคำ ATTACK กับคำสำคัญตาราง ZEBRAS และคำสำคัญแบบบวก RUSSIAN เมื่อใส่ ZEBRAS เข้าไปก่อน ตารางอ่านได้ว่า Z E B R A บนแถวบนสุด แล้ว S C D F G แล้ว H I K L M แล้ว N O P Q T แล้ว U V W X Y เมื่ออ่านพิกัดออกจากมัน ATTACK กลายเป็น 15 45 45 15 22 33 และคำสำคัญ RUSSIAN กลายเป็น 14 51 21 21 32 15 41
ทีนี้เขียนตัวเลขกุญแจไว้ใต้ตัวเลขข้อความ โดยวนซ้ำตามที่จำเป็น แล้วบวก: 15+14 = 29, 45+51 = 96, 45+21 = 66, 15+21 = 36, 22+32 = 54, 33+15 = 48 ดังนั้น ATTACK เข้ารหัสเป็น 29 96 66 36 54 48 ในการถอดรหัส ให้ลบตัวเลขกุญแจชุดเดิมออก — 29−14 = 15, 96−51 = 45 และต่อไปเรื่อย ๆ — แล้วอ่าน 15 45 45 15 22 33 กลับออกจากตารางเป็น ATTACK การเปลี่ยนคำสำคัญคำใดคำหนึ่งจะเปลี่ยนตัวเลขรหัสทุกตัวในขณะที่ยังถอดรหัสได้ถูกต้อง
การถอดรหัสข้อความนิฮิลิสต์
การถอดรหัสทำขั้นตอนย้อนกลับ แยกข้อความรหัสออกเป็นตัวเลขของมัน เขียนตัวเลขของคำสำคัญแบบบวกไว้ใต้มันในรอบวนซ้ำเดียวกัน แล้วลบ ผลลัพธ์แต่ละค่าคือพิกัดสองหลัก แยกมันเป็นเลขแถวและเลขคอลัมน์แล้วค้นหาช่องบนตารางเพื่อกู้ตัวอักษรคืนมา เครื่องมือนี้ทำทั้งหมดนั้นให้คุณเมื่อคุณเลือกถอดรหัสและป้อนตาราง คำสำคัญตาราง และคำสำคัญแบบบวกชุดเดียวกันกับที่ใช้เข้ารหัส
หากตัวเลขเพี้ยน หรือใช้กุญแจหรือตารางผิด การลบอาจตกออกไปนอกตาราง — ตัวอย่างเช่นเลขแถวหรือเลขคอลัมน์เป็น 0 หรือใหญ่กว่าตาราง เมื่อเป็นเช่นนั้นเครื่องมือจะแสดง "?" สำหรับตำแหน่งนั้นแทนที่จะเดา เพราะในตาราง 5×5 มีเพียงตัวอักษรอยู่ (และตัวอักษรกับตัวเลขในตาราง 6×6) ช่องว่างและเครื่องหมายวรรคตอนใด ๆ ในข้อความต้นฉบับจึงถูกตัดทิ้งไประหว่างการเข้ารหัสและจะไม่ปรากฏกลับมา
ประวัติและความปลอดภัย
รหัสนิฮิลิสต์ถูกใช้โดยนักปฏิวัติชาวรัสเซียในคริสต์ทศวรรษ 1870 และ 1880 และให้ชื่อแก่แนวทางทั้งหมดของการบวกกุญแจเข้ากับพิกัด Polybius ความสำคัญทางประวัติศาสตร์ที่แท้จริงของมันคือการเป็นจุดเริ่มต้น: นักเข้ารหัสปรับปรุงมันทีละขั้นไปเป็นระบบที่แข็งแกร่งกว่า รวมถึงรหัส VIC ของโซเวียตที่สายลับ Reino Häyhänen ใช้ในคริสต์ทศวรรษ 1950 ซึ่งคงแก่นของ Polybius-และ-การบวกไว้แต่ห่อหุ้มมันด้วยการสับเปลี่ยนเพิ่มเติมและตารางกุญแจที่ซับซ้อน รหัส ADFGVX ของสงครามโลกครั้งที่หนึ่งใช้แนวคิดการแทนที่ด้วยพิกัดเดียวกัน
ตามมาตรฐานสมัยใหม่ รหัสนิฮิลิสต์พื้นฐานอ่อนแอ กุญแจวนซ้ำด้วยคาบที่สั้น ดังนั้นเมื่อผู้โจมตีเดาความยาวกุญแจได้แล้ว รหัสก็ล่มลงด้วยการวิเคราะห์แบบเดียวกันกับที่แตกรหัส Vigenère และการแทนที่แบบ Polybius เพิ่มความสับสนแต่แทบไม่เพิ่มความแข็งแกร่งจริง การใช้กุญแจซ้ำข้ามหลายข้อความยิ่งทำให้มันอ่อนแอลงไปอีก คุณค่าของมันในวันนี้คือเชิงการศึกษา — มันเป็นการสาธิตที่ชัดเจนว่าการซ้อนตารางพิกัดเข้ากับกุญแจที่วนซ้ำสร้างไปสู่การเข้ารหัสที่จริงจังได้อย่างไร สำหรับการปกป้องข้อมูลจริง จงใช้อัลกอริทึมสมัยใหม่ที่ผ่านการตรวจทานโดยผู้เชี่ยวชาญเช่น AES เสมอ และเก็บรหัสนิฮิลิสต์ไว้สำหรับประวัติศาสตร์ ปริศนา และการแข่งขันแคปเจอร์เดอะแฟล็ก
คำถามที่พบบ่อย
รหัสนิฮิลิสต์คืออะไร
รหัสนิฮิลิสต์ทำงานอย่างไร
คำสำคัญสองคำมีไว้ทำอะไร
ขอตัวอย่างนิฮิลิสต์ประกอบได้ไหม
คุณถอดรหัสนิฮิลิสต์อย่างไร
ทำไมข้อความรหัสจึงทำจากตัวเลข
อะไรคือความแตกต่างระหว่างตาราง 5×5 และ 6×6
ตารางนิฮิลิสต์ต้องใช้คำสำคัญไหม
เกิดอะไรขึ้นกับช่องว่าง เครื่องหมายวรรคตอน และ J
รหัสนิฮิลิสต์เกี่ยวข้องกับรหัสอื่นอย่างไร
รหัสนิฮิลิสต์ปลอดภัยแค่ไหน
ข้อความของฉันถูกอัปโหลดไปยังเซิร์ฟเวอร์หรือไม่
เครื่องมือที่เกี่ยวข้อง
ทำงานต่อด้วยเครื่องมือที่มีประโยชน์เหล่านี้