อ่าน 26 นาที
การเข้ารหัสลับ
การเข้ารหัสหรือวิทยาการเข้ารหัสคือการปฏิบัติและการศึกษาเทคนิคสำหรับการสื่อสารที่ปลอดภัยเมื่อมีพฤติกรรมที่เป็นปรปักษ์โดยทั่วไปแล้ว
การเข้ารหัสลับ

การเข้ารหัสหรือวิทยาการเข้ารหัส[ 1 ]คือการปฏิบัติและการศึกษาเทคนิคสำหรับการสื่อสารที่ปลอดภัยเมื่อมีพฤติกรรมที่เป็นปรปักษ์[ 2 ]โดยทั่วไปแล้ว การเข้ารหัสหมายถึงการสร้างและวิเคราะห์โปรโตคอลที่ป้องกันไม่ให้บุคคลที่สามหรือสาธารณชนอ่านข้อความส่วนตัว[ 3 ]การเข้ารหัสสมัยใหม่เกิดขึ้นจากจุดตัดของสาขาวิชาคณิตศาสตร์วิทยาการคอมพิวเตอร์ ความปลอดภัย ของข้อมูลวิศวกรรมไฟฟ้าการประมวลผลสัญญาณดิจิทัลฟิสิกส์ และอื่นๆ[ 4 ]แนวคิดหลักที่เกี่ยวข้องกับความปลอดภัยของข้อมูล ( การรักษาความลับของข้อมูลความสมบูรณ์ของข้อมูลการตรวจสอบสิทธิ์และการไม่ปฏิเสธความ รับผิดชอบ ) ก็เป็นหัวใจสำคัญของการเข้ารหัสเช่นกัน[ 5 ]การประยุกต์ใช้การเข้ารหัสในทางปฏิบัติ ได้แก่ การ พาณิชย์อิเล็กทรอนิกส์บัตรชำระเงินแบบชิป สกุลเงินดิจิทัลรหัสผ่านคอมพิวเตอร์และ การสื่อสาร ทาง ทหาร
ก่อนยุคสมัยใหม่ การเข้ารหัสลับมีความหมายเหมือนกับการเข้ารหัสโดยแปลงข้อมูลที่อ่านได้ ( ข้อความธรรมดา ) ให้เป็นข้อความที่ไม่สามารถเข้าใจได้ (ข้อความเข้ารหัส)ซึ่งสามารถอ่านได้โดยการย้อนกระบวนการ ( การถอดรหัส ) เท่านั้น ผู้ส่งข้อความที่เข้ารหัส (เข้ารหัส) จะแบ่งปันเทคนิคการถอดรหัส (การถอดรหัส) กับผู้รับที่ตั้งใจไว้เท่านั้น เพื่อป้องกันการเข้าถึงจากฝ่ายตรงข้าม วรรณกรรมเกี่ยวกับการเข้ารหัสลับมักใช้ชื่อ "อลิซ" (หรือ "A") สำหรับผู้ส่ง "บ็อบ" (หรือ "B") สำหรับผู้รับที่ตั้งใจไว้ และ "อีฟ" (หรือ "E") สำหรับฝ่ายตรงข้ามที่ดักฟัง[ 6 ]นับตั้งแต่การพัฒนาเครื่องเข้ารหัสแบบโรเตอร์ในช่วงสงครามโลกครั้งที่ 1และการถือกำเนิดของคอมพิวเตอร์ในช่วงสงครามโลกครั้งที่ 2วิธีการเข้ารหัสลับมีความซับซ้อนมากขึ้นเรื่อยๆ และการใช้งานก็หลากหลายมากขึ้น
วิทยาการเข้ารหัสลับสมัยใหม่นั้นอาศัยทฤษฎีทางคณิตศาสตร์และการปฏิบัติทางวิทยาศาสตร์คอมพิวเตอร์ เป็นอย่างมาก อัลกอริทึม การเข้ารหัส ถูกออกแบบโดยคำนึงถึงความยากในการคำนวณทำให้ยากต่อการเจาะระบบในทางปฏิบัติจริงโดยผู้ไม่หวังดี แม้ว่าในทางทฤษฎีแล้วจะสามารถเจาะระบบที่ออกแบบมาอย่างดีได้ แต่ในทางปฏิบัติแล้วเป็นไปไม่ได้ ดังนั้น ระบบดังกล่าว หากได้รับการออกแบบมาอย่างดี จึงเรียกว่า "มีความปลอดภัยในการคำนวณ" ความก้าวหน้าทางทฤษฎี (เช่น การปรับปรุง อัลกอริทึม การแยกตัวประกอบจำนวนเต็ม ) และเทคโนโลยีการคำนวณที่เร็วขึ้น ทำให้การออกแบบเหล่านี้จำเป็นต้องได้รับการประเมินและปรับปรุงอย่างต่อเนื่องหากจำเป็น ระบบที่ มีความปลอดภัยในเชิงข้อมูลซึ่งพิสูจน์ได้ว่าไม่สามารถเจาะได้แม้จะมีพลังการคำนวณไม่จำกัด เช่น รหัสวันไทม์แพด (one-time pad ) นั้นยากต่อการใช้งานในทางปฏิบัติมากกว่าระบบที่สามารถเจาะได้ในทางทฤษฎีแต่มีความปลอดภัยในการคำนวณที่ดีที่สุด
การเติบโตของเทคโนโลยีการเข้ารหัสได้ก่อให้เกิดประเด็นทางกฎหมายหลายประการในยุคข้อมูลข่าวสาร ศักยภาพของการเข้ารหัสในการใช้เป็นเครื่องมือสำหรับการจารกรรมและการปลุกปั่นให้เกิดความไม่สงบ ทำให้รัฐบาลหลายแห่งจัดประเภทให้เป็นอาวุธและจำกัดหรือแม้กระทั่งห้ามการใช้งานและการส่งออก[ 7 ]ในบางเขตอำนาจศาลที่การใช้การเข้ารหัสถูกกฎหมาย กฎหมายอนุญาตให้ผู้สืบสวนบังคับให้เปิดเผยกุญแจการเข้ารหัสสำหรับเอกสารที่เกี่ยวข้องกับการสืบสวน[ 8 ] [ 9 ]การเข้ารหัสยังมีบทบาทสำคัญในการจัดการสิทธิ์ดิจิทัลและ ข้อพิพาทเกี่ยวกับ การละเมิดลิขสิทธิ์ที่เกี่ยวข้องกับสื่อดิจิทัล[ 10 ]
ศัพท์เฉพาะ

การใช้คำว่า "cryptograph" (ตรงข้ามกับ " cryptogram ") ครั้งแรกย้อนกลับไปในศตวรรษที่ 19 โดยมาจากเรื่องสั้น " The Gold-Bug " ของ เอ็ดการ์ อัลลัน โพ[ 11 ] [ 12 ]รากศัพท์ของคำนี้มาจากภาษากรีกโดยประกอบด้วยสองส่วนคือ "crypton" (ซ่อนอยู่) และ "grapho" (เขียน)
จนกระทั่งถึงยุคสมัยใหม่ การเข้ารหัสลับหมายถึง "การเข้ารหัส" เกือบทั้งหมด ซึ่งเป็นกระบวนการแปลงข้อมูลธรรมดา (เรียกว่าข้อความธรรมดา ) ให้เป็นรูปแบบที่ไม่สามารถเข้าใจได้ (เรียกว่าข้อความเข้ารหัส ) [ 13 ]การถอดรหัสเป็นการย้อนกลับ กล่าวคือ การเปลี่ยนจากข้อความเข้ารหัสที่ไม่สามารถเข้าใจได้กลับไปเป็นข้อความธรรมดารหัส (หรือไซเฟอร์) คือคู่ของอัลกอริทึมที่ดำเนินการเข้ารหัสและการถอดรหัสแบบย้อนกลับ การทำงานโดยละเอียดของรหัสถูกควบคุมทั้งโดยอัลกอริทึมและในแต่ละกรณีโดย "กุญแจ" กุญแจเป็นความลับ (โดยอุดมคติแล้วมีเพียงผู้สื่อสารเท่านั้นที่รู้) โดยปกติจะเป็นสตริงของอักขระ (โดยอุดมคติแล้วสั้นเพื่อให้ผู้ใช้สามารถจำได้) ซึ่งจำเป็นสำหรับการถอดรหัสข้อความเข้ารหัส ในทางคณิตศาสตร์อย่างเป็นทางการ " ระบบการเข้ารหัส " คือรายการเรียงลำดับขององค์ประกอบข้อความธรรมดาที่เป็นไปได้จำนวนจำกัด ข้อความเข้ารหัสที่เป็นไปได้จำนวนจำกัด กุญแจที่เป็นไปได้จำนวนจำกัด และอัลกอริทึมการเข้ารหัสและการถอดรหัสที่สอดคล้องกับแต่ละกุญแจ กุญแจมีความสำคัญทั้งในเชิงรูปแบบและในทางปฏิบัติจริง เนื่องจากรหัสลับที่ไม่มีกุญแจแปรผันสามารถถอดรหัสได้อย่างง่ายดายเพียงแค่รู้รหัสที่ใช้ และจึงไร้ประโยชน์ (หรืออาจส่งผลเสีย) สำหรับวัตถุประสงค์ส่วนใหญ่ ในอดีต รหัสลับมักถูกใช้โดยตรงสำหรับการเข้ารหัสหรือถอดรหัสโดยไม่มีขั้นตอนเพิ่มเติม เช่น การ ตรวจ สอบความถูกต้องหรือการตรวจสอบความสมบูรณ์
ระบบการเข้ารหัสมีสองประเภทหลัก ได้แก่แบบสมมาตรและแบบไม่สมมาตรในระบบสมมาตร ซึ่งเป็นระบบเดียวที่รู้จักจนถึงช่วงทศวรรษ 1970 กุญแจลับเดียวกันจะใช้ในการเข้ารหัสและถอดรหัสข้อความ การจัดการข้อมูลในระบบสมมาตรนั้นเร็วกว่าในระบบแบบไม่สมมาตรอย่างมาก ระบบแบบไม่สมมาตรใช้ "กุญแจสาธารณะ" ในการเข้ารหัสข้อความและ "กุญแจส่วนตัว" ที่เกี่ยวข้องในการถอดรหัส ข้อดีของระบบแบบไม่สมมาตรคือ กุญแจสาธารณะสามารถเผยแพร่ได้อย่างอิสระ ทำให้ฝ่ายต่างๆ สามารถสร้างการสื่อสารที่ปลอดภัยได้โดยไม่ต้องมีกุญแจลับร่วมกัน ในทางปฏิบัติ ระบบแบบไม่สมมาตรจะใช้ในการแลกเปลี่ยนกุญแจลับก่อน จากนั้นการสื่อสารที่ปลอดภัยจะดำเนินต่อไปผ่านระบบสมมาตรที่มีประสิทธิภาพมากกว่าโดยใช้กุญแจนั้น[ 14 ]ตัวอย่างของระบบแบบไม่สมมาตร ได้แก่การแลกเปลี่ยนกุญแจ Diffie–Hellman , RSA ( Rivest–Shamir–Adleman ), ECC ( Elliptic Curve Cryptography ) และการเข้ารหัสหลังควอนตัม อัลกอริทึมสมมาตรที่ปลอดภัย ได้แก่ AES ( Advanced Encryption Standard ) ที่ใช้กันทั่วไป ซึ่งเข้ามาแทนที่ DES ( Data Encryption Standard ) รุ่นเก่า [ 15 ]อัลกอริทึมสมมาตรที่ไม่ปลอดภัย ได้แก่ รูปแบบการเข้ารหัสแบบภาษาเด็ก เช่นPig Latinหรือภาษาเฉพาะกลุ่ม อื่นๆ และรูปแบบการเข้ารหัสลับในอดีตทั้งหมด ไม่ว่าจะตั้งใจจริงจังแค่ไหนก็ตาม ก่อนการคิดค้นแผ่นรหัสแบบใช้ครั้งเดียวในช่วงต้นศตวรรษที่ 20
ใน ภาษา พูดทั่วไปคำว่า " รหัส " มักหมายถึงวิธีการเข้ารหัสหรือปกปิดความหมายใดๆ ก็ตาม อย่างไรก็ตาม ในวิทยาการเข้ารหัสลับ รหัสมีความหมายที่เฉพาะเจาะจงกว่านั้น คือ การแทนที่หน่วยของข้อความต้นฉบับ (เช่น คำหรือวลีที่มีความหมาย) ด้วยคำรหัส (ตัวอย่างเช่น "wallaby" แทนที่ "attack at dawn") ในทางตรงกันข้าม รหัสลับ คือ วิธีการเปลี่ยนแปลงหรือแทนที่องค์ประกอบที่อยู่ต่ำกว่าระดับดังกล่าว (ตัวอักษร พยางค์ หรือคู่ตัวอักษร เป็นต้น) เพื่อสร้างข้อความที่เข้ารหัสแล้ว
การวิเคราะห์รหัสลับ (Cryptanalysis)คือคำที่ใช้เรียกการศึกษาเกี่ยวกับวิธีการถอดรหัสข้อมูลที่ถูกเข้ารหัสโดยไม่ต้องใช้กุญแจที่ปกติแล้วจำเป็นต้องใช้ในการถอดรหัส กล่าวคือ เป็นการศึกษาถึงวิธีการ "ถอดรหัส" อัลกอริทึมการเข้ารหัสหรือการใช้งานของอัลกอริทึมเหล่านั้น
บางคนใช้คำว่า "cryptography" และ "cryptology" สลับกันไปมาในภาษาอังกฤษ[ 16 ]ในขณะที่คนอื่นๆ (รวมถึงการปฏิบัติทางการทหารของสหรัฐฯ โดยทั่วไป) ใช้คำว่า "cryptography" เพื่ออ้างถึงการใช้และการปฏิบัติเทคนิคการเข้ารหัสโดยเฉพาะ และใช้คำว่า "cryptology" เพื่ออ้างถึงการศึกษาการเข้ารหัสและการวิเคราะห์การเข้ารหัสแบบผสมผสาน[ 17 ] [ 18 ]ภาษาอังกฤษมีความยืดหยุ่นมากกว่าภาษาอื่นๆ หลายภาษา ซึ่งคำว่า "cryptology" (ที่ดำเนินการโดยนักเข้ารหัส) มักใช้ในความหมายที่สองข้างต้นเสมอRFC 2828แนะนำว่า บางครั้ง การซ่อนข้อมูล (steganography)ก็รวมอยู่ในการเข้ารหัสด้วย[ 19 ]
การศึกษาลักษณะเฉพาะของภาษาที่มีการประยุกต์ใช้ในด้านการเข้ารหัสหรือการเข้ารหัสลับ (เช่น ข้อมูลความถี่ การรวมตัวอักษร รูปแบบสากล ฯลฯ) เรียกว่าภาษาศาสตร์การเข้ารหัส ภาษาศาสตร์การเข้ารหัสถูกนำมาใช้โดยเฉพาะอย่างยิ่งในงานข่าวกรองทางทหารเพื่อถอดรหัสการสื่อสารจากต่างประเทศ[ 20 ] [ 21 ]
ประวัติศาสตร์
ก่อนยุคสมัยใหม่ การเข้ารหัสลับมุ่งเน้นไปที่การรักษาความลับของข้อความ (เช่น การเข้ารหัส) ซึ่งเป็นการแปลงข้อความจากรูปแบบที่เข้าใจได้ไปเป็นรูปแบบที่เข้าใจไม่ได้ และแปลงกลับมาเป็นรูปแบบที่เข้าใจได้อีกครั้ง ทำให้ผู้ดักฟังหรือผู้แอบฟัง ไม่สามารถอ่านข้อความได้ โดยปราศจากความรู้ลับ (กล่าวคือ กุญแจที่จำเป็นสำหรับการถอดรหัสข้อความนั้น) การเข้ารหัสพยายามที่จะรับประกันความลับในการสื่อสาร เช่น การสื่อสารของสายลับผู้นำทางทหาร และนักการทูต ในช่วงไม่กี่ทศวรรษที่ผ่านมา สาขานี้ได้ขยายขอบเขตออกไปนอกเหนือจากความกังวลเรื่องความลับ โดยรวมถึงเทคนิคสำหรับการตรวจสอบความสมบูรณ์ของข้อความ การตรวจสอบตัวตนของผู้ส่ง/ผู้รับลายเซ็นดิจิทัลการพิสูจน์แบบโต้ตอบและการคำนวณที่ปลอดภัยเป็นต้น
การเข้ารหัสแบบคลาสสิก

