5. RSA (Rivest-Shamir-Adleman)

  1. RSA (Rivest-Shamir-Adleman)

RSA (Rivest-Shamir-Adleman) คือ อัลกอริทึมการเข้ารหัสข้อมูล ซึ่งเป็นการเข้ารหัสแบบกุญแจอสมมาตร (Public - Key Cryptography) ที่ถูกเผยแพร่ในปี 1977 โดย รอน ริเวสต์ ( Ron Rivest) , อาดี ชามีร์ ( Adi Shamir) และเล็น เอเดิลแมน ( Len Adleman) ซึ่ง RSA นั้นเป็นตัวย่อที่มาจากนามสกุลของทั้ง 3 (Rivest-Shamir-Adleman) การเข้ารหัสแบบ RSA ได้รับการจดสิทธิบัตรโดยสถาบัน MIT สหรัฐอเมริกาเมื่อปี 1983 และได้สิ้นสุดลงเมื่อปี 2000

อัลกอริทึมการเข้ารหัสแบบ RSA เป็นการเข้ารหัสแบบกุญแจอสมมาตร หรือกุญแจคู่ ประกอบด้วย กุญแจสาธารณะ (Public Key) และกุญแจส่วนตัว (Private Key) ซึ่งผู้ใช้ RSA จะสร้างและเผยแพร่กุญแจสาธารณะ โดยยึดตามหลักของ จำนวนเฉพาะ (Prime Numbers) ขนาดใหญ่ 2 ตัว พร้อมกับค่าเสริม (Auxiliary Value) ที่จะถูกเก็บเป็นความลับ ซึ่งบุคคลอื่น ๆ สามารถเข้ารหัสข้อมูลได้โดยใช้กุญแจสาธารณะ (Public Key) แต่ผู้ที่สามารถถอดรหัสได้ จะต้องเป็นผู้ที่รู้ค่าเสริม (Auxiliary Value) เท่านั้น

ความปลอดภัยของ RSA ขึ้นอยู่กับความยากในการแยกตัวประกอบ หรือ Prime Factorization ซึ่งเป็นวิธีการทางคณิตศาสตร์ ที่ค่าใดก็ตามเมื่อนำมาคูณกันแล้ว จะได้ผลลัพธ์เท่ากับจำนวนนั้น หรือจำนวนใดก็ตาม ล้วนมีค่าเท่ากับผลคูณของตัวประกอบของจำนวนนั้นทั้งหมด เช่น ตัวประกอบของ เลข 12 เท่ากับ 2x2x3 หรือตัวประกอบของ 24 เท่ากับ 2x2x2x3 เป็นต้น เพื่อหาจำนวนเฉพาะ (Prime Numbers) ขนาดใหญ่ 2 ตัว ที่ใช้ในการสร้างกุญแจสาธารณะ (Public Key)

RSA เป็นอัลกอริทึมที่ค่อนข้างช้า ด้วยเหตุนี้ จึงไม่นิยมใช้ในการเข้ารหัสข้อมูลผู้ใช้โดยตรง ซึ่งหลาย ๆ ครั้ง RSA ถูกใช้เพื่อส่งกุญแจที่ใช้ร่วมกันสำหรับการเข้ารหัสแบบกุญแจสมมาตร (Symmetric - key Algorithm) ซึ่งใช้สำหรับการเข้ารหัสและถอดรหัสจำนวนมาก

Reference


Outline

  • RSA คืออะไร
  • ประวัติความเป็นมาของ RSA
  • กระบวนการทำงานของ RSA