Toolonit
  1. หน้าแรก
  2. เข้ารหัสลับ
  3. เข้ารหัส / ถอดรหัส
  4. RC4

เข้ารหัสและถอดรหัส RC4

เข้ารหัสหรือถอดรหัสข้อมูลรุ่นเก่าด้วย RC4 การเข้ารหัสแบบสตรีม (stream cipher)

RC4 ถือว่าอ่อนแอตามมาตรฐานปัจจุบัน ใช้เพื่ออ่านข้อมูลเก่า ส่วนข้อมูลใหม่ให้ใช้ AES หรือ ChaCha20 ไปที่ AES

เข้ารหัสด้วย

ต้องใช้รหัสผ่านนี้อีกครั้งเพื่อถอดรหัส สิ่งที่คุณพิมพ์จะไม่ออกจากหน้านี้

จำนวนรอบ PBKDF2

ค่าเริ่มต้นของ OpenSSL คือ 10,000 ใช้ตัวเลขใดก็ได้ ยิ่งมากยิ่งทำให้เดารหัสผ่านได้ช้าลง และการถอดรหัสต้องใช้จำนวนเดียวกัน

ขนาดคีย์
ผลลัพธ์เป็น
ทำแบบเดียวกันด้วย OpenSSL
openssl enc -rc4 -pbkdf2 -iter 10000 -a -A -provider legacy -provider default

OpenSSL จะถามรหัสผ่าน ให้วางข้อความลงไป หรือเพิ่มไฟล์ -in และ -out

RC4 หรือที่เรียกว่า ARC4 หรือ ARCFOUR คือ stream cipher ที่เคยใช้ใน SSL/TLS และ Wi-Fi แบบ WEP ไม่มีบล็อก ไม่มีโหมด และไม่มี IV โดยแปลงคีย์เป็นลำดับไบต์แล้วนำไป XOR กับข้อความ ข้อความเข้ารหัสจึงยาวเท่ากับข้อความพอดี หน้านี้เข้ารหัสและถอดรหัสข้อความด้วย RC4 โดยใช้รหัสผ่านในรูปแบบ openssl enc -pbkdf2 หรือคีย์ hex ยาว 40 ถึง 2048 บิต (ค่าเริ่มต้น 128) เพื่อให้คุณอ่านข้อมูลจากระบบเก่าหรือสร้างข้อมูลให้ระบบเหล่านั้นได้ RC4 ถูกเจาะแล้ว สำหรับข้อมูลใหม่ให้ใช้ AES หรือ ChaCha20 ทุกอย่างทำงานในเบราว์เซอร์ ข้อความและคีย์ไม่ออกจากอุปกรณ์ของคุณ ใช้ฟรีและไม่ต้องสมัครสมาชิก

วิธีถอดรหัสข้อความ RC4

  1. เลือก “ถอดรหัส” แล้ววางข้อความ Base64 หรือ hex ซึ่งระบบจะตรวจรูปแบบให้อัตโนมัติ หรือเลือก “เข้ารหัส” แล้วพิมพ์ข้อความ
  2. ใส่รหัสผ่าน หรือสลับไปที่ “คีย์และ IV (hex)” แล้วใส่คีย์ เนื่องจาก RC4 ไม่มี IV จึงมีเพียงช่องคีย์
  3. เลือกความยาวคีย์ที่ใช้สร้างข้อมูล คือ 128 บิตหากไม่ทราบแน่ชัด หรือ 40 บิตสำหรับ RC4 แบบ export-grade
  4. คัดลอกหรือดาวน์โหลดผลลัพธ์ หรือกด “สลับ” เพื่อย้ายผลลัพธ์ไปเป็นอินพุตและกลับทิศทาง

ความสามารถ

  • RC4 ด้วยความยาวคีย์ใดก็ได้ตั้งแต่ 40 ถึง 2048 บิตทีละ 8 บิต โดยเลือก 40, 128, 256 และ 2048 ได้ในคลิกเดียว
  • ไม่มี IV ไม่มี padding: ข้อความเข้ารหัสยาวเท่ากับข้อความพอดี
  • โหมดรหัสผ่านในรูปแบบ openssl enc -pbkdf2 พร้อมคำสั่ง rc4 หรือ rc4-40 สำหรับ legacy provider ของ OpenSSL
  • โหมดคีย์และ IV (hex) ที่มีเพียงคีย์ พิมพ์เองหรือสุ่มสร้าง
  • อินพุตและผลลัพธ์เป็น Base64 หรือ hex ผลลัพธ์ที่ไม่ใช่ข้อความแสดงเป็น hex

เป็นส่วนตัวหรือไม่

ใช่ RC4 ทำงานด้วย WebAssembly ภายในเบราว์เซอร์ของคุณ ข้อมูลที่คุณถอดรหัส รวมถึงคีย์หรือรหัสผ่าน ไม่เคยถูกอัปโหลดหรือบันทึก

คำถามที่พบบ่อย

RC4 ปลอดภัยไหม

ไม่ปลอดภัย ลำดับคีย์ของ RC4 มีความเอนเอียงทางสถิติที่ทำให้ผู้โจมตีกู้ข้อมูลได้ RFC 7465 จึงห้ามใช้ RC4 ใน TLS ตั้งแต่ปี 2015 ใช้ RC4 เฉพาะเพื่ออ่านข้อมูล RC4 ที่มีอยู่ และเข้ารหัสข้อมูลที่จะเก็บไว้ใหม่ด้วย AES หรือ ChaCha20

ARC4 กับ RC4 เหมือนกันไหม

เหมือนกัน Ron Rivest ออกแบบ RC4 ในปี 1987 และเก็บไว้เป็นความลับทางการค้า หลังอัลกอริทึมหลุดออกมาในปี 1994 ผู้อื่นจึงนำไปใช้ในชื่อ ARC4 หรือ ARCFOUR (“alleged RC4”) เพราะชื่อ RC4 เป็นเครื่องหมายการค้า ข้อความเข้ารหัสที่ได้เหมือนกันทุกประการ

ถอดรหัสด้วย OpenSSL ได้ไหม

ได้ สำหรับคีย์ 128 บิตและ 40 บิต: echo 'U2FsdGVkX1…' | openssl enc -d -rc4 -pbkdf2 -iter 10000 -a -A -provider legacy -provider default หรือใช้ -rc4-40 สำหรับคีย์ 40 บิต ในโหมดคีย์และ IV ให้ใช้ -K <คีย์ hex> แทน -pbkdf2 -iter โดยไม่มี -iv ทั้งนี้ openssl enc ไม่มี RC4 ที่ความยาวคีย์อื่น

ใช้คีย์ RC4 ซ้ำได้อย่างปลอดภัยไหม

ไม่ปลอดภัย คีย์เดียวกันให้ลำดับคีย์เดียวกันเสมอ การนำผลลัพธ์สองชุดที่ใช้คีย์เดียวกันมา XOR กันจะหักล้างลำดับคีย์และเผยค่า XOR ของข้อความทั้งสอง ในโหมดรหัสผ่านไม่เกิดปัญหานี้ เพราะ salt สุ่มทำให้ทุกข้อความมีคีย์ของตัวเองและผลลัพธ์ต่างกันทุกครั้ง ส่วนในโหมดคีย์และ IV ให้ใช้คีย์ใหม่ทุกข้อความ

ทำไมได้ไบต์ที่อ่านไม่ออกแทนที่จะขึ้นข้อผิดพลาด

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

เครื่องมือที่เกี่ยวข้อง