คุณยังไม่ได้ Log in | สมัครสมาชิก ฟรี
กลับหน้าแรก วิชาการ.คอม
<script language="JavaScript" src="http://www.vcharkarn.com/javafeed/article/1104" type="text/javascript"></script>
ENIGMA : ยุทธการรหัสลับ
ทหารอเมริกันกลุ่มหนึ่ง ที่ได้รับมอบหมายให้ไปทำการยึดเรือดำน้ำของฮิตเลอร์ที่ชื่อ U-571 ในช่วงสงครามโลกครั้งที่สอง จุดประสงค์หลักก็เพื่อทำการยึดเอาเครื่องอินิกมา (Enigma)ที่อยู่ในตัวเรือกลับมาฐานทัพ แล้วทำไมต้องเป็นเรือ U-571 แล้วจะยึดได้ไหม อย่างไร
ผู้เขียน: บุญฤทธิ์ อินทิยศ ชมแล้ว: 16,712 ครั้ง
post ครั้งแรก: Thu 11 January 2007, 1:18 pm ปรับปรุงล่าสุด: Mon 22 January 2007, 11:55 am

หน้าที่ 1 - ตีรหัสลับให้แตก
เมื่อวันก่อนนู้นผมได้ไปเยี่ยมบ้านญาติผู้พี่ พี่เขามีดีวีดีและระบบโฮมเธียเตอร์ครบครัน ผมก็ประเภทพวกเห่อเทคโนโลยี เห็นแล้วก็ตื่นเต้น ก็เลยขอให้พี่เขาเลือกหนังมาเปิด บอกไปว่า "พี่ เอาแบบซาวด์เอฟเฟคเจ๋งๆเลยนะ" พี่เขาก็เลือกหนังเรื่อง U-571 มา ผมไม่เคยดูหรอกหนังเรื่องนี้น่ะ เพราะปกติไม่ชอบหนังสงคราม แต่พอดูเรื่องนี้แล้วสนุกครับ ยิ่งมีระบบภาพจากดีวีดี และเสียงที่กระหึ่มยิ่งกว่าในโรงหนังด้วยแล้ว บอกได้คำเดียวครับว่า "ตะลึง" (ตะลึง ๆ ๆ ตะลึงตึ่งตึ่งตึ่ง ตะลึงตึงตึง ตะลึงตึงตึง ... ชะอุ๊ย ขออภัยครับ ไม่ได้เจตนาจะเทียบรุ่นกับน้องอนัน อันวาเลย)




รูปที่ 1 เครื่อง Enigma




U-571 ก็เป็นเรื่องของทหารอเมริกันกลุ่มหนึ่ง ที่ได้รับมอบหมายให้ไปทำการยึดเรือดำน้ำของฮิตเลอร์ที่ชื่อ U-571 ในช่วงสงครามโลกครั้งที่สอง จุดประสงค์หลักก็เพื่อทำการยึดเอาเครื่องอินิกมา (Enigma)ที่อยู่ในตัวเรือกลับมาฐานทัพ แล้วทำไมต้องเป็นเรือ U-571 แล้วจะยึดได้ไหม อย่างไร คงต้องติดตามดูเองนะครับ ถ้าบอกหมดแล้วคนที่ไม่เคยดูจะดูหนังไม่สนุก



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



ไอเดียของเครื่อง Enigma นี้ มาจากวิศวกรไฟฟ้าชาวเยอรมัน ที่ชื่อ Arthur Scherbius เขาเริ่มประดิษฐ์เครื่อง Enigma ขึ้นในปี ค.ศ. 1918 เครื่อง Enigma ของเขา ประกอบด้วยสามส่วนใหญ่ๆ ซึ่งได้แก่ แป้นพิมพ์สำหรับป้อน plaintext หน่วยสลับสับเปลี่ยน (scramble unit) สำหรับ encrypt แต่ละตัวอักษรของ plaintext ให้กลายเป็น ciphertext และแป้นแสดงผล ซึ่งประกอบไปด้วย หลอดไฟเล็กๆ ที่แสดงตัวอักษร ciphertext ทุกครั้งที่ตัวอักษรใน plaintext ถูกป้อนทางแป้นพิมพ์ (ลองดูรูปที่ 2 ดูนะครับว่าแต่ละส่วนอยู่ตรงไหน)



