การเข้ารหัสคีย์สาธารณะ (Public key cryptography) เป็นวิธีการเข้ารหัสที่ต้องการคีย์สาธารณะและส่วนตัวที่คู่กัน (หรืออัลกอริทึมคีย์อสมมาตร asymmetric key) สำหรับการสื่อสารข้อมูลที่ปลอดภัพ การเข้ารหัสคีย์สาธารณะเรียกอีกอย่างว่าการเข้ารหัสแบบอสมมาตร (asymmetric cryptography) เป็นรูปแบบของการเข้ารหัสที่ผู้ใช้มีคู่คีย์เข้ารหัส ได้แก่ คีย์สาธารณะและคีย์ส่วนตัว
คีย์ทั้งสองเกี่ยวข้องกันทางตัวเลข แตคีย์ส่วนตัวไม่สามารถคำนวณได้จากคีย์สาธารณะ ข้อความที่เข้ารหัสด้วยคีย์สาธารณะสามารถถอดรหัสได้เฉพาะกับคีย์ส่วนตัวที่สอดคล้องกัน
สองสาขาหลักของการเข้ารหัสคีย์สาธารณะ
- การเข้ารหัสคีย์สาธารณะ (Public Key Encryption): ข้อความที่เข้ารหัสด้วยคีย์สาธารณะของผู้รับ ไม่สามารถถอดรหัสได้โดยใคร ยกเว้นผู้รับที่ครอบครองคีย์ส่วนตัวที่สอดคล้องกัน สามารถใช้เพื่อให้ความลับ (confidentiality)
- ลายเซ็นดิจิทัล (Digital Signatures): ข้อความที่เซ็นด้วยคีย์ส่วนตัวของผู้ส่ง สามารถตรวจสอบได้โดยใครก็ตามที่เข้าถึงคีย์สาธารณะของผู้ส่ง ได้ โดยการตรวจสอบว่าผู้ส่งเซ็นมัน และข้อความไม่ได้ถูกปรับเปลี่ยน นี่สามารถใช้เพื่อให้ความแท้จริง (authenticity)
ลายเซ็นดิจิทัลเป็นเทคนิคทางคณิตศาสตร์ที่ตรวจสอบความแท้จริงและความสมบูรณ์ของข้อความ ซอฟต์แวร์ หรือไฟล์ดิจิทัล ช่วยให้เราตรวจสอบชื่อผู้เขียน วันที่และเวลาของลายเซ็น และยืนยันข้อความ ลายเซ็นดิจิทัลให้ความปลอดภัยที่เป็นเอกลักษณ์มากกว่า และตั้งใจเพื่อแก้ไขปัญหาการปลอมแปลงและการปลอมตัวตนในการสื่อสารดิจิทัล
การเปรียบเทียบสำหรับการเข้ารหัสคีย์สาธารณะคือ กล่องจดหมายที่ปลอดภัพพร้อมช่องจดหมาย ช่องจดหมายถูกกำหนดและใช้ได้โดยสาธารณะ ตำแหน่งของมัน (ที่อยูถนน) เป็นแง่มุมของคีย์สาธารณะ ใครก็ตามที่เข้าใจที่อยูถนนสามารถไปที่ประตูและวางข้อความเขียนผ่านช่อง แต่เฉพาะคนที่มีกุญแจเท่านั้นที่สามารถเปิดกล่องจดหมายและอ่านข้อความ
การเปรียบเทียบสำหรับลายเซ็นดิจิทัลคือ ซีลขี้ผึ้งส่วนตัวบนซองจดหมาย ข้อความสามารถเปิดได้โดยใครก็ตาม แต่การมีอยู่ของซีลยืนยันผู้ส่ง
ปัญหาหลักสำหรับการเข้ารหัสคีย์สาธารณะคือการพิสูจน์ว่าคีย์สาธารณะเป็นของแท้ และไม่ได้ถูกปลอมแปลงหรือกู้คืนโดยบุคคลที่สามที่เป็นอันตราย แนวทางทั่วไปสำหรับปัญหานี้คือการต้องการ Public-key Infrastructure (PKI) ซึ่งหนึ่งหรือมากกว่าบุคคลที่สาม เรียกว่า Certificate Authorities (CA) รับรองการครอบครองคู่คีย์ อีกวิธีหนึ่ง ที่ใช้โดย PGP คือวิธี "web of trust" เพื่อให้ความแท้จริงของคู่คีย์
เทคนิคคีย์สาธารณะมีการคำนวณที่ครอบคลุมมากกว่า อัลกอริทึมแบบสมมาตรเพียงอย่างเดียว การใช้เทคนิคเหล่านี้อนุญาตให้มีแอปพลิเคชันหลากหลาย