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

Source Code for Module tlslite.utils.openssl_rc4

 1  # Author: Trevor Perrin 
 2  # See the LICENSE file for legal information regarding use of this file. 
 3   
 4  """OpenSSL/M2Crypto RC4 implementation.""" 
 5   
 6  from .cryptomath import * 
 7  from .rc4 import RC4 
 8   
 9  if m2cryptoLoaded: 
10   
11 - def new(key):
12 return OpenSSL_RC4(key)
13
14 - class OpenSSL_RC4(RC4):
15
16 - def __init__(self, key):
17 RC4.__init__(self, key, "openssl") 18 self.rc4 = m2.rc4_new() 19 m2.rc4_set_key(self.rc4, key)
20
21 - def __del__(self):
22 m2.rc4_free(self.rc4)
23
24 - def encrypt(self, plaintext):
25 return bytearray(m2.rc4_update(self.rc4, plaintext))
26
27 - def decrypt(self, ciphertext):
28 return bytearray(self.encrypt(ciphertext))
29