การเข้ารหัสมีประวัติอันยาวนานตั้งแต่สมัยที่ชาวกรีกและโรมันโบราณส่งข้อความลับโดยการแทนที่ตัวอักษรที่ถอดรหัสได้ด้วยกุญแจลับเท่านั้น เข้าร่วมบทเรียนประวัติศาสตร์ฉบับย่อกับเราและเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการทำงานของการเข้ารหัส
ใน HTG Explains ฉบับวันนี้เราจะให้ประวัติโดยย่อเกี่ยวกับการเข้ารหัสวิธีการทำงานและตัวอย่างการเข้ารหัสประเภทต่างๆอย่าลืมดูฉบับก่อนหน้าซึ่งเราได้อธิบายไว้ด้วย ทำไมคนจำนวนมากถึงเกลียด Internet Explorer .
ภาพโดย xkcd เห็นได้ชัดว่า
ยุคแรกของการเข้ารหัส
ชาวกรีกโบราณใช้เครื่องมือที่เรียกว่า a
Scytale
เพื่อช่วยเข้ารหัสข้อความได้เร็วขึ้นโดยใช้ไฟล์
รหัสการขนย้าย
- พวกเขาเพียงแค่พันแถบกระดาษรอบ ๆ กระบอกเขียนข้อความจากนั้นเมื่อคลายออกก็ไม่สมเหตุสมผล
แน่นอนว่าวิธีการเข้ารหัสนี้อาจเสียได้ง่าย แต่เป็นหนึ่งในตัวอย่างแรกของการเข้ารหัสที่ใช้จริงในโลกแห่งความเป็นจริง
Julius Caesar ใช้วิธีการคล้ายกันในช่วงเวลาของเขาโดยเลื่อนตัวอักษรแต่ละตัวไปทางขวาหรือซ้ายตามตำแหน่งต่างๆซึ่งเป็นเทคนิคการเข้ารหัสที่เรียกว่า การเข้ารหัสของซีซาร์ . ตัวอย่างเช่นการใช้การเข้ารหัสตัวอย่างด้านล่างคุณจะต้องเขียน "GEEK" เป็น "JHHN"
ธรรมดา: ABCDEFGHIJKLMNOPQRSTUVWXYZ
รหัส: DEFGHIJKLMNOPQRSTUVWXYZABC
เนื่องจากมีเพียงผู้รับข้อความที่ตั้งใจไว้เท่านั้นที่รู้รหัสจึงเป็นเรื่องยากสำหรับบุคคลต่อไปที่จะถอดรหัสข้อความซึ่งจะดูเหมือนเป็นการพูดพล่อยๆ แต่บุคคลที่มีการเข้ารหัสสามารถถอดรหัสและอ่านได้อย่างง่ายดาย
การเข้ารหัสง่ายๆอื่น ๆ เช่นไฟล์ จัตุรัส polybius ใช้ a การเข้ารหัส polyalphabetic ที่ระบุตัวอักษรแต่ละตัวด้วยตำแหน่งตัวเลขที่สอดคล้องกันทั้งด้านบนและด้านข้างเพื่อบอกตำแหน่งของตัวอักษร
การใช้ตารางเหมือนตารางด้านบนคุณจะต้องเขียนตัวอักษร“ G” เป็น“ 23” หรือ“ GEEK” เป็น“ 23 31 31 43”
เครื่อง Enigma
ในช่วงสงครามโลกครั้งที่สองชาวเยอรมัน ใช้เครื่อง Enigma ในการส่งสัญญาณเข้ารหัสไปมาซึ่งต้องใช้เวลาหลายปีก่อนที่ชาวโปแลนด์จะสามารถถอดรหัสข้อความและให้การแก้ปัญหาแก่กองกำลังพันธมิตรซึ่งเป็นเครื่องมือสำคัญในชัยชนะ
ประวัติความเป็นมาของการเข้ารหัสสมัยใหม่
มาดูกัน: เทคนิคการเข้ารหัสสมัยใหม่อาจเป็นเรื่องที่น่าเบื่ออย่างยิ่งดังนั้นแทนที่จะอธิบายด้วยคำพูดเราได้รวบรวมการ์ตูนที่พูดถึงประวัติศาสตร์การเข้ารหัสซึ่งได้รับแรงบันดาลใจจาก Jeff Moser’s คู่มือรูปแท่งสำหรับ AES . หมายเหตุ: เห็นได้ชัดว่าเราไม่สามารถถ่ายทอดทุกอย่างเกี่ยวกับประวัติของการเข้ารหัสในการ์ตูน
ย้อนกลับไปในสมัยนั้นผู้คนไม่มีวิธีการเข้ารหัสที่ดีเพื่อรักษาความปลอดภัยในการสื่อสารทางอิเล็กทรอนิกส์
ลูซิเฟอร์ เป็นชื่อที่ตั้งให้กับพลเรือนที่เก่าแก่ที่สุดหลายคน บล็อกการเข้ารหัส , พัฒนาโดย Horst Feistel และเพื่อนร่วมงานของเขาที่ IBM
มาตรฐานการเข้ารหัสข้อมูล (DES) คือรหัสบล็อก (รูปแบบของการเข้ารหัสลับที่ใช้ร่วมกัน) ที่ถูกเลือกโดย สำนักงานมาตรฐานแห่งชาติ อย่างเป็นทางการ มาตรฐานการประมวลผลข้อมูลของรัฐบาลกลาง (FIPS) สำหรับสหรัฐอเมริกาในปี พ.ศ. 2519 และต่อมาได้มีการใช้อย่างแพร่หลายในระดับสากล
ความกังวลเกี่ยวกับความปลอดภัยและการทำงานที่ค่อนข้างช้าของ DES ในซอฟต์แวร์กระตุ้นให้นักวิจัยเสนอรูปแบบการเข้ารหัสบล็อกทางเลือกที่หลากหลายซึ่งเริ่มปรากฏในช่วงปลายทศวรรษ 1980 และต้นปี 1990 ตัวอย่าง ได้แก่ RC5 , ปักเป้า , ไอเดีย , ใหม่ , ปลอดภัย , แคสต์ 5 และ FEAL
อัลกอริธึมการเข้ารหัส Rijndael ถูกนำมาใช้โดยรัฐบาลสหรัฐฯในการเข้ารหัสคีย์สมมาตรมาตรฐานหรือ Advanced Encryption Standard (AES) AES ได้รับการประกาศโดย National Institute of Standards and Technology (NIST) ให้เป็น US FIPS PUB 197 (FIPS 197) เมื่อวันที่ 26 พฤศจิกายน 2544 หลังจากกระบวนการกำหนดมาตรฐาน 5 ปีซึ่งมีการนำเสนอและประเมินการออกแบบที่แข่งขันกันถึง 15 แบบก่อนที่ Rijndael จะได้รับเลือกมากที่สุด อัลกอริทึมการเข้ารหัสที่เหมาะสม
ประสิทธิภาพของอัลกอริทึมการเข้ารหัส
มีอัลกอริทึมการเข้ารหัสจำนวนมากและทั้งหมดนี้เหมาะกับวัตถุประสงค์ที่แตกต่างกันคุณสมบัติหลักสองประการที่ระบุและแยกความแตกต่างของอัลกอริทึมการเข้ารหัสหนึ่งจากอีกขั้นคือความสามารถในการรักษาความปลอดภัยของข้อมูลที่ได้รับการป้องกันจากการโจมตีและความเร็วและประสิทธิภาพในการทำเช่นนั้น
เป็นตัวอย่างที่ดีของความแตกต่างของความเร็วระหว่างการเข้ารหัสประเภทต่างๆคุณสามารถใช้ยูทิลิตีการเปรียบเทียบที่อยู่ในวิซาร์ดการสร้างไดรฟ์ข้อมูลของ TrueCrypt อย่างที่คุณเห็น AES เป็นประเภทการเข้ารหัสที่แข็งแกร่งที่เร็วที่สุด
มีทั้งวิธีการเข้ารหัสที่ช้าลงและเร็วขึ้นและทั้งหมดนี้เหมาะสำหรับวัตถุประสงค์ที่แตกต่างกัน หากคุณเพียงแค่พยายามถอดรหัสข้อมูลชิ้นเล็ก ๆ ทุกครั้งคุณสามารถใช้การเข้ารหัสที่แข็งแกร่งที่สุดเท่าที่จะเป็นไปได้หรือแม้แต่เข้ารหัสสองครั้งด้วยการเข้ารหัสประเภทต่างๆ หากคุณต้องการความเร็วคุณอาจต้องการใช้ AES
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเปรียบเทียบการเข้ารหัสประเภทต่างๆโปรดดูรายงานจาก มหาวิทยาลัยวอชิงตันเซนต์หลุยส์ ซึ่งพวกเขาทำการทดสอบมากมายเกี่ยวกับกิจวัตรต่างๆและอธิบายทั้งหมดด้วยการเขียนที่เกินบรรยาย
ประเภทของการเข้ารหัสสมัยใหม่
อัลกอริธึมการเข้ารหัสแบบแฟนซีทั้งหมดที่เราได้พูดถึงก่อนหน้านี้ส่วนใหญ่จะใช้สำหรับการเข้ารหัสสองประเภท:
- อัลกอริธึมคีย์สมมาตร ใช้คีย์การเข้ารหัสที่เกี่ยวข้องหรือเหมือนกันสำหรับทั้งการเข้ารหัสและการถอดรหัส
- อัลกอริธึมที่สำคัญไม่สมมาตร ใช้คีย์ที่แตกต่างกันสำหรับการเข้ารหัสและถอดรหัสซึ่งโดยปกติจะเรียกว่า Public-key Cryptography
การเข้ารหัสคีย์สมมาตร
เพื่ออธิบายแนวคิดนี้เราจะใช้คำเปรียบเทียบบริการไปรษณีย์ที่อธิบายไว้ใน Wikipedia เพื่อทำความเข้าใจว่าอัลกอริธึมคีย์สมมาตรทำงานอย่างไร
อลิซใส่ข้อความลับของเธอลงในกล่องและล็อกกล่องโดยใช้แม่กุญแจที่เธอมีกุญแจ จากนั้นเธอก็ส่งกล่องให้บ็อบทางไปรษณีย์ธรรมดา เมื่อบ็อบได้รับกล่องเขาจะใช้สำเนาคีย์ของอลิซที่เหมือนกัน (ซึ่งได้รับมาก่อนหน้านี้อาจจะเป็นการประชุมแบบตัวต่อตัว) เพื่อเปิดกล่องและอ่านข้อความ จากนั้นบ็อบสามารถใช้แม่กุญแจเดียวกันเพื่อส่งคำตอบที่เป็นความลับ
อัลกอริทึมคีย์สมมาตรสามารถแบ่งออกเป็น การเข้ารหัสสตรีม และบล็อกการเข้ารหัส - การเข้ารหัสแบบสตรีมจะเข้ารหัสบิตของข้อความทีละรายการและการเข้ารหัสบล็อกจะใช้จำนวนบิตโดยมักจะอยู่ในบล็อก 64 บิตในแต่ละครั้ง มีอัลกอริทึมที่แตกต่างกันมากมายให้คุณเลือกอัลกอริทึมสมมาตรที่ได้รับความนิยมและได้รับการยอมรับมากขึ้น ได้แก่ สองครั้ง , งู , AES ( Rijndael ), ปักเป้า , แคสต์ 5 , RC4 , TDES และ ไอเดีย .
การเข้ารหัสแบบไม่สมมาตร
ในระบบกุญแจที่ไม่สมมาตร Bob และ Alice จะมีแม่กุญแจแยกกันแทนที่จะเป็นแม่กุญแจเดี่ยวที่มีหลายปุ่มจากตัวอย่างสมมาตร หมายเหตุ: แน่นอนว่านี่เป็นตัวอย่างที่เข้าใจง่ายมากว่ามันทำงานอย่างไรซึ่งซับซ้อนกว่ามาก แต่คุณจะได้รับแนวคิดทั่วไป
อันดับแรกอลิซขอให้บ็อบส่งแม่กุญแจที่เปิดอยู่ให้เธอทางไปรษณีย์ปกติโดยเก็บกุญแจไว้กับตัวเอง เมื่ออลิซได้รับเธอจะใช้มันเพื่อล็อกกล่องที่มีข้อความของเธอและส่งกล่องที่ล็อกให้บ็อบ จากนั้นบ็อบสามารถไขกล่องด้วยกุญแจและอ่านข้อความจากอลิซ ในการตอบกลับบ็อบจะต้องรับแม่กุญแจที่เปิดของอลิซในทำนองเดียวกันเพื่อล็อกกล่องก่อนที่จะส่งกลับไปให้เธอ
ข้อได้เปรียบที่สำคัญในระบบคีย์แบบไม่สมมาตรคือบ็อบและอลิซไม่จำเป็นต้องส่งสำเนาของกุญแจให้กันและกัน วิธีนี้จะป้องกันไม่ให้บุคคลที่สาม (ในตัวอย่างเช่นพนักงานไปรษณีย์ที่ทุจริต) คัดลอกคีย์ขณะที่อยู่ระหว่างการขนส่งทำให้บุคคลที่สามดังกล่าวสามารถสอดแนมข้อความในอนาคตทั้งหมดที่ส่งระหว่าง Alice และ Bob นอกจากนี้หากบ๊อบประมาทและอนุญาตให้บุคคลอื่นคัดลอก ของเขา สำคัญข้อความของอลิซที่ส่งถึงบ็อบจะถูกบุกรุก แต่ข้อความของอลิซที่ส่งถึงคนอื่น ๆ จะยังคงเป็นความลับเนื่องจากคนอื่น ๆ จะให้แม่กุญแจที่แตกต่างกันเพื่อให้อลิซใช้
การเข้ารหัสแบบอสมมาตรใช้คีย์ที่แตกต่างกันในการเข้ารหัสและถอดรหัส ผู้รับข้อความสร้างคีย์ส่วนตัวและคีย์สาธารณะ คีย์สาธารณะจะกระจายไปยังผู้ส่งข้อความและใช้คีย์สาธารณะเพื่อเข้ารหัสข้อความ ผู้รับใช้คีย์ส่วนตัวของตนที่เข้ารหัสข้อความที่เข้ารหัสโดยใช้คีย์สาธารณะของผู้รับ
มีประโยชน์หลักอย่างหนึ่งในการเข้ารหัสด้วยวิธีนี้เมื่อเทียบกับการเข้ารหัสแบบสมมาตร เราไม่จำเป็นต้องส่งความลับใด ๆ (เช่นคีย์เข้ารหัสหรือรหัสผ่าน) ผ่านช่องทางที่ไม่ปลอดภัย กุญแจสาธารณะของคุณจะเผยแพร่ไปทั่วโลกไม่ใช่ความลับและไม่จำเป็นต้องเป็น คีย์ส่วนตัวของคุณสามารถใช้งานได้อย่างสะดวกสบายบนคอมพิวเตอร์ส่วนบุคคลที่คุณสร้างขึ้นโดยไม่จำเป็นต้องส่งอีเมลไปที่ใดก็ได้หรือผู้โจมตีอ่าน
การเข้ารหัสรักษาความปลอดภัยการสื่อสารบนเว็บอย่างไร
เป็นเวลาหลายปี SSL ( Secure Sockets Layer ) โปรโตคอลได้รับการรักษาความปลอดภัยการทำธุรกรรมบนเว็บโดยใช้การเข้ารหัสระหว่างเว็บเบราว์เซอร์และเว็บเซิร์ฟเวอร์ปกป้องคุณจากใครก็ตามที่อาจแอบสอดแนมบนเครือข่ายที่อยู่ตรงกลาง
SSL นั้นมีแนวคิดที่ค่อนข้างง่าย เริ่มต้นเมื่อเบราว์เซอร์ร้องขอเพจที่ปลอดภัย (โดยปกติจะเป็น https: //)
เว็บเซิร์ฟเวอร์จะส่งคีย์สาธารณะพร้อมใบรับรอง
เบราว์เซอร์ตรวจสอบว่าใบรับรองนั้นออกโดยบุคคลที่เชื่อถือได้ (โดยปกติคือ root CA ที่เชื่อถือได้) ใบรับรองนั้นยังคงถูกต้องและใบรับรองนั้นเกี่ยวข้องกับไซต์ที่ติดต่อ
จากนั้นเบราว์เซอร์จะใช้คีย์สาธารณะเพื่อเข้ารหัสคีย์การเข้ารหัสแบบสมมาตรแบบสุ่มและส่งไปยังเซิร์ฟเวอร์ด้วย URL ที่เข้ารหัสที่ต้องการรวมทั้งข้อมูล http ที่เข้ารหัสอื่น ๆ
เว็บเซิร์ฟเวอร์จะถอดรหัสคีย์การเข้ารหัสแบบสมมาตรโดยใช้คีย์ส่วนตัวและใช้คีย์สมมาตรของเบราว์เซอร์เพื่อถอดรหัส URL และข้อมูล http
เว็บเซิร์ฟเวอร์จะส่งเอกสาร html ที่ร้องขอและข้อมูล http ที่เข้ารหัสด้วยคีย์สมมาตรของเบราว์เซอร์กลับไป เบราว์เซอร์จะถอดรหัสข้อมูล http และเอกสาร html โดยใช้คีย์สมมาตรและแสดงข้อมูล
และตอนนี้คุณสามารถทำได้อย่างปลอดภัย ซื้อสินค้าใน eBay นั้น คุณไม่ต้องการจริงๆ
คุณได้เรียนรู้อะไรไหม?
หากคุณมาไกลขนาดนี้เรากำลังสิ้นสุดการเดินทางอันยาวนานเพื่อทำความเข้าใจการเข้ารหัสและวิธีการทำงานเล็กน้อยเริ่มตั้งแต่ยุคแรกของการเข้ารหัสกับชาวกรีกและชาวโรมันการเติบโตของลูซิเฟอร์และในที่สุด SSL ใช้การเข้ารหัสแบบไม่สมมาตรและสมมาตรเพื่อช่วยให้คุณซื้อกระต่ายสีชมพูขนปุยบน eBay
เราเป็นแฟนตัวยงของการเข้ารหัสที่ How-To Geek และเราได้กล่าวถึงวิธีต่างๆมากมายในการทำสิ่งต่างๆเช่น:
- เริ่มต้นใช้งาน TrueCrypt (เพื่อรักษาความปลอดภัยข้อมูลของคุณ)
- เพิ่มการเข้ารหัสเว็บไซต์อัตโนมัติไปยัง Firefox
- BitLocker To Go เข้ารหัสแฟลชไดรฟ์แบบพกพาใน Windows 7
- วิธีการรักษาความปลอดภัยพีซี Linux ของคุณด้วยการเข้ารหัสฮาร์ดไดรฟ์ของคุณ
- เพิ่มตัวเลือกการเข้ารหัส / ถอดรหัสลงในเมนูคลิกขวาของ Windows 7 / Vista
- เริ่มต้นใช้งาน TrueCrypt Drive Encryption บน Mac OS X
แน่นอนว่าการเข้ารหัสนั้นซับซ้อนเกินกว่าที่จะอธิบายทุกอย่างได้ เราพลาดสิ่งที่สำคัญไปหรือเปล่า? อย่าลังเลที่จะให้ความรู้กับเพื่อนผู้อ่านของคุณในความคิดเห็น