Bombe Machine

Datafarm
3 min readJul 26, 2023

สวัสดีครับ ช่วงนี้มีกระแสหนังฟอร์มยักษ์ของท่านเทพโนแลนอย่าง OPPENHEIMER ที่พูดถึงเรื่องราวของ J. Robert Oppenheimer ที่ได้โดนยกย่องให้เป็นบิดาของระเบิดปรมาณู ซึ่งนักทดสอบปากกา (Pentest) แบบเรา ๆ ก็มีเรื่องราวแบบนี้อยู่เช่นกัน วันนี้เราก็เลยจะมาพูดถึง Alan Mathison Turring ผู้คิดค้นเครื่อง Bombe Machine ซึ่งส่งผลให้สงครามโลกที่กำลังเดือด ค่อย ๆ สงบลงพร้อมกับการพ่ายแพ้ของฝ่ายอักษะในขณะนั้น

แล้วเจ้าเครื่องที่ว่ามันมีบทบาทยังไง ? ต้องเล่าย้อนความไปก่อนจะมีเจ้าเครื่อง Bombe ในขณะนั้นฝ่ายอักษะได้มีการสื่อสารทางการรบด้วยการเข้ารหัสที่ฝ่ายพันธมิตรไม่เคยเจอมาก่อน ทำให้ไม่สามารถเข้าใจและวางแผนการตอบโต้ใด ๆ ได้เลย โดยเครื่องมือที่ฝ่ายอักษะใช้ก็คือเครื่อง Enigma

โดยเจ้าเครื่อง Enigma นี้เป็นกล่องไม้ที่ประกอบไปด้วยเฟืองหรือโรเตอร์ 3 ตัว แล้วแป้นพิมพ์ ซึ่งหลักกการทำงานนั้นง่ายมาก คือ เพียงแต่ให้ผู้ใช้งานกดแป้นตัวอักษร และจดตัวอักษรบนแผงไฟที่สว่างขึ้นมา และถ้าอยากรู้ข้อความที่เข้ารหัสไว้ ก็แค่เซ็ตเฟืองและ Plugboard ให้เหมือนกัน และพิมพ์ตัวอักษรตัวเดิมกลับเข้าไปเท่านั้นเอง

Figure 1: หน้าตาของเครื่อง Enigma