รหัสลับแบบคลาสสิกหลักๆ ได้แก่รหัสสลับตำแหน่งซึ่งจัดเรียงลำดับตัวอักษรในข้อความใหม่ (เช่น 'hello world' กลายเป็น 'ehlol owrdl' ในแผนการจัดเรียงใหม่ที่ง่ายมาก) และรหัสแทนที่ซึ่งแทนที่ตัวอักษรหรือกลุ่มตัวอักษรด้วยตัวอักษรหรือกลุ่มตัวอักษรอื่นๆ อย่างเป็นระบบ (เช่น 'fly at once' กลายเป็น 'gmz bu podf' โดยการแทนที่ตัวอักษรแต่ละตัวด้วยตัวอักษรที่ตามมาในอักษรละติน ) [ 22 ]เวอร์ชันง่ายๆ ของทั้งสองแบบนี้ไม่เคยให้ความลับมากนักจากฝ่ายตรงข้ามที่ฉลาดแกมโกง รหัสแทนที่ในยุคแรกๆ คือ รหัสซีซาร์ซึ่งตัวอักษรแต่ละตัวในข้อความต้นฉบับจะถูกแทนที่ด้วยตัวอักษรที่อยู่ห่างออกไปสามตำแหน่งในอักษร[ 23 ]ซูเอโตนิอุสรายงานว่าจูเลียส ซีซาร์ใช้รหัสนี้โดยเลื่อนไปสามตำแหน่งเพื่อสื่อสารกับแม่ทัพของเขาอัตบาชเป็นตัวอย่างของรหัสฮีบรูในยุคแรกๆ การใช้การเข้ารหัสที่เก่าแก่ที่สุดเท่าที่ทราบคือการแกะสลักข้อความเข้ารหัสลงบนหินในอียิปต์ ( ประมาณ 1900 ปีก่อนคริสตกาล ) แต่การกระทำนี้อาจทำขึ้นเพื่อความบันเทิงของผู้สังเกตการณ์ที่อ่านออกเขียนได้มากกว่าที่จะเป็นวิธีการปกปิดข้อมูล
กล่าวกันว่าชาว กรีกในสมัยคลาสสิกนั้นรู้จักรหัสลับ (เช่น รหัสสลับตำแหน่ง สคิทาเล ซึ่งอ้างว่ากองทัพ สปาร์ตาใช้) [ 24 ]สเตกาโนกราฟี (เช่น การซ่อนแม้กระทั่งการมีอยู่ของข้อความเพื่อให้เป็นความลับ) ก็ได้รับการพัฒนาขึ้นครั้งแรกในสมัยโบราณเช่นกัน ตัวอย่างแรกๆ จากเฮโรโดตัสคือ ข้อความที่สักไว้บนศีรษะที่โกนของทาสและซ่อนไว้ใต้ผมที่งอกใหม่[ 13 ]วิธีการสเตกาโนกราฟีอื่นๆ เกี่ยวข้องกับการ 'ซ่อนไว้ในที่ที่มองเห็นได้' เช่น การใช้รหัสดนตรีเพื่อปลอมข้อความที่เข้ารหัสไว้ในโน้ตเพลงทั่วไป ตัวอย่างสเตกาโนกราฟีที่ทันสมัยกว่า ได้แก่ การใช้หมึกที่มองไม่เห็นไมโครดอทและลายน้ำดิจิทัลเพื่อปกปิดข้อมูล
ในอินเดีย คัมภีร์กามสูตรของVātsyāyanaซึ่งมีอายุ 2,000 ปีกล่าวถึงรหัสสองประเภทที่แตกต่างกัน เรียกว่า Kautiliyam และ Mulavediya ใน Kautiliyam การแทนที่ตัวอักษรรหัสจะขึ้นอยู่กับความสัมพันธ์ทางเสียง เช่น สระกลายเป็นพยัญชนะ ใน Mulavediya อักษรรหัสประกอบด้วยการจับคู่ตัวอักษรและการใช้ตัวอักษรที่กลับกัน[ 13 ]
ในเปอร์เซียสมัยซาสซานิดมีอักษรลับสองแบบ ตามที่นักเขียนมุสลิมอิบนุ อัล-นาดิม กล่าวไว้ คือšāh-dabīrīya (แปลตรงตัวว่า "อักษรของกษัตริย์") ซึ่งใช้สำหรับการติดต่อราชการ และrāz-saharīyaซึ่งใช้ในการสื่อสารข้อความลับกับประเทศอื่น ๆ[ 25 ]
เดวิด คาห์นกล่าวไว้ในหนังสือ The Codebreakersว่าการเข้ารหัสสมัยใหม่มีต้นกำเนิดมาจากชาวอาหรับซึ่งเป็นชนชาติแรกที่บันทึกวิธีการวิเคราะห์การเข้ารหัสอย่างเป็นระบบ[ 26 ]อัล-คาลิล (717–786) ได้เขียนหนังสือข้อความการเข้ารหัสซึ่งมีการใช้การเรียงสับเปลี่ยนและการจัดหมู่เป็น ครั้งแรก เพื่อแสดงรายการคำภาษาอาหรับที่เป็นไปได้ทั้งหมดทั้งที่มีและไม่มีสระ[ 27 ]

ข้อความเข้ารหัสที่สร้างขึ้นโดยการเข้ารหัสแบบคลาสสิก (และการเข้ารหัสสมัยใหม่บางแบบ) จะเปิดเผยข้อมูลทางสถิติเกี่ยวกับข้อความต้นฉบับ และข้อมูลนั้นมักจะใช้ในการถอดรหัสได้ หลังจากการค้นพบการวิเคราะห์ความถี่ การเข้ารหัสแบบนี้เกือบทั้งหมดสามารถถูกถอดรหัสได้โดยผู้โจมตีที่มีความรู้[ 28 ]การเข้ารหัสแบบคลาสสิกเหล่านี้ยังคงได้รับความนิยมในปัจจุบัน แม้ว่าส่วนใหญ่จะเป็นปริศนา (ดูcryptogram ) นักคณิตศาสตร์และนักปราชญ์ ชาวอาหรับ อัล-คินดี ได้เขียนหนังสือเกี่ยวกับการเข้ารหัสชื่อRisalah fi Istikhraj al-Mu'amma ( ต้นฉบับสำหรับการถอดรหัสข้อความเข้ารหัส ) ซึ่งอธิบายถึงการใช้เทคนิคการวิเคราะห์ความถี่ในการวิเคราะห์การเข้ารหัสเป็นครั้งแรก[ 29 ] [ 30 ]


