ประวัติ RC4

RC4 เป็น สตรีมไซเฟอร์ (stream cipher) ที่ถูกคิดค้นขึ้นที่ห้องแลบ RSA โดย รอน ไรเวสท์ ซึ่งไซเฟอร์นี้ถูกใช้อย่างแพร่หลายในแอพลิเคชั่นต่างๆ  ไม่ว่าจะเป็น Oracle SQL, Microsoft Windows, WEP, WPA  และ SSL (TLS) ซึ่งอัลกอรึทึมนี้เป็นความลับทางการค้า แต่ก็ได้มีข้อความและโค้ดบางส่วนของอัลกิรึทึมถูกปล่อยออกมาอย่างลับๆ ผ่านทางอินเตอร์เน็ท ทำให้ RC4 ไม่เป็นความลับทางการค้าอีกต่อไป

ปัจจัยที่ทำให้ RC4 ประสบความสำเร็จก็คือความเร็วและง่าย ในการทำงานรวมทั้งการนำไปประยุกต์ใช้งานสามารถทำได้ง่าย ไม่ว่าจะเป็น ฮาร์ดแวร์หรือซอฟต์แวร์

หลักการทำงานของ RC4

อัลกอริทึมRC4 ประกอบไปด้วยสองส่วนคือ Key Scheduling Algorithm (KSA) ซึ่งจะทำการเปลี่ยนกุญแจที่มีขนาดแปรผันได้  (ปกติจะมีขนาด 40 – 104 บิต) ให้กลายเป็น ตารางเก็บค่า และส่วนที่สองจะทำการสร้างผลลัพธ์ ด้วย Pseudo-random generation algorithm (PRGA) จากตารางเก็บค่านี้ให้กลายเป้น pseudo-random number

ขั้นตอนการทำงาน

ตัวอย่างการประยุกต์ใช้งาน

RC4 ถูกนำไปประยุกต์ใช้กับแอพลิเคชั่นต่างๆ ไม่ว่าจะเป็น SSL (TLS) ซึ่งใช้อย่างแพร่หลายตามเว็บไซต์ หรือ WEP, WPA ที่ใช้สำหรับการเข้ารหัสการส่งข้อมูลผ่านไวร์เลสแลนตามมาตราฐาน IEEE 802.11

ข้อจำกัดและจุดอ่อนของ RC4

จุดอ่อนของ RC4 คือ กุญแจมีขนาดเล็กเกินไป อีกทั้งตัว key scheduling นั้นก็ไม่ได้สร้างตารางเก็บค่าแบบสุ่มอย่างแท้จริง โดยจุดอ่อนนี้ถูกพบโดย Arthur Roos โดยเค้าสังเกตพบว่า

จากข้อสังเกตสองข้อนี้ทำให้เห็นว่า ส่วนของ S[i] คือ sum(K[i] , O, I ) + ( i + 1 )/2 ด้วยความน่าจะเป็น

0-7       37.0  36.8  36.2  35.8  34.9  34.0  33.0  32.2

8-15      30.9  29.8  28.5  27.5  26.0  24.5  22.9  21.6

16-23     20.3  18.9  17.3  16.1  14.7  13.5  12.4  11.2

24-31     10.1   9.0   8.2   7.4   6.4   5.7   5.1   4.4

32-39      3.9   3.5   3.0   2.6   2.3   2.0   1.7   1.4

40-47      1.3   1.2   1.0   0.9   0.8   0.7   0.6   0.6

ซึ่งแสดงให้เห็นถึงปัญหาของกุญแจ

จึงมีคำแนะนำว่าถ้าใช้ RC4 ควรจะข้ามผลลัพธ์ไปหลายๆพัน จึงจะทำให้ตารางเก็บค่าอยู่ในรูปที่กระจายเสมอกันมากขึ้น

แหล่งอ้างอิง

Weaknesses in Key Scheduling Algorithm of RC4 โดย Scott Fluher Itsik Matin และ Adishamir

Evaluation of the RC4 Algorithm

for Data Encryption

โดย Allam Mousa และ Aham Hamad

RC4 – http://en.wikipedia.org/wiki/RC4 25/01/2011

Chapter 7. RC4 http://www.imchris.org/crypto/html/ch07.html 25/01/2011