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

Source Code for Module tlslite.utils.pycrypto_tripledes

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