]> jfr.im git - irc/quakenet/newserv.git/commitdiff
CHANSERV: batcher now burns 4096 bytes of RC4 keystream.
authorChris Porter <redacted>
Thu, 22 Aug 2013 01:23:59 +0000 (02:23 +0100)
committerChris Porter <redacted>
Thu, 22 Aug 2013 01:23:59 +0000 (02:23 +0100)
--HG--
branch : chanserv-live

chanserv/batcher/rc4.py

index e4fb84f445ae0a7f24dd34e1e049a0a148df7d29..b926f7db34c9f361503eee19f7f4d71defee33a6 100644 (file)
@@ -1,5 +1,5 @@
 class RC4:
-  def __init__(self, key):
+  def __init__(self, key, burn=4096):
     s = range(256)
     for i in xrange(256):
       s[i] = i
@@ -8,6 +8,7 @@ class RC4:
       j = (j + s[i] + ord(key[i % len(key)])) % 256
       s[j], s[i] = s[i], s[j]
     self.__s = s
+    self.crypt("\x00" * burn)
 
   def crypt(self, data):
     ret = []