ส่วนขั้นตอนลึก ๆ นั้น ตอนการทำงานของเครื่อง Enigma คือเริ่มแรกจะรับ ข้อความเข้าไป เช่น พิมพ์ตัว T เข้าไป จากนั้น Plugboard จะเป็นกลไกเพื่อเปลี่ยนค่า T เป็นค่า K ก่อนส่งให้เฟืองตัวแรกรับค่าจาก Plugboard แต่ยังไม่มีการแปลงข้อมูลใด ๆ และจะส่งไปยังเฟืองทั้ง 3 ตัวเรียงจากขวาสุดไปซ้ายสุด โดยชุดเฟืองแต่ละชุดจะมีการรับข้อมูลเข้ามาและแปลงข้อมูลและส่งออกข้อมูลที่แตกต่างจากค่าที่รับเข้ามา เนื่องจากชุดเฟืองแต่ละชุดจะมีรอบหมุนที่ไม่เหมือนกัน ดังนั้นถึงแม้จะเป็นข้อความเดียวกันก็จะได้รับผลลัพธ์ที่ต่างกัน ค่าที่ถูกส่งออกจากเฟืองตัวซ้ายสุดจะถูกส่งเข้า Reflector เพื่อจะทำการแปลงข้อมูลอีกรอบหนึ่ง ก่อนถูกส่งกลับไปเพื่อไปแสดงผลยัง Lampboard หรือแผงไฟนั้นเอง (หากใครอยากทดลองสร้างข้อความลับด้วยเครื่อง Enigma สามารถลองได้ที่ https://101computing.net/enigma-machine-emulator/ ครับ)

Figure 2: การทำงานของเครื่อง Enigma

จะเห็นได้ว่าขั้นตอนการเข้ารหัสดูง่ายยยยยยย Simple สุดดดด แต่ทำไมถึงขึ้นชื่อว่าเป็นการเข้ารหัสที่แกะยากที่สุดตัวหนึ่งของโลก นั้นเป็นเพราะว่าข้อมูลที่เราใส่เข้าไป จะไม่มีทางได้ค่าเดิมยังไงละ เช่น

หากเราใช้การเข้ารหัสแบบ Caesar Cipher แบบ shift ไป 3 ครั้ง จะได้เพียง 2 ค่าเท่านั้น

หรือจะใช้ rot13 ก็จะมีตัวอักษรที่ซ้ำกัน ทำให้สามารถพอจะเดาอักษรตัวดังกล่าวได้

แต่ในกรณีของ Enigma นั้นจะไม่มีทั้งตัวอักษรที่ซ้ำ และค่าที่ซ้ำได้เลย ทำให้เราไม่มีทางรู้ และแกะรหัสได้ถูกต้อง

โดยคนที่ได้รับหน้าที่ในการงัดแงะ แกะเกาข้อความเข้ารหัสพวกนี้ก็คือ Alan Mathison Turring นั้นเอง เขาเป็นนักคณิตศาสตร์ชาวอังกฤษ และได้รับการยกย่องว่าเป็นบิดาแห่งคอมพิวเตอร์ในภายหลัง

Figure 3: รูปของ Alan Mathison Turring

ในช่วงแรก ๆ นั้น Alan ก็ไม่สามารถอ่านข้อความที่เข้ารหัสของฝั่งอักษะได้เลย จะใช้หลักการใด ๆ ก็ผิดพลาด ในแต่ละขั้นตอนก็ใช้เวลาเป็นอย่างมาก จนในวันหนึ่ง Alan ก็สังเกตได้ว่าทุกวันตอน 6 โมงจะมีรายงานสภาพอากาศนั้นน่าจะมีคำพวก “รายงานสภาพกาศ” หรือ “Heil Hitler” ………….??!! ใช่ครับ นี้คือจุดอ่อนของเครื่อง Enigma อย่างที่กล่าวไปข้างต้นคือ ”ถ้าอยากรู้ข้อความที่เข้ารหัสไว้ ก็แค่เซ็ตเฟืองและ Plugboard ให้เหมือนกัน และพิมพ์ตัวอักษรตัวเดิมกลับเข้าไปเท่านั้นเอง” ดังนั้นตอนนี้เรารู้แล้วว่าข้อความที่ถูกแกะออกมาคือ “Heil Hitler” ก็แค่เข้ารหัสกลับไปเพื่อดูว่าข้อความนี้ตรงกับที่ได้รับมาจากตอนแรกหรือไม่

แต่ความยากลำบากของมันคือการที่เราต้องเซ็ตค่าต่าง ๆ ให้เหมือนเครื่อง Enigma ตั้งต้นนี่สิ โดยความลำบากในที่นี้คือโอกาสในการเซ็ตค่าให้เหมือนกับเครื่องตั้งต้น คำนวณจาก

  1. ฟันเฟืองมี 3 ตัว ตัวละ 26 ตัวอักษร นั้นคือ 263 หรือก็คือ 17,576 วิธี
  2. แต่ละเฟืองจะมีแหวนกำหนดการหมุน ดังนั้นถ้าหมุนเฟืองขวา เฟืองซ้ายก็จะหมุนตาม ก็จะได้อีก 262 วิธี คือ 676 วิธี
  3. สุดท้ายคือการกำหนดค่าอักษรจาก Plugboard ที่มี 26 จุดให้เลือก และสายแจ็คมี 10 สาย แต่ละสายมี 2 หัว

รวมทั้งหมดจะเท่ากับ 150,000,000,000,000 หรือ 150 ล้านล้านวิธีในการเซ็ตค่า ซึ่งต่อให้คนใช้คนจำนวน 1 ล้านคน สุ่มแกะข้อความนี้ด้วยความเร็ว 10 วิธี ต่อ นาที ก็ต้องใช้เวลาถึง 28 ปี !! (หากใช้วิธีนี้ก็คงแพ้สงครามไปแล้ว หรือจะให้ดร.สเตรจมาช่วยก็ได้นะ)

Figure 4: ห้องทำงานสมัยสงคราม

ดังนั้นสิ่งประดิษฐ์ที่จาก Alan ที่เรียกว่า Bombe Machine นั้นก็ได้เวลาฉายแสง (ฉวิ้งง!) โดยนำจุดอ่อนที่เขาสังเกตนั้นมาใช้งาน โดยการลองไล่หาวิธีเซ็ตเครื่องที่ว่าดูโดยใช้จุดอ่อนสองข้อนั้น เพื่อตัดซอยส์ออก ทำให้ไม่จำเป็นต้องสุ่มทั้ง 150 ล้านล้านวิธี ทำให้ลดเวลาในการแกะข้อความของเยอรมันลงมาเหลือแค่ไม่เกิน 20 นาที ทำให้สามารถรู้การสื่อสารลับจากเยอรมันของวันนั้นได้ทั้งวัน และนำไปสู่การได้รับชัยชนะของฝ่านสัมพันธมิตร

Figure 5 : หน้าตา Bombe Machine

นอกจากนี้หลังจากจบสงคราม Alan Turring ก็ได้มีผลงานทางด้านคอมพิวเตอร์อีกมากมาย เช่น Turing Machine ที่ถือว่าเป็น “พิมพ์เขียวของคอมพิวเตอร์ยุคใหม่” รวมไปถึงด้านปัญญาประดิษฐ์หรือ AI ที่ชื่อว่า “Turing Test” โดยมีความคิดว่าอยากให้เครื่องจักรนั้น สามารถ “คิด” ได้แบบมนุษย์ และอีกมากมาย จนได้รับการยกย่องเป็นบิดาแห่งคอมพิวเตอร์ นอกจากนี้ยังนำชื่อมาใช้เพื่อมอบรางวัล Turring Award ที่นับว่ามีเกียรติที่สุดในด้านวิทยาการคอมพิวเตอร์จากสมาคมคอมพิวเตอร์ ACM โดยจะมอบให้กับบุคคลที่สร้างผลงานที่มีคุณค่ามหาศาลและมีประโยชน์ในระยะยาวในสาขานี้อีกด้วย

Figure 6 : รางวัล Turring Award

จะเห็นได้ว่าการที่ Alan นั้นอาจจะดูเล็กน้อยในสายตาคนภายนอก คือแค่ทำให้รับรู้ข่าวสารของฝั่งศัตรูได้เพียงเท่านั้น แต่จากการะทำดังกล่าวสามารถทำให้กระแสการรบของสงครามเปลี่ยนไปได้อย่างสิ้นเชิง อย่าง “รู้เขา รู้เรา รบร้อยครั้ง ชนะร้อยครั้ง” นั้นเอง หากใครอยากรู้เรื่องราวระหว่างการสร้างเครื่อง Bombe ก็สามารถรับชมได้ในหนังเรื่อง “Imitation Game” หรือ “ถอดรหัสลับ อัจฉริยะพลิกโลก” ได้เลยนะครับผมมมม

--

--

No responses yet