ความถี่ของตัวอักษรในภาษาอาจช่วยได้เพียงเล็กน้อยสำหรับเทคนิคการเข้ารหัสแบบเก่าบางอย่าง เช่นการเข้ารหัสแบบโฮโมโฟนิกซึ่งมักทำให้การกระจายความถี่ราบเรียบลง สำหรับการเข้ารหัสเหล่านั้น ความถี่ของกลุ่มตัวอักษรในภาษา (หรือ n-gram) อาจเป็นช่องทางในการโจมตีได้
โดยพื้นฐานแล้ว รหัสลับทั้งหมดยังคงอ่อนแอต่อการวิเคราะห์รหัสโดยใช้เทคนิคการวิเคราะห์ความถี่ จนกระทั่งมีการพัฒนารหัสหลายตัวอักษรซึ่งเห็นได้ชัดเจนที่สุดโดยLeon Battista Albertiในช่วงประมาณปี 1467 แม้ว่าจะมีข้อบ่งชี้บางอย่างว่า Al-Kindi รู้จักรหัสนี้มาก่อนแล้วก็ตาม[ 30 ]นวัตกรรมของ Alberti คือการใช้รหัสที่แตกต่างกัน (เช่น ตัวอักษรทดแทน) สำหรับส่วนต่างๆ ของข้อความ (อาจจะเป็นสำหรับตัวอักษรข้อความธรรมดาแต่ละตัวที่ต่อเนื่องกันจนถึงขีดจำกัด) เขายังคิดค้นสิ่งที่น่าจะเป็นอุปกรณ์เข้ารหัส อัตโนมัติเครื่องแรก นั่นคือล้อที่นำสิ่งประดิษฐ์ของเขามาใช้บางส่วน ในรหัส Vigenèreซึ่งเป็นรหัสหลายตัวอักษรการเข้ารหัสใช้คำหลักซึ่งควบคุมการแทนที่ตัวอักษรขึ้นอยู่กับว่าใช้ตัวอักษรใดของคำหลัก ในช่วงกลางศตวรรษที่ 19 Charles Babbageแสดงให้เห็นว่ารหัส Vigenère อ่อนแอต่อการตรวจสอบของ Kasiskiแต่สิ่งนี้ได้รับการตีพิมพ์ครั้งแรกประมาณสิบปีต่อมาโดยFriedrich Kasiski [ 31 ]
แม้ว่าการวิเคราะห์ความถี่จะเป็นเทคนิคที่มีประสิทธิภาพและใช้ได้ผลดีกับรหัสลับหลายแบบ แต่การเข้ารหัสก็ยังคงมีประสิทธิภาพในทางปฏิบัติอยู่ดี เนื่องจากผู้ที่พยายามถอดรหัสหลายคนไม่รู้จักเทคนิคนี้ การถอดรหัสข้อความโดยไม่ใช้การวิเคราะห์ความถี่จำเป็นต้องมีความรู้เกี่ยวกับรหัสลับที่ใช้ และอาจรวมถึงกุญแจที่เกี่ยวข้องด้วย ทำให้การจารกรรม การติดสินบน การลักทรัพย์ การแปรพักตร์ ฯลฯ เป็นวิธีการที่น่าสนใจมากขึ้นสำหรับผู้ที่ไม่รู้เรื่องการถอดรหัส ในที่สุดในศตวรรษที่ 19 ก็มีการยอมรับอย่างชัดเจนว่าการรักษาความลับของอัลกอริทึมการเข้ารหัสไม่ใช่มาตรการรักษาความปลอดภัยของข้อความที่สมเหตุสมผลหรือใช้ได้จริง อันที่จริงแล้ว ยังมีการตระหนักเพิ่มเติมว่าแผนการเข้ารหัสใดๆ ที่เหมาะสม (รวมถึงรหัสลับ) ควรจะยังคงปลอดภัยแม้ว่าฝ่ายตรงข้ามจะเข้าใจอัลกอริทึมการเข้ารหัสอย่างถ่องแท้ก็ตาม ความปลอดภัยของกุญแจที่ใช้เพียงอย่างเดียวก็เพียงพอแล้วสำหรับรหัสลับที่ดีที่จะรักษาความลับไว้ได้ภายใต้การโจมตี หลักการพื้นฐานนี้ได้รับการกล่าวถึงอย่างชัดเจนเป็นครั้งแรกในปี ค.ศ. 1883 โดยออกุสต์ เคอร์คฮอฟฟ์และโดยทั่วไปเรียกว่าหลักการของเคอร์คฮอฟฟ์ หรืออีกนัยหนึ่งและตรงไปตรงมามากกว่านั้น คือได้รับการกล่าวซ้ำโดยโคลด แชนนอนผู้คิดค้นทฤษฎีสารสนเทศและพื้นฐานของการเข้ารหัสเชิงทฤษฎี ในชื่อหลักการของแชนนอน — 'ศัตรูรู้ระบบ'
มีการใช้อุปกรณ์และเครื่องมือทางกายภาพต่างๆ เพื่อช่วยในการเข้ารหัส หนึ่งในอุปกรณ์ที่เก่าแก่ที่สุดอาจเป็นสคิทาเล (scytale) ของกรีกโบราณ ซึ่งเป็นแท่งที่เชื่อกันว่าชาวสปาร์ตาใช้เป็นเครื่องมือช่วยในการเข้ารหัสแบบสลับตำแหน่ง ในยุคกลาง มีการประดิษฐ์เครื่องมือช่วยอื่นๆ เช่นตะแกรงเข้ารหัส (cipher grille ) ซึ่งใช้สำหรับการเข้ารหัสแบบซ่อนข้อมูล (steganography) ชนิดหนึ่ง เมื่อมีการคิดค้นรหัสแบบหลายตัวอักษร (polyalphabetic ciphers) ก็มีเครื่องมือช่วยที่ซับซ้อนมากขึ้น เช่นดิสก์เข้ารหัส ของอัลเบอร์ติ (Alberti) แผนผังแท็บลา เรคตา ( tabula recta ) ของโยฮันเนส ทริเทมิอุส ( Johannes Trithemius) และรหัสวงล้อของ โทมัส เจฟเฟอร์สัน ( Thomas Jefferson ) (ซึ่งไม่เป็นที่รู้จักในวงกว้าง และถูกคิดค้นขึ้นใหม่โดยอิสระโดยบาเซรีส์ (Bazeries ) ประมาณปี 1900) อุปกรณ์เข้ารหัส/ถอดรหัสเชิงกลจำนวนมากถูกประดิษฐ์ขึ้นในช่วงต้นศตวรรษที่ 20 และมีการจดสิทธิบัตรหลายชิ้น รวมถึง เครื่องจักรแบบโรเตอร์ซึ่งมีชื่อเสียงโด่งดัง ได้แก่เครื่องเอนิกมา (Enigma)ที่รัฐบาลและกองทัพเยอรมันใช้ตั้งแต่ปลายทศวรรษ 1920 และในช่วงสงครามโลกครั้งที่สอง[ 32 ]รหัสลับที่นำมาใช้โดยตัวอย่างการออกแบบเครื่องจักรที่มีคุณภาพดีกว่าเหล่านี้ทำให้ความยากในการวิเคราะห์รหัสเพิ่มขึ้นอย่างมากหลังสงครามโลกครั้งที่ 1 [ 33 ]
การเข้ารหัสลับในยุคคอมพิวเตอร์ยุคแรก
การถอดรหัสอุปกรณ์เข้ารหัสเชิงกลแบบใหม่พิสูจน์แล้วว่าทั้งยากและใช้เวลานาน ในสหราชอาณาจักร ความพยายามในการถอดรหัสที่เบล็ตช์ลีย์พาร์คในช่วงสงครามโลกครั้งที่สองกระตุ้นให้เกิดการพัฒนาวิธีการที่มีประสิทธิภาพมากขึ้นสำหรับการทำงานซ้ำๆ เช่นการถอดรหัสลับทางทหาร (การถอดรหัส)ซึ่งนำไปสู่การพัฒนาColossus คอมพิวเตอร์ ดิจิทัลแบบอิเล็กทรอนิกส์เต็มรูปแบบเครื่องแรกของโลกที่สามารถตั้งโปรแกรมได้ซึ่งช่วยในการถอดรหัสที่สร้างขึ้นโดยเครื่อง Lorenz SZ40/42 ของกองทัพเยอรมัน
การวิจัยเชิงวิชาการแบบเปิดกว้างเกี่ยวกับการเข้ารหัสลับนั้นค่อนข้างใหม่ เริ่มต้นในช่วงกลางทศวรรษ 1970 ในช่วงต้นทศวรรษ 1970 บุคลากร ของ IBMได้ออกแบบอัลกอริธึมมาตรฐานการเข้ารหัสข้อมูล (DES) ซึ่งกลายเป็นมาตรฐานการเข้ารหัสลับของรัฐบาลกลางแห่งแรกในสหรัฐอเมริกา[ 34 ]ในปี 1976 Whitfield DiffieและMartin Hellmanได้ตีพิมพ์อัลกอริธึมการแลกเปลี่ยนคีย์ Diffie–Hellman [ 35 ]ในปี 1977 อัลกอริธึม RSAได้รับการตีพิมพ์ในคอลัมน์Scientific AmericanของMartin Gardner [ 36 ]ตั้งแต่นั้นมา การเข้ารหัสลับได้กลายเป็นเครื่องมือที่ใช้กันอย่างแพร่หลายในการสื่อสารเครือข่ายคอมพิวเตอร์และความปลอดภัยของคอมพิวเตอร์โดยทั่วไป
เทคนิคการเข้ารหัสลับสมัยใหม่บางอย่างสามารถเก็บกุญแจลับไว้ได้ก็ต่อเมื่อปัญหาทางคณิตศาสตร์บางอย่างไม่สามารถแก้ไขได้เช่นการแยกตัวประกอบจำนวนเต็มหรือ ปัญหา ลอการิทึมแบบไม่ต่อเนื่องดังนั้นจึงมีความเชื่อมโยงอย่างลึกซึ้งกับคณิตศาสตร์นามธรรมมีระบบการเข้ารหัสลับเพียงไม่กี่ระบบเท่านั้นที่ได้รับการพิสูจน์แล้วว่าปลอดภัยอย่างไม่มีเงื่อนไขOne-Time Padเป็นหนึ่งในนั้น และได้รับการพิสูจน์โดย Claude Shannon มีอัลกอริทึมที่สำคัญบางตัวที่ได้รับการพิสูจน์แล้วว่าปลอดภัยภายใต้สมมติฐานบางประการ ตัวอย่างเช่น ความเป็นไปไม่ได้ของการแยกตัวประกอบจำนวนเต็มขนาดใหญ่มากเป็นพื้นฐานที่ทำให้เชื่อว่า RSA ปลอดภัย และระบบอื่นๆ บางระบบ แต่ถึงกระนั้นก็ยังไม่สามารถพิสูจน์ได้ว่าไม่สามารถถอดรหัสได้ เนื่องจากปัญหาทางคณิตศาสตร์พื้นฐานยังคงเปิดอยู่ ในทางปฏิบัติ ระบบเหล่านี้ถูกใช้กันอย่างแพร่หลาย และผู้สังเกตการณ์ที่มีความสามารถส่วนใหญ่เชื่อว่าไม่สามารถถอดรหัสได้ในทางปฏิบัติ มีระบบที่คล้ายกับ RSA เช่น ระบบของMichael O. Rabinที่พิสูจน์ได้ว่าปลอดภัยหากการแยกตัวประกอบn = pqเป็นไปไม่ได้ ซึ่งใช้งานไม่ได้จริงในทางปฏิบัติปัญหาลอการิทึมแบบไม่ต่อเนื่องเป็นพื้นฐานสำหรับการเชื่อว่าระบบการเข้ารหัสอื่นๆ บางระบบมีความปลอดภัย และอีกครั้ง มีระบบที่เกี่ยวข้องซึ่งใช้งานได้จริงน้อยกว่าซึ่งมีความปลอดภัยที่พิสูจน์ได้เมื่อเทียบกับปัญหาลอการิทึมแบบไม่ต่อเนื่องที่สามารถแก้ได้หรือไม่สามารถแก้ได้[ 37 ]
นอกจากจะต้องตระหนักถึงประวัติศาสตร์การเข้ารหัสแล้ว นักออกแบบ อัลกอริธึมและระบบการเข้ารหัสยังต้องพิจารณาถึงการพัฒนาในอนาคตที่อาจเกิดขึ้นได้ในขณะที่ทำการออกแบบด้วย ตัวอย่างเช่น การพัฒนาอย่างต่อเนื่องของพลังการประมวลผลของคอมพิวเตอร์ได้เพิ่มขอบเขตของการโจมตีแบบเดาสุ่มดังนั้นเมื่อระบุความยาวของคีย์ความยาวของคีย์ที่ต้องการจึงเพิ่มขึ้นตามไปด้วย[ 38 ]ผลกระทบที่อาจเกิดขึ้นจากการคำนวณควอนตัมกำลังได้รับการพิจารณาโดยนักออกแบบระบบการเข้ารหัสบางรายที่กำลังพัฒนาการเข้ารหัสหลังควอนตัม ความใกล้เข้ามาของการนำเครื่องจักรเหล่านี้ไปใช้ในขนาดเล็กอาจทำให้ความจำเป็นในการระมัดระวังล่วงหน้าเป็นมากกว่าการคาดเดาเพียงอย่างเดียว[ 5 ]
การเข้ารหัสสมัยใหม่
บทความสองฉบับของClaude Shannon ได้แก่ บทความเกี่ยวกับทฤษฎีสารสนเทศ ในปี 1948 และโดยเฉพาะอย่างยิ่งบทความเกี่ยวกับการเข้ารหัสลับในปี 1949 ได้วางรากฐานของการเข้ารหัสลับสมัยใหม่และเป็นพื้นฐานทางคณิตศาสตร์สำหรับการเข้ารหัสลับในอนาคต[ 39 ] [ 40 ]บทความของเขาในปี 1949 ได้รับการกล่าวถึงว่าเป็น "พื้นฐานทางทฤษฎีที่มั่นคงสำหรับการเข้ารหัสลับและการวิเคราะห์การเข้ารหัสลับ" [ 41 ]และได้เปลี่ยนการเข้ารหัสลับจาก "ศิลปะเป็นวิทยาศาสตร์" [ 42 ]จากผลงานและการมีส่วนร่วมของเขา เขาจึงได้รับการยกย่องว่าเป็น "บิดาผู้ก่อตั้งการเข้ารหัสลับสมัยใหม่" [ 43 ]
ก่อนต้นศตวรรษที่ 20 การเข้ารหัสส่วนใหญ่เกี่ยวข้องกับ รูปแบบ ทางภาษาและพจนานุกรมนับตั้งแต่นั้นมา การเข้ารหัสได้ขยายขอบเขตออกไป และปัจจุบันมีการใช้สาขาย่อยทางคณิตศาสตร์อย่างกว้างขวาง รวมถึงทฤษฎีสารสนเทศความซับซ้อนของการคำนวณ สถิติ การจัดเรียงพีชคณิตนามธรรมทฤษฎีจำนวนและคณิตศาสตร์จำกัด[ 44 ]การเข้ารหัสยังเป็นสาขาหนึ่งของวิศวกรรม แต่เป็นสาขาที่ผิดปกติ เนื่องจากเกี่ยวข้องกับการต่อต้านที่กระตือรือร้น ชาญฉลาด และเป็นอันตราย วิศวกรรมประเภทอื่น ๆ (เช่น วิศวกรรมโยธาหรือวิศวกรรมเคมี) จำเป็นต้องจัดการกับแรงธรรมชาติที่เป็นกลางเท่านั้น นอกจากนี้ยังมีการวิจัยอย่างจริงจังเกี่ยวกับความสัมพันธ์ระหว่างปัญหาการเข้ารหัสและฟิสิกส์ควอนตัม
เช่นเดียวกับการพัฒนาคอมพิวเตอร์ดิจิทัลและอิเล็กทรอนิกส์ที่ช่วยในการถอดรหัส มันยังทำให้สามารถสร้างรหัสที่ซับซ้อนมากขึ้นได้ ยิ่งไปกว่านั้น คอมพิวเตอร์ยังช่วยให้สามารถเข้ารหัสข้อมูลทุกประเภทที่สามารถแสดงในรูปแบบไบนารีได้ ซึ่งแตกต่างจากรหัสแบบดั้งเดิมที่เข้ารหัสเฉพาะข้อความที่เป็นภาษาเขียนเท่านั้น นี่เป็นสิ่งใหม่และสำคัญมาก ดังนั้น การใช้คอมพิวเตอร์จึงเข้ามาแทนที่การเข้ารหัสทางภาษา ทั้งในด้านการออกแบบรหัสและการถอดรหัส รหัสคอมพิวเตอร์จำนวนมากสามารถจำแนกได้จากการทำงานกับ ลำดับ บิตไบนารี (บางครั้งเป็นกลุ่มหรือบล็อก) ซึ่งแตกต่างจากวิธีการแบบดั้งเดิมและเชิงกลที่โดยทั่วไปจะจัดการกับอักขระแบบดั้งเดิม (เช่น ตัวอักษรและตัวเลข) โดยตรง อย่างไรก็ตาม คอมพิวเตอร์ยังช่วยในการถอดรหัส ซึ่งชดเชยความซับซ้อนของรหัสที่เพิ่มขึ้นได้ในระดับหนึ่ง ถึงกระนั้น รหัสสมัยใหม่ที่ดีก็ยังคงล้ำหน้าการถอดรหัสอยู่ดี โดยทั่วไปแล้ว การใช้รหัสลับคุณภาพสูงนั้นมีประสิทธิภาพสูง (เช่น รวดเร็วและใช้ทรัพยากรน้อย เช่น หน่วยความจำหรือความสามารถของ CPU) ในขณะที่การถอดรหัสต้องใช้ความพยายามมากกว่าหลายเท่าตัว และมากกว่าที่จำเป็นสำหรับรหัสลับแบบคลาสสิกใดๆ อย่างมหาศาล ทำให้การวิเคราะห์รหัสลับนั้นไม่มีประสิทธิภาพและไม่สามารถนำไปใช้ได้จริงจนแทบเป็นไปไม่ได้
การวิจัยเกี่ยวกับการเข้ารหัสลับหลังควอนตัม (PQC) ได้ทวีความรุนแรงขึ้นเนื่องจากคอมพิวเตอร์ควอนตัมที่ใช้งานได้จริงจะทำลายระบบกุญแจสาธารณะที่ใช้กันอย่างแพร่หลาย เช่น RSA, Diffie–Hellman และ ECC บทความทบทวนในปี 2017 ในNatureได้สำรวจตระกูล PQC ชั้นนำ ได้แก่ แบบแลตติส แบบรหัส แบบกำลังสองหลายตัวแปร และแบบแฮช และเน้นย้ำว่าการกำหนดมาตรฐานและการใช้งานควรดำเนินการให้เสร็จก่อนที่เครื่องควอนตัมขนาดใหญ่จะพร้อมใช้งาน[ 45 ]
การเข้ารหัสแบบกุญแจสมมาตร

การเข้ารหัสแบบสมมาตรหมายถึงวิธีการเข้ารหัสที่ทั้งผู้ส่งและผู้รับใช้กุญแจเดียวกัน (หรือในกรณีที่พบน้อยกว่า คือกุญแจของทั้งสองฝ่ายแตกต่างกัน แต่มีความสัมพันธ์กันในลักษณะที่คำนวณได้ง่าย) นี่เป็นการเข้ารหัสเพียงประเภทเดียวที่เป็นที่รู้จักในวงกว้างจนถึงเดือนมิถุนายน พ.ศ. 2519 [ 35 ]