ส่วนที่สำคัญที่สุดก็คือส่วน scramble unit หรือที่เรียกว่า rotor ซึ่งประกอบไปด้วย แผ่นจานกลมๆ ที่มีแผงสายไฟ ซึ่งเป็นตัวกำหนดว่าตัวอักษรใดสลับกับตัวอักษรใด เราลองมาดู กลไกของมันในรูปที่ 3 กันนะครับ เพื่อความง่ายในการอธิบายกลไกของส่วนนี้ เราจะลดจำนวนตัวอักษรบนแป้นพิมพ์ และแป้นแสดงผลลงเหลือหกตัว คือ a, b, c, d, e, f สมมุติว่าเริ่มแรก ตัว rotor ถูกตั้งไว้ให้ a->B (หมายถึง ถ้าแป้นพิมพ์ตัวอักษร a ถูกกด จะทำให้แป้นแสดงตัวอักษร B สว่าง ซึ่งหมายความว่า ตัวอักษร a ถูก encrypt เป็น ตัวอักษร B), b->A, c->D, d->F, e->E, f->C ซึ่งดูแล้ว น่าจะเหมือนกับ ระบบรหัสลับแบบสับเปลี่ยน (monoalphabetic substitution cipher) ธรรมดาๆ




รูปที่ 2 เครื่อง Enigma เปิดฝาให้เห็นเครื่องใน




แต่ความไม่ธรรมดาของเครื่องนี้ อยู่ที่ว่า เมื่อแป้นพิมพ์ถูกกดครั้งหนึ่ง ตัว rotor จะหมุนไป 1/6 รอบ ทำให้เกิดการสับเปลี่ยนตัวอักษรที่ต่างจากเดิม หรือพูดอีกอย่างหนึ่งก็คือว่า ตารางสับเปลี่ยนถูกเปลี่ยนไปทุกครั้งที่แป้นพิมพ์ถูกกด อย่างในตัวอย่างจากรูปที่ 3 ตารางสับเปลี่ยน จะเปลี่ยนเป็น {a->D, b->C, c->B, d->E, e->A, f->F} และ {a->A, b->E, c->D, d->C, e->F, f->B} ตามลำดับ ดังนั้น เมื่อผมกดแป้นตัวอักษร b 3 ครั้งติดๆกันตั้งแต่เริ่มแรก ตัวอักษรที่สว่างก็จะเป็น A, C, E ตามลำดับ




รูปที่ 3 แสดงกลไกอย่างง่ายของหน่วยสลับสับเปลี่ยน
(ภาพจาก The Code Book โดย Simon Singh)





แต่อย่างไรก็ตาม ถ้าเรากดตัวอักษร b 6 ครั้งติดๆกัน เราก็จะได้ ciphertext ACEBDC ถ้าเรากดตัวอักษร b ต่อไปเรื่อยๆ ciphertext ก็จะเริ่มซ้ำและดูเป็น pattern ขึ้นมา ซึ่ง cryptanalyst สามารถใช้ในการโจมตีระบบได้





1064





ท่านอาจจะสังเกตุได้ว่า การตั้งตำแหน่งของ rotor เริ่มแรกนั้น ถ้าตั้งไม่เหมือนกันจะได้ ciphertext ที่ต่างกัน ดังนั้นการตั้ง rotor ดังกล่าวจึงเปรียบเสมือนการเลือก "key" ที่ใช้ในการ encrypt หากเรามี rotor อันเดียว เราก็จะมี key เพียง 6 ตัวสำหรับเครื่อง Enigma อย่างง่ายของเราเพราะเราเลือกตั้ง rotor ได้ 6 ตำแหน่ง (หรือ 26 ตำแหน่งสำหรับ rotor ของจริง) เอ แล้วเราจะมีวิธีใดที่จะเพิ่มจำนวน key ได้บ้างล่ะครับ



