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

Source Code for Module tlslite.utils.tripledes

 1  # Author: Trevor Perrin 
 2  # See the LICENSE file for legal information regarding use of this file. 
 3   
 4  """Abstract class for 3DES.""" 
 5   
6 -class TripleDES(object):
7 - def __init__(self, key, mode, IV, implementation):
8 if len(key) != 24: 9 raise ValueError() 10 if mode != 2: 11 raise ValueError() 12 if len(IV) != 8: 13 raise ValueError() 14 self.isBlockCipher = True 15 self.isAEAD = False 16 self.block_size = 8 17 self.implementation = implementation 18 self.name = "3des"
19 20 #CBC-Mode encryption, returns ciphertext 21 #WARNING: *MAY* modify the input as well
22 - def encrypt(self, plaintext):
23 assert(len(plaintext) % 8 == 0)
24 25 #CBC-Mode decryption, returns plaintext 26 #WARNING: *MAY* modify the input as well
27 - def decrypt(self, ciphertext):
28 assert(len(ciphertext) % 8 == 0)
29