Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

ความแตกต่างระหว่าง Private Key และ Public Key ในการเข้ารหัส

Private Key (คีย์ส่วนตัว / Symmetric Key)

Private Key ใช้สำหรับ เข้ารหัสและถอดรหัสข้อมูลทั้งคู่ คีย์นี้จะถูกแบ่งปันระหว่างผู้ส่งและผู้รับของข้อมูลที่เข้ารหัส เรียกอีกอย่างว่า Symmetric Cryptography (การเข้ารหัสแบบสมมาตร) เนื่องจากใช้คีย์เดียวกันทั้งสองฝ่าย การเข้ารหัสแบบ Private Key มีความเร็วสูงกว่าการเข้ารหัสแบบ Public Key

Public Key (คีย์สาธารณะ / Asymmetric Key)

Public Key ใช้สำหรับ เข้ารหัสข้อมูลเท่านั้น ในขณะที่ Private Key (คู่คีย์ส่วนตัว) ใช้สำหรับถอดรหัส คีย์สาธารณะสามารถเผยแพร่ได้อย่างอิสระ ส่วนคีย์ส่วนตัวคู่จะต้องเก็บไว้เป็นความลับ เรียกอีกอย่างว่า Asymmetric Cryptography (การเข้ารหัสแบบอสมมาตร) เนื่องจากใช้คีย์คู่ที่แตกต่างกันสำหรับการเข้ารหัสและถอดรหัส

ตารางเปรียบเทียบความแตกต่างสำคัญ

ลำดับ หัวข้อ Private Key Public Key
1 อัลกอริทึม ใช้คีย์เดียวกันเข้ารหัสและถอดรหัส แบ่งปันระหว่างผู้ส่ง-ผู้รับ Public Key ใช้เข้ารหัส Private Key (คู่) ใช้ถอดรหัส แบ่งปันเฉพาะคู่
2 ประสิทธิภาพ เร็วกว่า ช้ากว่า
3 ความลับ เก็บเป็นความลับ ไม่เปิดเผยต่อบุคคลภายนอก Public Key เผยแพร่ได้อิสระ Private Key (คู่) เก็บเป็นความลับ
4 ประเภท Symmetric (สมมาตร) - คีย์เดียวระหว่างสองฝ่าย Asymmetric (อสมมาตร) - คีย์คู่สำหรับวัตถุประสงค์ต่างกัน
5 การแบ่งปัน ต้องแบ่งปันระหว่างสองฝ่ายอย่างปลอดภัย Public Key ใครก็ใช้ได้ Private Key (คู่) แบ่งปันเฉพาะคู่
6 หมายเหตุ เหมาะสำหรับเข้ารหัสข้อมูลจำนวนมาก เหมาะสำหรับการแลกเปลี่ยนคีย์และลายเซ็นดิจิทัล

สรุปและข้อสังเกตเพิ่มเติม

ในทางปฏิบัติ มักใช้ Hybrid Encryption รวมทั้งสองวิธี: ใช้ Public Key เข้ารหัส Symmetric Key (Session Key) แล้วส่งไปพร้อมกับข้อมูลที่เข้ารหัสด้วย Symmetric Key วิธีนี้ได้ทั้งความเร็วของ Symmetric และความปลอดภัยในการแลกเปลี่ยนคีย์ของ Asymmetric

หมายเหตุ: แถวที่ 6 ในตารางต้นฉบับมีข้อมูลผิดพลาด (กลับมาอธิบาย Performance/Load Testing) จึงได้แก้ไขให้ถูกต้องตามบริบท