ปัญหานี้แก้ได้โดยเพิ่มตัว rotor อีกตัวเข้าไปครับ แต่ rotor ตัวที่สองนี้จะขยับก็ต่อเมื่อ rotor ตัวแรกหมุนครบรอบแล้วเท่านั้น ก็เหมือนกับหน้าปัดไมล์รถยนต์ ที่หลักสิบจะเปลี่ยนก็ต่อเมื่อหลักหน่วยหมุนครบรอบจนถึงเลข 9 แล้วเท่านั้น การเพิ่ม rotor ตัวที่สองเข้าไปนี้ ทำให้จำนวน key ที่จากเดิมมี 6 กลายเป็น 6x6 = 36 ตัว (หรือ 26x26= 676 ตัว สำหรับของจริง) สำหรับเครื่อง Enigma มาตรฐานนั้น เขาใช้ rotor สามตัวครับ ดังนั้นจำนวน key ของเราก็น่าจะเป็น 26x26x26= 17,576 ตัว ใช่ไหมครับ แต่จริงๆแล้วมีมากกว่านั้นครับ เพราะเขาเพิ่มเติมชิ้นส่วนอะไรบางอย่างเข้าไปอีก แล้วสงสัยไหมครับว่าผู้รับปลายทางจาก decrypt ข้อมูลได้อย่างไร เดี๋ยวฉบับหน้า มาคุยกันต่อครับ


หน้าถัดไป (หน้า 2) >>>
*หมายเหตุ งานเขียนชิ้นนี้ ได้รับการคุ้มครองสิทธิตามพระราชบัญญัติคุ้มครองสิทธิทางปัญญา โดยลิขสิทธิเป็นของผู้เขียน ที่ให้เกียรตินำเผยแพร่ผ่าน วิชาการ.คอม เรามีความยินดีและอนุญาตให้ทำซ้ำหรือเผยแพร่ต่อเพื่อประโยชน์ทางการศึกษาเท่านั้น กรุณาให้เกียรติผู้เขียน โดยอ้างชื่อผู้เขียนและ วิชาการ.คอม (www.vcharkarn.com) ทุกครั้งที่ทำการเผยแพร่ต่อ ห้ามนำส่วนหนึ่งส่วนใดไปเผยแพร่ต่อในสื่อที่เอื้อประโยชน์ทางธุรกิจก่อนได้รับอนุญาต ขอขอบคุณที่ร่วมกันช่วยสร้างให้สังคมไทยเป็นสังคมแห่งปัญญา



จำนวน 10 ความเห็น, หน้า่ | -1-
ความเห็นเพิ่มเติมที่ 1 23 ม.ค. 2550 (17:55)
น่าสนใจดีนะครับ รีบเอามาลงต่อเร็วๆนะครับ
จอมโจรคิด (IP:203.113.57.8)

ความเห็นเพิ่มเติมที่ 2 27 ม.ค. 2550 (19:50)
เป็นความรู้ที่น่าสนใจ
tory103@hotmail.com (IP:222.123.10.95)

ความเห็นเพิ่มเติมที่ 3 6 ก.พ. 2550 (19:26)
น่าจะบอกวิธีสร้างนะครับ
Gong_kung (IP:61.19.227.2)

ความเห็นเพิ่มเติมที่ 4 11 ก.พ. 2550 (17:01)
cada หรือเป่าอ่ะคับ ??? หรือผมคิดผิด
furuzasawa_a@hotmail.com (IP:61.91.188.78)

ความเห็นเพิ่มเติมที่ 5 22 มี.ค. 2550 (05:49)
CFDD --> ตัว D มันมายังไงอ่ะครับ ก็ AEACFB AEACFB AEACFB มันก็ครบรอบแล้วอ่ะครับ
แสดงว่าตัวอักษรบน rotor มีแค่นี้(หรือปล่าว)

แต่ที่ชัวร์คือ 2 ตัวแรกต้องเป็น ตัวอักษรเดียวกัน
มีแบ๊ะๆๆ(ใบ้) มั้ยครับ
no_ok เก็บเข้า Contact List ส่ง vSMS
ร่วมแบ่งปันความรู้และความเห็นแล้ว 1 ครั้ง - ได้รับดาวแล้ว 150 ดวง - โหวตเพิ่มดาว

ความเห็นเพิ่มเติมที่ 6 8 ธ.ค. 2550 (23:23)
A, C, E, F, A, B ทำเป็นวงกลมหกเหลี่ยม