การเข้ารหัสแบบกุญแจสมมาตรนั้นสามารถนำไปใช้ได้ทั้งในรูปแบบการเข้ารหัสแบบบล็อกหรือการเข้ารหัสแบบสตรีมการเข้ารหัสแบบบล็อกจะเข้ารหัสข้อมูลป้อนเข้าเป็นบล็อกของข้อความธรรมดา แทนที่จะเป็นอักขระแต่ละตัว ซึ่งเป็นรูปแบบการป้อนข้อมูลที่ใช้โดยการเข้ารหัสแบบสตรีม
มาตรฐานการเข้ารหัสข้อมูล (DES) และมาตรฐานการเข้ารหัสขั้นสูง (AES) เป็นการออกแบบการเข้ารหัสแบบบล็อกที่ได้รับการกำหนดให้เป็นมาตรฐานการเข้ารหัสโดยรัฐบาลสหรัฐฯ (แม้ว่าการกำหนด DES จะถูกถอนออกในที่สุดหลังจากที่ AES ได้รับการยอมรับ) [ 46 ] แม้ว่าจะถูกยกเลิกในฐานะมาตรฐานอย่างเป็นทางการ แต่ DES (โดยเฉพาะอย่างยิ่งเวอร์ชัน triple-DESที่ยังคงได้รับการอนุมัติและมีความปลอดภัยมากกว่า) ยังคงได้รับความนิยมอย่างมาก มีการใช้งานในแอปพลิเคชันที่หลากหลาย ตั้งแต่การเข้ารหัส ATM [ 47 ]ไปจนถึงความเป็นส่วนตัวของอีเมล[ 48 ]และการเข้าถึงระยะไกลที่ปลอดภัย[ 49 ] มีการออกแบบและเผยแพร่การเข้ารหัสแบบบล็อกอื่นๆ อีกมากมาย โดยมีความแตกต่างกันอย่างมากในด้านคุณภาพ หลายตัว แม้แต่บางตัวที่ออกแบบโดยผู้เชี่ยวชาญที่มีความสามารถ ก็ถูกเจาะได้อย่างสมบูรณ์ เช่นFEAL [ 5 ] [ 50 ]
การเข้ารหัสแบบสตรีมนั้นแตกต่างจากการเข้ารหัสแบบบล็อกตรงที่สร้างสตรีมของข้อมูลคีย์ที่มีความยาวไม่จำกัด ซึ่งจะถูกรวมเข้ากับข้อความธรรมดาแบบบิตต่อบิตหรืออักขระต่ออักขระ คล้ายกับการเข้ารหัสแบบวันไทม์แพดในการเข้ารหัสแบบสตรีม สตรีมเอาต์พุตจะถูกสร้างขึ้นโดยอิงจากสถานะภายในที่ซ่อนอยู่ซึ่งเปลี่ยนแปลงไปตามการทำงานของการเข้ารหัส สถานะภายในนั้นจะถูกตั้งค่าเริ่มต้นโดยใช้ข้อมูลคีย์ลับRC4เป็นการเข้ารหัสแบบสตรีมที่ใช้กันอย่างแพร่หลาย[ 5 ]การเข้ารหัสแบบบล็อกสามารถใช้เป็นการเข้ารหัสแบบสตรีมได้โดยการสร้างบล็อกของสตรีมคีย์ (แทนที่จะใช้ตัวสร้างเลขสุ่มเทียม ) และใช้ การดำเนินการ XORกับแต่ละบิตของข้อความธรรมดาด้วยแต่ละบิตของสตรีมคีย์[ 51 ]
รหัสยืนยันข้อความ (MAC) คล้ายกับฟังก์ชันแฮชเข้ารหัสลับ มาก ยกเว้นว่าสามารถใช้คีย์ลับเพื่อตรวจสอบความถูกต้องของค่าแฮชเมื่อได้รับ[ 5 ] [ 45 ]ความซับซ้อนเพิ่มเติมนี้ขัดขวางแผนการโจมตีต่ออัลกอริ ทึมไดเจสต์แบบเปล่าๆ และจึงถือว่าคุ้มค่าที่จะพยายาม ฟังก์ชันแฮชเข้ารหัสลับเป็นอัลกอริทึมเข้ารหัสลับประเภทที่สาม โดยรับข้อความที่มีความยาวใดๆ ก็ได้เป็นอินพุต และส่งออกแฮช สั้นๆ ที่มีความยาวคง ที่ ซึ่งสามารถใช้ใน (ตัวอย่างเช่น) ลายเซ็นดิจิทัล สำหรับฟังก์ชันแฮชที่ดี ผู้โจมตีไม่สามารถหาข้อความสองข้อความที่ให้แฮชเดียวกันได้MD4เป็นฟังก์ชันแฮชที่ใช้มานานแล้วแต่ตอนนี้ถูกเจาะได้แล้วMD5ซึ่งเป็นตัวแปรที่แข็งแกร่งกว่าของ MD4 ก็มีการใช้งานอย่างแพร่หลายแต่ก็ถูกเจาะได้ในทางปฏิบัติสำนักงานความมั่นคงแห่งชาติ ของสหรัฐอเมริกา ได้พัฒนาชุดอัลกอริทึมแฮชที่ปลอดภัยของฟังก์ชันแฮชที่คล้ายกับ MD5: SHA-0 เป็นอัลกอริทึมที่มีข้อบกพร่องซึ่งหน่วยงานได้ถอนออกไปSHA-1ถูกใช้งานอย่างแพร่หลายและปลอดภัยกว่า MD5 แต่ผู้เชี่ยวชาญด้านการเข้ารหัสได้ระบุการโจมตีต่อมัน ตระกูล SHA-2ปรับปรุงจาก SHA-1 แต่มีความเสี่ยงต่อการปะทะกันตั้งแต่ปี 2011 และหน่วยงานมาตรฐานของสหรัฐฯ คิดว่า "รอบคอบ" จากมุมมองด้านความปลอดภัยที่จะพัฒนามาตรฐานใหม่เพื่อ "ปรับปรุงความแข็งแกร่งของชุดเครื่องมืออัลกอริธึมแฮชโดยรวมของNIST อย่างมีนัยสำคัญ" [ 52 ]ดังนั้นการแข่งขันออกแบบฟังก์ชันแฮชจึงมีจุดมุ่งหมายเพื่อคัดเลือกมาตรฐานระดับชาติใหม่ของสหรัฐฯ ซึ่งจะเรียกว่าSHA-3ภายในปี 2012 การแข่งขันสิ้นสุดลงในวันที่ 2 ตุลาคม 2012 เมื่อ NIST ประกาศว่าKeccakจะเป็นอัลกอริธึมแฮช SHA-3 ใหม่[ 53 ]ต่างจากการเข้ารหัสแบบบล็อกและแบบสตรีมที่สามารถผกผันได้ ฟังก์ชันแฮชการเข้ารหัสจะสร้างเอาต์พุตแฮชที่ไม่สามารถใช้เพื่อเรียกข้อมูลอินพุตดั้งเดิมกลับคืนมาได้ ฟังก์ชันแฮชเข้ารหัสลับใช้เพื่อตรวจสอบความถูกต้องของข้อมูลที่ดึงมาจากแหล่งที่ไม่น่าเชื่อถือ หรือเพื่อเพิ่มระดับความปลอดภัย
การเข้ารหัสแบบกุญแจสาธารณะ

ระบบการเข้ารหัสแบบสมมาตรใช้กุญแจเดียวกันสำหรับการเข้ารหัสและการถอดรหัสข้อความ แม้ว่าข้อความหรือกลุ่มข้อความหนึ่งๆ อาจมีกุญแจที่แตกต่างกันก็ตาม ข้อเสียเปรียบที่สำคัญของระบบการเข้ารหัสแบบสมมาตรคือการจัดการกุญแจที่จำเป็นสำหรับการใช้งานอย่างปลอดภัย คู่สนทนาแต่ละคู่ควรใช้กุญแจที่แตกต่างกัน และอาจต้องใช้กุญแจที่แตกต่างกันสำหรับข้อความที่เข้ารหัสแต่ละชุดด้วย จำนวนกุญแจที่ต้องการจะเพิ่มขึ้นเป็นกำลังสองของจำนวนสมาชิกในเครือข่าย ซึ่งทำให้ต้องใช้ระบบการจัดการกุญแจที่ซับซ้อนอย่างรวดเร็วเพื่อรักษาความสอดคล้องและความลับของกุญแจทั้งหมด

ในบทความสำคัญเมื่อปี 1976 Whitfield Diffie และ Martin Hellman ได้เสนอแนวคิดเรื่อง การเข้ารหัส แบบกุญแจสาธารณะ (หรือเรียกโดยทั่วไปว่า การเข้ารหัสแบบ กุญแจอสมมาตร ) ซึ่งใช้กุญแจสองแบบที่แตกต่างกันแต่มีความสัมพันธ์กันทางคณิตศาสตร์ ได้แก่ กุญแจ สาธารณะและกุญแจส่วนตัว[ 54 ]ระบบกุญแจสาธารณะถูกสร้างขึ้นเพื่อให้การคำนวณกุญแจหนึ่ง ('กุญแจส่วนตัว') เป็นไปไม่ได้ในเชิงการคำนวณจากอีกกุญแจหนึ่ง ('กุญแจสาธารณะ') แม้ว่ากุญแจทั้งสองจะมีความสัมพันธ์กันก็ตาม แต่กุญแจทั้งสองจะถูกสร้างขึ้นอย่างลับๆ ในฐานะคู่ที่มีความสัมพันธ์กัน[ 55 ]นักประวัติศาสตร์David Kahnอธิบายการเข้ารหัสแบบกุญแจสาธารณะว่าเป็น "แนวคิดใหม่ที่ปฏิวัติวงการมากที่สุดนับตั้งแต่การแทนที่แบบพหุตัวอักษรปรากฏขึ้นในยุคฟื้นฟูศิลปวิทยา" [ 56 ]
ในระบบการเข้ารหัสแบบกุญแจสาธารณะ กุญแจสาธารณะอาจถูกแจกจ่ายได้อย่างอิสระ ในขณะที่กุญแจส่วนตัวที่จับคู่กันจะต้องเก็บเป็นความลับกุญแจสาธารณะใช้สำหรับการเข้ารหัส ในขณะที่ กุญแจ ส่วนตัวหรือกุญแจลับใช้สำหรับการถอดรหัส แม้ว่า Diffie และ Hellman จะไม่พบระบบดังกล่าว แต่พวกเขาก็แสดงให้เห็นว่าการเข้ารหัสแบบกุญแจสาธารณะนั้นเป็นไปได้จริง โดยการนำเสนอ โปรโตคอล การแลกเปลี่ยนกุญแจ Diffie–Hellmanซึ่งเป็นวิธีการที่ใช้กันอย่างแพร่หลายในการสื่อสารที่ปลอดภัย เพื่อให้ทั้งสองฝ่ายสามารถตกลงกันอย่างลับๆ เกี่ยวกับกุญแจเข้ารหัสที่ใช้ร่วมกันได้ [ 35 ] มาตรฐาน X.509 กำหนดรูปแบบที่ใช้กันทั่วไปมากที่สุดสำหรับใบรับรองกุญแจสาธารณะ[ 57 ]
การตีพิมพ์ของ Diffie และ Hellman ก่อให้เกิดความพยายามทางวิชาการอย่างกว้างขวางในการค้นหาระบบการเข้ารหัสแบบกุญแจสาธารณะที่ใช้งานได้จริง การแข่งขันนี้สิ้นสุดลงในปี 1978 โดยRonald Rivest , Adi ShamirและLen Adlemanซึ่งวิธีการแก้ปัญหาของพวกเขากลายเป็นที่รู้จักในชื่ออัลกอริทึม RSA [ 58 ]
อัลกอริทึม Diffie –HellmanและRSAนอกจากจะเป็นตัวอย่างแรกๆ ที่เป็นที่รู้จักของอัลกอริทึมกุญแจสาธารณะคุณภาพสูงแล้ว ยังเป็นอัลกอริทึมที่ใช้กันอย่างแพร่หลายที่สุดอีก ด้วย อัลกอริทึมกุญแจอสมมาตร อื่นๆ ได้แก่ระบบการเข้ารหัส Cramer–Shoup , การเข้ารหัส ElGamalและเทคนิค เส้นโค้งวงรี ต่างๆ
เอกสารที่เผยแพร่ในปี 1997 โดยสำนักงานใหญ่การสื่อสารของรัฐบาล ( GCHQ ) ซึ่งเป็นองค์กรข่าวกรองของอังกฤษ เปิดเผยว่านักเข้ารหัสลับที่ GCHQ ได้คาดการณ์ถึงการพัฒนาทางวิชาการหลายอย่าง[ 59 ]มีรายงานว่าราวปี 1970 เจมส์ เอช. เอลลิสได้คิดค้นหลักการของการเข้ารหัสลับแบบกุญแจอสมมาตร ในปี 1973 คลิฟฟอร์ด ค็อกส์ได้คิดค้นวิธีแก้ปัญหาที่มีหลักการออกแบบคล้ายคลึงกับ RSA มาก[ 59 ] [ 60 ]ในปี 1974 มีการอ้างว่า มัลคอล์ม เจ. วิลเลียมสันได้พัฒนาการแลกเปลี่ยนกุญแจ Diffie–Hellman [ 61 ]

