# 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.name = "rc4" | |
self.implementation = implementation | |
def encrypt(self, plaintext): | |
raise NotImplementedError() | |
def decrypt(self, ciphertext): | |
raise NotImplementedError() |