คู่มือเริ่มต้นการเข้ารหัสคีย์สาธารณะ

เผยแพร่แล้ว: 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 องศา

คีย์สาธารณะหมายถึงอะไร

กุญแจสาธารณะหมายถึงค่าตัวเลขขนาดใหญ่สำหรับการเข้ารหัสข้อมูลในการเข้ารหัส กล่าวอีกนัยหนึ่ง กุญแจสาธารณะในการเข้ารหัสจะแปลงข้อมูลให้อยู่ในรูปแบบที่อ่านไม่ได้ ส่วนตัวอื่นที่เชื่อมโยงทางคณิตศาสตร์จะถอดรหัสข้อมูล

รหัสลับต่างจากกุญแจสาธารณะอย่างไร

คีย์ที่ใช้ร่วมกันเพียงคีย์เดียวจะเข้ารหัสและถอดรหัสข้อความในการเข้ารหัสคีย์ลับ ในทางตรงกันข้าม การเข้ารหัสแบบพับลิกคีย์ใช้คีย์ที่แตกต่างกันสองคีย์แต่สัมพันธ์กันทางคณิตศาสตร์ (สาธารณะและส่วนตัว) สำหรับกระบวนการเข้ารหัสและถอดรหัส

แอปพลิเคชั่นของการเข้ารหัสคีย์สาธารณะคืออะไร?

แอปพลิเคชันหลักของการเข้ารหัสคีย์สาธารณะคือการเข้ารหัสข้อมูลและลายเซ็นดิจิทัล การเข้ารหัสคีย์สาธารณะช่วยให้มั่นใจถึงความปลอดภัยของข้อมูลผ่านการพิสูจน์ตัวตนและการไม่ปฏิเสธ