เครื่อง Enigma
จำลอง เข้ารหัส และถอดรหัสด้วยเครื่อง Enigma cipher ของเยอรมันแห่งสงครามโลกครั้งที่สอง เลือกรีเฟลกเตอร์ โรเตอร์สามตัว การตั้งค่าวงแหวนและตำแหน่งเริ่มต้นของมัน และปลั๊กบอร์ด จากนั้นพิมพ์ข้อความของคุณและชมโรเตอร์หมุน Enigma เป็นแบบสองทาง: การตั้งค่าเดียวกันทั้งเข้ารหัสและถอดรหัส จึงไม่มีโหมดถอดรหัสแยกต่างหาก ทุกอย่างทำงานในเบราว์เซอร์ของคุณ
Enigma เป็นแบบสองทาง: การตั้งค่าเครื่องเดียวกันทั้งเข้ารหัสและถอดรหัส ในการอ่านข้อความ ให้ตั้งโรเตอร์ วงแหวน ตำแหน่ง และปลั๊กบอร์ดให้ตรงกับการตั้งค่าที่ใช้เข้ารหัสมันทุกประการ วางข้อความเข้ารหัสลงไป แล้วผลลัพธ์จะเป็นข้อความต้นฉบับ ไม่มีปุ่มถอดรหัสแยกต่างหาก
รีเฟลกเตอร์
โรเตอร์
ซ้าย (ช้า)
กลาง
ขวา (เร็ว)
การตั้งค่าวงแหวน
ตำแหน่งเริ่มต้น
ปลั๊กบอร์ด
ปลั๊กบอร์ดสลับตัวอักษรเป็นคู่ก่อนและหลังโรเตอร์ ป้อนคู่ต่าง ๆ เช่น AB CD EF โดยแต่ละตัวอักษรใช้ได้เพียงครั้งเดียว เว้นว่างไว้หากไม่ต้องการสลับ ช่องว่างและอักขระอื่น ๆ จะถูกละเว้น
ป้อนข้อความด้านบนเพื่อดูผลลัพธ์ Enigma ที่นี่
วิธีใช้ เครื่องอีนิกมา
- 1
เลือกรีเฟลกเตอร์และโรเตอร์
เลือกรีเฟลกเตอร์ B หรือ C และเลือกโรเตอร์สามตัวจาก I ถึง V สำหรับช่องซ้าย กลาง และขวา การตั้งค่าอ้างอิงมาตรฐานคือรีเฟลกเตอร์ B กับโรเตอร์ I, II และ III
- 2
ตั้งค่าวงแหวน
ป้อนการตั้งค่าวงแหวนทั้งสามเป็นตัวอักษร เช่น AAA การตั้งค่าวงแหวนหรือ Ringstellung หมุนการเดินสายของแต่ละโรเตอร์เทียบกับวงแหวนที่มีตัวอักษรของมันและเปลี่ยนผลลัพธ์
- 3
ตั้งตำแหน่งเริ่มต้น
ป้อนตำแหน่งเริ่มต้นทั้งสามเป็นตัวอักษร เช่น AAA นี่คือจุดที่โรเตอร์ถูกหมุนไปก่อนที่คุณจะเริ่มพิมพ์ ซึ่งแสดงในหน้าต่างโรเตอร์ ในการถอดรหัส ให้ใช้ตำแหน่งเริ่มต้นเดียวกับที่ใช้เข้ารหัส
- 4
เพิ่มคู่ปลั๊กบอร์ด
ป้อนคู่ปลั๊กบอร์ดได้ตามต้องการ เช่น AB CD EF แต่ละคู่สลับตัวอักษรสองตัวก่อนและหลังโรเตอร์ และแต่ละตัวอักษรใช้ได้เพียงครั้งเดียว เว้นช่องว่างไว้หากไม่ต้องการปลั๊กบอร์ด
- 5
พิมพ์และอ่านผลลัพธ์
พิมพ์หรือวางข้อความของคุณ แล้วผลลัพธ์จะปรากฏทันที โดยหน้าต่างโรเตอร์หมุนในการทำงานแบบสด เนื่องจาก Enigma เป็นแบบสองทาง การตั้งค่าเดียวกันทั้งเข้ารหัสและถอดรหัส คุณจึงสามารถคัดลอก ดาวน์โหลด หรือแชร์ลิงก์ที่เปิดเครื่องมือขึ้นใหม่พร้อมการตั้งค่าเครื่องและข้อความที่ถูกต้องของคุณได้
ทำความเข้าใจเครื่อง Enigma
เครื่อง Enigma คืออะไร?
เครื่อง Enigma เป็นอุปกรณ์เข้ารหัสแบบโรเตอร์เชิงกลไฟฟ้า คิดค้นโดยวิศวกรชาวเยอรมัน Arthur Scherbius ราวปี 1918 มันมีลักษณะเหมือนเครื่องพิมพ์ดีดในกล่องไม้ ประกอบด้วยแป้นพิมพ์ แผงหลอดไฟ 26 ตัวอักษรเรืองแสงอยู่ด้านบน ชุดล้อหมุนที่เรียกว่าโรเตอร์ และปลั๊กบอร์ดของสายเคเบิลที่ด้านหน้า เมื่อกดตัวอักษรหนึ่ง กระแสไฟฟ้าจะไหลผ่านปลั๊กบอร์ด ข้ามโรเตอร์และรีเฟลกเตอร์ แล้วย้อนกลับมาจุดตัวอักษรอื่นบนแผงหลอดไฟ ตัวอักษรที่สว่างนั้นคือข้อความเข้ารหัส การกดแป้นแต่ละครั้งยังหมุนโรเตอร์ด้วย ดังนั้นตัวอักษรต้นฉบับเดียวกันจึงถูกเข้ารหัสต่างกันทุกครั้งที่ปรากฏ ซึ่งทำให้ Enigma เป็นรหัสแบบหลายตัวอักษรแทนที่จะเป็นการแทนที่แบบง่าย
เมื่อกองทัพเยอรมันนำมาใช้และปรับปรุงอย่างต่อเนื่อง Enigma จึงกลายเป็นกระดูกสันหลังของการสื่อสารลับของนาซีเยอรมนีตลอดสงครามโลกครั้งที่สอง ชาวเยอรมันเชื่อว่ามันไม่อาจถูกถอดได้เพราะจำนวนการตั้งค่าที่เป็นไปได้อันมหาศาล พวกเขาคิดผิด นักคณิตศาสตร์ชาวโปแลนด์นำโดย Marian Rejewski ได้สร้างเครื่องและการเดินสายของมันขึ้นใหม่ในช่วงต้นทศวรรษ 1930 และงานของพวกเขาถูกสานต่อที่ Bletchley Park ในอังกฤษโดย Alan Turing, Gordon Welchman และอีกหลายคน ซึ่งการถอดรหัสของพวกเขาได้รับการยกย่องอย่างกว้างขวางว่าช่วยร่นระยะเวลาสงคราม เครื่องมือนี้จำลองเครื่อง Enigma I สามโรเตอร์มาตรฐานที่กองทัพบกและกองทัพอากาศเยอรมันใช้
เครื่อง Enigma ทำงานอย่างไร
การตั้งค่า Enigma มีส่วนทำงานสี่ส่วน ปลั๊กบอร์ดหรือ Steckerbrett สลับคู่ตัวอักษรด้วยสายเคเบิลก่อนและหลังชุดโรเตอร์ โรเตอร์หรือ Walzen เป็นล้อที่เดินสายให้หน้าสัมผัสขาเข้าทั้ง 26 จุดเชื่อมต่อกับหน้าสัมผัสขาออกที่สับสน เครื่องนี้ใช้ครั้งละสามตัว ซึ่งเลือกและจัดลำดับจากชุดห้าตัว รีเฟลกเตอร์หรือ Umkehrwalze อยู่ที่ปลายสุดและส่งกระแสย้อนกลับผ่านโรเตอร์ด้วยการจับคู่ที่ตายตัว จากนั้นแผงหลอดไฟจะแสดงผลลัพธ์ ดังนั้นสัญญาณจึงเดินทางครบรอบ คือ ปลั๊กบอร์ด โรเตอร์ขวา โรเตอร์กลาง โรเตอร์ซ้าย รีเฟลกเตอร์ โรเตอร์ซ้าย โรเตอร์กลาง โรเตอร์ขวา ปลั๊กบอร์ด และสุดท้ายคือหลอดไฟ
การตั้งค่าสามอย่างทำให้เครื่องเป็นเฉพาะตัวสำหรับวันหรือข้อความหนึ่ง ๆ การตั้งค่าวงแหวนหรือ Ringstellung หมุนการเดินสายของแต่ละโรเตอร์เทียบกับวงแหวนที่มีตัวอักษรของมัน ตำแหน่งเริ่มต้นหรือ Grundstellung คือจุดที่โรเตอร์แต่ละตัวถูกหมุนไปก่อนที่คุณจะเริ่มพิมพ์ ซึ่งแสดงผ่านหน้าต่างเล็ก ๆ คู่ปลั๊กบอร์ดเพิ่มชั้นการสลับชั้นสุดท้าย ก่อนการกดแป้นทุกครั้ง โรเตอร์จะเลื่อนเหมือนมาตรวัดระยะทาง ดังนั้นการเดินสายที่กระแสไหลผ่านจึงไม่เคยเหมือนกันสองครั้งติดต่อกัน การทำงานแบบสดด้านล่างเครื่องมือแสดงหน้าต่างโรเตอร์ทั้งสามหมุนสำหรับแต่ละตัวอักษรในข้อความของคุณ
ตัวอย่างที่แก้แล้ว
ตั้งเครื่องไปที่การกำหนดค่าอ้างอิงที่ถูกอ้างถึงบ่อยที่สุด คือ รีเฟลกเตอร์ B โรเตอร์ I, II และ III จากซ้ายไปขวา การตั้งค่าวงแหวนทั้งสามที่ A ตำแหน่งเริ่มต้นทั้งสามที่ A และปลั๊กบอร์ดที่ว่างเปล่า ตอนนี้พิมพ์ A ห้าตัว การกดแป้นครั้งแรกจะหมุนโรเตอร์ขวา และกระแสจะเดินทางครบรอบเพื่อจุดหลอดไฟ B เมื่อพิมพ์ A ที่เหลือ โดยโรเตอร์หมุนทุกครั้ง หลอดไฟ D แล้ว Z แล้ว G แล้ว O ก็จะสว่างขึ้น ดังนั้นข้อความต้นฉบับ AAAAA จึงเข้ารหัสเป็น BDZGO ซึ่งเป็นการทดสอบคลาสสิกที่ยืนยันว่าโรเตอร์เดินสายถูกต้อง
เนื่องจาก Enigma เป็นแบบสองทาง การถอดรหัสจึงใช้การตั้งค่าเดียวกันทุกประการ คืนโรเตอร์ทั้งสามกลับสู่ตำแหน่งเริ่มต้น A เว้นทุกอย่างไว้ไม่เปลี่ยนแปลง และพิมพ์ข้อความเข้ารหัส BDZGO ผลลัพธ์ที่ออกมาคือ AAAAA ซึ่งเป็นข้อความต้นฉบับ การตั้งค่าเดียวกันกู้คืนข้อความได้ นี่คือเหตุผลที่เครื่องมือนี้ไม่มีโหมดถอดรหัสแยกต่างหาก คุณเพียงแค่กู้คืนการตั้งค่าที่ใช้เข้ารหัสและพิมพ์ข้อความเข้ารหัสกลับเข้าไป
รีเฟลกเตอร์และความเป็นสองทาง
รีเฟลกเตอร์คือสิ่งที่ทำให้ Enigma เป็นแบบสองทาง เนื่องจากมันจับคู่สายทั้ง 26 เส้นแบบสมมาตร เส้นทางที่กระแสเดินจากแป้นไปยังหลอดไฟจึงย้อนกลับได้พอดี ถ้าการกด A ที่การกำหนดค่าโรเตอร์หนึ่งจุดหลอดไฟ G แล้วที่การกำหนดค่าเดียวกันนั้นการกด G ก็จะจุดหลอดไฟ A เนื่องจากการหมุนของโรเตอร์ขึ้นอยู่กับการตั้งค่าและตำแหน่งของตัวอักษรในข้อความเท่านั้น ไม่เคยขึ้นกับตัวอักษรเอง การถอดรหัสจึงเหมือนกับการเข้ารหัสทุกประการเมื่อรีเซ็ตเครื่องไปที่จุดเริ่มต้นเดียวกัน หนึ่งขั้นตอน หนึ่งการตั้งค่า ได้ทั้งสองทิศทาง
รีเฟลกเตอร์ยังสร้างจุดอ่อนที่โด่งดังที่สุดของ Enigma ด้วย คือ ตัวอักษรไม่สามารถเข้ารหัสเป็นตัวมันเองได้เลย เนื่องจากกระแสจะกลับมาบนสายที่ต่างจากสายที่มันออกไปเสมอ A จึงกลายเป็นตัวอักษรใดก็ได้ยกเว้น A ฟังดูไม่มีพิษภัย แต่มันมอบเครื่องมืออันทรงพลังให้นักถอดรหัส ถ้าพวกเขาเดาว่าช่วงข้อความต้นฉบับช่วงหนึ่งหรือ crib อยู่ที่ใดที่หนึ่งในข้อความ พวกเขาสามารถเลื่อนมันไปตามข้อความเข้ารหัสและปฏิเสธทุกตำแหน่งที่ตัวอักษรตรงกับตัวมันเองได้ทันที ซึ่งย่นการค้นหาลงอย่างมาก การออกแบบที่ตั้งใจให้สะดวกกลับยื่นจุดเริ่มต้นให้ฝ่ายสัมพันธมิตร
การหมุนของโรเตอร์และการก้าวคู่
โรเตอร์หมุนเหมือนล้อของมาตรวัดระยะทาง แต่มีลูกเล่น โรเตอร์ขวาเลื่อนทุกครั้งที่กดแป้น โรเตอร์แต่ละตัวมีรอยบากเปลี่ยนรอบ และเมื่อโรเตอร์เลื่อนผ่านรอยบากนั้น มันจะดันโรเตอร์ทางซ้ายของมันไปข้างหน้าหนึ่งตำแหน่ง ดังนั้นหลังจากโรเตอร์ขวาหมุนครบรอบและถึงรอยบากของมัน โรเตอร์กลางจะเลื่อน หลังจากโรเตอร์กลางถึงรอยบากของมันในที่สุด โรเตอร์ซ้ายจะเลื่อน นี่คือเหตุผลที่เครื่องช้าในการวนซ้ำ ด้วยโรเตอร์สามตัว รอบเต็มยาวหลายพันตัวอักษร
มีความผิดปกติที่รู้จักกันดีอย่างหนึ่งเรียกว่าการก้าวคู่ เนื่องจากวิธีที่คันโยกการเลื่อนขบกัน เมื่อโรเตอร์กลางอยู่ที่ตำแหน่งเปลี่ยนรอบของมันเอง มันจะเลื่อนในการกดแป้นครั้งถัดไปพร้อมกับโรเตอร์ซ้าย และมันยังถูกเลื่อนในการกดครั้งก่อนหน้าโดยโรเตอร์ขวาด้วย ดังนั้นมันจึงดูเหมือนขยับสองครั้งติดต่อกันอย่างรวดเร็ว เครื่องจำลอง Enigma ที่ซื่อตรงทุกตัวต้องสร้างความผิดปกตินี้ขึ้นมาใหม่ และเครื่องมือนี้ทำได้ คุณสามารถชมมันเกิดขึ้นในการทำงานแบบสดเมื่อโรเตอร์กลางอยู่ใกล้รอยบากของมัน การทำให้การหมุนถูกต้องเป๊ะเป็นสิ่งจำเป็น เพราะแม้แต่ก้าวที่ผิดเพียงก้าวเดียวก็จะทำให้ทุกตัวอักษรที่ตามมาผิดเพี้ยน
Enigma code ถูกถอดได้อย่างไร
ความก้าวหน้าครั้งแรกมาจากโปแลนด์ ในปี 1932 นักคณิตศาสตร์ Marian Rejewski ซึ่งทำงานร่วมกับ Jerzy Rozycki และ Henryk Zygalski ที่ Polish Cipher Bureau ได้ใช้ทฤษฎีการเรียงสับเปลี่ยนและรายการการตั้งค่าที่ขโมยมาเพื่อสร้างการเดินสายภายในของ Enigma ทางทหารขึ้นใหม่ ซึ่งเป็นความสำเร็จที่เคยถูกคิดว่าเป็นไปไม่ได้มานาน ชาวโปแลนด์สร้างอุปกรณ์ช่วยเชิงกลไฟฟ้าและอ่านการสื่อสารของเยอรมันได้นานหลายปี แล้วแบ่งปันทุกอย่างกับอังกฤษและฝรั่งเศสก่อนสงครามจะปะทุ ของขวัญนั้นคือรากฐานที่ Bletchley Park สร้างต่อ
ที่ Bletchley Park, Alan Turing และ Gordon Welchman ออกแบบ Bombe ซึ่งเป็นเครื่องที่ทดสอบการตั้งค่าโรเตอร์จำนวนมหาศาลอย่างรวดเร็วเพื่อหากุญแจของวัน การโจมตีของพวกเขาอาศัยจุดอ่อนที่ตัวอักษรไม่เข้ารหัสเป็นตัวเอง อาศัย crib ของข้อความต้นฉบับที่คาดเดาได้ เช่น รายงานอากาศและวลีซ้ำ ๆ และอาศัยความผิดพลาดของพนักงาน เช่น กุญแจข้อความที่ใช้ซ้ำหรือมักง่าย เมื่อเยอรมนีเพิ่มโรเตอร์และปลั๊ก งานก็ยากขึ้น แต่การถอดรหัสไม่เคยหยุด ข่าวกรองที่ได้มา ซึ่งใช้ชื่อรหัสว่า Ultra ได้รับการยกย่องอย่างกว้างขวางว่าช่วยร่นระยะเวลาสงครามโลกครั้งที่สองและช่วยชีวิตคนมากมาย และยังช่วยวางรากฐานให้การคำนวณสมัยใหม่
รหัส Enigma ปลอดภัยหรือไม่?
ตามมาตรฐานของยุคนั้น Enigma น่าเกรงขามมาก ด้วยการตั้งค่าที่เป็นไปได้ราว 159 ควินทิลเลียนเมื่อนับการเลือกโรเตอร์ การตั้งค่าวงแหวน ตำแหน่งเริ่มต้น และสายปลั๊กบอร์ดสิบเส้น แต่จำนวนกุญแจดิบ ๆ ไม่เหมือนกับความปลอดภัย จุดอ่อนเชิงโครงสร้าง โดยเฉพาะที่ไม่มีตัวอักษรใดเข้ารหัสเป็นตัวเอง เนื้อหาข้อความที่คาดเดาได้ และความผิดพลาดของมนุษย์ ทำให้นักวิเคราะห์ที่มีเครื่องและวิธีการที่เหมาะสมกู้กุญแจประจำวันได้ครั้งแล้วครั้งเล่า เมื่อเทียบกับคอมพิวเตอร์สมัยใหม่ แม้แต่ Enigma ที่ใช้งานอย่างสมบูรณ์แบบก็ไม่ให้การปกป้องใด ๆ เลย
ทุกวันนี้รหัส Enigma ถูกศึกษาและชื่นชมในสิ่งที่มันสอนและในประวัติศาสตร์อันพิเศษของมัน มันเป็นหนึ่งในวิธีที่ดีที่สุดในการทำความเข้าใจเครื่องโรเตอร์ การแทนที่แบบหลายตัวอักษร และวิธีที่การวิเคราะห์รหัสอย่างรอบคอบเอาชนะรหัสได้ และมันปรากฏอยู่เสมอในพิพิธภัณฑ์ ภาพยนตร์ ปริศนา และความท้าทายแบบ capture-the-flag ในการปกป้องข้อมูลจริง คุณควรพึ่งพาอัลกอริทึมสมัยใหม่ที่ผ่านการทดสอบมาอย่างดี เช่น AES แทนเสมอ
คำถามที่พบบ่อย
เครื่อง Enigma คืออะไร?
เครื่อง Enigma ทำงานอย่างไร?
ฉันจะถอดรหัสข้อความ Enigma ได้อย่างไร?
ขอตัวอย่าง Enigma ได้ไหม?
ทำไม Enigma จึงไม่มีปุ่มถอดรหัสแยกต่างหาก?
โรเตอร์ การตั้งค่าวงแหวน และตำแหน่งเริ่มต้นคืออะไร?
ปลั๊กบอร์ดคืออะไร?
ทำไมตัวอักษรจึงไม่สามารถเข้ารหัสเป็นตัวมันเองได้?
ใครถอดรหัส Enigma ได้?
รหัส Enigma ปลอดภัยเพียงใด?
ข้อความของฉันถูกอัปโหลดไปยังเซิร์ฟเวอร์หรือไม่?
เครื่องมือที่เกี่ยวข้อง
ทำงานต่อด้วยเครื่องมือที่มีประโยชน์เหล่านี้