1# Author: Trevor Perrin 2# See the LICENSE file for legal information regarding use of this file. 3 4"""Abstract class for RC4.""" 5 6 7class RC4(object): 8 def __init__(self, keyBytes, implementation): 9 if len(keyBytes) < 16 or len(keyBytes) > 256: 10 raise ValueError() 11 self.isBlockCipher = False 12 self.name = "rc4" 13 self.implementation = implementation 14 15 def encrypt(self, plaintext): 16 raise NotImplementedError() 17 18 def decrypt(self, ciphertext): 19 raise NotImplementedError()