Upstream version 7.35.144.0
[platform/framework/web/crosswalk.git] / src / third_party / tlslite / tlslite / utils / OpenSSL_RC4.py
1 """OpenSSL/M2Crypto RC4 implementation."""
2
3 from cryptomath import *
4 from RC4 import RC4
5
6 if m2cryptoLoaded:
7
8     def new(key):
9         return OpenSSL_RC4(key)
10
11     class OpenSSL_RC4(RC4):
12
13         def __init__(self, key):
14             RC4.__init__(self, key, "openssl")
15             self.rc4 = m2.rc4_new()
16             m2.rc4_set_key(self.rc4, key)
17
18         def __del__(self):
19             m2.rc4_free(self.rc4)
20
21         def encrypt(self, plaintext):
22             return m2.rc4_update(self.rc4, plaintext)
23
24         def decrypt(self, ciphertext):
25             return self.encrypt(ciphertext)