วันพุธที่ 14 มกราคม พ.ศ. 2552

การเข้ารหัส-ถอดรหัส

...การเข้ารหัสข้อมูลมีจุดประสงค์เพื่อรักษาความลับของข้อมูล ข้อมูลนั้นจะถูกเปิดอ่านโดยบุคคลที่ได้รับอนุญาตเท่านั้น หลักการของการเข้ารหัสข้อมูลคือแปลงข้อมูล (encrypt) ไปอยู่ในรูปของข้อมูลที่ไม่สามารถอ่านได้โดยตรง ข้อมูลจะถูกถอดกลับด้วยกระบวนการถอดรหัส (decryption)

...ข้อมูลที่สามารถอ่านได้ เรียกว่า plain text หรือ clear text ข้อมูลที่เข้ารหัสแล้วเราเรียกว่า cipher text ข้อมูลเมื่อเสร็จสิ้นการเข้ารหัสแล้ว ผลที่ได้ก็คือ cipher text ในการอ่านข้อความ cipher text นั้น การเข้ารหัสแบ่งออกเป็น 2 ประเภทใหญ่ๆคือ

...1. Symmetric Cryptography (Secret key)
หรือบางทีอาจเรียกว่า Single-key algorithm หรือ one-key algorithm คือ การเข้ารหัสและถอดรหัสโดยใช้กุญแจรหัสตัวเดียวกัน คือ ผู้ส่งและผู้รับจะต้องมีกุญแจรหัสที่เหมือนกันเพื่อใช้ในการเข้ารหัสและถอดรหัส ดังรูปที่ 2
รูปที่ 2 Symmetric Cryptography

...2. Asymmetric Cryptography (Public key)
การเข้ารหัสและถอดรหัสโดยใช้กุญแจรหัสคนละตัวกัน การส่งจะมีกุญแจรหัสตัวหนึ่งในการเข้ารหัส และผู้รับก็จะมีกุญแจรหัสอีกตัวหนึ่งเพื่อใช้ในการถอดรหัส ผู้ใช้รายหนึ่งๆจึงมีกุญแจรหัส 2 ค่าเสมอคือ กุญแจสาธารณะ (public key) และ กุญแจส่วนตัว (private key) ผู้ใช้จะประกาศให้ผู้อื่นทราบถึงกุญแจสาธารณะของตนเองเพื่อให้นำไปใช้ในการเข้ารหัสและส่งข้อมูลที่เข้ารหัสแล้วมาให้ ข้อมูลที่เข้ารหัสดังกล่าวจะถูกถอดออกได้โดยกุญแจส่วนตัวเท่านั้น
ในทางปฏิบัติแล้วมักมีการใช้การเข้ารัหสทั้งสองระบบร่วมกันเช่นในระบบ PGP (Pretty Good Privacy) ซึ่งใช้ในการเข้ารหัส E-mail จะใช้วิธีสร้าง session key ซึ่งเป็นรหัสลับตามแบบ secret key) เมื่อข้อมูลถูกเข้ารหัสด้วย session key แล้ว จากนั้น session key จะถูกเข้ารหัสโดยใช้กุญแจสาธารณะของผู้รับ และถูกส่งไปกับข้อมูลที่เข้ารหัสแล้ว

...การถอดรหัสนั้นทำในทางตรงกันข้าม ผู้รับจะใช้กูญแจส่วนตัวในการได้คืนมาของ session key ซึ่งหลังจากนั้นจึงนำ session key มาถอดรหัสข้อมูลอีกขั้นหนึ่ง

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


ไม่มีความคิดเห็น: