โพสต์


the imitation game (2014) : ตอนที่ 2
แอลัน ทัวร์ริง ถอดรหัสอีนิกม่าได้อย่างไร ?
ตอนที่แล้วเราได้กล่าวถึงเรื่องย่อของภาพยนตร์เรื่อง the imitation game พร้อมทั้งเรียนรู้วิธีการทำงานของเครื่องอีนิกม่ากันไปแล้ว
หากใครยังที่ไม่ได้อ่านบทความตอนแรก ขอแนะนำให้ย้อนกลับไปอ่านก่อน เพื่ออรรถรสที่มากขึ้นในการอ่านบทความตอนที่สองนี้
ซึ่งในตอนนี้ เราจะมาลงรายละเอียดว่า แอลัน ทัวร์ริง ถอดรหัสอีนิกม่าสำเร็จได้อย่างไร ?
เกริ่นก่อนว่าความสำเร็จในการถอดรหัสครั้งนี้ มีปัจจัยหลายอย่างเกื้อหนุน เมื่อนำมาประกอบกับความอัจฉริยะของแอลัน ทัวร์ริง ภารกิจนี้จึงสำเร็จ
แอลัน ทัวร์ริง นั้นทำงานให้กับฝ่ายสัมพันธมิตรและขึ้นตรงต่ออังกฤษ เขาอยู่ในหน่วยงานที่ชื่อว่า " Hut 8 "
ซึ่งเป็นหน่วยที่รวบรวมคนอัจฉริยะหลากหลายสาขามาไว้ด้วยกัน เพื่อช่วยกันปฏิบัติภารกิจในการไขรหัสลับจากเครื่องอีนิกม่าให้สำเร็จ โดยมีสำนักงานตั้งอยู่ที่ Bletchley Park
แม้หน่วย Hut 8 จะรวมหัวกะทิด้านต่างๆไว้มากมาย แต่นั่นไม่ได้หมายความว่า "ภารกิจไขรหัสลับ"ในครั้งนี้จะง่ายดาย เพราะเครื่องอินิกม่ามีความซับซ้อนสูงมาก
เราคงได้ทราบถึงวิธีการทำงานของเครื่องอีนิกม่าไปบ้างแล้วบางส่วน แต่นั่นเป็นเพียงโมเดลเริ่มต้นของ
เครื่องอีนิกม่าเท่านั้น
รุ่นที่ถูกนำมาใช้งานจริงในกองทัพเยอรมัน มีการพัฒนาเฟืองหมุนเพิ่มขึ้น จากเดิมที่มี 3 ตัว ก็เพิ่มเข้าไปอีก 2 ตัว ทำให้เฟืองหมุนสำหรับสร้างรหัสมีมากถึง 5 ตัว ซึ่งเมื่อใช้จริงก็จะสุ่มใช้เพียงสามตัวเท่านั้น ทำให้มีความยากในการถอดรหัสมากขึ้น
หากคำนวณโดยใช้วิธีทางคณิตศาสตร์ ( 5 เลือกมา 3 : ใช้สูตรการเรียงสับเปลี่ยน คูณ ด้วยลำดับเฟืองสามตัวที่เปลี่ยนตำแหน่งได้ 6 แบบ)
ผลลัพธ์คือ มี 60 วิธี สำหรับการเลือกเฟืองหมุน
เฟืองแต่ละชุดมีฟันเฟืองเป็นตัวอักษรภาษาอังกฤษ 26 ตัว รวม 3 เฟือง ดังนั้นมีโอกาสเกิดชุดรหัสตัวอักษรเริ่มต้นของเฟืองได้ 26 x 26 x 26 แบบ
เท่ากับ 17,576 วิธี
เฟืองสามอันที่ทำงานอยู่นั้นถูกเชื่อมด้วยวงแหวน 2 ชิ้น ที่กำหนดความสัมพันธ์ค่าการหมุนของเฟืองแต่ละอันให้หมุนในอัตราที่ต่างกัน คล้ายการเดินของเข็มนาฬิกาที่เดินด้วยเความเร็วต่างกัน (เข็มวินาที เข็มนาที และเข็มชั่วโมง )
การทำงานของมันคือ เมื่อเฟืองทางขวาหมุน 26 ครั้ง แหวนจะไปแตะเฟืองกลาง และเมื่อเฟืองกลางหมุน 26 ครั้ง แหวนอีกอันจะไปแตะเฟืองซ้าย
ทำงานสัมพันธ์กัน
คำนวณได้เป็น 26 x 26 วิธี
(ตามจำนวนการหมุน และจำนวนแหวน)
เท่ากับ 676 วิธี
สุดท้ายคือการกำหนดค่าอักษรจากสายแจ็คที่ด้านหลังของเครื่องอีนิกม่า ที่มี 26 จุดให้เลือก
(ตามจำนวนตัวอักษรภาษาอังกฤษ)
สายแจ็คมี 10 สาย สายหนึ่งมี 2 หัว
(เสียบเข้าได้ 20 จุด) ใช้วิธีเรียงสับเปลี่ยนเช่นเคยได้ทั้งหมด 26! / (6! x 2 ^ 10 x 10!)
เท่ากับ 150 ล้านล้าน วิธี
เมื่อเรารวมวิธีต่างๆเข้าด้วยกันจำนวนความเป็นไปได้ของการตั้งค่าอีนิกม่าจึงมีมากมายมหาศาล
( ในหนังบอกว่ามีมากกว่า 159 ล้านล้านวิธี)
ผู้สร้างเครื่องอีนิกม่าจึงบอกว่า แม้คน 1,000 คน มาช่วยกันสุ่มถอดรหัส ในอัตรา 4 วิธี ต่อนาที
ต้องใช้เวลาถึง 900 ล้านปี จึงจะทำสำเร็จ
หรือที่เคยมีการคำนวณไว้ว่าหากจะใช้คอมพิวเตอร์ช่วยประมวลผลด้วย i7-5960X 1 CPU(8 Core)ยังใช้เวลามากถึง 16.9 ปี
จะเห็นว่าการถอดรหัสให้สำเร็จนั้นยากมาก
แถมฝั่งเยอรมันยังเปลี่ยนการตั้งค่าทุกวัน
แม้วันนี้จะแก้รหัสได้ พรุ่งนี้ก็ต้องสุ่มใหม่อีก
แต่....ต่อให้ยากแค่ไหน ทุกระบบก็ต้องมีจุดอ่อน
เมื่ออินิกม่าเป็นระบบกลไกไฟฟ้า การหาวิธีไขรหัสจึงต้องพึ่งเครื่องมือเข้าช่วยเช่นกัน เครื่องมือที่ว่านั้นคือ
" บอมเบ " (Bombe)
เครื่อง Bombe https://en.wikipedia.org/wiki/Bombe
เครื่องบอมเบดั้งเดิมนั้นเป็นเครื่องที่ Marian Rejewski นักถอดรหัสชาวโปแลนด์เป็นผู้คิดค้นขึ้นมา ใช้ชื่อว่า
" Bomba " เหตุที่โปแลนด์สามารถสร้างเครื่องมือนี้ขึ้นมาได้เพราะทางโปแลนด์มีเครื่องอีนิกม่ารุ่นต้นแบบเก็บไว้อยู่ จึงทราบกลไกและนำมาต่อยอดจนเกิดเป็น Bomba
ต่อมาทางอังกฤษนำมาพัฒนาต่อใช้ชื่อว่า
" บอมเบ " (Bombe) หน้าตาของเครื่องคือแถบเฟืองหมุนจำนวนหลายตัวเรียงต่อกันเป็นแถว
เครื่อง Bombe ที่แสดงที่พิพิธภัณฑ์ ที่ Bletchley Park https://bletchleypark.org.uk
เครื่องนี้จะจำลองการหมุนของเฟืองแบบต่างๆ และช่วยตัดจำนวนวิธีที่เป็นไปไม่ได้ออกไปเพื่อช่วยลดจำนวนการสุ่มค่าเริ่มต้นของเครื่องอีนิกม่าให้น้อยที่สุด
แต่ถึงมีเครื่องมือมาช่วย การถอดรหัสก็เป็นไปได้ยากและใช้เวลานานมากกว่าจะถอดรหัสสำเร็จ( นานจนฝั่งเยอรมันได้ตั้งค่าใหม่ไปแล้ว)
https://en.wikipedia.org/wiki/Bombe
ยังไม่มีใครหาวิธีการที่จะทำให้ทราบค่าเริ่มต้นในแต่ละวันของอีนิกม่าได้
จน แอลัน ทัวร์ริง คิดวิธีบางอย่างที่สามารถตัดวิธีที่เป็นไปไม่ได้ออกไป และทำให้เครื่องบอมเบแกะค่าเริ่มต้นของอีนิกม่าได้สำเร็จภายในระยะเวลาไม่เกินหนึ่งวัน
วิธีนี้เกิดจากการที่ฝั่งเยอรมันมักจะส่งข้อความซ้ำกันในแต่ละวัน เป็นประโยครายงานสภาพอากาศ
โดยใช้ข้อความว่า " WETTERVORHERSAGE BISKAYA" (แปลว่า พยากรณ์อากาศวันนี้) และมักจะปิดท้ายข้อความด้วยคำว่า " heil hitler" (ไฮ ฮิตเลอร์)
เรารู้ว่าสองข้อความนี้ถูกส่งมาทุกวัน แต่มันอยู่ตำแหน่งไหนในข้อความเข้ารหัสที่มีอยู่มากมายกันล่ะ...
แอลัน ทัวร์ริ่ง พบจุดอ่อนที่เกิดจากเครื่องอินิกม่า คือ มันจะไม่แปลงตัวอักษรเป็นตัวที่ตรงกับต้นฉบับเลย
เช่นคำว่า Cat เครื่องอีนิกม่าจะไม่มีทางแปลงตัว "C" ด้วยตัวอักษร "C" เด็ดขาด
เมื่อทราบดังนี้ สมมติเรารู้ว่าข้อความลับต้องมีคำว่า
" heil hitler" แล้วหาได้ว่าประโยคนี้อยู่ส่วนไหน จนสามารถทราบการแทนค่าของอักษรได้บางส่วน เราก็ให้เครื่องบอมเบช่วยระบุตำแหน่งที่เป็นไปได้สำหรับค่าเริ่มต้นเครื่องอีนิกม่าได้ วิธีนี้จะทำให้ทราบค่าเริ่มต้นได้เร็วขึ้น (ใช้เวลาไม่ถึงหนึ่งวัน)
ภาพจาก the imitation game (2014)
ซึ่งการหาตำแหน่งของคำที่เราต้องการจะหาก็ไม่ยุ่งยากนัก สมมติเราจะหาคำว่า " heil hitler"ในประโยค
ก็ต้องนับก่อนว่า " heil hitler" มีกี่ตัวอักษร
ในตัวอย่างนี้คำว่า " heil hitler" ประกอบไปด้วย 10 ตัวอักษร (heilhitler) เราก็แยกข้อความในรหัสออกมาทีละ 10 ตัวอักษร แล้วเทียบดู
หากพบตำแหน่งที่อักษรซ้ำกันกับข้อความจริง แสดงว่ากลุ่มคำนี้ยังไม่ใช่รหัสที่แทนคำนั้น
เช่น ถ้าคำจากรหัสอีนิกม่าคือคำว่า " atiknomtsz " เมื่อนำมาเทียบกับคำว่า " heilhitler"
เราจะพบว่าตัว i ในตำแหน่งที่ 3 ของกลุ่มคำแรก ตรงกับตัว i ในตำแหน่งที่ 3 ของคำว่า " heil hitler"
แสดงว่ากลุ่มคำตรงนี้ยังไม่ใช่ เราก็เลื่อนไปอีกเรื่อยๆ จนเจอคำที่ไม่มีตัวอักษรที่ซ้ำกันกับคำว่า
" heil hitler"
เมื่อพบกลุ่มคำที่ต้องการแล้วก็ใช้วิธีย้อนกลับไปดูว่าคำนี้มีค่าเริ่มต้นได้กี่วิธีกี่แบบ
สมมติว่าเจอว่า " lapsbdrwvx" ที่เป็นไปได้ว่าจะเป็นคำว่า " heilhitler" ก็ใช้เครื่องบอมเบ ผสมกับเทคนิคทางคณิตศาสตร์เพื่อช่วยตัดทางเลือกที่เป็นไปไม่ได้ทิ้งไป
เพื่อหาว่าตัวอักษร " lapsbdrwvx" จะแทนเป็นคำว่า " heilhitler"ได้ ต้องตั้งค่าเริ่มต้นของเครื่องอินิกม่าอย่างไร ?
เมื่อทราบค่าเริ่มต้นแล้ว การถอดรหัสข้อความก็ไม่ใช่เรื่องยากอีกต่อไป พอถอดรหัสได้บ่อยๆก็พบว่าจริงๆแล้วฝ่ายเยอรมันเองก็ไม่ได้เปลี่ยนการตั้งค่าทุกวัน จะด้วยความขี้เกียจ ความประมาทหรืออะไรก็แล้วแต่
นั่นทำให้ฝ่ายอังกฤษสามารถถอดรหัสได้โดยง่าย
และก็โชคดีมากขึ้นเมื่อเดือน พฤษภาคม ค.ศ. 1941 ฝ่ายอังกฤษสามารถจับกุมเรือดำน้ำ U-boat ของเยอรมันได้ ที่นอกชายฝั่งกรีนแลนด์
ทำให้ได้เครื่องอีนิกม่ารุ่นล่าสุดและสมุดถอดรหัสมาอีก
จึงสามารถตรวจสอบความถูกต้องของข้อความจากเครื่องอีนิกม่าได้โดยตรง
เมื่อข้อมูลการรบของเยอรมันรั่วไหล ฝ่ายสัมพันธมิตรจึงได้เปรียบและนี่เป็นจุดเริ่มต้นที่ทำให้ฝ่ายสัมพันธมิตรได้รับชัยชนะในเวลาต่อมา
ถือว่า แอลัน ทัวร์ริง คือหนึ่งในวีรบุรุษสงครามของการรบครั้งนี้ ด้วยความอัจฉริยะของเขาทำให้สงครามยุติได้เร็วกว่าที่มีคาดการณ์ไว้ และทำให้จำนวนผู้เสียชีวิตจากภัยสงครามลดลงไปอย่างมาก
หมายเหตุ :
เนื่องจากผู้เขียนต้องการให้ผู้อ่านเข้าใจการทำงานของเครื่องอินิกม่าง่ายขึ้น จึงแปลงชื่ออุปกรณ์ของอีนิกม่าไปบ้าง เช่นคำว่า " โรเตอร์ " ก็แทนด้วย " เฟือง "
(ตามลักษณะของมัน) และขออนุญาตไม่อธิบายกลไกการทำงานของบอมเบ ( Bombe)อย่างละเอียด เพราะมันซับซ้อนกว่าอีนิกม่าหลายเท่า รวมถึงมีศัพท์เฉพาะที่ผู้เขียนเองก็ไม่ค่อยจะเข้าใจ
เลยสรุปเพียงว่าเครื่องบอมเบมีประโยชน์อย่างไร ?
โพสต์ที่เกี่ยวข้อง
ความคิดเห็น
จุติชัย จันละมา
อันนี้สนุกจนต้องบุคมาคเลยคับ
27 พ.ย. 2019 เวลา 09:02
1
หนังหลายมิติ
ขอบคุณครับ
27 พ.ย. 2019 เวลา 09:54
เรื่องที่รันอยากจะเล่า by ranaway
ชอบมากเลยฮะอย่าลืมทำมาอีกนะครับQWQ
26 ต.ค. 2019 เวลา 14:17
1
หนังหลายมิติ
จะตั้งใจเขียนให้เต็มที่ครับ แต่อาจจะมีพัก มีหายไปบ้างเพื่อไปเติมพลังงานครับ
28 ต.ค. 2019 เวลา 04:59
เรื่องที่รันอยากจะเล่า by ranaway
สงสัยคงต้องเริ่มเขียนบ้างแล้วหล่ะเรา
28 ต.ค. 2019 เวลา 06:29
Financial สบาย สบาย
ติดตามนะครับ ข้อมูลดีมากๆครับ
26 ต.ค. 2019 เวลา 06:23
3
หนังหลายมิติ
ขอบคุณครับ
26 ต.ค. 2019 เวลา 12:44
1
ไปต่อ
ข้อมูลเเน่นมากครับ
25 ต.ค. 2019 เวลา 16:09
1
หนังหลายมิติ
ขอบคุณครับ
25 ต.ค. 2019 เวลา 16:39
1
คิดได้..คิดดี bÿ แต้ง
ขอบคุณข้อมูลครับพี่
25 ต.ค. 2019 เวลา 15:29
1
หนังหลายมิติ
ยินดีครับ
25 ต.ค. 2019 เวลา 15:49
Narin Uarpanyaporn
คนคิดเครื่องก้อสุดยอดละ คนแก้กลับเหนือกว่า ย้อนวิธีกลับได้
25 ต.ค. 2019 เวลา 08:29
1
Sloth Holmes
อธิบายถึงรายละเอียดดีจริงๆ เข้าใจง่ายกว่าตอนเรียนซะอีก😁
24 ต.ค. 2019 เวลา 15:26
1
หนังหลายมิติ
หมายถึงตรงวิธีเรียงสับเปลี่ยนรึเปล่าครับ ถ้าใช่แสดงว่ายังพอมีวิชาอยู่บ้าง (อดีตครูสอนพิเศษคณิตศาสตร์ครับ แต่ปัจจุบันสนิมขึ้นไปพอสมควรครับ 555)
24 ต.ค. 2019 เวลา 15:29
1
Sloth Holmes
ทั้งตอนสับเปลี่ยนและขั้นตอนเข้ารหัสครับ
24 ต.ค. 2019 เวลา 15:30
1
หนังหลายมิติ
ขอบคุณครับ
24 ต.ค. 2019 เวลา 15:31
1
เก็บฝัน..🕰
ฝันดีค่ะแอด^^🥰
24 ต.ค. 2019 เวลา 15:18
1
หนังหลายมิติ
ขอบคุณครับ
24 ต.ค. 2019 เวลา 15:27
มิสเตอร์บอม
เหมือนเคยดูแต่นานมาก
24 ต.ค. 2019 เวลา 14:11
1
Strongแล้วเดินหน้าต่อ
ขอไปหาดูนะคะ ขอบคุณมากนะคะที่แนะนำ🙏
24 ต.ค. 2019 เวลา 14:02
1