การเข้ารหัสแบบกุญแจสาธารณะยังใช้สำหรับการใช้งาน ระบบ ลายเซ็นดิจิทัลลายเซ็นดิจิทัลนั้นคล้ายคลึงกับลายเซ็นทั่วไป ทั้งสองมีลักษณะที่ผู้ใช้สร้างได้ง่าย แต่คนอื่นปลอมแปลงได้ยากลายเซ็นดิจิทัลยังสามารถผูกติดกับเนื้อหาของข้อความที่ลงนามได้อย่างถาวร ไม่สามารถ 'ย้าย' จากเอกสารหนึ่งไปยังอีกเอกสารหนึ่งได้ เพราะความพยายามใดๆ จะถูกตรวจจับได้ ในระบบลายเซ็นดิจิทัลมีอัลกอริธึมสองแบบ คือ แบบหนึ่งสำหรับการลงนามซึ่งใช้กุญแจลับในการประมวลผลข้อความ (หรือแฮชของข้อความ หรือทั้งสองอย่าง) และอีกแบบหนึ่งสำหรับการตรวจสอบซึ่งใช้กุญแจสาธารณะที่ตรงกันกับข้อความเพื่อตรวจสอบความถูกต้องของลายเซ็น RSA และDSAเป็นสองระบบลายเซ็นดิจิทัลที่ได้รับความนิยมมากที่สุด[ 62 ]ลายเซ็นดิจิทัลเป็นหัวใจสำคัญของการทำงานของโครงสร้างพื้นฐานกุญแจสาธารณะและระบบรักษาความปลอดภัยเครือข่ายหลายระบบ (เช่นSSL/TLS , VPN หลาย ระบบ ฯลฯ) [ 50 ]
อัลกอริทึมแบบกุญแจสาธารณะส่วนใหญ่มักอิงตามความซับซ้อนในการคำนวณของปัญหา "ยาก" ซึ่งมักมาจากทฤษฎีจำนวนตัวอย่างเช่น ความยากของ RSA เกี่ยวข้องกับ ปัญหา การแยกตัวประกอบจำนวนเต็มในขณะที่ Diffie–Hellman และ DSA เกี่ยวข้องกับ ปัญหา ลอการิทึมแบบไม่ต่อเนื่องความปลอดภัยของการเข้ารหัสด้วยเส้นโค้งวงรีนั้นอิงตามปัญหาทางทฤษฎีจำนวนที่เกี่ยวข้องกับเส้นโค้งวงรีเนื่องจากความยากของปัญหาพื้นฐาน อัลกอริทึมแบบกุญแจสาธารณะส่วนใหญ่จึงเกี่ยวข้องกับการดำเนินการต่างๆ เช่น การคูณ แบบโมดูลาร์และการยกกำลัง ซึ่งมีค่าใช้จ่ายในการคำนวณสูงกว่าเทคนิคที่ใช้ในการเข้ารหัสแบบบล็อกส่วนใหญ่ โดยเฉพาะอย่างยิ่งกับขนาดกุญแจทั่วไป ผลก็คือ ระบบการเข้ารหัสแบบกุญแจสาธารณะมักเป็นระบบการเข้ารหัสแบบไฮบริดซึ่งใช้อัลกอริทึมการเข้ารหัสแบบกุญแจสมมาตรที่รวดเร็วและมีคุณภาพสูงสำหรับตัวข้อความเอง ในขณะที่กุญแจสมมาตรที่เกี่ยวข้องจะถูกส่งไปพร้อมกับข้อความ แต่จะถูกเข้ารหัสโดยใช้อัลกอริทึมแบบกุญแจสาธารณะ ในทำนองเดียวกัน มักใช้รูปแบบลายเซ็นไฮบริด โดยจะคำนวณฟังก์ชันแฮชเข้ารหัสลับ และจะลงลายเซ็นดิจิทัลเฉพาะแฮชที่ได้เท่านั้น[ 5 ]
ฟังก์ชันแฮชเข้ารหัสลับ
ฟังก์ชันแฮชทางคริปโตกราฟีเป็นฟังก์ชันที่รับอินพุตที่มีความยาวแปรผันและส่งคืนค่าเอาต์พุตที่มีความยาวคงที่ ซึ่งสามารถนำไปใช้ได้ เช่น ในลายเซ็นดิจิทัล ฟังก์ชันแฮชจะปลอดภัยได้นั้น ต้องยากที่จะคำนวณอินพุตสองตัวที่ให้ค่าแฮชเดียวกัน ( ความต้านทานการชนกัน ) และยากที่จะคำนวณอินพุตที่ให้ค่าแฮชที่กำหนด ( ความต้านทานการหาค่าก่อนหน้า ) MD4เป็นฟังก์ชันแฮชที่ใช้กันมานานแต่ปัจจุบันถูกเจาะได้แล้วMD5ซึ่งเป็นเวอร์ชันที่แข็งแกร่งกว่าของ MD4 ก็มีการใช้งานอย่างแพร่หลายเช่นกัน แต่ในทางปฏิบัติก็ถูกเจาะได้แล้วสำนักงานความมั่นคงแห่งชาติ ของสหรัฐอเมริกา ได้พัฒนาชุดอัลกอริธึมแฮชที่ปลอดภัย (Secure Hash Algorithm: SHA-0) ซึ่งเป็นอัลกอริธึมที่มีข้อบกพร่องที่หน่วยงานได้ถอนออกไปSHA-1มีการใช้งานอย่างแพร่หลายและปลอดภัยกว่า MD5 แต่ผู้เชี่ยวชาญด้านการเข้ารหัสได้ระบุการโจมตีต่ออัลกอริธึมนี้แล้ว ตระกูล SHA-2ปรับปรุงจาก SHA-1 แต่มีความเสี่ยงต่อการชนกันตั้งแต่ปี 2011 และหน่วยงานมาตรฐานของสหรัฐฯ เห็นว่า “เป็นการรอบคอบ” จากมุมมองด้านความปลอดภัยที่จะพัฒนามาตรฐานใหม่เพื่อ “ปรับปรุงความแข็งแกร่งของชุดเครื่องมืออัลกอริธึมแฮชโดยรวมของNIST อย่างมีนัยสำคัญ” [ 52 ]ดังนั้นการแข่งขันออกแบบฟังก์ชันแฮชจึงมีจุดมุ่งหมายเพื่อคัดเลือกมาตรฐานระดับชาติใหม่ของสหรัฐฯ ซึ่งจะเรียกว่าSHA-3ภายในปี 2012 การแข่งขันสิ้นสุดลงในวันที่ 2 ตุลาคม 2012 เมื่อ NIST ประกาศว่าKeccakจะเป็นอัลกอริธึมแฮช SHA-3 ใหม่[ 53 ]แตกต่างจากการเข้ารหัสแบบบล็อกและแบบสตรีมที่สามารถผกผันได้ ฟังก์ชันแฮชเข้ารหัสลับจะสร้างเอาต์พุตแฮชที่ไม่สามารถใช้เพื่อเรียกข้อมูลอินพุตดั้งเดิมได้ ฟังก์ชันแฮชเข้ารหัสลับใช้เพื่อตรวจสอบความถูกต้องของข้อมูลที่ดึงมาจากแหล่งที่ไม่น่าเชื่อถือหรือเพื่อเพิ่มชั้นความปลอดภัย
การวิเคราะห์รหัส

