อ่าน 2 นาที
รหัสลับนิฮิลิสต์
ในประวัติศาสตร์ของการเข้ารหัสลับรหัสลับนิฮิลิสต์เป็น รหัส ลับแบบสมมาตร ที่ดำเนินการด้วยตนเอง ซึ่งเดิมทีกลุ่มนิฮิลิสต์ชาวรัสเซีย ใช้ ในทศวรรษ 1880...
รหัสลับนิฮิลิสต์
ในประวัติศาสตร์ของการเข้ารหัสลับรหัสลับนิฮิลิสต์เป็น รหัส ลับแบบสมมาตร ที่ดำเนินการด้วยตนเอง ซึ่งเดิมทีกลุ่มนิฮิลิสต์ชาวรัสเซีย ใช้ ในทศวรรษ 1880 เพื่อจัดระเบียบการก่อการร้ายต่อต้าน ระบอบ ซาร์คำนี้บางครั้งขยายความไปถึงอัลกอริทึมที่ได้รับการปรับปรุงหลายอย่างที่ใช้ในภายหลังสำหรับการสื่อสารของกองบัญชาการสูงสุดกับสายลับ ของ ตน
คำอธิบาย
ขั้นแรก ผู้เข้ารหัสจะสร้างตารางโพลีบิอุสโดยใช้อักษรผสม จากนั้นจะใช้ตารางนี้ในการแปลงทั้งข้อความต้นฉบับและคำหลักให้เป็นชุดตัวเลขสองหลัก แล้วจึงนำตัวเลขเหล่านี้มาบวกกันตามปกติเพื่อให้ได้ข้อความที่เข้ารหัสแล้ว โดยจะใช้ตัวเลขของคำหลักซ้ำตามความจำเป็น
ตัวอย่าง
ลองพิจารณาตารางโพลีบิอุสที่สร้างขึ้นโดยใช้คำหลัก ZEBRAS:
โดยมีข้อความต้นฉบับว่า "DYNAMITE WINTER PALACE" และคำใบ้ว่า RUSSIAN ซึ่งจะขยายความได้ดังนี้:
PT: 23 55 41 15 35 32 45 12 53 32 41 45 12 14 43 15 34 15 22 12 KEY: 14 51 21 21 32 15 41 14 51 21 21 32 15 41 14 51 21 21 32 15 CT: 37 106 62 36 67 47 86 26 104 53 62 77 27 55 57 66 55 36 54 27
การวิเคราะห์รหัส
เนื่องจากสัญลักษณ์แต่ละตัวในทั้งข้อความต้นฉบับและกุญแจถูกใช้เป็นจำนวนเต็มโดยไม่มีการแบ่งส่วนย่อยรหัสลับนิฮิลิสต์พื้นฐานจึงแทบจะเป็นเพียงเวอร์ชันตัวเลขของรหัสลับวิเจเนียร์โดยใช้ตัวเลขหลายหลักเป็นสัญลักษณ์ที่เข้ารหัสแทนตัวอักษร ด้วยเหตุนี้ จึงสามารถโจมตีได้ด้วยวิธีการที่คล้ายคลึงกันมาก จุดอ่อนเพิ่มเติมคือการใช้การบวกแบบปกติ (แทนที่จะเป็นการบวกแบบโมดูลาร์ ) ทำให้ข้อมูลรั่วไหลมากขึ้น ตัวอย่างเช่น (สมมติว่าเป็นตาราง 5 × 5) หากตัวเลขในข้อความที่เข้ารหัสมากกว่า 100 ก็เป็นที่แน่นอนว่าทั้งข้อความต้นฉบับและกุญแจมาจากแถวที่ห้าของตาราง
รูปแบบหรืออนุพันธ์ในภายหลัง
ในช่วงสงครามโลกครั้งที่สองเครือข่ายสายลับโซเวียตหลายแห่งสื่อสารกับศูนย์กลางมอสโกโดยใช้รหัสสองแบบ ซึ่งโดยพื้นฐานแล้วเป็นการปรับปรุงวิวัฒนาการของรหัส Nihilist พื้นฐาน เวอร์ชันที่แข็งแกร่งมากถูกใช้โดยMax Clausenในเครือข่ายของRichard Sorge ใน ญี่ปุ่นและโดยAlexander Footeในเครือข่ายสายลับ Lucyใน สวิ ตเซอร์แลนด์[ 1 ]เวอร์ชันที่อ่อนกว่าเล็กน้อยถูกใช้โดยเครือข่ายRote Kapelle [ 2 ]
ในทั้งสองเวอร์ชัน ข้อความต้นฉบับจะถูกแปลงเป็นตัวเลขก่อนโดยใช้ตารางหมากรุกแบบคร่อมแทนที่จะใช้ตารางโพลีเบียส วิธีนี้มีข้อดีคือช่วยบีบอัดข้อความต้นฉบับเล็กน้อย ทำให้ระยะห่างความเป็นเอกลักษณ์ เพิ่มขึ้น และยังช่วยให้ผู้ควบคุมวิทยุสามารถส่งสัญญาณได้เร็วขึ้นและปิดระบบได้เร็วขึ้น การปิดระบบเร็วขึ้นจะช่วยลดความเสี่ยงที่ผู้ควบคุมจะถูกตรวจพบโดยเครื่องหาทิศทางวิทยุ ของศัตรู การเพิ่มระยะห่างความเป็นเอกลักษณ์จะเพิ่มความแข็งแกร่งต่อการโจมตีทางสถิติ
ทั้ง Clausen และ Foote เขียนข้อความต้นฉบับเป็นภาษาอังกฤษ และจดจำตัวอักษรภาษาอังกฤษที่ใช้บ่อยที่สุด 8 ตัว (เพื่อเติมแถวบนสุดของตารางหมากรุก) โดยใช้คำช่วยจำว่า "a sin to err" (โดยตัดตัว "r" ตัวที่สองออก) ตารางหมากรุกแบบมาตรฐานของภาษาอังกฤษมี 28 ตัวอักษร และในรหัสลับนี้ ตัวอักษรเหล่านั้นกลายเป็น "จุด" และ "การเลื่อนตัวเลข" ตัวเลขถูกส่งโดยการเลื่อนตัวเลข ตามด้วยตัวเลขของข้อความต้นฉบับจริงเป็นคู่ๆ ซ้ำๆ ตามด้วยการเลื่อนอีกครั้ง จากนั้น เช่นเดียวกับรหัสลับ Nihilist พื้นฐาน จะมีการเพิ่มตัวบวกดิจิทัลเข้าไป ซึ่งเรียกว่า "การปิด" อย่างไรก็ตาม ตัวบวกที่ใช้จะแตกต่างกันในแต่ละครั้ง ดังนั้นในที่สุดจึงต้องมีการแทรก "กลุ่มตัวบ่งชี้" ที่ซ่อนไว้เพื่อระบุว่าใช้ตัวบวกใด
แตกต่างจาก Nihilist พื้นฐาน ตัวบวกถูกเพิ่มโดยการบวกแบบไม่ทด (การบวกแบบทีละหลัก โมดูล 10) ทำให้ได้ผลลัพธ์ที่สม่ำเสมอกว่าและไม่รั่วไหลข้อมูลมากนัก ที่สำคัญกว่านั้น ตัวบวกไม่ได้ถูกสร้างขึ้นจากคำหลัก แต่โดยการสุ่มเลือกบรรทัดจากปฏิทินสถิติอุตสาหกรรม หนังสือเหล่านั้นถูกมองว่าน่าเบื่อพอที่จะไม่ทำให้เกิดความสงสัยหากมีการค้นหาตัวสายลับ (โดยเฉพาะอย่างยิ่งเนื่องจากเรื่องราวปกปิดของสายลับคือการเป็นนักธุรกิจ) และมีความหนาแน่นของเอนโทรปีสูงมากจนทำให้ได้ตัวบวกที่ปลอดภัยมาก แน่นอนว่าตัวเลขจากหนังสือเหล่านั้นไม่ได้กระจายอย่างสม่ำเสมอ (มี "0" และ "1" มากเกินไป (ดูกฎของเบนฟอร์ด ) และตัวเลขเรียงลำดับน่าจะคล้ายกันบ้าง) แต่ถึงกระนั้นก็มีความหนาแน่นของเอนโทรปีสูงกว่ารหัสผ่านและสิ่งอื่น ๆ ที่คล้ายกันมาก อย่างไรก็ตาม ในทางปฏิบัติดูเหมือนว่าจะไม่เคยมีการถอดรหัสลับได้สำเร็จเลย
เวอร์ชันที่อ่อนกว่าสร้างสารเติมแต่งจากข้อความของนวนิยายหรือหนังสือที่คล้ายคลึงกัน (อย่างน้อย สมาชิก Rote Kapelle หนึ่งคน ใช้The Good Soldier Schweik ) ข้อความนี้ถูกแปลงเป็นสารเติมแต่งดิจิทัลโดยใช้เทคนิคที่คล้ายกับกระดานหมากรุกแบบคร่อม
พัฒนาการขั้นสูงสุดในแนวทางนี้คือรหัส VIC ซึ่ง เรโน ฮายฮาเนนใช้ในทศวรรษ 1950 ในขณะนั้น สายลับโซเวียตส่วนใหญ่หันมาใช้รหัสแบบใช้ครั้งเดียว (one-time pads ) แทนแล้ว
ดูเพิ่มเติม
ลิงก์ภายนอก
- การนำรหัสลับแบบนิฮิลิสต์ต่างๆ มาใช้ในภาษา JavaScript
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ รหัสลับนิฮิลิสต์
ในประวัติศาสตร์ของการเข้ารหัสลับรหัสลับนิฮิลิสต์เป็น รหัส ลับแบบสมมาตร ที่ดำเนินการด้วยตนเอง ซึ่งเดิมทีกลุ่มนิฮิลิสต์ชาวรัสเซีย ใช้ ในทศวรรษ 1880...
คำอธิบาย
ขั้นแรก ผู้เข้ารหัสจะสร้าง ตารางโพลีบิอุส โดยใช้อักษรผสม จากนั้นจะใช้ตารางนี้ในการแปลงทั้งข้อความ ต้นฉบับ และคำหลักให้เป็นชุดตัวเลขสองหลัก แล้วจึงนำตัวเลขเหล่านี้มาบวกกันตามปกติเพื่อให้ได้ข้อความที่เข้ารหัสแล้ว โดยจะใช้ตัวเลขของคำหลักซ้ำตามความจำเป็น
ตัวอย่าง
ลองพิจารณาตารางโพลีบิอุสที่สร้างขึ้นโดยใช้คำหลัก ZEBRAS:
การวิเคราะห์รหัส
เนื่องจากสัญลักษณ์แต่ละตัวในทั้งข้อความต้นฉบับและกุญแจถูกใช้เป็นจำนวนเต็มโดยไม่มี การแบ่งส่วนย่อย รหัสลับนิฮิลิสต์พื้นฐานจึงแทบจะเป็นเพียงเวอร์ชันตัวเลขของ รหัสลับวิเจเนียร์ โดยใช้ตัวเลขหลายหลักเป็นสัญลักษณ์ที่เข้ารหัสแทนตัวอักษร ด้วยเหตุนี้...