คู่มือเริ่มต้นการเข้ารหัสคีย์สาธารณะ
เผยแพร่แล้ว: 2022-09-20ข้อมูลเป็นทรัพยากรที่ประเมินค่าไม่ได้ในสภาพแวดล้อมทางธุรกิจที่มีการแข่งขันสูงในปัจจุบัน ดังนั้น ธุรกิจจะต้องรักษาความลับและความปลอดภัยของข้อมูลในขณะที่ควบคุมการเข้าถึงข้อมูล นอกจากนี้ เมื่อการแปลงเป็นดิจิทัลกลายเป็นบรรทัดฐานและองค์กรต่างๆ ดำเนินการประมวลผลข้อมูลโดยอัตโนมัติ โอกาสในการเข้าถึงข้อมูลที่ละเอียดอ่อนโดยไม่ได้รับอนุญาตจึงเพิ่มขึ้น ดังนั้น ธุรกิจจะต้องสร้างสภาพแวดล้อมที่ปลอดภัยซึ่งปกป้องข้อมูลที่มีค่าและบรรเทาภัยคุกคามข้อมูลที่อาจเกิดขึ้น
การเข้ารหัสมีบทบาทสำคัญในการรักษาความปลอดภัยของข้อมูลเพื่อรักษาความลับและความสมบูรณ์ ประเภทย่อยของการเข้ารหัส การ เข้ารหัสคีย์ สาธารณะ หรือ การเข้ารหัส คีย์สาธารณะ เป็นองค์ประกอบที่สำคัญในนโยบายการรักษาความปลอดภัยของข้อมูลส่วนใหญ่ทั่วโลก
บทความนี้จะสำรวจแนวคิดของกุญแจสาธารณะ ในการเข้ารหัส และยูทิลิตี้ในการปกป้องข้อมูล
เรียนรู้หลักสูตรการพัฒนาซอฟต์แวร์ออนไลน์จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม Executive PG โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว
การเข้ารหัสในการรักษาความปลอดภัยข้อมูลคืออะไร?
การเข้ารหัสหมายถึงชุดของเทคนิคในการปกป้องข้อมูลและการสื่อสารโดยการปลอมแปลงข้อมูลเพื่อให้เฉพาะผู้รับที่ต้องการเท่านั้นที่สามารถประมวลผลและอ่านเนื้อหาได้ อาศัยอัลกอริทึมในการเข้ารหัสข้อมูลที่เฉพาะบุคคลที่ได้รับอนุญาตเท่านั้นที่สามารถถอดรหัสได้ ดังนั้น การเข้ารหัสส่วนใหญ่เกี่ยวข้องกับการแปลงข้อความธรรมดาหรือข้อความธรรมดาให้เป็นข้อความเข้ารหัส (การเข้ารหัส) แล้วจึงเปลี่ยนกลับ (ถอดรหัส)
การเข้ารหัสคำมีรากศัพท์มาจากภาษากรีกว่า 'Kryptos' ซึ่งหมายถึง 'ซ่อนอยู่' บันทึกแรกสุดของการใช้การเข้ารหัสลับมีขึ้นตั้งแต่ชาวอียิปต์โบราณและชาวโรมัน รวมทั้งรหัสซีซาร์ที่มีชื่อเสียงของ Julius Caesar แม้ว่าเทคนิคที่ใช้ในสมัยก่อนจะดูไม่ซับซ้อนและตรงไปตรงมาในยุคและยุคปัจจุบัน แต่ยันต์แบบโบราณเป็นเครื่องเตือนใจที่โดดเด่นถึงความจำเป็นในการปกป้องข้อมูลที่ละเอียดอ่อน ด้วยวิวัฒนาการของเทคโนโลยี การเข้ารหัสในปัจจุบันมีแอพพลิเคชั่นมากมาย รวมถึงลายเซ็นดิจิทัล การท่องอินเทอร์เน็ต แอพเมสเซนเจอร์ อีเมล ธุรกรรมบัตรเครดิต การตรวจสอบออนไลน์ และการสร้างคีย์เข้ารหัส
กุญแจสำคัญในการเข้ารหัสคืออะไร?
ในการเข้ารหัส คีย์คือสตริงของอักขระสุ่มในลำดับที่กำหนดไว้ซึ่งใช้เพื่อแก้ไขหรือแปลงข้อมูลภายในอัลกอริธึมการเข้ารหัส กล่าวอีกนัยหนึ่ง คีย์ในการ เข้ารหัสจะเข้ารหัสหรือล็อกข้อมูลเพื่อให้เฉพาะผู้ที่มีคีย์ที่ถูกต้องเท่านั้นที่สามารถถอดรหัสหรือปลดล็อกได้ ข้อความธรรมดาคือข้อมูลดั้งเดิม และข้อความเข้ารหัสอยู่หลังคีย์เข้ารหัส
การเข้ารหัสมีบทบาทอย่างมากในระบบความปลอดภัยของข้อมูล อัลกอริธึมการเข้ารหัสแบ่งออกเป็น 2 ประเภทใหญ่ๆ ได้แก่ อัลกอริทึมคีย์สมมาตร (อัลกอริธึมคีย์ลับ) และอัลกอริธึมคีย์แบบอสมมาตร (อัลกอริธึมคีย์สาธารณะ)
หลักสูตรและบทความยอดนิยมเกี่ยวกับวิศวกรรมซอฟต์แวร์
โปรแกรมยอดนิยม | |||
หลักสูตร Executive PG ในการพัฒนาซอฟต์แวร์ - IIIT B | โปรแกรมใบรับรองบล็อคเชน - PURDUE | โปรแกรมใบรับรองความปลอดภัยทางไซเบอร์ - PURDUE | MSC ในวิทยาการคอมพิวเตอร์ - IIIT B |
บทความยอดนิยมอื่น ๆ | |||
Cloud Engineer เงินเดือนในสหรัฐอเมริกา 2021-22 | เงินเดือนสถาปนิกโซลูชัน AWS ในสหรัฐอเมริกา | เงินเดือนนักพัฒนาแบ็กเอนด์ในสหรัฐอเมริกา | Front End Developer เงินเดือนในสหรัฐอเมริกา |
นักพัฒนาเว็บ เงินเดือนในสหรัฐอเมริกา | คำถามสัมภาษณ์ Scrum Master ในปี 2022 | จะเริ่มอาชีพใน Cyber Security ในปี 2022 ได้อย่างไร? | ตัวเลือกอาชีพในสหรัฐอเมริกาสำหรับนักศึกษาวิศวกรรม |
ความหมายของการเข้ารหัสคีย์สาธารณะ
การเข้ารหัสคีย์สาธารณะ หรือการเข้ารหัสคีย์แบบอสมมาตรเป็นกระบวนการเข้ารหัสที่ข้อมูลจะถูกเข้ารหัสและถอดรหัสโดยใช้คีย์ต่างๆ แม้ว่าคีย์จะต่างกัน แต่ก็มีความเกี่ยวข้องทางคณิตศาสตร์กับการอำนวยความสะดวกในการดึงข้อความธรรมดาโดยการถอดรหัสข้อความไซเฟอร์เท็กซ์ รูปแบบ การเข้ารหัสคีย์สาธารณะ ที่ใช้บ่อยที่สุด จะขึ้นอยู่กับอัลกอริธึม RSA
ในกระบวนการเข้ารหัสแบบอสมมาตร คีย์หนึ่งเข้ารหัสข้อมูล และอีกคีย์หนึ่ง แต่คีย์ที่สอดคล้องกันจะถอดรหัสข้อมูล คีย์ที่เข้ารหัสข้อมูลคือคีย์สาธารณะ ในขณะที่คีย์ส่วนตัวจะถอดรหัสข้อมูล
นอกจากนี้ กุญแจสาธารณะยังเป็นที่รู้จักกันอย่างแพร่หลาย ในขณะที่คีย์ส่วนตัวนั้นเป็นความลับ หมายความว่าในขณะที่คนอื่นสามารถใช้กุญแจสาธารณะของคุณเพื่อส่งข้อมูลที่เข้ารหัสถึงคุณ มีเพียงคุณเท่านั้นที่สามารถเข้าถึงคีย์ส่วนตัวหรือรหัสลับเพื่อถอดรหัสข้อความ
ข้อดีของการเข้ารหัสคีย์สาธารณะ
การเข้ารหัสคีย์สาธารณะ มีฟังก์ชันการทำงานดังต่อไปนี้:
- การเข้ารหัสและถอดรหัส: คุณลักษณะการเข้ารหัสและถอดรหัสช่วยให้ทั้งสองฝ่ายสามารถสื่อสารกันได้โดยการปลอมแปลงข้อมูลที่พวกเขาแลกเปลี่ยน ผู้ส่งจะรบกวนหรือเข้ารหัสข้อมูลก่อนที่จะส่ง และผู้รับจะถอดรหัสหรือถอดรหัสข้อมูลหลังจากได้รับ ในขณะเดียวกัน ข้อมูลที่เข้ารหัสระหว่างการส่งยังคงไม่สามารถเข้าใจได้สำหรับบุคคลที่สาม
- การไม่ปฏิเสธ: การเข้ารหัสคีย์สาธารณะ มีกลไกการรักษาความปลอดภัยที่เรียกว่าการไม่ปฏิเสธ ซึ่งป้องกันการเปลี่ยนแปลงข้อมูล และทำให้แน่ใจว่าไม่มีฝ่ายใดสามารถปฏิเสธว่าพวกเขาได้รับ/ส่งข้อความผ่านการเข้ารหัส
การเข้ารหัสคีย์สาธารณะกับการเข้ารหัสคีย์ส่วนตัว
ต่างจาก ระบบ เข้ารหัสคีย์สาธารณะ การเข้ารหัสคีย์แบบ สมมาตรหรือส่วนตัวเกี่ยวข้องกับผู้ส่งและผู้รับที่แชร์คีย์ทั่วไปเพียงคีย์เดียวที่เข้ารหัสและถอดรหัสข้อความ ดังนั้น อัลกอริธึมการเข้ารหัสคีย์แบบสมมาตรจะสร้างรหัสบล็อกที่มีความยาวบิตคงที่ด้วยคีย์ลับที่ผู้ส่งใช้ในการเข้ารหัสข้อมูล และผู้รับใช้เพื่อถอดรหัสหรือถอดรหัส ตัวอย่างคลาสสิกของการเข้ารหัสคีย์ส่วนตัวคือ AES หรือ Advanced Encryption Standard ที่จัดตั้งขึ้นโดย National Institute of Standards and Technology (NIST) ในเดือนพฤศจิกายน 2544
ดังนั้น อะไรคือความแตกต่างที่สำคัญระหว่าง การเข้ารหัสคีย์สาธารณะ และการเข้ารหัสคีย์ส่วนตัว? ตารางต่อไปนี้เน้นถึงความแตกต่าง
การเข้ารหัสคีย์สาธารณะ | การเข้ารหัสคีย์ส่วนตัว |
กุญแจสาธารณะ/ระบบการเข้ารหัสสองคีย์ที่เกี่ยวข้องกับสองคีย์ | ระบบการเข้ารหัสลับ/คีย์เดียวโดยใช้คีย์เดียวเท่านั้น |
ทุกคนสามารถใช้กุญแจสาธารณะเพื่อเข้ารหัสข้อมูลได้ ในขณะที่มีเพียงผู้รับเท่านั้นที่รู้รหัสส่วนตัวและใช้สำหรับถอดรหัสข้อมูล | ทั้งผู้ส่งและผู้รับใช้คีย์เดียวกัน |
ฝ่ายไม่เท่ากัน จึงไม่สมมาตร | สมมาตรเพราะคู่กรณีเท่าเทียมกัน |
ฝ่ายที่เข้ารหัสข้อความไม่สามารถถอดรหัสข้อความได้ | เนื่องจากคู่กรณีเท่าเทียมกัน ผู้รับสามารถปลอมข้อความและอ้างว่าส่งมาจากผู้ส่งอย่างไม่ถูกต้อง |
อัลกอริทึม RSA เบื้องหลังการเข้ารหัสคีย์สาธารณะ
อัลกอริธึม RSA เป็นอัลกอริธึมการเข้ารหัสแบบอสมมาตรที่ใช้กันอย่างแพร่หลายโดยอาศัยคีย์สาธารณะและคีย์ส่วนตัวเพื่อเข้ารหัสและถอดรหัสข้อความ อัลกอริทึม RSA สร้างขึ้นในปี 1978 โดยตั้งชื่อตาม Ron Rivest, Adi Shamir และ Leonard Adleman ผู้ประดิษฐ์
ต่อไปนี้เป็นคำอธิบายอย่างง่ายเกี่ยวกับวิธีการทำงานของอัลกอริทึม RSA ใน การเข้ารหัสคีย์สาธารณะ :
1. การสร้างคีย์
- เลือกจำนวนเฉพาะขนาดใหญ่สองตัว 'p' และ 'q'
- คำนวณ n = p*q
- ค้นหาฟังก์ชัน totient: Φ(n) = (p-1)(q-1)
- ตอนนี้ เลือกจำนวนเต็ม 'e' ซึ่งเป็น co-prime ถึง Φ(n) และ 1 < e < Φ(n)
- คู่ (n,e) เป็นกุญแจสาธารณะ
- ตอนนี้คำนวณ 'd' ให้ de = 1 mod Φ(n) หรือ 1 mod (p-1)(q-1)
- ใช้อัลกอริธึมแบบยุคลิดแบบขยายเพื่อค้นหา d คีย์ส่วนตัวคือคู่ (n,d)
2. การเข้ารหัส
- ข้อความธรรมดาที่กำหนด 'P' คือชุดของตัวเลขที่น้อยกว่า n หากข้อความเข้ารหัสเป็น 'C' การเข้ารหัสจะดำเนินการโดยใช้ขั้นตอนทางคณิตศาสตร์ต่อไปนี้:
C = P อี mod n
3. ถอดรหัส
- สามารถเรียกข้อความธรรมดาโดยใช้คีย์ส่วนตัว (n,d) ในขั้นตอนต่อไปนี้:
P = C d mod n
pseudocode ต่อไปนี้เป็นตัวอย่างของการทำงานของอัลกอริทึม RSA:
int x = 61, int y = 53;
int n = x * y;
// n = 3233
// คำนวณ totient, phi
int phi = (x-1)*(y-1);
// พี = 3120.
int e = findCoprime(phi);
// ค้นหา 'e' ซึ่งก็คือ > 1 และเป็น co-prime ของ phi
// e = 17 ตรงกับค่าปัจจุบัน
// ใช้อัลกอริธึมแบบยุคลิดแบบขยาย ค้นหา 'd' ที่ตรงใจ
// สมการนี้:
d = (1 mod (phi))/e;
// d = 2753 สำหรับค่าตัวอย่าง
public_key = (e=17, n=3233);
private_key = (d=2753, n=3233);
// กำหนดข้อความธรรมดา P=123 ข้อความเข้ารหัส C คือ:
C = (123^17) % 3233 = 855;
// ในการถอดรหัสข้อความไซเฟอร์ C:
P = (855^2753) % 3233 = 123;
บทสรุป
การเข้ารหัสคีย์ส่วนตัวเป็นระบบเข้ารหัสแบบดั้งเดิม อย่างไรก็ตาม มันทำให้ข้อความที่ส่งเสี่ยงต่อการถูกสกัดกั้นโดยบุคคลที่สาม เนื่องจากคีย์ลับเดียวเข้ารหัสและถอดรหัสข้อมูล ดังนั้น นักวิทยาการเข้ารหัสลับจึงได้พัฒนา ระบบ การเข้ารหัสคีย์สาธารณะ เพื่อจัดการกับข้อจำกัดของระบบทั่วไป ใน การเข้ารหัสคีย์สาธารณะ ผู้ส่งเข้ารหัสข้อความโดยใช้คีย์สาธารณะ ในขณะที่ผู้รับสามารถถอดรหัสข้อความด้วยคีย์ส่วนตัวที่มีให้เฉพาะกับผู้รับเท่านั้น ด้วยเหตุนี้ บุคคลที่สามจึงไม่สามารถอ่านข้อความระหว่างทางได้ เนื่องจากมีเพียงคีย์ส่วนตัวของผู้รับเท่านั้นที่สามารถถอดรหัสได้ ระบบ การเข้ารหัสคีย์สาธารณะ ส่วนใหญ่ใช้อัลกอริทึม RSA และมีบทบาทสำคัญในเทคโนโลยีการเข้ารหัสที่ทันสมัย
เข้าร่วม upGrad ในการเดินทางสู่การเป็นผู้เชี่ยวชาญด้านความปลอดภัยของข้อมูล
คุณกำลังมองหาแพลตฟอร์มที่ครอบคลุมเพื่อเรียนรู้ความปลอดภัยของข้อมูลหรือไม่? การค้นหาของคุณจบลงด้วยโปรแกรม Cybersecurity Certificate จาก upGrad ร่วมกับ Purdue University หลักสูตรออนไลน์ 8 เดือนเหมาะสำหรับผู้เชี่ยวชาญด้านไอทีระดับเริ่มต้นถึงระดับกลาง ผู้เชี่ยวชาญด้านเทคนิค ผู้เชี่ยวชาญด้านการสนับสนุนด้านเทคนิค นักวิเคราะห์ วิศวกร และผู้สำเร็จการศึกษาใหม่
จุดเด่นของโปรแกรม:
- ใบรับรองการยอมรับจาก upGrad และ Purdue University
- 300+ ชั่วโมงการเรียนรู้ 15+ เซสชันสดและสี่โครงการ
- หลักสูตรที่ครอบคลุมครอบคลุม การเข้ารหัสและการเข้ารหัส
- เรียนรู้ภาษาและเครื่องมือการเขียนโปรแกรมที่เกี่ยวข้อง
- อุตสาหกรรมและเครือข่ายเพื่อน
- สนับสนุนการเรียนรู้แบบ 360 องศา
กุญแจสาธารณะหมายถึงค่าตัวเลขขนาดใหญ่สำหรับการเข้ารหัสข้อมูลในการเข้ารหัส กล่าวอีกนัยหนึ่ง กุญแจสาธารณะในการเข้ารหัสจะแปลงข้อมูลให้อยู่ในรูปแบบที่อ่านไม่ได้ ส่วนตัวอื่นที่เชื่อมโยงทางคณิตศาสตร์จะถอดรหัสข้อมูล คีย์ที่ใช้ร่วมกันเพียงคีย์เดียวจะเข้ารหัสและถอดรหัสข้อความในการเข้ารหัสคีย์ลับ ในทางตรงกันข้าม การเข้ารหัสแบบพับลิกคีย์ใช้คีย์ที่แตกต่างกันสองคีย์แต่สัมพันธ์กันทางคณิตศาสตร์ (สาธารณะและส่วนตัว) สำหรับกระบวนการเข้ารหัสและถอดรหัส แอปพลิเคชันหลักของการเข้ารหัสคีย์สาธารณะคือการเข้ารหัสข้อมูลและลายเซ็นดิจิทัล การเข้ารหัสคีย์สาธารณะช่วยให้มั่นใจถึงความปลอดภัยของข้อมูลผ่านการพิสูจน์ตัวตนและการไม่ปฏิเสธ คีย์สาธารณะหมายถึงอะไร
รหัสลับต่างจากกุญแจสาธารณะอย่างไร
แอปพลิเคชั่นของการเข้ารหัสคีย์สาธารณะคืออะไร?