เป้าหมายของการวิเคราะห์รหัสลับคือการค้นหาจุดอ่อนหรือช่องโหว่ในระบบการเข้ารหัส เพื่อให้สามารถบ่อนทำลายหรือหลบเลี่ยงระบบนั้นได้
เป็นความเข้าใจผิดทั่วไปที่ว่าวิธีการเข้ารหัสทุกวิธีสามารถถูกเจาะได้ ในงานของเขาที่Bell Labs ในช่วง สงครามโลก ครั้งที่สอง Claude Shannonได้พิสูจน์ว่าการเข้ารหัสแบบone-time padนั้นเจาะไม่ได้ หากวัสดุของกุญแจเป็นแบบสุ่ม อย่างแท้จริง ไม่เคยนำกลับมาใช้ใหม่ เก็บเป็นความลับจากผู้โจมตีที่เป็นไปได้ทั้งหมด และมีความยาวเท่ากับหรือมากกว่าข้อความ[ 63 ]การเข้ารหัสส่วนใหญ่นอกเหนือจาก one-time pad สามารถเจาะได้ด้วยความพยายามในการคำนวณที่เพียงพอโดยการโจมตีแบบ brute forceแต่ปริมาณความพยายามที่ต้องการอาจ ขึ้นอยู่กับขนาดของกุญแจแบบ ทวีคูณเมื่อเทียบกับความพยายามที่ต้องการในการใช้การเข้ารหัส ในกรณีเช่นนี้ ความปลอดภัยที่มีประสิทธิภาพสามารถทำได้หากพิสูจน์ได้ว่าความพยายามที่ต้องการ (เช่น "ปัจจัยงาน" ในแง่ของ Shannon) นั้นเกินความสามารถของฝ่ายตรงข้ามใดๆ ซึ่งหมายความว่าต้องแสดงให้เห็นว่าไม่มีวิธีการที่มีประสิทธิภาพ (ตรงข้ามกับวิธีการ brute force ที่ใช้เวลานาน) ที่สามารถใช้ในการเจาะการเข้ารหัสได้ เนื่องจากยังไม่มีการค้นพบหลักฐานใดๆ ที่พิสูจน์ได้เช่นนั้นจนถึงปัจจุบัน การเข้ารหัสแบบวันไทม์แพดจึงยังคงเป็นการเข้ารหัสแบบเดียวที่ไม่สามารถถอดรหัสได้ในทางทฤษฎี แม้ว่าการเข้ารหัสแบบวันไทม์แพดที่ได้รับการพัฒนาอย่างดีจะไม่สามารถถอดรหัสได้ แต่การวิเคราะห์ข้อมูลการรับส่งยังคงเป็นไปได้
การโจมตีทางคริปแทนนิซีมีหลากหลายรูปแบบ และสามารถจำแนกประเภทได้หลายวิธี การแบ่งประเภททั่วไปขึ้นอยู่กับสิ่งที่อีฟ (ผู้โจมตี) รู้และขีดความสามารถที่มีอยู่ ในการโจมตีแบบใช้เฉพาะข้อความเข้ารหัสอีฟจะเข้าถึงได้เฉพาะข้อความเข้ารหัสเท่านั้น (ระบบเข้ารหัสสมัยใหม่ที่ดีมักจะป้องกันการโจมตีแบบใช้เฉพาะข้อความเข้ารหัสได้อย่างมีประสิทธิภาพ) ในการโจมตีแบบใช้ข้อความธรรมดาที่ทราบอีฟจะเข้าถึงข้อความเข้ารหัสและข้อความธรรมดาที่สอดคล้องกัน (หรือหลายคู่) ในการโจมตีแบบเลือกข้อความธรรมดาอีฟอาจเลือกข้อความธรรมดาและเรียนรู้ข้อความเข้ารหัสที่สอดคล้องกัน (อาจหลายครั้ง) ตัวอย่างเช่นgardeningที่อังกฤษใช้ในช่วงสงครามโลกครั้งที่สอง ในการโจมตีแบบเลือกข้อความเข้ารหัสอีฟอาจสามารถเลือกข้อความเข้ารหัสและเรียนรู้ข้อความธรรมดาที่สอดคล้องกันได้[ 5 ]สุดท้าย ใน การโจมตี แบบคนกลางอีฟจะแทรกตัวอยู่ระหว่างอลิซ (ผู้ส่ง) และบ็อบ (ผู้รับ) เข้าถึงและแก้ไขข้อมูล จากนั้นส่งต่อไปยังผู้รับ[ 64 ] สิ่งสำคัญอีกอย่างหนึ่ง ซึ่งมักจะสำคัญอย่างมาก คือ ความผิดพลาด (โดยทั่วไปในการออกแบบหรือการใช้โปรโตคอลใด โปรโตคอลหนึ่งที่เกี่ยวข้อง)
การวิเคราะห์การเข้ารหัสแบบสมมาตรโดยทั่วไปเกี่ยวข้องกับการมองหาการโจมตีต่อการเข้ารหัสแบบบล็อกหรือการเข้ารหัสแบบสตรีมที่มีประสิทธิภาพมากกว่าการโจมตีใดๆ ที่อาจเกิดขึ้นกับการเข้ารหัสที่สมบูรณ์แบบ ตัวอย่างเช่น การโจมตีแบบเดาแบบสุ่มอย่างง่ายต่อ DES ต้องใช้ข้อความธรรมดาที่ทราบหนึ่งข้อความและการถอดรหัส 2 55ครั้ง โดยลองใช้กุญแจที่เป็นไปได้ประมาณครึ่งหนึ่ง เพื่อให้ได้จุดที่มีโอกาสดีกว่าแม้กระทั่งว่าจะพบกุญแจที่ต้องการ แต่สิ่งนี้อาจไม่เพียงพอ การโจมตี การวิเคราะห์การเข้ารหัสเชิงเส้นต่อ DES ต้องใช้ข้อความธรรมดาที่ทราบ 2 43ข้อความ (พร้อมข้อความเข้ารหัสที่สอดคล้องกัน) และการดำเนินการ DES ประมาณ 2 43 ครั้ง [ 65 ]นี่เป็นการปรับปรุงที่สำคัญกว่าการโจมตีแบบเดาแบบสุ่ม
อัลกอริทึมแบบกุญแจสาธารณะนั้นอาศัยความยากในการคำนวณของปัญหาต่างๆ ตัวอย่างที่โด่งดังที่สุดคือ ความยากในการแยกตัวประกอบจำนวนเต็มของ จำนวน เฉพาะกึ่งๆและความยากในการคำนวณลอการิทึมแบบไม่ต่อเนื่อง ซึ่งทั้งสองปัญหานี้ยังไม่ได้รับการพิสูจน์ว่าสามารถแก้ไขได้ในเวลาพหุนาม ( P ) โดยใช้เพียงคอมพิวเตอร์แบบคลาสสิกที่สมบูรณ์แบบตามทฤษฎีของทัวริง เท่านั้น การวิเคราะห์การเข้ารหัสแบบกุญแจสาธารณะส่วนใหญ่เกี่ยวข้องกับการออกแบบอัลกอริทึมในเวลาPที่สามารถแก้ปัญหาเหล่านี้ได้ หรือการใช้เทคโนโลยีอื่นๆ เช่นคอมพิวเตอร์ควอนตัมตัวอย่างเช่น อัลกอริทึมที่ดีที่สุดที่เป็นที่รู้จักสำหรับการแก้ปัญหา ลอการิทึมแบบไม่ต่อเนื่อง โดยใช้เส้นโค้งวงรีนั้นใช้เวลานานกว่าอัลกอริทึมที่ดีที่สุดสำหรับการแยกตัวประกอบอย่างมาก อย่างน้อยก็สำหรับปัญหาที่มีขนาดใกล้เคียงกัน ดังนั้น เพื่อให้ได้ความแข็งแกร่งของการเข้ารหัสที่เทียบเท่ากัน เทคนิคที่ขึ้นอยู่กับความยากของการแยกตัวประกอบจำนวนประกอบขนาดใหญ่ เช่น ระบบการเข้ารหัส RSA จึงต้องการกุญแจที่ใหญ่กว่าเทคนิคเส้นโค้งวงรี ด้วยเหตุนี้ ระบบเข้ารหัสแบบกุญแจสาธารณะที่ใช้เส้นโค้งวงรีจึงได้รับความนิยมอย่างมากนับตั้งแต่มีการคิดค้นขึ้นในช่วงกลางทศวรรษ 1990
ในขณะที่การวิเคราะห์การเข้ารหัสแบบบริสุทธิ์ใช้ประโยชน์จากจุดอ่อนของอัลกอริทึมเอง การโจมตีระบบการเข้ารหัสแบบอื่นนั้นอาศัยการใช้งานอัลกอริทึมจริงในอุปกรณ์จริง และเรียกว่าการโจมตีแบบช่องทางด้านข้างหากนักวิเคราะห์การเข้ารหัสสามารถเข้าถึงข้อมูล เช่น ระยะเวลาที่อุปกรณ์ใช้ในการเข้ารหัสข้อความธรรมดาจำนวนหนึ่ง หรือรายงานข้อผิดพลาดในรหัสผ่านหรืออักขระ PIN พวกเขาอาจสามารถใช้การโจมตีแบบจับเวลาเพื่อถอดรหัสที่ปกติแล้วยากต่อการวิเคราะห์ได้ ผู้โจมตีอาจศึกษาแบบแผนและความยาวของข้อความเพื่อหาข้อมูลที่มีค่า ซึ่งเรียกว่าการวิเคราะห์การจราจร[ 66 ]และอาจเป็นประโยชน์อย่างมากต่อฝ่ายตรงข้ามที่ตื่นตัว การบริหารจัดการระบบการเข้ารหัสที่ไม่ดี เช่น การอนุญาตให้ใช้คีย์ที่สั้นเกินไป จะทำให้ระบบใดๆ ก็ตามมีความเสี่ยง ไม่ว่าจะมีคุณสมบัติอื่นๆ ดีแค่ไหนก็ตามการใช้กลวิธีทางสังคมและการโจมตีมนุษย์รูปแบบอื่นๆ (เช่น การติดสินบนการกรรโชกการแบล็กเมล์การจารกรรมการวิเคราะห์รหัสแบบรวดเร็วหรือการทรมาน) มักถูกนำมาใช้เนื่องจากมีต้นทุนต่ำกว่าและสามารถทำได้ในระยะเวลาที่เหมาะสมกว่าการวิเคราะห์รหัสแบบดั้งเดิมอย่างมาก
หลักการเข้ารหัสลับ
งานวิจัยเชิงทฤษฎีส่วนใหญ่ในด้านการเข้ารหัสลับเกี่ยวข้องกับหลักการเข้ารหัสลับพื้นฐาน—อัลกอริทึมที่มีคุณสมบัติการเข้ารหัสลับขั้นพื้นฐาน—และความสัมพันธ์ของหลักการเหล่านี้กับปัญหาการเข้ารหัสลับอื่นๆ จากนั้นจึงสร้างเครื่องมือการเข้ารหัสลับที่ซับซ้อนขึ้นจากหลักการเข้ารหัสลับพื้นฐานเหล่านี้ หลักการเข้ารหัสลับพื้นฐานเหล่านี้มีคุณสมบัติพื้นฐาน ซึ่งใช้ในการพัฒนาเครื่องมือที่ซับซ้อนกว่าที่เรียกว่าระบบการเข้ารหัสลับหรือโปรโตคอลการเข้ารหัสลับซึ่งรับประกันคุณสมบัติความปลอดภัยระดับสูงอย่างน้อยหนึ่งอย่าง อย่างไรก็ตาม โปรดทราบว่าความแตกต่างระหว่างหลักการ เข้ารหัสลับพื้นฐาน และระบบการเข้ารหัสลับนั้นค่อนข้างเป็นไปตามอำเภอใจ ตัวอย่างเช่น อัลกอริทึม RSA บางครั้งถูกพิจารณาว่าเป็นระบบการเข้ารหัสลับ และบางครั้งก็ถูกพิจารณาว่าเป็นหลักการเข้ารหัสลับพื้นฐาน ตัวอย่างทั่วไปของหลักการเข้ารหัสลับพื้นฐาน ได้แก่ฟังก์ชันสุ่มเทียมฟังก์ชันทางเดียวเป็นต้น
ระบบการเข้ารหัส
โดยทั่วไปแล้ว มักใช้หลักการเข้ารหัสพื้นฐานอย่างน้อยหนึ่งอย่างเพื่อพัฒนาอัลกอริทึมที่ซับซ้อนกว่า ซึ่งเรียกว่าระบบการเข้ารหัส หรือระบบเข้ารหัสลับระบบเข้ารหัสลับ (เช่นการเข้ารหัสแบบ El-Gamal ) ถูกออกแบบมาเพื่อให้ฟังก์ชันการทำงานเฉพาะ (เช่น การเข้ารหัสแบบกุญแจสาธารณะ) ในขณะที่รับประกันคุณสมบัติด้านความปลอดภัยบางอย่าง (เช่น ความปลอดภัย จากการโจมตีแบบเลือกข้อความต้นฉบับ (CPA)ในแบบจำลองออราเคิลแบบสุ่ม ) ระบบเข้ารหัสลับใช้คุณสมบัติของหลักการเข้ารหัสพื้นฐานเพื่อสนับสนุนคุณสมบัติด้านความปลอดภัยของระบบ เนื่องจากความแตกต่างระหว่างหลักการเข้ารหัสพื้นฐานและระบบเข้ารหัสลับนั้นค่อนข้างเป็นไปตามอำเภอใจ ระบบเข้ารหัสลับที่ซับซ้อนจึงสามารถได้มาจากการรวมกันของระบบเข้ารหัสลับพื้นฐานหลายระบบ ในหลายกรณี โครงสร้างของระบบเข้ารหัสลับเกี่ยวข้องกับการสื่อสารไปมาระหว่างสองฝ่ายขึ้นไปในเชิงพื้นที่ (เช่น ระหว่างผู้ส่งข้อความที่ปลอดภัยและผู้รับ) หรือข้ามเวลา (เช่น ข้อมูล สำรอง ที่ได้รับการป้องกันด้วยการเข้ารหัส ) ระบบเข้ารหัสลับดังกล่าวบางครั้งเรียกว่าโปรโตคอลการเข้ารหัสลับ
ระบบการเข้ารหัสที่เป็นที่รู้จักกันอย่างแพร่หลาย ได้แก่ RSA, ลายเซ็น Schnorr , การเข้ารหัส ElGamalและPretty Good Privacy (PGP) ระบบ การเข้ารหัสที่ซับซ้อนกว่า ได้แก่ ระบบ เงินอิเล็กทรอนิกส์[ 67 ] ระบบ การเข้ารหัสแบบลงนามฯลฯ ระบบการเข้ารหัสเชิงทฤษฎีบางระบบ ได้แก่ระบบการพิสูจน์แบบโต้ตอบ[ 68 ] (เช่นการพิสูจน์ความรู้เป็นศูนย์ ) [ 69 ]และระบบสำหรับการแบ่งปันความลับ[ 70 ] [ 71 ]
การเข้ารหัสแบบเบา
การเข้ารหัสแบบเบา (LWC) เกี่ยวข้องกับอัลกอริธึมการเข้ารหัสที่พัฒนาขึ้นสำหรับสภาพแวดล้อมที่มีข้อจำกัดอย่างเข้มงวด การเติบโตของอินเทอร์เน็ตของสิ่งต่างๆ (IoT)ได้กระตุ้นการวิจัยในการพัฒนาอัลกอริธึมแบบเบาที่เหมาะสมกับสภาพแวดล้อมมากขึ้น สภาพแวดล้อม IoT ต้องการข้อจำกัดที่เข้มงวดเกี่ยวกับการใช้พลังงาน กำลังประมวลผล และความปลอดภัย[ 72 ]อัลกอริธึมเช่นAsconและSPECKเป็นตัวอย่างของอัลกอริธึม LWC จำนวนมากที่ได้รับการพัฒนาเพื่อให้ตรงกับเกณฑ์สำหรับการแข่งขัน CAESARและมาตรฐานที่กำหนดโดย สถาบันมาตรฐานและ เทคโนโลยีแห่งชาติ[ 73 ]
แอปพลิเคชัน
การเข้ารหัสลับถูกนำมาใช้กันอย่างแพร่หลายบนอินเทอร์เน็ตเพื่อช่วยปกป้องข้อมูลผู้ใช้และป้องกันการดักฟัง เพื่อให้มั่นใจในความลับระหว่างการส่ง ระบบหลายระบบใช้การเข้ารหัสลับแบบกุญแจส่วนตัวเพื่อปกป้องข้อมูลที่ส่ง ด้วยระบบกุญแจสาธารณะ เราสามารถรักษาความลับได้โดยไม่ต้องใช้กุญแจหลักหรือกุญแจจำนวนมาก[ 74 ]แต่บางอัลกอริทึม เช่นBitLockerและVeraCryptโดยทั่วไปไม่ใช่การเข้ารหัสลับแบบกุญแจส่วนตัว-สาธารณะ ตัวอย่างเช่น Veracrypt ใช้แฮชรหัสผ่านเพื่อสร้างกุญแจส่วนตัวเพียงตัวเดียว อย่างไรก็ตาม สามารถกำหนดค่าให้ทำงานในระบบกุญแจสาธารณะ-ส่วนตัวได้ไลบรารีการเข้ารหัสแบบโอเพนซอร์สC ++ OpenSSLให้ ซอฟต์แวร์และเครื่องมือการเข้ารหัส แบบโอเพนซอร์สและฟรีชุดการเข้ารหัสที่ใช้กันทั่วไปมากที่สุดคือAES [ 75 ]เนื่องจากมีการเร่งความเร็วฮาร์ดแวร์สำหรับโปรเซสเซอร์x86 ทั้งหมดที่มี AES- NI คู่แข่งที่ใกล้เคียงกันคือChaCha20-Poly1305ซึ่งเป็นการเข้ารหัสแบบสตรีมแต่โดยทั่วไปแล้วจะใช้กับอุปกรณ์พกพาเนื่องจากใช้ สถาปัตยกรรม ARMซึ่งไม่มีส่วนขยายชุดคำสั่ง AES-NI
ความปลอดภัยทางไซเบอร์
การเข้ารหัสลับสามารถใช้เพื่อรักษาความปลอดภัยในการสื่อสารโดยการเข้ารหัสข้อมูล เว็บไซต์ใช้การเข้ารหัสผ่านHTTPS [ 76 ] การ เข้ารหัสแบบ "End-to-end" ซึ่งมีเพียงผู้ส่งและผู้รับเท่านั้น ที่สามารถอ่านข้อความได้นั้น ถูกนำมาใช้กับอีเมลในPretty Good Privacyและสำหรับการส่งข้อความที่ปลอดภัยโดยทั่วไปในWhatsApp , SignalและTelegram [ 76 ]
ระบบปฏิบัติการใช้การเข้ารหัสเพื่อเก็บรหัสผ่านให้เป็นความลับ ซ่อนส่วนต่างๆ ของระบบ และตรวจสอบให้แน่ใจว่าการอัปเดตซอฟต์แวร์มาจากผู้ผลิตระบบจริงๆ[ 76 ]แทนที่จะเก็บรหัสผ่านแบบข้อความธรรมดา ระบบคอมพิวเตอร์จะเก็บค่าแฮชของรหัสผ่านเหล่านั้น จากนั้น เมื่อผู้ใช้ล็อกอิน ระบบจะส่งรหัสผ่านที่ให้มาผ่านฟังก์ชันแฮชเข้ารหัสลับและเปรียบเทียบกับค่าแฮชที่เก็บไว้ในไฟล์ ด้วยวิธีนี้ ทั้งระบบและผู้โจมตีจะไม่สามารถเข้าถึงรหัสผ่านแบบข้อความธรรมดาได้เลย[ 76 ]
บางครั้งมีการใช้การเข้ารหัสเพื่อเข้ารหัสไดรฟ์ทั้งหมด ตัวอย่างเช่นมหาวิทยาลัยคอลเลจลอนดอนได้นำBitLocker (โปรแกรมของ Microsoft) มาใช้เพื่อทำให้ข้อมูลในไดรฟ์ไม่สามารถเข้าถึงได้โดยที่ผู้ใช้ไม่ต้องล็อกอิน[ 76 ]
สกุลเงินดิจิทัลและเศรษฐศาสตร์คริปโต
เทคนิคการเข้ารหัสลับช่วยให้ เทคโนโลยี สกุลเงินดิจิทัลเช่นเทคโนโลยีบัญชีแยกประเภทแบบกระจาย (เช่นบล็อกเชน ) สามารถทำงานได้ ซึ่งใช้ในการระดม ทุนแอปพลิเคชัน ทางเศรษฐศาสตร์คริปโตเช่นการเงินแบบกระจายอำนาจ (DeFi)เทคนิคการเข้ารหัสลับที่สำคัญที่ช่วยให้สกุลเงินดิจิทัลและเศรษฐศาสตร์คริปโตทำงานได้ ได้แก่ แต่ไม่จำกัดเพียง: กุญแจ เข้ารหัส ลับ ฟังก์ชันแฮช เข้ารหัส ลับ การเข้ารหัส แบบอสมมาตร (กุญแจสาธารณะ) การตรวจสอบสิทธิ์แบบหลายปัจจัย (MFA) การเข้ารหัสแบบ End-to-End (E2EE)และการพิสูจน์ความรู้เป็นศูนย์ (ZKP )
ความปลอดภัยทางไซเบอร์ของคอมพิวเตอร์ควอนตัม
การประเมินชี้ให้เห็นว่าคอมพิวเตอร์ควอนตัม สามารถลดความพยายามที่จำเป็นในการทำลายคีย์ RSAหรือ คีย์ วงรีที่แข็งแกร่งที่สุดในปัจจุบันจากหลายพันปีเหลือเพียงไม่กี่วินาที ทำให้โปรโตคอลปัจจุบัน (เช่นTLS เวอร์ชัน ที่ใช้คีย์เหล่านั้น) ไม่ปลอดภัย[ 77 ]
เพื่อลด "ภัยคุกคามควอนตัม" นี้ นักวิจัยกำลังพัฒนาอัลกอริทึมที่ต้านทานควอนตัมซึ่งความปลอดภัยขึ้นอยู่กับปัญหาที่เชื่อว่ายังคงยากสำหรับทั้งคอมพิวเตอร์แบบคลาสสิกและควอนตัม[ 78 ]
ประเด็นทางกฎหมาย
ข้อห้าม
การเข้ารหัสลับเป็นที่สนใจของหน่วยงานข่าวกรองและหน่วยงานบังคับใช้กฎหมายมา นานแล้ว [ 9 ]การสื่อสารลับอาจเป็นอาชญากรรมหรือแม้แต่การทรยศชาติเนื่องจากการเข้ารหัสลับช่วยอำนวยความสะดวก ใน เรื่องความเป็นส่วนตัวและความเป็นส่วนตัวจะลดลงเมื่อมีการห้ามใช้ การเข้ารหัสลับจึงเป็นที่สนใจอย่างมากของผู้สนับสนุนสิทธิพลเมือง ดังนั้นจึงมีประวัติของประเด็นทางกฎหมายที่เป็นข้อถกเถียงเกี่ยวกับการเข้ารหัสลับ โดยเฉพาะอย่างยิ่งนับตั้งแต่การเกิดขึ้นของคอมพิวเตอร์ราคาไม่แพงทำให้สามารถเข้าถึงการเข้ารหัสลับคุณภาพสูงได้อย่างแพร่หลาย
ในบางประเทศ แม้แต่การใช้การเข้ารหัสภายในประเทศก็ยังถูกจำกัด หรือเคยถูกจำกัดมาก่อน จนถึงปี 1999 ฝรั่งเศสได้จำกัดการใช้การเข้ารหัสภายในประเทศอย่างมาก แม้ว่าหลังจากนั้นจะผ่อนคลายกฎเหล่านี้ไปมากแล้วก็ตาม ในประเทศจีนและอิหร่านยังคงต้องมีใบอนุญาตในการใช้การเข้ารหัส[ 7 ]หลายประเทศมีข้อจำกัดที่เข้มงวดเกี่ยวกับการใช้การเข้ารหัส ประเทศที่มีข้อจำกัดที่เข้มงวดกว่า ได้แก่ กฎหมายในเบลารุสคาซัคสถานมองโกเลียปากีสถานสิงคโปร์ตูนิเซียและเวียดนาม [ 79 ]
ในสหรัฐอเมริกา การเข้ารหัสลับนั้นถูกกฎหมายสำหรับการใช้งานภายในประเทศ แต่ก็มีข้อขัดแย้งมากมายเกี่ยวกับประเด็นทางกฎหมายที่เกี่ยวข้องกับการเข้ารหัสลับ[ 9 ]ประเด็นสำคัญประการหนึ่งคือการส่งออกการเข้ารหัสลับและซอฟต์แวร์และฮาร์ดแวร์การเข้ารหัสลับ อาจเป็นเพราะความสำคัญของการวิเคราะห์การเข้ารหัสลับในช่วงสงครามโลกครั้งที่สองและความคาดหวังว่าการเข้ารหัสลับจะยังคงมีความสำคัญต่อความมั่นคงของชาติ รัฐบาลตะวันตกหลายแห่งจึงได้ออกกฎระเบียบที่เข้มงวดเกี่ยวกับการส่งออกการเข้ารหัสลับในบางช่วงเวลา หลังสงครามโลกครั้งที่สอง การขายหรือแจกจ่ายเทคโนโลยีการเข้ารหัสลับไปยังต่างประเทศเป็นสิ่งผิดกฎหมายในสหรัฐอเมริกา อันที่จริง การเข้ารหัสลับถูกกำหนดให้เป็นอุปกรณ์เสริมทางทหารและอยู่ใน รายการยุทโธปกรณ์ ของสหรัฐอเมริกา[ 80 ]จนกระทั่งการพัฒนาคอมพิวเตอร์ส่วนบุคคล อัลกอริทึมคีย์แบบอสมมาตร (เช่น เทคนิคคีย์สาธารณะ) และอินเทอร์เน็ต เรื่องนี้จึงไม่ได้เป็นปัญหามากนัก อย่างไรก็ตาม เมื่ออินเทอร์เน็ตเติบโตขึ้นและคอมพิวเตอร์แพร่หลายมากขึ้น เทคนิคการเข้ารหัสลับคุณภาพสูงก็เป็นที่รู้จักกันดีทั่วโลก
การควบคุมการส่งออก
ในช่วงทศวรรษ 1990 มีความท้าทายหลายประการต่อการควบคุมการส่งออกการเข้ารหัสของสหรัฐฯ หลังจากที่ซอร์สโค้ด ของโปรแกรมการเข้ารหัส Pretty Good Privacy (PGP) ของPhilip Zimmermannหลุดไปในอินเทอร์เน็ตในเดือนมิถุนายน 1991 การร้องเรียนโดยRSA Security (ซึ่งในขณะนั้นเรียกว่า RSA Data Security, Inc.) ส่งผลให้มีการสืบสวนทางอาญาอย่างยาวนานต่อ Zimmermann โดยกรมศุลกากรของสหรัฐฯ และFBIแม้ว่าจะไม่มีการฟ้องร้องใดๆ ก็ตาม[ 81 ] [ 82 ] Daniel J. Bernsteinซึ่งในขณะนั้นเป็นนักศึกษาปริญญาโทที่UC Berkeleyได้ยื่นฟ้องรัฐบาลสหรัฐฯ เพื่อท้าทายข้อจำกัดบางประการโดยอ้างสิทธิ์ในเสรีภาพ ในการพูด คดี Bernstein v. United Statesในปี 1995 ในที่สุดก็ส่งผลให้เกิดคำตัดสินในปี 1999 ว่าซอร์สโค้ดที่พิมพ์สำหรับอัลกอริธึมและระบบการเข้ารหัสได้รับการคุ้มครองใน ฐานะ เสรีภาพในการพูดโดยรัฐธรรมนูญของสหรัฐอเมริกา[ 83 ]
ในปี 1996 ประเทศจำนวน 39 ประเทศได้ลงนามในข้อตกลงวาสเซนาร์ซึ่งเป็นสนธิสัญญาควบคุมอาวุธที่เกี่ยวข้องกับการส่งออกอาวุธและเทคโนโลยี "สองวัตถุประสงค์" เช่น การเข้ารหัสลับ สนธิสัญญานี้กำหนดว่าการใช้การเข้ารหัสลับที่มีความยาวคีย์สั้น (56 บิตสำหรับการเข้ารหัสแบบสมมาตร 512 บิตสำหรับ RSA) จะไม่ถูกควบคุมการส่งออกอีกต่อไป[ 84 ]การส่งออกการเข้ารหัสลับจากสหรัฐอเมริกาได้รับการควบคุมน้อยลงอันเป็นผลมาจากการผ่อนปรนครั้งใหญ่ในปี 2000 [ 85 ]ปัจจุบันไม่มีข้อจำกัดมากมายเกี่ยวกับขนาดคีย์ใน ซอฟต์แวร์ตลาดมวลชน ที่ส่งออก โดยสหรัฐอเมริกาอีกต่อไป เนื่องจากการผ่อนปรนข้อจำกัดการส่งออกของสหรัฐอเมริกา และเนื่องจากคอมพิวเตอร์ส่วนบุคคลส่วนใหญ่ที่เชื่อมต่อกับอินเทอร์เน็ตมี เว็บเบราว์เซอร์ที่มาจากสหรัฐอเมริกาเช่นFirefoxหรือInternet Explorerผู้ใช้อินเทอร์เน็ตเกือบทุกคนทั่วโลกจึงมีโอกาสเข้าถึงการเข้ารหัสลับคุณภาพสูงผ่านเบราว์เซอร์ของตน (เช่น ผ่านTransport Layer Security ) โปรแกรม อีเมล Mozilla ThunderbirdและMicrosoft Outlook ก็สามารถส่งและรับอีเมลผ่าน TLS ได้เช่นกัน และสามารถส่งและรับอีเมลที่เข้ารหัสด้วยS/MIMEได้ ผู้ใช้อินเทอร์เน็ตจำนวนมากไม่ทราบว่าซอฟต์แวร์แอปพลิเคชันพื้นฐานของพวกเขามีระบบเข้ารหัสที่ ครอบคลุมเช่นนี้อยู่ โปรแกรมเบราว์เซอร์และอีเมลเหล่านี้แพร่หลายมากจนแม้แต่รัฐบาลที่มีเจตนารมณ์ที่จะควบคุมการใช้งานการเข้ารหัสของพลเรือนโดยทั่วไป ก็ยังพบว่าไม่สามารถดำเนินการใดๆ ได้มากนักเพื่อควบคุมการเผยแพร่หรือการใช้งานการเข้ารหัสที่มีคุณภาพเช่นนี้ ดังนั้นแม้ว่าจะมีกฎหมายดังกล่าวบังคับใช้ การบังคับใช้จริงก็มักจะเป็นไปไม่ได้อย่างมีประสิทธิภาพ
การมีส่วนร่วมของ NSA

