# Author: Trevor Perrin # See the LICENSE file for legal information regarding use of this file. """Abstract class for RC4.""" class RC4(object): def __init__(self, keyBytes, implementation): if len(keyBytes) < 16 or len(keyBytes) > 256: raise ValueError() self.isBlockCipher = False self.isAEAD = False self.name = "rc4" self.implementation = implementation def encrypt(self, plaintext): raise NotImplementedError() def decrypt(self, ciphertext): raise NotImplementedError()