เราซ่อนข้อความไว้ตราบเท่าที่เราส่งข้อความ วิธีดั้งเดิมคือใช้การลักลอบ ผู้ส่งสารที่รวดเร็วและหลบซ่อนตัวดำเนินการข้อความไปมา วิธีการหลักในการรักษาข้อความเหล่านั้นจากการสอดรู้สอดเห็นก็ไม่ได้รับการติด เมื่อจับแล้วเนื้อหาของข้อความจะจบลงที่แขนของคนเลว จากตรงนั้นคนร้ายสามารถอ่านข้อความและรู้ว่าคุณวางแผนไว้หรือแกล้งเป็นผู้รับที่ตั้งใจและส่งคำตอบที่ผิดดังนั้นจึงดำเนินการโจมตี Man In The Middle (MITM) เดิม.
ความก้าวหน้าขั้นถัดไปในการรักษาความปลอดภัยการสื่อสารคือการซ่อนเนื้อหาที่แท้จริงของข้อความในบางวิธี หากข้อความประเภทนี้ถูกดักจับคนร้ายจะไม่สามารถอ่านได้ดังนั้นข้อมูลจะไร้ประโยชน์สำหรับพวกเขา ศิลปะการปกปิดเนื้อหาของข้อความกลายเป็นที่รู้จักในฐานะวิทยาการเข้ารหัสลับซึ่งเป็นกระเป๋าหิ้วของคำภาษากรีกสำหรับการซ่อนและการเขียน.
วิธีการเข้ารหัสข้อความนั้นไม่ จำกัด เท่ากับจินตนาการของเรา อย่างไรก็ตามการใช้งานจริงของวิธีการเข้ารหัสใด ๆ ที่กำหนดมี จำกัด มาก วิธีการเข้ารหัสและถอดรหัสต้องเป็นที่รู้จักของทั้งสองฝ่ายและพวกเขาจะต้องเข้มงวดพอที่วิธีการไม่สามารถเดาได้โดยคนเลว ปัญหาง่าย ๆ ทั้งสองที่ดูเหมือนจะทำให้เกิดการเข้ารหัสระบบตลอดไป เกมของการรักษายันต์เข้ารหัสทำงานกับการโจมตีที่ไม่สิ้นสุดของคนเลวที่จะทำลายระบบเดียวกันเหล่านั้นได้นำไปสู่ประวัติศาสตร์อันยาวนานและน่าสนใจของยันต์.
คำศัพท์เกี่ยวกับตัวเลขเบื้องต้น
การเข้ารหัสเป็นหัวข้อที่เต็มไปด้วยประวัติศาสตร์และอนาคตที่น่าสนใจ เพื่อให้ได้รับประโยชน์สูงสุดจากบทความนี้คุณควรมีความเข้าใจพื้นฐานเกี่ยวกับคำศัพท์และแนวคิดบางประการ ส่วนถัดไปจะช่วยในเรื่องนั้นและคุณสามารถข้ามไปได้และกลับมาที่มันหากจำเป็น.
Block Cipher
บล็อกตัวเลขเข้ารหัสข้อความของจำนวนบิตที่กำหนด (บล็อก) ในแต่ละครั้ง.
รหัส
รหัสมีความซับซ้อนมากกว่าการเข้ารหัสในรหัสนั้นหมายถึงการถ่ายโอนความหมายมากกว่าการทดแทนข้อความแบบตรงเช่น นกอินทรีได้ลงจอดแล้ว การดำเนินการของรหัสต้องมีการอ้างอิงบางชนิดซึ่งโดยปกติจะเรียกว่า Code Book เนื่องจากลักษณะที่ยุ่งยากของการขนส่งและการบำรุงรักษารหัสหนังสือรหัสได้หลุดพ้นจากการใช้งานทั่วไปในการเข้ารหัสสมัยใหม่เพื่อสนับสนุน ciphers.
ตัวเลข
Ciphers เป็นการทดแทนข้อความธรรมดาสำหรับ ciphertext ไม่มีความหมายที่ถูกกำหนดไว้ในกระบวนการมันเป็นการดำเนินการทางคณิตศาสตร์หรือเชิงกลที่ออกแบบมาเพื่อทำให้งงงวยข้อความธรรมดา EG: อัลกอริทึม “การหมุน 13” (ROT13) ซึ่งตัวอักษรได้รับการกำหนดตัวอักษร 13 จุดหลังจากนั้นในตัวอักษร สิ่งนี้ส่งผลให้ A = N, B = O ฯลฯ ในการเข้ารหัสหรือถอดรหัสข้อความบุคคลต้องการเพียงรู้อัลกอริทึม.
ข้อความตัวเลข
ciphertext เป็นรูปแบบการเข้ารหัสที่ไม่สามารถอ่านได้ของข้อความธรรมดา ใครก็ตามที่พยายามอ่าน ciphertext จะต้องทำการถอดรหัสก่อน การถอดรหัสไซเฟอร์เท็กซ์แสดงให้เห็นข้อความธรรมดาที่อ่านได้.
Keyspace
จำนวนของคีย์ที่เป็นไปได้ที่อาจถูกใช้เพื่อสร้างไซเฟอร์เท็กซ์ ในทางทฤษฎีความยากในการบังคับเดรัจฉานบังคับให้ไซเฟอร์เท็กซ์กลายเป็นเรื่องยากมากขึ้นเมื่อคีย์สเปซเพิ่มขึ้น.
กัญชา
แฮชคือรหัสที่ใช้ในการระบุลายนิ้วมือของข้อมูลบางส่วนแทนที่จะเป็นข้อความตัวเลขของข้อมูลนั้น ยันต์ยันรับข้อความเป็นอินพุตและเอาต์พุตลายนิ้วมือที่คาดเดาได้ตามข้อความนั้น หากข้อความมีการเปลี่ยนแปลงในทางใด ๆ ไม่ว่าจะเป็นเรื่องเล็กน้อย การใช้แฮชที่พบบ่อยที่สุดคือการตรวจสอบว่าสำเนาบางไฟล์ในตัวเครื่องเป็นการทำซ้ำไฟล์ต้นฉบับอย่างแท้จริง.
จุดเด่นของรหัสลับคร่ำครวญที่ดีคือ:
- มันถูกกำหนดไว้แล้ว; หมายความว่าข้อความเดียวกันที่ทำงานผ่านรหัสแฮชเดียวกันจะสร้างลายนิ้วมือเดียวกันเสมอและ
- มีการชนระดับต่ำ หมายความว่าข้อความที่แตกต่างกันที่ทำงานผ่านรหัสแฮชเดียวกันควรสร้างลายนิ้วมือที่แตกต่างกัน.
ยันต์ขนาดใหญ่
ตัวเลขที่ใช้ตัวอักษรเดียวและมักจะเป็นการขนย้ายอย่างง่าย ตัวอย่างเช่นตัวอักษร A จะแสดงด้วยตัวอักษร F.
สิ่งเหล่านี้แตกง่ายมากที่เรามีหนังสือ Cryptogram ในร้านขายยาข้าง Crosswords เพื่อความสนุก.
ตัวอย่างบางส่วนของยันต์ขนาดยักษ์ ได้แก่ :
- เลขซีซาร์
- รหัสหมู
- Playfair cipher
- รหัสมอร์ส (แม้จะมีชื่อ)
ข้อความธรรมดา
ข้อความธรรมดาหมายถึงข้อความที่อ่านได้ของข้อความ ข้อความธรรมดาจะถูกเข้ารหัสเป็นข้อความเสียงและสามารถถอดรหัสโดยผู้รับกลับไปเป็นข้อความธรรมดา.
ยันต์ polyalphabetic
นี่คือรหัสตัวเลข transpositional แต่ต่างจากเลขศูนย์เดี่ยวมีการใช้ตัวอักษรมากกว่าหนึ่งตัว มีสัญญาณฝังอยู่ในไซเฟอร์เท็กซ์ซึ่งบอกผู้รับเมื่อตัวอักษรเปลี่ยนไป.
ตัวอย่างบางส่วนของ ciphers Polyalphabetic คือ:
- ตัวเลข Alberti
- รหัสลับVigenère
สตรีม Cipher
กระแสตัวเลขเข้ารหัสข้อความหนึ่งตัวอักษรในเวลา เครื่อง Enigma เป็นตัวอย่างของการเข้ารหัสกระแส.
คีย์ Symmetric / Asymmetric
ในทุก ๆ ระบบการเข้ารหัสที่มีความสำคัญที่สุดจำเป็นต้องใช้กุญแจในการเข้ารหัสและถอดรหัสข้อความ หากใช้คีย์เดียวกันสำหรับวัตถุประสงค์ทั้งสองคีย์นั้นจะเรียกว่าสมมาตร หากมีการใช้คีย์ที่แตกต่างกันในการเข้ารหัสและถอดรหัสเช่นเดียวกับกรณีของการเข้ารหัสคีย์สาธารณะดังนั้นคีย์นั้นจะมีความไม่สมดุลกัน.
โดยทั่วไปแล้วปุ่มแบบสมมาตรจะถือว่าแข็งแรงกว่าปุ่มแบบอสมมาตรเล็กน้อย แต่พวกเขามีภาระที่ต้องใช้วิธีการที่ปลอดภัยซึ่งจะโอนคีย์ไปยังผู้เข้าร่วมข้อความทั้งหมดล่วงหน้าก่อนการใช้งาน.
การเข้ารหัส
มีสองวิธีในการค้นหาข้อความธรรมดาจาก ciphertext วิธีแรกคือการถอดรหัส ciphertext โดยใช้เทคนิคการถอดรหัสที่คาดไว้ วิธีที่สองคือการใช้การวิเคราะห์เพื่อค้นหาข้อความธรรมดาโดยไม่ต้องมีกุญแจเข้ารหัส กระบวนการหลังเรียกขานว่าการทำลาย crypto ซึ่งถูกเรียกว่า cryptanalysis มากขึ้น.
การวิเคราะห์ความถี่
การเข้ารหัสเข้ารหัสตรวจสอบข้อความและพยายามหารูปแบบหรือตัวบ่งชี้อื่น ๆ เพื่อเปิดเผยข้อความธรรมดาที่อยู่ด้านล่าง เทคนิคการเข้ารหัสที่ใช้กันมากที่สุดคือการวิเคราะห์ความถี่ ในภาษาอังกฤษมี 26 ตัวอักษรและความถี่ของตัวอักษรในภาษาทั่วไปเป็นที่รู้จักกัน เสียงสระเช่น A และ E ปรากฏบ่อยกว่าตัวอักษรเช่น Z และ Q การถอยหลังหนึ่งก้าวคำทั้งหมดเช่น THE และ AN จะปรากฏบ่อยกว่าคำที่ต้องการ ANT หรือ BLUE.
เพื่อต่อสู้กับคำความถี่ไซเฟอร์เท็กซ์สามารถแบ่งออกเป็นบล็อกมาตรฐานแทนที่จะทิ้งไว้ในรูปแบบธรรมชาติ ตัวอย่างเช่น:
ได้รับธรรมดา:
ไม้มากมายจะเป็นไม้ CHUCK CHUCK ถ้าไม้ CHUCK สามารถเป็นไม้ CHUCK ได้
และใช้ Caesar Cipher โดยใช้การหมุน 16 ครั้งเราจบด้วยข้อความธรรมดาต่อไปนี้:
XEM CKSX พบ MEKBT Q พบ SXKSA SXKSA YV Q พบ SXKSA SEKBT SXKSA พบ
การวิเคราะห์ความถี่ทำให้เรามีเงื่อนงำเกี่ยวกับคำย่อ:
- วลีที่พบและ SXKSA ปรากฏขึ้นซ้ำ ๆ
- ตัวอักษร Q ปรากฏตัวคนเดียวสองครั้งซึ่งเป็นตัวบ่งชี้ที่แข็งแกร่งว่า Q เป็น A หรือ I
- คำว่า MEET เกือบจะแน่ใจว่ามีสระสองตัวอยู่ตรงกลางเพราะจะมีคำน้อยมากที่มีพยัญชนะสองตัวเดียวกันในตำแหน่งนั้น.
- ข้อบกพร่องในยันต์ที่หมุนได้ก็คือว่าไม่มีตัวอักษรใดที่สามารถทำให้ตัวเองเท่ากันได้ดังนั้นเราสามารถกำจัดคำที่แท้จริงออกมาเป็นคำธรรมดา.
- ถ้าเราสมมติว่า Q เป็น A หรือ I เราก็สามารถสันนิษฐานได้ว่า E ไม่ใช่ A หรือ I และมันไม่สามารถเป็น E ได้เนื่องจากเราค่อนข้างแน่ใจว่า E คือสระ เรากับ E เป็นทั้ง O หรือ U จากนั้นใช้ความพยายามเล็กน้อยเพื่อทดสอบตัวเลือกเหล่านั้นและในที่สุดก็จบลงด้วยคำที่น่าจะเป็น WOOD.
- หากไม้ถูกต้องเราสามารถเปลี่ยนตัวอักษรเดียวกันในคำอื่น ๆ : E = 0, M = W, T = D, Q = A และดำเนินการต่อทางของเราผ่านทางไซเฟอร์เท็กซ์.
- อีกวิธีในการดำเนินการต่อคือทดสอบว่านี่เป็นรหัสการหมุนแบบธรรมดาหรือไม่ ในการทำเช่นนั้นเราจะคำนวณออฟเซ็ตจากตัวอักษรไซเฟอร์เท็กซ์และตัวอักษรธรรมดาเช่น M = W. ที่ให้เรา 16 และถ้าเราย้อนกลับตัวอักษรทุกตัวย้อนกลับ 16 ช่องในตัวอักษรส่วนที่เหลือของเพลเท็กซ์ ความรู้สึกหรือมันจะยังคงพูดไม่ชัดไม่สามารถเข้าใจได้.
ตอนนี้ให้พิจารณาตัวอย่างเดียวกันหากใช้บล็อกมาตรฐาน ไซเฟอร์เท็กซ์จะมีลักษณะเช่นนี้:
XEMCK SXMEE TMEKB TQMEE TSXKS ถาม AYVQM EETSX KSASE KBTSX KSAME ET
แม้ว่าสิ่งนี้จะไม่ทำให้การวิเคราะห์ความถี่เป็นไปไม่ได้ แต่ก็ทำให้ยากขึ้นมาก ขั้นตอนแรกในการแก้ปัญหาการเข้ารหัสประเภทนี้จะพยายามแบ่งมันกลับเป็นถ้อยคำตามธรรมชาติ ยังคงเป็นไปได้ที่จะเห็นการทำซ้ำเช่น MEET และ SXKSA แต่ก็ยากที่จะเลือกคำแบบสแตนด์อโลนเช่นอะไรที่ Q หมายถึง.
หากคุณชอบสิ่งนี้ลองดูที่ร้านขายยาในท้องถิ่นหรือในส่วนนิตยสารของร้านหนังสือ โดยปกติจะมีหนังสือเกม crypto ในส่วนเดียวกับหนังสือคำไขว้.
การใช้คีย์เข้ารหัสลับที่ถูกแทนที่
ในการใช้งานที่ทันสมัยปุ่มเข้ารหัสสามารถหมดอายุและแทนที่ได้ ในระบบขนาดใหญ่เช่นที่ใช้โดยทหารคีย์เข้ารหัสจะถูกแทนที่ในเวลาที่กำหนดรายชั่วโมงรายวันรายสัปดาห์รายเดือนหรือรายปี เมื่อคีย์ถูกแทนที่คีย์ก่อนหน้านี้จะถูกแทนที่ คีย์ที่ถูกแทนที่ต้องถูกทำลายเนื่องจากมีเครื่องมือเข้ารหัสที่มีประโยชน์อย่างยิ่ง หากฝ่ายตรงข้ามได้รวบรวมและจัดเก็บการสื่อสารที่เข้ารหัสและภายหลังสามารถถอดรหัสการสื่อสารเหล่านั้นได้โดยการใช้คีย์แทนที่ที่ใช้ในการเข้ารหัสซึ่งจะเป็นพื้นที่ที่อุดมสมบูรณ์สำหรับการเข้ารหัสของข้อความวันปัจจุบัน.
บนอินเทอร์เน็ตเชิงพาณิชย์ในยุคโพสต์สโนว์เดนมันเป็นเรื่องง่ายที่จะจินตนาการว่า NSA ได้รับคีย์ SSL ที่ถูกแทนที่และกลับไปถอดรหัสข้อมูลจำนวนมหาศาลที่ได้รับจากโปรแกรมเช่น PRISM.
การคำนวณควอนตัมและการเข้ารหัส
คอมพิวเตอร์ของวันนี้ไม่ได้เปลี่ยนแปลงอย่างมีนัยสำคัญตั้งแต่เริ่มก่อตั้ง ในระดับพื้นฐานคอมพิวเตอร์ทำงานบนบิตซึ่งเป็นสล็อตเดี่ยวซึ่งสามารถมีค่า 1 หรือค่า 0 ทุกกระบวนการที่เกิดขึ้นบนคอมพิวเตอร์รวมถึงการเข้ารหัสและการถอดรหัสของข้อความจำเป็นต้องถูกต้มให้ง่าย รากฐาน.
ในทางตรงกันข้ามคอมพิวเตอร์ควอนตัมทำงานโดยใช้แนวคิดทางฟิสิกส์ของการซ้อนทับและพัวพันแทนบิตเพื่อคำนวณ หากพิสูจน์แล้วว่าเป็นไปได้การคำนวณควอนตัมน่าจะสามารถทำลายระบบ crypto ที่ทันสมัยได้ภายในเวลาไม่นาน ในทางกลับกันการคำนวณควอนตัมก็ควรจะสามารถรองรับการเข้ารหัสชนิดใหม่ซึ่งจะนำไปสู่ยุคใหม่ของการเข้ารหัส.
ความก้าวหน้าทางประวัติศาสตร์
เริ่มต้น ciphers monoalphabetic และ polyalphabetic มีปัญหาเดียวกัน: พวกเขาใช้แบบคงที่ไม่เคยเปลี่ยนคีย์ นี่เป็นปัญหาเพราะเมื่อฝ่ายตรงข้ามเข้าใจวิธีวางแผนภาพ Pigpen เช่นเธอสามารถถอดรหัสทุกข้อความที่เคยเข้ารหัสด้วยอัลกอริทึมนั้น.
กุญแจการเข้ารหัส
เพื่อทำให้งงงวยข้อความมากขึ้นแนวคิดของการเปลี่ยนคีย์ได้รับการพัฒนา การใช้ Caesar Cipher เราสามารถเปลี่ยน ciphertext ได้โดยเพียงแค่เพิ่มมูลค่าของการหมุน ตัวอย่างเช่น:
การใช้ Caesar Cipher เพื่อเข้ารหัสวลีให้เป็น HILLS สำหรับทุกคน
การหมุนของ 10 ไซเฟอร์เท็กซ์:
PVOO DY DRO RSVVC PYB KVV SC VYCD
การหมุนของข้อความ 4 cpher:
JPII XS XLI LMPPW JSV EPP MW PSWX
ข้อดีของการใช้คีย์โดยพลการกับข้อความธรรมดาก็คือคนที่รู้ว่า Caesar Cipher ทำงานอย่างไรยังคงไม่สามารถถอดรหัสข้อความโดยไม่ทราบว่าค่าการหมุนถูกใช้เพื่อเข้ารหัสอย่างไร.
ในขณะที่ตัวอย่างด้านบนเป็นตัวอย่างง่าย ๆ เนื่องจากลักษณะที่ไม่สำคัญของ Caesar Cipher เริ่มต้นด้วยการใช้คีย์ที่ซับซ้อนมากขึ้นสามารถเพิ่มความปลอดภัยของไซเฟอร์เท็กซ์ได้อย่างจริงจัง.
ยันต์ที่สำคัญ
ตลอดประวัติศาสตร์มีซิกิลหลายประเภท พวกเขาเริ่มต้นจากการเป็นเครื่องมือทางทหารและกองทัพยังคงเป็นผู้ใช้การเข้ารหัสที่หนักที่สุดในปัจจุบัน จากรากเหง้าทางทหารเราเห็นว่าเพื่อที่จะประสบความสำเร็จตัวเลขต้องมีคุณสมบัติเหล่านี้.
- ความต้านทานต่อการเข้ารหัส
- มีความยืดหยุ่นเพียงพอที่จะขนส่งโดยผู้ส่งสารในทุกสภาวะ
- ใช้งานง่ายในสนามรบที่เต็มไปด้วยโคลน
รหัสใด ๆ ที่มีแนวโน้มที่จะเกิดข้อผิดพลาดในการเข้ารหัสหรือถอดรหัสในสนามรบหรือล้มลงง่ายเกินไปที่จะถูกสกัดกั้นและการตรวจสอบก็ไม่นาน โปรดทราบว่าหนึ่งข้อผิดพลาดในการเข้ารหัสสามารถทำให้ข้อความทั้งหมดไม่สามารถอ่านได้อย่างสมบูรณ์โดยผู้รับ.
ยันต์ที่มีชื่อเสียงมากบางคนติดตามในหัวข้อถัดไป.
Scytale – 120 AD
นี่คือระบบตัวเลขศูนย์เดี่ยวและสมมาตร ผู้ส่งและผู้รับต้องอยู่ในความครอบครองของถังไม้ที่มีขนาดเส้นผ่าศูนย์กลางเท่ากันทุกประการ ในความเป็นจริงนี่คือกุญแจสำคัญ.
ผู้ส่งใช้เนื้อผ้าที่แคบยาวและม้วนไปรอบ ๆ scytale จากนั้นเขาก็เขียนข้อความในรูปแบบมาตรฐานจากซ้ายไปขวาบนผ้า จากนั้นผ้าจะถูกลบออกจาก scytale และดูเหมือนจะเป็นผ้ายาวที่สามารถถูและซ่อนในสถานที่เล็กที่สุดสำหรับการขนส่ง.
ผู้รับเพียงแค่ต้องพันผ้ารอบ ๆ สเกลเทลของพวกเขาและข้อความก็จะชัดเจน ในขณะที่เลขศูนย์เรียบง่ายนี้จะตกอยู่ในการเข้ารหัสอย่างรวดเร็วมากหลักฐานก็คือมีเพียง scytale ที่มีขนาดเส้นผ่าศูนย์กลางเท่ากันเท่านั้นที่สามารถถอดรหัสข้อความได้.
Vigenère – 1553
สร้างสรรค์โดย Giovan Bellaso ในปีค. ศ. 1553, เลขศูนย์Vigenèreได้ถูกสร้างขึ้นใหม่สองสามครั้งล่าสุดโดย Blaise de Vigenèreในศตวรรษที่ 19 นี่เป็นหนึ่งในยันต์ polyalphabetic แรก มันยังคงมีความสมมาตรในธรรมชาติ แต่มันก็ยากพอที่จะถอดรหัสว่ามันยังคงใช้งานมานานกว่าสามศตวรรษ.
ciphers แบบ Polyalphabetic อนุญาตให้ใช้ตัวอักษรจำนวนมากในระหว่างการเข้ารหัสซึ่งเพิ่มพื้นที่คีย์ของ ciphertext อย่างมาก รุ่นก่อนหน้าของ ciphers polyalphabetic ต้องยึดมั่นแข็งไปยังจุดที่ตัวอักษรจะเปลี่ยน การใช้ตัวเลขนี้ของ Bellaso ทำให้ผู้ส่งสามารถเปลี่ยนตัวอักษรที่จุดใดก็ได้ในกระบวนการเข้ารหัส สัญญาณของการเปลี่ยนตัวอักษรจะต้องได้รับการตกลงล่วงหน้าระหว่างผู้ส่งและผู้รับดังนั้นจึงยังคงเป็นวิธีการเข้ารหัสแบบสมมาตร.
ตัวเลขVigenèreถูกนำมาใช้ในการปฏิบัติเมื่อเร็ว ๆ นี้เป็นสงครามกลางเมืองอเมริกา อย่างไรก็ตามเป็นที่เข้าใจกันดีว่าสหภาพได้ทำลายข้อความเหล่านั้นซ้ำแล้วซ้ำอีกเพราะผู้นำภาคใต้พึ่งพาข้อความสำคัญน้อยเกินไปที่จะส่งสัญญาณการเปลี่ยนแปลงตัวอักษร.
Pigpen Cipher – 1700
หรือที่รู้จักกันในนามของ Freemason’s Cipher Pigpen Cipher เป็นตัวเลขแทนสมมาตรแบบสมมาตร การเข้ารหัสและถอดรหัสจะทำโดยการวาง 4 กริด สองกริดประกอบด้วย 9 ช่องว่างเช่นบอร์ดโอเอกซ์และสองกริดคล้ายกับตัวอักษร X ขนาดใหญ่และมี 4 ช่องว่าง ร่วมกันมี 26 ช่องว่างให้ตรงกับ 26 ตัวอักษรในตัวอักษรละติน ส่วนต่างๆนั้นสามารถระบุได้โดยไม่ซ้ำกันโดยการรวมกันของรูปร่างของส่วนและการมีหรือไม่มีจุดในนั้น ข้อความถูกเข้ารหัสโดยใช้ตัวระบุส่วนแทนตัวอักษรจริง.
ฉันได้สร้างรหัสตัวเลข Pigpen ที่นี่:
การถอดรหัสจะกระทำโดยการวางตารางเดียวกันและแปลงกลับตัวระบุส่วนเป็นตัวอักษร ดังนั้นวลีธรรมดาของ READ COMPARITECH จึงเข้ารหัสเป็นภาพชุดนี้:
รหัสเล่นของ Playfair – 1854
รหัส Playfair ใช้ 26 bi-grams (ตัวอักษรสองตัว) แทน 26 monograms เป็นรหัสการเข้ารหัส การเพิ่มพื้นที่สำคัญของไซเฟอร์เท็กซ์อย่างมากมายและทำให้การวิเคราะห์ความถี่ทำได้ยากมาก ข้อความที่เข้ารหัสของ Playfair สร้างขึ้นโดยสร้างตัวอักษรขนาด 5 x 5 ตารางซึ่งสร้างโดยวลีสั้น ๆ แบบสุ่มแล้วเติมส่วนที่เหลือของตารางด้วยตัวอักษรที่ไม่ซ้ำกันจากตัวอักษร กริดนั้นเป็นคีย์และใครก็ตามที่ต้องการถอดรหัสข้อความจะต้องสร้างกริดเดียวกันนี้ใหม่ คุณสามารถอนุมานได้ว่าผู้รับต้องรู้วลีสั้น ๆ ที่ใช้เข้ารหัสข้อความซึ่งยากต่อการพิจารณามากกว่าจำนวนการหมุนอย่างง่าย.
ผู้อ่านที่ชาญฉลาดจะรู้ว่า 5 x 5 = 25 แต่มี 26 ตัวอักษรในตัวอักษรละติน เพื่อรองรับสิ่งนี้ตัวอักษร I และ J มักจะใช้แทนกันได้ สามารถใช้ตัวอักษรสองตัวอื่นได้เช่นกัน แต่ข้อมูลนั้นจะต้องสื่อสารกับผู้รับเพื่อให้แน่ใจว่าพวกเขาถอดรหัสข้อความได้อย่างถูกต้อง.
เมื่อสร้างกริดแล้วผู้ใช้ต้องรู้กฎง่ายๆ 4 ข้อในการเข้ารหัสหรือถอดรหัสข้อความ เป็นเรื่องยากที่จะเข้าใจความสำคัญของบทความที่เขียนดังนั้นฉันจึงสร้างตาราง Playfair เพื่ออธิบาย ฉันใช้วลี READ COMPARITECH เป็นวลีสำคัญ หลังจากเขียนออกมาฉันเริ่มเขียนตัวอักษรเพื่อเติมในส่วนที่เหลือของตาราง โปรดจำไว้ว่าตัวอักษรแต่ละตัวสามารถอยู่ในกริดได้เพียงครั้งเดียวและฉันและ J สามารถใช้แทนกันได้ นั่นทำให้ฉันเป็นปุ่ม Playfair เหมือนภาพด้านล่าง ตัวอักษรสีแดงถูกละไว้เพราะมันปรากฏในกริดแล้ว.
โปรดทราบว่าขั้นตอนการอ่านเปรียบเทียบเป็นเพียงวลีสุ่มในการสร้างกริด ไม่ใช่ข้อความที่เข้ารหัส กริดที่เกิดขึ้นนี้จะถูกใช้เพื่อเข้ารหัสข้อความธรรมดาของคุณ.
แผ่นแปะครั้งเดียว (OTP) – 1882
One Time Pad (OTP) หมายถึงระบบการเข้ารหัสแบบสมมาตรโดยใช้ปุ่มที่มีการเปลี่ยนแปลงพร้อมกับทุกข้อความ หากปุ่มเป็นครั้งเดียวจริง ๆ แล้วไซเฟอร์เท็กซ์จะทนต่อการเข้ารหัสอย่างมาก ปุ่มเหล่านี้ถูกเขียนบนแผ่นกระดาษอย่างแท้จริงและเนื่องจากมีการใช้คีย์แต่ละครั้งเพียงครั้งเดียวจึงมีชื่อ One Time Pad ติดอยู่.
ในทางปฏิบัติ OTP นั้นยากที่จะปรับใช้อย่างถูกต้อง ในฐานะที่เป็นระบบสมมาตรนั้นผู้ส่งและผู้รับทุกคนต้องมี OTP เล่มเดียวกัน นอกจากนี้ยังมีข้อเสียอย่างมีนัยสำคัญในข้อความที่ไม่สามารถยาวกว่าแผ่นที่ใช้ ถ้าเป็นเช่นนั้นชิ้นส่วนของแผ่นจะต้องถูกนำมาใช้ใหม่ซึ่งจะทำให้ไซเฟอร์เท็กซ์ทำให้การเข้ารหัสอ่อนลงอย่างมีนัยสำคัญ.
OTPs ยังคงใช้งานอยู่ในปัจจุบันในกองทัพบางแห่งสำหรับข้อความทางยุทธวิธีที่รวดเร็ว.
Engima – 1914
สร้างโดยชาวเยอรมัน Arthur Scherbius หลังจาก WW1 เพื่อวัตถุประสงค์ทางการค้าเครื่องจักร Enigma เป็นเครื่องเข้ารหัสกระแสข้อมูล เครื่องประกอบด้วยคีย์บอร์ดแผงไฟและใบพัดปรับระดับได้ ผู้ประกอบการจะกำหนดตำแหน่งของใบพัดจากนั้นพิมพ์ข้อความบนปุ่มกด เมื่อพิมพ์ตัวอักษรแต่ละตัวอักษรที่เกี่ยวข้องจะสว่างขึ้นบนแผ่นแสง นี่คือจดหมายเข้ารหัสที่สร้างรหัสลับ ผู้รับจะต้องทราบการตั้งค่าใบพัดที่ถูกต้องที่จะใช้แล้วพวกเขาก็ทำกระบวนการเดียวกัน อย่างไรก็ตามในขณะที่ผู้รับพิมพ์ในตัวอักษรของไซเฟอร์เท็กซ์แต่ละตัวอักษรที่สอดคล้องกันที่จะส่องสว่างจะเป็นตัวอักษรธรรมดา.
ทหารเยอรมันปรับปรุงเครื่องโดยเพิ่มปลั๊กอินและคิดว่ามันไม่แตกและใช้ Enigma สำหรับทุกสิ่ง สำนักงานรหัสส่วนกลางของโปแลนด์ทำลาย Enigma ทางทหารของเยอรมนีในปี 2475 พวกเขาสามารถทำวิศวกรรมย้อนกลับจากข้อมูลที่ได้จากการรักษาความปลอดภัยในการปฏิบัติงานที่ไม่ดี (OpSec) ของผู้ใช้ Enigma เยอรมัน อย่างไรก็ตามพวกเขาไม่สามารถถอดรหัสข้อความได้จริงจนกว่าข้อมูล Enigma ที่ใช้ร่วมกันในภาษาฝรั่งเศสจะถูกรวบรวมจากสายลับเยอรมันคนหนึ่ง.
สำนักนโยบายรหัสโปแลนด์สามารถอ่านทราฟฟิกปริศนาของเยอรมันเป็นเวลาหลายปีจนกระทั่งความก้าวหน้าอย่างต่อเนื่องของระบบทำให้มันยากเกินไป ณ จุดนั้นก่อนเกิดการระบาดของสงครามโลกครั้งที่สองสหราชอาณาจักรและฝรั่งเศสถูกนำตัวเข้าสู่การพับและการตรวจสอบและถอดรหัสของ Enigma traffic กลายเป็นส่วนหนึ่งของ Project Ultra.
เป็นที่ยอมรับกันโดยทั่วไปว่าความสามารถของพันธมิตรในการถอดรหัสการจราจรของ Enigma ทำให้ผลการสงครามโลกครั้งที่สองสั้นลงเป็นเวลาหลายปี.
SHA Family Hash Ciphers 1993 – 2012
SHA เป็นตระกูลอัลกอริธึมที่ใช้สำหรับการแฮ็กมากกว่าการเข้ารหัสและเผยแพร่โดยสถาบันมาตรฐานและเทคโนโลยีแห่งชาติ (NIST) รหัสลับ SHA ต้นฉบับที่เผยแพร่ในปี 1993 ได้ถูกกำหนดให้เป็น SHA-0 เพื่อให้สอดคล้องกับแบบแผนการตั้งชื่อของรุ่นถัด ๆ ไป.
ทั้ง SHA-0 และ SHA-1 (ปลดเกษียณในปี 2010) แสดงว่าไม่สามารถตอบสนองความต้องการมาตรฐานแฮช (แสดงไว้ในส่วนคำศัพท์) และไม่ได้ใช้งานอีกต่อไป HMAC-SHA1 นั้นยังถือว่าไม่แตก แต่ SHA-1 ในทุกรสชาติควรจะถูกทิ้งในความโปรดปรานของรุ่นที่สูงกว่าซึ่งในทางปฏิบัติ.
ยันต์ SHA ปัจจุบัน SHA-2 และ SHA-3 (2012) ปัจจุบันยังคงใช้อยู่ในปัจจุบัน.
MD5 Hash – 1991
MD5 เป็นอัลกอริทึมการแปลงแป้นพิมพ์ที่พัฒนาขึ้นในปี 1991 เพื่อแก้ไขปัญหาความปลอดภัยใน MD4 ในปี 2547 MD5 ได้รับความเสียหายจากความพยายามในการจัดหาฝูงชนแสดงให้เห็นว่า MD5 มีความเสี่ยงสูงต่อการโจมตีวันเกิด
ลายนิ้วมือ MD5 ยังมีให้ในวันนี้สำหรับการตรวจสอบไฟล์หรือข้อความ แต่เนื่องจากมีการเข้ารหัสแบบเข้ารหัสลับแฮช MD5 จึงสามารถไว้วางใจได้ในการตรวจจับการเปลี่ยนแปลงไฟล์หรือข้อความโดยไม่ได้ตั้งใจเท่านั้น การเปลี่ยนแปลงโดยเจตนาสามารถถูกปิดบังได้เนื่องจากความอ่อนแอของอัลกอริทึม.
Ciphers ที่ทันสมัย
การเข้ารหัสมีการใช้งานอย่างกว้างขวางบนอินเทอร์เน็ตในปัจจุบัน กิจกรรมทางอินเทอร์เน็ตจำนวนมากของเราได้รับการเข้ารหัสโดยใช้ TLS (Transport Layer Security) และมีการแลกเปลี่ยนคีย์โดยใช้กระบวนการไม่สมมาตร.
คอมพิวเตอร์ประมวลผลข้อมูลได้ดีเป็นพิเศษโดยใช้อัลกอริธึม เมื่อคอมพิวเตอร์มาถึงที่เกิดเหตุการพัฒนาศูนย์ก็ระเบิดขึ้น คอมพิวเตอร์ไม่ได้เป็นเพียงเครื่องมือที่ยอดเยี่ยมสำหรับการสร้างการเข้ารหัสลับ แต่ยังมีประโยชน์อย่างยิ่งสำหรับการทำลายการเข้ารหัสแบบเข้ารหัสผ่านการเข้ารหัส ซึ่งหมายความว่าการเพิ่มขึ้นของพลังคอมพิวเตอร์มักจะได้รับการประกาศโดยยันต์ใหม่ที่ได้รับการพัฒนาและยันต์เก่าถูกปลดออกเพราะตอนนี้มันง่ายเกินไปที่จะทำลาย.
เนื่องจากการต่อสู้ที่ไม่มีที่สิ้นสุดของพลังการคำนวณคอมพิวเตอร์ที่ใช้อินเทอร์เน็ตมักจะสนับสนุนรายการเลขศูนย์ขนาดใหญ่ในเวลาใดก็ตาม รายการของรหัสนี้เรียกว่าชุดรหัสและเมื่อคอมพิวเตอร์สองเครื่องเชื่อมต่อพวกเขาแบ่งปันรายการของรหัสที่พวกเขาสนับสนุนทั้งสองและรหัสทั่วไปจะตกลงกันเพื่อดำเนินการเข้ารหัสระหว่างพวกเขา กระบวนการนี้มีอยู่เพื่อให้แน่ใจว่าการทำงานร่วมกันมากที่สุดระหว่างผู้ใช้และเซิร์ฟเวอร์ในเวลาใดก็ตาม.
Ciphers เช่น Enigma และ DES (Data Encryption Standard) เสียและไม่ได้รับการพิจารณาว่าปลอดภัยสำหรับการใช้งานการเข้ารหัสลับอีกต่อไป จนถึงปัจจุบัน RSA (Rivest, Shamir, Adleman) และ AES (มาตรฐานการเข้ารหัสขั้นสูง) ถือว่าปลอดภัย แต่เมื่อเพิ่มพลังในการคำนวณพวกเขาก็จะลดลงหนึ่งวันและ ciphers ใหม่จะต้องได้รับการพัฒนาเพื่อใช้การเข้ารหัสต่อไป เว็บ.
การเข้ารหัสคีย์สาธารณะ
การเข้ารหัสคีย์สาธารณะเป็นระบบที่ไม่สมดุลในการใช้งานอย่างกว้างขวางในทุกวันนี้โดยผู้คนและคอมพิวเตอร์ กุญแจที่ใช้ในการเข้ารหัสข้อมูล แต่ไม่ได้ถอดรหัสมันถูกเรียกว่ากุญแจสาธารณะ ผู้รับทุกคนมีกุญแจสาธารณะของตัวเองซึ่งมีให้บริการอย่างกว้างขวาง ผู้ส่งต้องใช้รหัสสาธารณะของผู้รับที่ต้องการเข้ารหัสข้อความ จากนั้นผู้รับสามารถใช้คีย์ลับเฉพาะของพวกเขาที่เรียกว่าคีย์ส่วนตัวเพื่อถอดรหัสข้อความ.
RSA เป็นรหัสลับพื้นฐานที่ใช้ในการเข้ารหัสคีย์สาธารณะ ตัวเลข RSA คูณจำนวนเฉพาะจำนวนมากสองตัวด้วยกันเป็นส่วนหนึ่งของกระบวนการสร้างคีย์ ความแข็งแกร่งของมันขึ้นอยู่กับข้อเท็จจริงที่ว่าฝ่ายตรงข้ามจะต้องคำนึงถึงปัจจัยที่ถูกต้องว่าผลิตภัณฑ์นั้นเป็นตัวเลขเฉพาะสองตัว แม้จะมีพลังในการคำนวณของวันนี้ที่ไม่เป็นไปได้ในกรณีส่วนใหญ่ คุณอาจจำได้ว่าการแยกตัวประกอบเป็นกระบวนการของการลดจำนวนลงเป็นจำนวนที่น้อยที่สุดสองตัวที่สามารถคูณเข้าด้วยกันเพื่อสร้างหมายเลขเดิม จำนวนเฉพาะมีเพียงสองปัจจัย 1 และตัวเอง ฉันอธิบายการเข้ารหัสคีย์สาธารณะโดยละเอียดยิ่งขึ้นที่นี่..
ciphers แบบอสมมาตรนั้นช้ากว่า ciphers แบบสมมาตร แต่การใช้งาน Public Key ของ crypto แบบอสมมาตรมีข้อได้เปรียบที่แตกต่างกันอย่างหนึ่ง: เนื่องจากพับลิกคีย์ไม่สามารถใช้เพื่อถอดรหัสข้อความจึงสามารถสื่อสารกับผู้ส่งได้โดยไม่มีการป้องกัน ดังนั้นจึงไม่มีความจำเป็นที่ทั้งสองฝ่ายจะต้องแลกเปลี่ยนกุญแจก่อนที่จะแลกเปลี่ยนข้อความที่เข้ารหัสลับครั้งแรก.
สำหรับสิ่งเล็ก ๆ เช่นอีเมลการเข้ารหัสแบบอสมมาตรนั้นใช้ได้ แต่สำหรับการเข้ารหัสขนาดใหญ่เช่นดิสก์ทั้งหมดหรือการสำรองข้อมูลไฟล์มันช้าเกินไป ระบบ crypto ขนาดใหญ่ส่วนใหญ่ในปัจจุบันใช้วิธีไฮบริด asymmetrical crypto ใช้เพื่อแลกเปลี่ยนคีย์แบบ symmetrical จากนั้นคีย์ symmetrical จะถูกใช้สำหรับกระบวนการเข้ารหัสและถอดรหัสจริง.
ไซเฟอร์เท็กซ์แบบไม่ต่อเนื่อง
ด้วยพลังการประมวลผลของเราในวันนี้มันอาจดูเหลือเชื่อที่จะพบว่ามีไซเฟอร์เท็กซ์เก่าแก่ที่ยังไม่ได้ถอดรหัส.
จดหมายฉบับสุดท้ายของ Zodiak Killer
Zodiak Killer เป็นฆาตกรต่อเนื่องที่คุกคามแคลิฟอร์เนียมาหลายปีในช่วงปลายยุค 60 ฆาตกรส่งข้อความตัวเลข 4 ข้อความถึงตำรวจในช่วงเวลานี้ซึ่งข้อความที่สี่ยังไม่ได้รับการแก้ไขในวันนี้.
มีบางคนอ้างว่าคนหักรหัสสุดท้าย แต่ไม่มีอะไรที่ยืนขึ้นเพื่อพิจารณา.
ข้อความปริศนาสามข้อความสุดท้าย
ข้อความปริศนาบางส่วนเท่านั้นที่ถูกถอดรหัส ในขณะที่มีคุณค่าทางทหารน้อยในการทำเช่นนั้นมีโครงการ Enigma @ Home ที่พยายามถอดรหัสข้อความที่เหลืออยู่ไม่กี่ข้อความจากปี 1942 เหมือนกับโครงการ @ home อื่น ๆ เช่น SETI @ Home โครงการใช้วงจร CPU สำรองบนคอมพิวเตอร์ของสมาชิก พยายามถอดรหัสข้อความสุดท้าย.
อะไรต่อไป?
การคำนวณยังคงเป็นวิทยาศาสตร์รุ่นเยาว์ เรายังคงปิดใช้งาน“ รุ่น 1” ซึ่งหมายความว่าคอมพิวเตอร์ของเรายังคง จำกัด ฟังก์ชั่นเลขฐานสองและศูนย์ การคำนวณควอนตัมน่าจะเป็นเรื่องใหญ่ต่อไปในการคำนวณและมันจะเปลี่ยนวิธีการทำงานของคอมพิวเตอร์แทนการเพิ่มกำลังการประมวลผลเพื่อจัดการวัตถุและศูนย์ได้มากขึ้น กลศาสตร์ควอนตัมมีสิ่งแปลกประหลาดนี้เรียกว่า“ การทับซ้อน” ซึ่งหมายความว่าบางสิ่งอาจอยู่ในสถานะมากกว่าหนึ่งสถานะจนกว่าจะสังเกตได้ การทดลองทางความคิดที่มีชื่อเสียงที่สุดที่แสดงถึงการทับซ้อนคือแมวของ Schrodinger ซึ่งแมวในกล่องนั้นมีทั้งที่มีชีวิตและตายไปแล้วจนกระทั่งมันยุบลงไปเป็นหนึ่งในรัฐเหล่านั้น.
ในการคำนวณนี่หมายความว่า qubits (ควอนตัมบิต) สามารถมีสองสถานะแทนที่จะเป็นหนึ่งในไบนารีของรัฐ ในขณะที่บิตสามารถมีได้เพียง 1 หรือ 0 แต่ควิบิตสามารถเป็นได้ทั้งคู่ผ่านแนวคิดของการทับซ้อน สิ่งนี้ไม่เพียงสร้างคณิตศาสตร์อย่างหนักเช่นที่เคยใช้ในการคำนวณจำนวนมากที่น่าสนใจ แต่มันอาจประกาศการสิ้นสุดของการโจมตีหลักในกลาง.
คุณสมบัติของการส่งผ่านควอนตัมก็คือแนวคิดของ “การรบกวน” การแทรกสอดคือพฤติกรรมของอิเล็กตรอน subatomic ที่จะผ่านสิ่งกีดขวางและจากนั้นกลับเข้ามาอีกด้านหนึ่ง การแทรกสอดสามารถเกิดขึ้นได้ก็ต่อเมื่อไม่มีใครสังเกตเห็น (ต้นไม้ป่าใคร ๆ ) ดังนั้นจึงเป็นไปไม่ได้ในทางทฤษฎีสำหรับบางคนที่จะสกัดกั้นข้อความที่ส่งผ่านระบบควอนตัมโดยไม่ถูกค้นพบ เส้นทางของอิเล็กตรอนจะถูกเปลี่ยนแปลงโดยการสังเกตและการรบกวนจะไม่เกิดขึ้นอีกต่อไปดังนั้นการแสดงข้อความได้ถูกสังเกต คอมพิวเตอร์ควอนตัมที่ดีที่สุดในขณะนี้มีไม่กี่บิต แต่เทคโนโลยีกำลังก้าวหน้าอย่างรวดเร็ว.
“ Scytale” โดย Lurigen CC Share-A-Like 3.0