Page 289 - Computer Network
P. 289

280                                                      บทที่ 34. ความปลอดภัยของเน็ตเวิร์ค



                         อย่างไรก็ตาม แม้ว่าการใช้ Triple DES สามารถที่จะทำให้ระบบมีความปลอดภัยที่สูงขึ้น โดยการใช้คีย์ที่ใหญ่
                     ขึ้น การใช้งานของ Triple DES อาจทำให้การทำงานช้าลง เนื่องจากจำเป็นต้องการเข้ารหัสสองรอบ และการ
                     ถอดรหัสอีกหนึ่งรอบ



                     Advanced Encryption Standard (AES)

                     AES ถูกนำมาใช้งานในปี คศ.2000 โดย NIST เพื่อแทนที่ DES ที่สามารถถอดรหัส (decrypt) ง่ายเกินไปด้วยการ
                     ทำบรูทฟอร์ส ในขณะที่การใช้งานของ Triple DES เกิดความล่าช้าสำหรับการใช้งานกับหลายแอพพลิเคชัน AES
                     ถูกออกแบบโดยนักวิจัยชาวเบลเยี่ยมชื่อ Joan Daemen และ Vincent Rijmen เป็นอัลกอริทึมที่สามารถเข้ารหัส
                     และการถอดรหัสข้อมูลขนาด 128 บิต ด้วยการใช้คีย์ขนาด 128, 192 และ 256 บิต AES ถูกนำมาแทนทั้ง DES

                     และ Triple DES เนื่องจากมีคีย์ที่ใหญ่กว่า และการประมวลผลที่เร็วกว่า

                                                                           book)
                     Rivest-Shamir-Adleman (RSA)

                     Rivest, Shamir และ Adleman (RSA) เป็นชื่อของสามคนผู้พัฒนาอัลกอริทึม RSA โดยอยู่บนพื้นฐานเลขคณิต

                     มอดุลาร์ (modular arithmetic) และ การการแยกตัวประกอบ (factorization) ของตัวเลขขนาดใหญ่ โดยที่อัล
                     กอริทึม RSA อยู่บนพื้นฐานที่ว่า การหาค่าจำนวนเฉพาะ (prime number) สองค่าและคูณกันทำได้ไม่ยากนัก แต่
                                                          (partial
                     เป็นการยากในการที่จะแยกจำนวนทั้งสอง รูปที่ 34.7 แสดงการหาค่าของคีย์ และขั้นตอนการการเข้ารหัสข้อมูล
                     และการถอดรหัสข้อมูลของ RSA โดยมีขั้นตอนดังนี้


                        1. เลือกเลขจำนวนเฉพาะสองจำนวน p และ q เพื่อใช้เป็นเลขพับลิกคีย์และไพรเวทคีย์จากนั้นคูณค่าทั้งสอง
                           เข้าด้วยกัน โดยทั่วไปแล้วทั้ง p และ q จะเป็นขนาด 512 บิต เพื่อให้ได้การทำความปลอดภัยที่ดี
                                               only

                        2. เลือกคีย์เพื่อการเข้ารหัส (e) โดยที่ e และ φ(n) = (p − 1)x(q − 1) เป็นจำนวนเฉพาะสัมพัทธ์ (relative
                           prime) ที่ซึ่งทั้งสองไม่สามารถหารได้ลงตัวยกเว้น 1 หรือ ไม่สามารถแยกพจน์ได้ ทำให้เราได้พับลิกคีย์
                                    KKU                    −1                                          (34.1)
                           ประกอบด้วยเซ็ตของ {e, n}

                        3. คำนวณหาค่าการถอดรหัส (decrpytion)โดยที่


                                                              mod[(p − 1)x(q − 1)]
                                                       d = e
                           d และ e เป็นตัวผกผันการคูณ (multiplicative inverse) ของกันและกัน mod φ(n) และไพรเวทคีย์
                           สามารถหาได้จาก เซ็ตของ {e, n} จากจุดนี้ จะทำให้ p และ q ไม่จำเป็นอีกต่อไป แต่ไม่ควรจะถูกเปิดเผย


                         หลังจากได้ค่าของพับลิกคีย์และไพรเวทคีย์เราสามารถจะดำเนินการทำการเข้ารหัสข้อมูลและการถอดรหัส
                     ข้อมูล โดยสมมุติให้ P เป็นจำนวนเต็มที่น้อยกว่า n ที่สัมพันธ์ (corresponse) กับเพลนเท็กซ์ทำให้เราสามารถที่จะ

                     หาค่า ไซเฟอร์เท็กซ์ C ด้วย
                                                                 e                                     (34.2)
                                                          C = P mod n
                     ในทำนองเดียวกันหากต้องการหาค่าของเพลนเท็กซ์เราจะใช้ตัวแปร d และ n จากความสัมพันธ์


                                         d           e d         de                                    (34.3)
                                        C mod n = (P ) mod n = P   mod n = P mod n = P
                         ในการคำนวณหาค่าพับลิกคีย์ ไพรเวทคีย์ การเข้ารหัสข้อมูลและ การถอดรหัส มีหลักการทางคณิตศาสตร์ที่

                     ต้องทราบได้แก่ ฟังก์ชันแบบออยเลอร์ φ(m) (Euler function) และตัวผกผันการคูณ โดยมีหลักการดังต่อไปนี้
   284   285   286   287   288   289   290   291   292   293   294