22 ต.ค. 2019 เวลา 15:38 • บันเทิง
the imitation game (2014) : ตอนที่ 1
รู้จัก " อีนิกม่า " เครื่องสร้างรหัสที่เยอรมันเชื่อว่าถอดได้ยากที่สุดในโลก ?
the imitation game (2014)
ถอดรหัสลับ อัจฉริยะพลิกโลก
หนังเรื่องนี้ถ่ายทอดเรื่องราวของ แอลัน ทัวร์ริง (Alan Turing)นักคณิตศาสตร์อัจฉริยะผู้ไขรหัสลับจากเครื่องอีนิกม่า( Enigma)ของฝ่ายเยอรมันได้สำเร็จ
หนังมีการเล่าเรื่องแบบตัดสลับไปมาระหว่าง
แอลัน ทัวร์ริง ในช่วงเวลาสงครามโลกครั้งที่สองขณะเข้าร่วมโครงการลับกับรัฐบาลอังกฤษ
ซึ่งเป็นเวลาที่แอลัน ทัวร์ริง ต้องใช้ความคิดอย่างหนักเพื่อที่จะแก้ปริศนารหัสลับจากเครื่องอีนิกม่าให้ได้ก่อนที่อังกฤษจะแพ้สงคราม คู่ไปกับปมชีวิตในอดีตของเขา
หนังนำเสนอความเป็นอัจฉริยะของเขาพร้อมทั้ง
ปูพื้นฐานตัวละครให้ผู้ชมได้เข้าใจในตัวตนของ
แอลัน ทัวร์ริ่ง
ว่ากันตามตรงแล้ว ผลงานของทัวร์ริง ถือเป็นส่วนสำคัญที่ทำให้ฝ่ายสัมพันธมิตรชนะสงครามและทำให้สงครามในครั้งนี้ยุติได้เร็วกว่าที่ควรจะเป็น
แต่ทัวร์ริงไม่ได้ถูกยกย่องเยี่ยงวีรบุรุษสงคราม
ตรงกันข้ามเขาถูกตัดสินให้รอลงอาญาและได้รับการฉีดฮอร์โมนเอสโตรเจนเพื่อลดความต้องการทางเพศ
เหตุเพราะเขามีรสนิยมทางเพศแบบชายรักชายซึ่งไม่เป็นที่ยอมรับในสังคมอังกฤษยุคนั้น
1
หนังใส่ประเด็นนี้ลงไปในปูมหลังของทัวร์ริ่งแต่ก็ไม่ได้เน้นในเรื่องนี้มากนัก ( ซึ่งผมว่าดี : ความคิดผู้เขียน)
สิ่งที่ the imitation game พยายามมุ่งเน้นคือเรื่องของกระบวนการในชีวิตที่ทำให้ท้ายที่สุดเขาตกตะกอนจนแก้ปริศนาได้สำเร็จ
มีการดัดแปลงประวัติชีวิตบางส่วนของทัวร์ริงไปบ้างและนั่นทำหนังหนังเรื่องนี้ถูกโจมตีพอสมควรในประเด็นของความสอดคล้องกับข้อมูลจริงทางประวัติศาสตร์
1
เช่น นิสัยของ แอลัน ทัวร์ริ่ง ในภาพยนตร์จะต่างไปจากบุคลิกจริงของเขา เพราะแอลัน ทัวร์ริง ตัวจริงค่อนข้างจะขี้อายและไม่ใช่คนปากร้ายอย่างในหนัง
ชื่อของเครื่องจักรที่แอลัน ทัวร์ริงประดิษฐ์ขึ้นก็ไม่ได้ชื่อ "คริสโตเฟอร์ " ตามชื่อเพื่อนวัยเด็กของเขา
แต่มีชื่อว่า "บอมเบ" (Bombe)รวมไปถึงหน้าตาของเจ้าเครื่องนี้ก็ไม่ได้เหมือนกับในหนังเลย ผู้กำกับแกใส่สายไฟเข้าไปเพื่อให้ดูเหมือนว่าเครื่องจักรมีชีวิต สายไฟเปรียบเสมือนสัญลักษณ์ของเส้นเลือดที่กำลังหล่อเลี้ยงเครื่องจักรอยู่
ภาพจากหนัง The imitation game (2014)
และหากใครได้ชมภาพยนตร์เรื่องนี้จบแล้ว ผมคิดว่าคงไม่ได้มีเพียงผมคนเดียวหรอก ที่สงสัยว่าเจ้าเครื่อง
" อีนิกม่า " ทำงานอย่างไร ?
หนังไม่ได้อธิบายหรือลงรายละเอียดให้เราเข้าใจหลักการทำงานของมันเลย...และเมื่อหาข้อมูลการทำงานของเครื่องอีนิกม่าก็พบว่ามีการอธิบายที่เข้าใจยาก
บทความนี้จึงพยายามเรียบเรียงข้อมูลและสรุปออกมาเพื่อให้ผู้อ่านเข้าใจได้ง่ายขึ้น
ก่อนที่เราจะรู้จักกับเครื่องอีนิกม่าผมขอแนะนำการสร้างรหัสพื้นฐานแบบต่างๆเพื่อให้ผู้อ่านได้เข้าใจและเห็นภาพได้ชัดเจนว่า
" เหตุใดอีนิกม่าจึงเป็นรหัสที่ถอดได้ยาก "
มนุษย์สร้างรหัสลับขึ้นมาเพื่อใช้ในการสื่อสารข้อมูลเฉพาะกลุ่ม ซึ่งมีอยู่มากมายหลายวิธี
1
เริ่มตั้งแต่วิธีพื้นฐานอย่าง " Reverse Method "
ซึ่งเป็นวิธีสร้างรหัสลับอย่างง่าย เพียงแค่เขียนตัวอักษรสลับตำแหน่งจากหลังไปหน้าก็จะได้ข้อความลับแล้ว เช่น หากอยากส่งสารเป็นคำว่า " i love you " ก็เขียนเป็น " uoy evol i " เป็นรหัสลับที่สร้างขึ้นง่ายๆและการถอดรหัสก็ง่ายเช่นกัน
อีกวิธีหนึ่ง คือ " Reflect Method " วิธีนี้ซับซ้อนขึ้นมาอีกเล็กน้อย รหัสชนิดนี้เกิดจากการแบ่งตัวอักษรภาษาอังกฤษ 26 ตัว เป็น 2 แถว ( บนและล่าง ) แถวละ 13 ตัว รหัสที่ใช้เขียนคือการใช้ตัวอักษรคู่บนและล่างแทนกันในการเขียน เช่นคำว่า " apple "
ก็เขียนเป็น " nccyr " (ดูรูปประกอบด้านล่าง)
2
สองวิธีด้านบนเป็นตัวอย่างการสร้างรหัสลับแบบพื้นฐาน ซึ่งยังมีอีกมากมายหลายวิธีและคงกล่าวถึงได้ไม่หมด
ยังมีรหัสลับอีกประเภทหนึ่งซึ่งเป็นที่รู้จักกันในวงกว้างและมีการใช้งานอย่างแพร่หลาย นั่นคือ " รหัสซีซาร์ "
เป็นการสลับตำแหน่งตัวอักษรเพื่อใช้ในการเขียนคำเช่นกัน แต่การแทนตัวอักษรนั้น เราจะแปลงตัวอักษรเป็นลำดับถัดไปตามตำแหน่งที่กำหนดกันระหว่างผู้รับสารและส่งสาร
เช่น หากแทนค่าตัวอักษรนั้นๆด้วยตำแหน่งของอักษรที่อยู่ห่างไปสองลำดับลำดับ ตัว " A " ก็จะเขียนแทนด้วย " C " เป็นต้น
จากตัวอย่างจะเห็นว่ารหัสซีซาร์นั้นมีการแทนตัวอักษรที่เป็นแบบแผนตายตัว ทำให้สามารถถอดรหัสได้ง่ายเช่นกัน
เพียงจำศัพท์หรือตัวอักษรที่ซ้ำกันได้สักตัวแล้วแปลงให้รู้ว่าลำดับของตัวอักษรถูกเลื่อนไปกี่ตัวก็แก้ได้สำเร็จแล้ว รหัสนี้จึงมักจะใช้ร่วมกับรหัสที่มีความซับซ้อนมากๆเพื่อทำให้การถอดความยากขึ้นไปอีก
1
ทีนี้มาถึงเรื่องของ " อีนิกม่า " บ้าง
อีนิกม่าคือเครื่องมือสร้างรหัสเพื่อแปลงตัวอักษรคล้ายกับรหัสที่ได้กล่าวถึงไปแล้ว แต่ความพิเศษของมันคือ มีการนำกลไกมาช่วยในการเข้ารหัสและแปลงตัวอักษร
2
แต่เดิมอีนิกม่าถูกสร้างขึ้นมาเพื่อใช้ในการสร้างรหัสสำหรับเอกสารที่ต้องการให้เป็นความลับ
อาร์ทูร์ แชร์บีอุส (Arthur Scherbius)วิศวกรชาวเยอรมันผลิตเครื่องนี้ออกมาเพื่อจำหน่ายในท้องตลาดทั่วไปแต่ไม่ได้รับความสนใจมากนัก
ต่อมาในปี ค.ศ. 1923 กองทัพเยอรมันเห็นว่าเครื่องอีนิกม่าสามารถนำมาใช้ในทางทหารได้ จึงสั่งเก็บเครื่องนี้ออกจากท้องตลาดและนำมาพัฒนาเพื่อใช้ในกองทัพ
ภาพเครื่องอินิกม่า https://en.wikipedia.org/wiki/Enigma_machine
รูปร่างภายนอกของเครื่องอีนิกม่าคล้ายกับเครื่องพิมพ์ดีดที่มีสองแป้น
แป้นนึงมีหน้าตาเหมือนแป้นพิมพ์เครื่องพิมพ์ดีด อีกแป้นนึงเป็นส่วนของการแสดงผล เมื่อกดตัวอักษรบนแป้นพิมพ์ส่วนแรก จะมีไฟขึ้นที่ตัวอักษรบนแป้นแสดงผลซึ่งไฟจะแสดงผลเป็นตัวอักษรที่ถูกเข้ารหัส
ภาพจาก : https://www.bbc.com/news/magazine-28167071
เหตุที่ทำให้เครื่องอีนิกม่าแก้รหัสได้ยาก เพราะกลไกภายในของมันประกอบด้วยเฟือง 3 ตัว
( มีการพัฒนาเป็นเฟือง 5 ตัว ในรุ่นต่อมาเพื่อให้แกะรหัสได้ยากขึ้น)
เฟืองสามตัวนี้จะหมุนและเปลี่ยนค่าตัวอักษรไปเรื่อยๆตามวงรอบของเฟือง ซึ่งมีค่าวงรอบการหมุนที่ต่างกัน
หากไม่เข้าใจวิธีการทำงานของเฟืองทั้งสามนี้ให้นึกถึงการเดินของเข็มนาฬิกาที่มีเข็มวินาที เข็มนาที และเข็มชั่วโมง ซึ่งแต่ละเข็มมีอัตราการเคลื่อนไม่เท่ากัน เข็มวินาทีจะมีวงรอบการเคลื่อนที่เร็วสุด ตามด้วยเข็มนาที และเข็มชั่วโมงตามลำดับ
การแทนค่าตัวอักษรที่เกิดจากรหัสอีนิกม่าจึงไม่ตายตัว
https://en.wikipedia.org/wiki/Enigma_machine
แม้ในคำนั้นๆจะมีการใช้ตัวอักษรที่ซ้ำกันแต่เครื่องอีนิกม่าก็จะไม่แปลงตัวอักษรเป็นตัวที่ซ้ำกันมาให้
ยกตัวอย่างคำว่า " apple " หากแปลงด้วยรหัสซีซาร์จะได้เป็น " nccyr "
เหตุที่ในรหัสมีตัว c ติดกันสองตัวเพราะคำว่า apple มีตัวอักษร p ติดกันสองตัว การแปลงค่าตัวอักษรที่มีความตายตัวจึงให้ค่าการแสดงผลเหมือนกัน
ทีนี้เมื่อผมใส่คำว่า " apple " ลงในเครื่องอีนิกม่าออนไลน์ ผลที่ได้คือคำว่า " krvwa"
จะเห็นว่าไม่มีตัวอักษรซ้ำกันเลย ตัว p ตัวแรกถูกแทนด้วย r และ p ตัวที่สองถูกแทนด้วย v
ที่เป็นเช่นนี้เพราะระบบกลไกของเฟืองที่หมุนเปลี่ยนค่าตัวอักษรไปเรื่อยๆนั่นเอง
ภาพหน้าจอเครื่องอีนิกม่าออนไลน์ http://enigmaco.de/enigma/enigma.html
อ่านมาถึงตรงนี้ผู้อ่านคงเห็นแล้วว่าการแก้รหัสอีนิกม่านั้นยากแค่ไหน...แต่นั่นยังไม่เพียงพอสำหรับอีนิกม่า
เพราะถ้ามีแค่นี้...หากเราได้เครื่องอีนิกม่ามาเราก็สามารถถอดรหัสได้
กลไกของอีนิกม่าจึงต้องเหนือไปอีกขั้นด้วยชุดตัวอักษรที่เป็นค่าเริ่มต้นในการหมุนของเฟือง
ด้านหลังของเครื่องอีนิกม่าจะมีสายไฟไว้สำหรับกำหนดค่าเริ่มต้นของเฟือง แทนด้วยตัวอักษรภาษาอังกฤษ 26 ตัว เราสามารถเลือกค่าเริ่มต้นของเฟืองได้ตามจำนวนเฟืองที่มีอยู่
เช่น หากอิงตามจำนวนเฟืองของเครื่องอีนิกม่ารุ่นแรกที่มีสามเฟือง เราก็มีสายไฟที่มีหัวแจ็คสามตัวเช่นกัน
วิธีกำหนดค่าเริ่มต้นทำได้โดยการนำหัวแจ็คแต่ละหัวไปเสียบไว้ในช่องของตัวอักษรนั้นๆ แล้วแจ็คแต่ละตัวก็จะไปกำหนดค่าเริ่มต้นของเฟืองในระบบของเครื่องอินิกม่า
https://en.wikipedia.org/wiki/Enigma_machine
จากตัวอย่างด้านบนที่ผมใช้เครื่องอีนิกม่าออนไลน์แปลงคำว่า" apple " เป็นรหัสว่า " krvwa"
ผมใช้ค่าตั้งต้นคือ HDC แต่ถ้าผมเปลี่ยนชุดตัวอักษรตั้งต้นของเฟืองเป็น GEY
คำว่า " apple " จะถูกแปลงเป็น "jzkej " ซึ่งไม่ใช่รหัสเดิม
ดังนั้นต่อให้คุณมีเครื่องอีนิกม่าคุณก็ยังไม่สามารถที่จะถอดรหัสได้สำเร็จ หากไม่มีชุดอักษรสามตัวที่เป็นค่าเริ่มต้นของเฟือง
และถ้าจะเดาโอกาสถูกก็มีเพียง 1 ใน 17,576 ( 26 x 26 x 26 วิธี) หรือ 0.0000569 เปอร์เซนต์
นี่แค่โอกาสในการเดาชุดรหัส 3 ตัวนะครับ ยังไม่นับที่ว่าชุดรหัสนี้ถูกโยงสายไฟไปที่เฟืองตัวไหนในสามตัวอีก( มีการเปลี่ยนสายไฟที่เชื่อมกับเฟืองแต่ละตัวเพื่อตั้งค่าให้ตัวอักษรผลลัพธ์เปลี่ยนไปได้อีกในแต่ละวัน)
ซึ่งหากรวมค่าความน่าจะเป็นในการสุ่มเดาการตั้งค่าเริ่มต้นของเครื่องอีนิกม่าให้ถูกคือ 1 ใน 105,456 วิธี ( 26 x 26 x 26 x 3! วิธี)
หรือมีโอกาสเดาถูกเพียง 0.00000948 เปอร์เซนต์ เท่านั้น
ด้วยปัจจัยหลายๆอย่างที่กล่าวมา ทำให้โอกาสที่เราจะถอดรหัสเครื่องอีนิกม่าได้นั้นมีน้อยมากๆ
ถึงขนาดที่วิศวกรผู้สร้างได้โอ้อวดว่า
" หากนำคน 1,000 คนมาสุ่มถอดรหัส ในอัตราการสุ่มที่ 4 วิธี ต่อนาที ต้องใช้เวลาไม่ต่ำกว่า 900 ล้านปี ถึงจะสามารถถอดรหัสได้สำเร็จ "
เมื่อเป็นเช่นนี้แล้ว เหตุใดแอลัน ทัวร์ริ่ง จึงสามารถถอดรหัสเครื่องอีนิกม่าได้สำเร็จ เขาใช้วิธีไหน ?
ติดตามต่อใน ep.2 ครับ
สามารถลองใช้งานเครื่องอีนิกม่าแบบออนไลน์ได้ที่ :
โฆษณา