Public-key Cryptography: RSA
RSA ได้รับการพัฒนาขึ้นที่มหาวิทยาลัย MIT ในปี 1977 โดยศาสตราจารย์ 3 คน ซึ่งประกอบด้วย Ronald Rivest, Adi Shamir และ Leonard Adleman ชื่อของอัลกอริทึมได้รับการตั้งชื่อตามตัวอักษรตัวแรกของนามสกุลของ ศาสตราจารย์ทั้งสามคนRSA คืออะไร??? RSA เป็นอัลกอริทึม อย่างหนึ่งที่มีการเข้ารหัสแบบ Asymmetric-key cryptography หรือ อีกชื่อนึงคือ Public-key cryptography ซึ่งการเข้ารหัสแบบนี้จะมีเรื่องของ Public key และ Private key เข้ามาเกี่ยวข้องด้วย RSA ใช้กันมากใน Electronic Commerce protocols
เรื่องของ RSA นี้เกี่ยวกับการ Moduloและ Public key กับ Private key ที่เป็นจํานวนเฉพาะ โดยสมมุติว่า public key = p และ private key = q แล้วแทนค่าลงไปว่า
p = 9 , q = 7 แล้วลองคูณกันดู จะเห็นว่าได้ 63 … ค่าของจํานวนเฉพาะคูณกัน จะได้จํานวนเฉพาะ แล้วตัวที่หารลงตัวก็มีเฉพาะ แค่ 9 กับ 7 ไม่นับ 1กับ63นะครับ แล้วทีนี้ลองสมมุติค่าว่าเป็นจํานวนตัวเลขที่สูงมากๆๆๆอย่างเช่น 12345 คูณกับ 6789 จะได้ 83810205 จะเห็นได้ว่าค่าของมันมีจํานวนเยอะมากๆๆเลย แล้วทําให้การหาตัวเลขที่หารมันลงตัวนะ ทําได้ยากขึ้นซึ่งคุณสมบัตินี้ของเลขจํานวนเฉพาะเลยถูกนําไปใช้ในสูตรของ RSA
ส่วนนี้คือสูตรของ RSA ซึ่งในการทํางานจริงๆๆ แล้ว เราจะค่าเพียงบางส่วนที่เป็นเฉพาะ public key ทําให้สามารถหาค่าของมันได้ยากมาก ต้องใช้ Discrete Logarithm ในการแก้ซึ่งในบางกรณีก็แก้ไม่ได้ทําให้ RSA ก็มีความปลอดภัยสูงทีเดียวเลย
Private Key: d = e-1(mod(p-1)(q-1))
Encrypting: c = me(mod n)
Decrypting: m = cd(mod n)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น