ผมหาโค๊ดตัวอย่าง python เข้ารหัส RC4 จากอินเตอร์เน็ตครับจากเว็บนี้
https://github.com/bozhu/RC4-Python/blob/master/rc4.py
ซึ่งมันสามารถเข้ารหัสได้ แต่ไม่ได้เขียนโค้ดถอดรหัสไว้ ผมอ่านดูการถอดรหัสของ RC4 สามารถนำ cipher text มา XOR กับ key ได้เลย ผมจึงแก้โค้ดจากที่แสดงผลการเข้ารหัสที่ตรงนี้
[open_code] import sys
for c in plaintext:
sys.stdout.write("X" % (ord(c) ^ next(keystream)))
print[/close_code]
ให้แสดงผลการถอดรหัสโดยผมแก้เป็นแบบนี้ครับ
[open_code]ciphertext = 'BBF316E8D940AF0AD3'
import sys
for c in ciphertext:
sys.stdout.write("X" % (ord(c) ^ next(keystream)))
print[/close_code]
แต่มันได้ผลลัพธ์แบบนี้ครับ A9DD31B286028F4AE3207E1826F072D4496E
ซึ่งผลลัพธ์ของ ciphertext นี้ต้องเป็นคำว่า plaintext ครับ อยากทราบว่าต้องเขียนโปรแกรมถอดรหัสยังไงครับ
อยากทราบวิธีการเขียนโปรแกรมเข้ารหัสถอดรหัส RC4 ด้วย python ครับ
ซึ่งมันสามารถเข้ารหัสได้ แต่ไม่ได้เขียนโค้ดถอดรหัสไว้ ผมอ่านดูการถอดรหัสของ RC4 สามารถนำ cipher text มา XOR กับ key ได้เลย ผมจึงแก้โค้ดจากที่แสดงผลการเข้ารหัสที่ตรงนี้
[open_code] import sys
for c in plaintext:
sys.stdout.write("X" % (ord(c) ^ next(keystream)))
print[/close_code]
ให้แสดงผลการถอดรหัสโดยผมแก้เป็นแบบนี้ครับ
[open_code]ciphertext = 'BBF316E8D940AF0AD3'
import sys
for c in ciphertext:
sys.stdout.write("X" % (ord(c) ^ next(keystream)))
print[/close_code]
แต่มันได้ผลลัพธ์แบบนี้ครับ A9DD31B286028F4AE3207E1826F072D4496E
ซึ่งผลลัพธ์ของ ciphertext นี้ต้องเป็นคำว่า plaintext ครับ อยากทราบว่าต้องเขียนโปรแกรมถอดรหัสยังไงครับ