1st round a=A, b=E, c=A, d=C, e=F, f=B
2nd round a=E, b=A, c=C, d=F, e=B, f=A
3rd round ....
4th round .....


Answer = ABBA
Altin เก็บเข้า Contact List ส่ง vSMS
ร่วมแบ่งปันความรู้และความเห็นแล้ว 2 ครั้ง - ได้รับดาวแล้ว 150 ดวง - โหวตเพิ่มดาว

ความเห็นเพิ่มเติมที่ 7 9 ธ.ค. 2550 (00:33)
โทษทีครับ 2nd round พิมพ์ผิดจะต้องเหมือนกับ 1st round
ABBA น่าจะหมายถึงวงดนตรี
Altin เก็บเข้า Contact List ส่ง vSMS
ร่วมแบ่งปันความรู้และความเห็นแล้ว 2 ครั้ง - ได้รับดาวแล้ว 150 ดวง - โหวตเพิ่มดาว

ความเห็นเพิ่มเติมที่ 8 25 ธ.ค. 2550 (15:33)
อยากรู้วิธีสร้างอะ
poppytoptop เก็บเข้า Contact List ส่ง vSMS
ร่วมแบ่งปันความรู้และความเห็นแล้ว 7 ครั้ง - ได้รับดาวแล้ว 150 ดวง - โหวตเพิ่มดาว

ความเห็นเพิ่มเติมที่ 9 10 ม.ค. 2551 (03:30)
คห7 คิดยังไง เนี่ย

งง นิดๆ
แต่ไอ่เครื่องบ้านี้มันสุดยอดจริงๆ นี้ถ้ามันไม่เกิดสงครามโลก มันจะมีไหมเครื่องอินิกมา นี่ย
sarawut_t3 เก็บเข้า Contact List ส่ง vSMS
ร่วมแบ่งปันความรู้และความเห็นแล้ว 5 ครั้ง - ได้รับดาวแล้ว 130 ดวง - โหวตเพิ่มดาว

ความเห็นเพิ่มเติมที่ 10 13 พ.ค. 2551 (17:50)

cfdd = AABA


ถูกป่ะ


ผมว่าคนคิดน่ะตอบได้แน่


รีบเอาม่ลงต่อนน่ะ น่าสนใจดี


aneknunt เก็บเข้า Contact List ส่ง vSMS
ร่วมแบ่งปันความรู้และความเห็นแล้ว 1 ครั้ง - ได้รับดาวแล้ว 50 ดวง - โหวตเพิ่มดาว


กรุณา login เพื่อ comment งานเขียนนี้

???? สมัครสมาชิก ฟรี ตลอดชีพ


dummy user
(ผู้ใช้ทดสอบ ที่ไม่มีตัวตน)

ผู้ชมข้อมูลนี้แล้ว 33,245 ครั้ง
เป็นสมาชิก: นานกว่า 7 ปี
แบ่งปันความรู้ 37 ครั้ง
ได้รับดาว 237 ดวง

โหวตเพิ่มดาว


บทความอื่น

ENIGMA : ยุทธการรหัสลับ [16,713]
?????? 0 ?????? ?? ??????????????????

บทความแนะนำ

การเกิด สึนามิ [520,417]
GMO พันธุวิศวกรรมศาสตร์ นางฟ้า หรือ ซาตาน [371,672]

Blog แนะนำ

วิชาการ.คอม ขอแนะนำงานเขียนชิ้นนี้ นำชัย ชวนคิด ฝัน และสรรค์สร้างสังคมไทย ด้วยวิทยาศาสตร์ เทคโนโลยี และธรรม [281,306]
Global Warming { English } [117,296]

Hot Links

คลังข้อสอบ | ข่าววิชาการ
เล่นกล/เกม | อ่านนิยาย
ข่าวทุนการศึกษา | ลิงค์

ขอบคุณผู้สนับสนุน

Google
 
ติดต่อลงโฆษณา :   คุณอันนา 081 4965363
สำนักงาน :   02 2015735
อีเมล์ :   
Copyright© 2000-2007, Vcharkarn.Com. All rights reserved.
คลิ๊กเพื่อดูสถิติ
รับรองและสนับสนุนโดย

สสวท.

มูลนิธิ พสวท.

พสวท.