- Public - Key Cryptography
จาก EP ที่เเล้วเราได้มีการพูดถึง Symmetric - Key Cryptography หรือการเข้ารหัสข้อมูลด้วย “กุญแจเดี่ยว” ไปแล้ว ใน EP นี้เราจะมาพูดถึงการเข้ารหัสอีกรูปแบบที่ถูกพัฒนาขึ้นมา และสามารถแก้ปัญหาที่เกิดขึ้นจากการเข้ารหัสแบบแรกได้ นั่นก็คือ การเข้ารหัสแบบ “Asymmetric - Key Cryptography”
Asymmetric - Key Cryptography หรือที่รู้จักกันในชื่อ “Public - Key Cryptography” คือ ระบบเข้ารหัสแบบกุญแจอสมมาตร หรือการเข้ารหัสข้อมูลด้วย “กุญแจคู่ (Key Pair)” ในการเข้ารหัสจะประกอบไปด้วย กุญแจส่วนตัว (Private Key) และกุญแจสาธารณะ (Public Key) โดยหลักการทำงาน คือ เราจะใช้กุญแจส่วนตัวในการเข้ารหัส และจะใช้กุญแจสาธารณะในการถอดรหัส สำหรับการเข้ารหัสและถอดรหัสด้วยกุญแจคู่ จะใช้ฟังก์ชันทางคณิตศาสตร์เข้ามาช่วย โดยที่ฟังก์ชันทางคณิตศาสตร์ที่นำมาใช้ จะต้องได้รับการพิสูจน์แล้วว่าจะมีเฉพาะกุญแจคู่ของมันเท่านั้นที่จะสามารถถอดรหัสได้ ไม่สามารถนำกุญแจคู่อื่นมาถอดรหัสได้อย่างเด็ดขาด
ในระบบ Public - Key Cryptography บุคคลใดก็ตาม สามารถที่จะเข้ารหัสข้อมูลโดยใช้ กุญแจสาธารณะ (Public Key) ของผู้รับที่ต้องการได้ แต่ข้อมูลที่เข้ารหัสนั้นสามารถถอดรหัสได้ด้วยกุญแจส่วนตัว (Private Key) ของผู้รับ เท่านั้น ดังนั้นการรักษาความปลอดภัยที่มีประสิทธิภาพ คือ ต้องเก็บรักษากุญแจส่วนตัว (Private Key) อย่างดีห้ามให้ผู้อื่นรู้เด็ดขาด ส่วนกุญแจสาธารณะ (Public Key) สามารถแจกจ่ายได้อย่างเปิดเผยโดยไม่กระทบต่อความปลอดภัย
นอกเหนือจากการเข้ารหัสแล้วระบบ Public - Key Cryptography ยังเป็นอัลกอริทึมพื้นฐานในการรักษาความปลอดภัยของระบบ Modern Cryptography ซึ่งเป็นส่วนช่วยในการรับรองความถูกต้องของข้อมูล (Authentication) การรักษาความสมบูรณ์ของข้อมูล(Integrity) การรักษาความลับของข้อมูล (Confidentiality) และการห้ามปฏิเสธความรับผิดชอบ (Non-repudiation) ซึ่งหมายถึง การป้องกันไม่ให้บุคคลผู้ส่งปฏิเสธว่าตนไม่ได้ส่งข้อมูลอิเล็กทรอนิกส์ ซึ่งในปัจจุบันมีอัลกอริทึมมากมายที่นำ Public - Key Cryptography ไปประยุกต์ใช้ เช่น Diffie-Hellman key exchange, DSA, RSA, ElGamal, Elliptic - Curve Cryptography (ECC) เป็นต้น
ข้อดี คือ สามารถที่จะแชร์กุญแจให้กับบุคคลอื่นได้ โดยไม่ต้องกังวลเกี่ยวกับปัญหาการถูกขโมยกุญแจเหมือนการเข้ารหัสแบบกุญแจสมมาตร (Symmetric Key Cryptography) เนื่องจากเรามีกุญแจสาธารณะ (Public Key) ที่สามารถเปิดเผยให้บุคคลอื่นรู้ได้ แต่บุคคลอื่นไม่สามารถใช้ในการถอดรหัสได้ เพราะการถอดรหัสจะต้องใช้ กุญแจส่วนตัว (Private Key)
ข้อเสีย คือ การเข้าและถอดรหัสทำได้ช้าเมื่อเทียบกับการเข้ารหัสแบบกุญแจสมมาตร ( Symmetric - Key Cryptography) และเนื่องจากความช้า จึงส่งผลให้ระบบนี้ไม่เหมาะกับการเข้ารหัสข้อมูลขนาดใหญ่ และไม่ตอบโจทย์สำหรับวัตถุประสงค์หลายอย่างของ Cryptosystems ในปัจจุบัน
การเข้ารหัสแบบกุญแจอสมมาตร (Public - Key Cryptography) เป็นเทคนิคการเข้ารหัสที่ใช้กันอย่างแพร่หลายในการเข้ารหัสในยุคสมัยใหม่ ( Modern Cryptography) มีแอปพลิเคชันมากมายนอกเหนือจากการเข้ารหัส ยังถูกใช้เป็นองค์ประกอบหลายอย่างใน Blockchain อีกด้วย
Reference
Outline
- Public - Key Cryptography คืออะไร
- กระบวนการทำงานของ Public - Key Cryptography
- ตัวอย่างการใช้ Public - Key Cryptography
- ข้อดี-ข้อเสีย