# Author: Trevor Perrin # See the LICENSE file for legal information regarding use of this file. """PyCrypto RC4 implementation.""" from .cryptomath import * from .rc4 import * if pycryptoLoaded: import Crypto.Cipher.ARC4 def new(key): return PyCrypto_RC4(key) class PyCrypto_RC4(RC4): def __init__(self, key): RC4.__init__(self, key, "pycrypto") key = bytes(key) self.context = Crypto.Cipher.ARC4.new(key) def encrypt(self, plaintext): plaintext = bytes(plaintext) return bytearray(self.context.encrypt(plaintext)) def decrypt(self, ciphertext): ciphertext = bytes(ciphertext) return bytearray(self.context.decrypt(ciphertext))