1 """OpenSSL/M2Crypto RC4 implementation."""
3 from cryptomath import *
9 return OpenSSL_RC4(key)
11 class OpenSSL_RC4(RC4):
13 def __init__(self, key):
14 RC4.__init__(self, key, "openssl")
15 self.rc4 = m2.rc4_new()
16 m2.rc4_set_key(self.rc4, key)
21 def encrypt(self, plaintext):
22 return m2.rc4_update(self.rc4, plaintext)
24 def decrypt(self, ciphertext):
25 return self.encrypt(ciphertext)