tlslite.utils.pycrypto_rc4

Package tlslite :: Package utils :: Module pycrypto_rc4 |
[hide private]
[frames] | no frames]

# Source Code for Module tlslite.utils.pycrypto_rc4

     1  # Author: Trevor Perrin
     2  # See the LICENSE file for legal information regarding use of this file.
     3
     4  """PyCrypto RC4 implementation."""
     5
     6  from .cryptomath import *
     7  from .rc4 import *
     8
     9  if pycryptoLoaded:
    10      import Crypto.Cipher.ARC4
    11
    12 -    def new(key):
    13          return PyCrypto_RC4(key)
    14
    15 -    class PyCrypto_RC4(RC4):
    16
    17 -        def __init__(self, key):
    18              RC4.__init__(self, key, "pycrypto")
    19              key = bytes(key)
    20              self.context = Crypto.Cipher.ARC4.new(key)
    21
    22 -        def encrypt(self, plaintext):
    23              plaintext = bytes(plaintext)
    24              return bytearray(self.context.encrypt(plaintext))
    25
    26 -        def decrypt(self, ciphertext):
    27              ciphertext = bytes(ciphertext)
    28              return bytearray(self.context.decrypt(ciphertext))
    29