ประเด็นถกเถียงอีกประเด็นหนึ่งที่เกี่ยวข้องกับการเข้ารหัสในสหรัฐอเมริกาคืออิทธิพลของสำนักงานความมั่นคงแห่งชาติ (NSA ) ต่อการพัฒนาและการกำหนดนโยบายการเข้ารหัส[ 9 ] NSA มีส่วนร่วมในการออกแบบDESในระหว่างการพัฒนาที่IBMและการพิจารณาโดยสำนักงานมาตรฐานแห่งชาติ (National Bureau of Standards)ในฐานะมาตรฐานของรัฐบาลกลางที่เป็นไปได้สำหรับการเข้ารหัส[ 86 ] DES ได้รับการออกแบบให้ทนทานต่อการวิเคราะห์การเข้ารหัสแบบดิฟเฟอเรนเชียล [ 87 ] ซึ่งเป็นเทคนิคการวิเคราะห์การเข้ารหัสที่มีประสิทธิภาพและทั่วไปที่ NSA และ IBM รู้จัก และเพิ่งเป็นที่รู้จักในวงกว้างเมื่อมีการค้นพบอีกครั้งในช่วงปลายทศวรรษ 1980 [ 88 ]ตามที่Steven Levy กล่าว IBM ค้นพบการวิเคราะห์การเข้ารหัสแบบดิฟเฟอเร นเชียล [ 82 ]แต่เก็บเทคนิคนี้เป็นความลับตามคำขอของ NSA เทคนิคนี้เพิ่งเป็นที่รู้จักในวงกว้างเมื่อ Biham และ Shamir ค้นพบและประกาศอีกครั้งในอีกหลายปีต่อมา เหตุการณ์ทั้งหมดนี้แสดงให้เห็นถึงความยากลำบากในการกำหนดว่าผู้โจมตีอาจมีทรัพยากรและความรู้อะไรบ้าง
อีกกรณีหนึ่งของการมีส่วนร่วมของ NSA คือ กรณี ชิป Clipper ในปี 1993 ซึ่งเป็นไมโครชิปเข้ารหัสที่ตั้งใจจะเป็นส่วนหนึ่งของ โครงการควบคุมการเข้ารหัส Capstoneชิป Clipper ถูกวิพากษ์วิจารณ์อย่างกว้างขวางจากนักเข้ารหัสลับด้วยเหตุผลสองประการ อัลกอริทึมการเข้ารหัส (เรียกว่าSkipjack ) ถูกจัดเป็นความลับ (เปิดเผยความลับในปี 1998 นานหลังจากโครงการ Clipper สิ้นสุดลง) การเข้ารหัสที่เป็นความลับทำให้เกิดความกังวลว่า NSA จงใจทำให้การเข้ารหัสอ่อนแอเพื่อช่วยเหลือความพยายามด้านข่าวกรองของตน โครงการทั้งหมดถูกวิพากษ์วิจารณ์เช่นกันเนื่องจากละเมิดหลักการของ Kerckhoffs เนื่องจากโครงการนี้รวมถึง กุญแจเอสโครว์พิเศษที่รัฐบาลเก็บไว้เพื่อใช้โดยหน่วยงานบังคับใช้กฎหมาย (เช่นการดักฟัง ) [ 82 ]
การจัดการสิทธิ์ดิจิทัล
การเข้ารหัสเป็นหัวใจสำคัญของการจัดการสิทธิ์ดิจิทัล (DRM) ซึ่งเป็นกลุ่มเทคนิคสำหรับการควบคุมการใช้ เนื้อหา ที่มีลิขสิทธิ์ ทางเทคโนโลยี โดยมีการนำไปใช้และใช้งานอย่างแพร่หลายตามคำขอของผู้ถือลิขสิทธิ์บางราย ในปี 1998 ประธานาธิบดีบิล คลินตัน ของสหรัฐอเมริกา ได้ลงนามในพระราชบัญญัติลิขสิทธิ์ดิจิทัลแห่งสหัสวรรษ (DMCA) ซึ่งกำหนดให้การผลิต การเผยแพร่ และการใช้เทคนิคและเทคโนโลยีการวิเคราะห์การเข้ารหัสบางอย่าง (ที่รู้จักในปัจจุบันหรือค้นพบในภายหลัง) เป็นความผิดทางอาญา โดยเฉพาะอย่างยิ่งเทคนิคและเทคโนโลยีที่สามารถใช้เพื่อหลีกเลี่ยงแผนการทางเทคโนโลยีของ DRM ได้[ 89 ]สิ่งนี้ส่งผลกระทบอย่างเห็นได้ชัดต่อชุมชนวิจัยการเข้ารหัส เนื่องจากสามารถโต้แย้งได้ว่าการวิจัยการวิเคราะห์การเข้ารหัสใดๆ ก็ตามเป็นการละเมิด DMCA กฎหมายที่คล้ายกันนี้ได้ถูกตราขึ้นในหลายประเทศและภูมิภาค รวมถึงการนำไปใช้ในคำสั่งลิขสิทธิ์ของสหภาพยุโรปข้อจำกัดที่คล้ายกันนี้ยังถูกเรียกร้องโดยสนธิสัญญาที่ลงนามโดยรัฐสมาชิกของ องค์การทรัพย์สินทางปัญญาโลกด้วย
กระทรวง ยุติธรรม และเอฟบีไอของสหรัฐอเมริกาไม่ได้บังคับใช้ DMCA อย่างเข้มงวดอย่างที่บางคนเกรงไว้ แต่กฎหมายนี้ก็ยังคงเป็นที่ถกเถียงกันอยู่นีลส์ เฟอร์กูสันนักวิจัยด้านการเข้ารหัสที่ได้รับการยอมรับ ได้กล่าวต่อสาธารณะว่าเขาจะไม่เปิดเผยงานวิจัยบางส่วนเกี่ยวกับ การออกแบบความปลอดภัย ของ Intelเนื่องจากเกรงว่าจะถูกดำเนินคดีภายใต้ DMCA [ 90 ]บรูซ ชไนเออร์ นักการ เข้ารหัส ได้โต้แย้งว่า DMCA ส่งเสริมการผูกขาดผู้ขายในขณะที่ขัดขวางมาตรการที่แท้จริงต่อความปลอดภัยทางไซเบอร์[ 91 ]ทั้งอลัน ค็อกซ์ (นักพัฒนา เคอร์เนล Linuxมายาวนาน) และเอ็ดเวิร์ด เฟลเทน (และนักเรียนบางคนของเขาที่พรินซ์ตัน) ต่างก็ประสบปัญหาที่เกี่ยวข้องกับกฎหมายนี้ดมิทรี สกลียรอฟถูกจับกุมระหว่างการเยือนสหรัฐอเมริกาจากรัสเซีย และถูกจำคุกเป็นเวลาห้าเดือนเพื่อรอการพิจารณาคดีในข้อหาละเมิด DMCA ที่เกิดจากงานที่เขาทำในรัสเซีย ซึ่งงานนั้นถูกกฎหมาย ในปี พ.ศ. 2550 กุญแจเข้ารหัสลับที่ใช้ในการเข้ารหัสเนื้อหาBlu-rayและHD DVD ถูก ค้นพบและเผยแพร่บนอินเทอร์เน็ตในทั้งสองกรณีสมาคมภาพยนตร์แห่งอเมริกาได้ส่งหนังสือแจ้งเตือนการลบเนื้อหาตามกฎหมาย DMCA จำนวนมาก และเกิดกระแสต่อต้านทางอินเทอร์เน็ตอย่างมากมาย[ 10 ]ซึ่งเกิดจากการรับรู้ถึงผลกระทบของหนังสือแจ้งเตือนดังกล่าวต่อการใช้งานที่เป็นธรรมและเสรีภาพ ในการ พูด
การบังคับเปิดเผยรหัสการเข้ารหัส
ในสหราชอาณาจักรพระราชบัญญัติการควบคุมอำนาจการสืบสวนให้อำนาจแก่ตำรวจสหราชอาณาจักรในการบังคับให้ผู้ต้องสงสัยถอดรหัสไฟล์หรือส่งมอบรหัสผ่านที่ปกป้องกุญแจเข้ารหัส การไม่ปฏิบัติตามถือเป็นความผิดในตัวเอง มีโทษจำคุกสองปีหรือสูงสุดห้าปีในกรณีที่เกี่ยวข้องกับความมั่นคงของชาติ[ 8 ]มีการดำเนินคดีที่ประสบความสำเร็จภายใต้พระราชบัญญัตินี้ โดยคดีแรกในปี 2552 [ 92 ]ส่งผลให้มีการจำคุก 13 เดือน[ 93 ]กฎหมายการเปิดเผยข้อมูลโดยบังคับที่คล้ายกันในออสเตรเลีย ฟินแลนด์ ฝรั่งเศส และอินเดีย บังคับให้ผู้ต้องสงสัยแต่ละรายที่อยู่ระหว่างการสอบสวนส่งมอบกุญแจเข้ารหัสหรือรหัสผ่านในระหว่างการสอบสวนทางอาญา
ในสหรัฐอเมริกา คดีอาญาของรัฐบาลกลางในคดีUnited States v. Fricosuได้กล่าวถึงว่าหมายค้นสามารถบังคับให้บุคคลเปิดเผยรหัสผ่านการเข้ารหัส หรือรหัสผ่านได้หรือไม่[ 94 ]มูลนิธิElectronic Frontier Foundation (EFF) โต้แย้งว่านี่เป็นการละเมิดการคุ้มครองจากการให้การเป็นพยานปรักปรำตนเองที่ได้รับจากการแก้ไขเพิ่มเติมครั้งที่ 5 [ 95 ]ในปี 2012 ศาลได้ตัดสินว่าภายใต้พระราชบัญญัติAll Writs Actจำเลยจะต้องนำฮาร์ดไดรฟ์ที่ไม่ได้เข้ารหัสมาแสดงต่อศาล[ 96 ]
ในหลายประเทศ สถานะทางกฎหมายของการบังคับให้เปิดเผยข้อมูลยังคงไม่ชัดเจน
ข้อพิพาทเรื่องการเข้ารหัสระหว่าง FBI และ Appleในปี 2016 เกี่ยวข้องกับอำนาจของศาลในสหรัฐอเมริกาในการบังคับให้ผู้ผลิตให้ความช่วยเหลือในการปลดล็อกโทรศัพท์มือถือที่มีเนื้อหาถูกปกป้องด้วยวิธีการเข้ารหัส
เพื่อเป็นการตอบโต้การบังคับเปิดเผยข้อมูล ซอฟต์แวร์เข้ารหัสบางตัวจึงรองรับการปฏิเสธอย่างแนบเนียนซึ่งข้อมูลที่เข้ารหัสจะแยกไม่ออกจากข้อมูลสุ่มที่ไม่ได้ใช้งาน (ตัวอย่างเช่น ข้อมูลในไดรฟ์ที่ถูกล้างอย่างปลอดภัย )
ดูเพิ่มเติม
- การโจมตีแบบชนกัน
- การเปรียบเทียบไลบรารีการเข้ารหัส
- คริปโตไวโรโลยี – การรักษาความปลอดภัยและการเข้ารหัสข้อมูลทางไวรัสวิทยา
- สงครามคริปโต – ความพยายามที่จะจำกัดการเข้าถึงการเข้ารหัสลับที่แข็งแกร่ง
- สารานุกรมวิทยาการเข้ารหัสลับและความปลอดภัย – หนังสือโดย Technische Universiteit Eindhoven
- การเฝ้าระวังทั่วโลก – การเฝ้าระวังในวงกว้างข้ามพรมแดนระหว่างประเทศ
- การปกปิดข้อมูลจนไม่สามารถแยกแยะได้ – ประเภทหนึ่งของการปกปิดข้อมูลซอฟต์แวร์ทางด้านการเข้ารหัส
- ทฤษฎีสารสนเทศ – การศึกษาเชิงวิทยาศาสตร์เกี่ยวกับข้อมูลดิจิทัล
- ภาพรวมของวิทยาการเข้ารหัสลับ
- คีย์ที่ใช้ร่วมกันล่วงหน้า – วิธีการตั้งค่าคีย์การเข้ารหัส
- การเข้ารหัสควอนตัม – การเข้ารหัสที่อาศัยปรากฏการณ์ทางกลศาสตร์ควอนตัม
- โปรเซสเซอร์เข้ารหัสที่ปลอดภัย
- การเข้ารหัสที่แข็งแกร่ง – คำที่ใช้กับระบบการเข้ารหัสที่มีความทนทานต่อการถอดรหัสสูงมาก
- ตารางพยางค์และตารางซ่อนข้อมูล – ผลงานในศตวรรษที่สิบแปดซึ่งเชื่อกันว่าเป็นแผนภูมิการเข้ารหัสลับชิ้นแรก – แผนภูมิการเข้ารหัสลับชิ้นแรก
- API การเข้ารหัสเว็บของWorld Wide Web Consortium – มาตรฐานการเข้ารหัสของ World Wide Web Consortium
อ่านเพิ่มเติม
- Arbib, Jonathan; Dwyer, John (2011). คณิตศาสตร์เชิงดิสครีตสำหรับการเข้ารหัสลับ . สำนักพิมพ์ Algana. ISBN 978-1-907934-01-8.
- เบคเก็ต, บี (1988). บทนำสู่วิทยาการเข้ารหัสลับ. สำนักพิมพ์แบล็กเวลล์ ไซเอนซ์. ISBN 978-0-632-01836-9. OCLC 16832704 .เนื้อหาครอบคลุมดีเยี่ยมเกี่ยวกับรหัสลับแบบคลาสสิกและแนวคิดด้านการเข้ารหัสลับมากมาย รวมถึงระบบ DES และ RSA "สมัยใหม่" ด้วย
- Esslinger, Bernhard และคณะสคริปต์ CrypTool (PDF) (ฉบับที่ 10) เก็บถาวรจากต้นฉบับ(PDF)เมื่อวันที่ 22 กรกฎาคม 2554 เรียกดูเมื่อวันที่ 23 ธันวาคม 2556CrypToolเป็นโปรแกรมการเรียนรู้ออนไลน์ที่แพร่หลายที่สุดเกี่ยวกับวิทยาการเข้ารหัสและการถอดรหัส และเป็นซอฟต์แวร์โอเพนซอร์ส
- ในหนังสือ Code: A Mathematical JourneyโดยSarah Flannery (ร่วมกับ David Flannery) เป็นหนังสือที่ได้รับความนิยม บอกเล่าเรื่องราวโครงการที่ได้รับรางวัลของ Sarah เกี่ยวกับการเข้ารหัสแบบกุญแจสาธารณะ ซึ่งเขียนร่วมกับพ่อของเธอ
- เจมส์ แกนนอน , ขโมยความลับ บอกเล่าความเท็จ: สายลับและนักถอดรหัสมีส่วนช่วยกำหนดศตวรรษที่ 20 อย่างไร , วอชิงตัน ดี.ซี., สำนักพิมพ์บราสซีย์, 2001, ISBN 1-57488-367-4.
- Oded Goldreich , Foundations of Cryptographyเก็บถาวรเมื่อวันที่ 9 สิงหาคม 2016 ที่Wayback Machineในสองเล่ม สำนักพิมพ์มหาวิทยาลัยเคมบริดจ์ ปี 2001 และ 2004
- รหัสลับของอัลวินโดยคลิฟฟอร์ด บี. ฮิกส์ (นวนิยายสำหรับเด็กที่แนะนำพื้นฐานด้านการเข้ารหัสและการถอดรหัส)
- บทความเรื่อง "Introduction to Modern Cryptography" ถูกเก็บถาวรไว้เมื่อวันที่ 16 ตุลาคม 2552 ที่Wayback Machineโดย Jonathan Katz และ Yehuda Lindell
- Ibrahim A. Al-Kadi, "ต้นกำเนิดของวิทยาการเข้ารหัสลับ: ผลงานของชาวอาหรับ," Cryptologia, เล่มที่ 16, ฉบับที่ 2 (เมษายน 1992), หน้า 97–126.
- Christof Paarและ Jan Pelzl เขียนหนังสือ Understanding Cryptography, A Textbook for Students and Practitionersไว้ในWayback Machineเมื่อวันที่ 31 ตุลาคม 2020 สำนัก พิมพ์ Springer, 2009 (สไลด์ การบรรยายเรื่องการเข้ารหัสลับออนไลน์ และข้อมูลอื่นๆ สามารถดูได้ที่เว็บไซต์ประกอบ) หนังสือเล่มนี้เป็นการแนะนำการเข้ารหัสลับเชิงปฏิบัติที่เข้าใจง่ายสำหรับผู้ที่ไม่ใช่ผู้เชี่ยวชาญด้านคณิตศาสตร์
- "สารานุกรมกฎหมายระหว่างประเทศสาธารณะของแม็กซ์ พลังค์"เก็บถาวรจากต้นฉบับเมื่อวันที่ 1 พฤษภาคม 2018 เรียกดูเมื่อวันที่ 15 ธันวาคม 2021โดยให้ภาพรวมของประเด็นทางกฎหมายระหว่างประเทศที่เกี่ยวข้องกับการเข้ารหัสลับ
- หนังสือ "Introduction to Modern Cryptography"โดยPhillip RogawayและMihir Bellareเป็นหนังสือแนะนำทางคณิตศาสตร์เกี่ยวกับทฤษฎีการเข้ารหัส รวมถึงการพิสูจน์ความปลอดภัยโดยใช้การลดรูป สามารถดาวน์โหลดไฟล์ PDF ได้ ( เก็บถาวรเมื่อวันที่ 24 กันยายน 2552 ที่Wayback Machine )
- สตอลลิงส์, วิลเลียม (2013). การเข้ารหัสและการรักษาความปลอดภัยเครือข่าย: หลักการและการปฏิบัติ (ฉบับที่ 6). เพรนติส ฮอลล์. ISBN 978-0-13-335469-0.
- เทนเซอร์, ธีโอ (2021): Super Secreto – ยุคที่สามของการเข้ารหัสลับ: การเข้ารหัสหลายชั้น แบบทวีคูณ ปลอดภัยต่อควอนตัม และเหนือสิ่งอื่นใด คือ การเข้ารหัสที่ง่ายและใช้งานได้จริงสำหรับทุกคน Norderstedt, ISBN 978-3755761174.
- Johann-Christoph Woltag, 'การสื่อสารแบบเข้ารหัส (การเข้ารหัส)' ใน Rüdiger Wolfrum (บรรณาธิการ) สารานุกรมกฎหมายระหว่างประเทศสาธารณะของ Max Planck (สำนักพิมพ์มหาวิทยาลัยออกซ์ฟอร์ด 2009)
ลิงก์ภายนอก
คำจำกัดความของคำว่า"การเข้ารหัสลับ" จากพจนานุกรม วิกิพีเดีย
สื่อที่เกี่ยวข้องกับวิทยาการเข้ารหัสลับในวิกิมีเดียคอมมอนส์- การเข้ารหัสลับในรายการIn Our Timeทางช่องBBC
- คำศัพท์และพจนานุกรมทางด้านการเข้ารหัสลับทางเทคนิค (Crypto Glossary and Dictionary of Technical Cryptography) ถูกเก็บถาวรเมื่อวันที่ 4 กรกฎาคม 2022 ที่Wayback Machine
- หลักสูตรการเข้ารหัสลับโดย ราฟาเอล พาส และ อับฮี เชลัต – เปิดสอนที่มหาวิทยาลัยคอร์เนลในรูปแบบเอกสารประกอบการบรรยาย
- สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้องค์ประกอบการเข้ารหัสในนิยาย โปรดดูที่: Dooley, John F. (23 สิงหาคม 2012). "การเข้ารหัสในนิยาย" . เก็บถาวรจากต้นฉบับเมื่อ 29 กรกฎาคม 2020 . สืบค้นเมื่อ20 กุมภาพันธ์ 2015 .
- คอลเล็กชัน George Fabyanที่หอสมุดรัฐสภาประกอบด้วยฉบับพิมพ์ครั้งแรกของวรรณกรรมอังกฤษในศตวรรษที่สิบเจ็ด และสิ่งพิมพ์ที่เกี่ยวข้องกับการเข้ารหัสลับ
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ การเข้ารหัสลับ
การเข้ารหัสหรือวิทยาการเข้ารหัสคือการปฏิบัติและการศึกษาเทคนิคสำหรับการสื่อสารที่ปลอดภัยเมื่อมีพฤติกรรมที่เป็นปรปักษ์โดยทั่วไปแล้ว
ศัพท์เฉพาะ
การใช้คำว่า "cryptograph" (ตรงข้ามกับ " cryptogram ") ครั้งแรกย้อนกลับไปในศตวรรษที่ 19 โดยมาจากเรื่องสั้น " The Gold-Bug " ของ เอ็ดการ์ อัลลัน โพ [ 11 ] [ 12 ] รากศัพท์ของคำนี้มาจาก ภาษากรีก โดยประกอบด้วยสองส่วนคือ "crypton" (ซ่อนอยู่) และ "grapho" (เขียน)
ประวัติศาสตร์
ก่อนยุคสมัยใหม่ การเข้ารหัสลับมุ่งเน้นไปที่การรักษาความลับของข้อความ (เช่น การเข้ารหัส) ซึ่งเป็นการแปลง ข้อความ จากรูปแบบที่เข้าใจได้ไปเป็นรูปแบบที่เข้าใจไม่ได้ และแปลงกลับมาเป็นรูปแบบที่เข้าใจได้อีกครั้ง ทำให้ผู้ดักฟังหรือ ผู้แอบฟัง ไม่สามารถอ่านข้อความได้...
การเข้ารหัสแบบคลาสสิก
รหัสลับแบบคลาสสิกหลักๆ ได้แก่ รหัสสลับตำแหน่ง ซึ่งจัดเรียงลำดับตัวอักษรในข้อความใหม่ (เช่น 'hello world' กลายเป็น 'ehlol owrdl' ในแผนการจัดเรียงใหม่ที่ง่ายมาก) และ รหัสแทนที่ ซึ่งแทนที่ตัวอักษรหรือกลุ่มตัวอักษรด้วยตัวอักษรหรือกลุ่มตัวอักษรอื่นๆ อย่างเป็นระบบ...