Upstream version 7.35.144.0
[platform/framework/web/crosswalk.git] / src / third_party / tlslite / tlslite / utils / TripleDES.py
1 """Abstract class for 3DES."""
2
3 from compat import * #For True
4
5 class TripleDES:
6     def __init__(self, key, mode, IV, implementation):
7         if len(key) != 24:
8             raise ValueError()
9         if mode != 2:
10             raise ValueError()
11         if len(IV) != 8:
12             raise ValueError()
13         self.isBlockCipher = True
14         self.block_size = 8
15         self.implementation = implementation
16         self.name = "3des"
17
18     #CBC-Mode encryption, returns ciphertext
19     #WARNING: *MAY* modify the input as well
20     def encrypt(self, plaintext):
21         assert(len(plaintext) % 8 == 0)
22
23     #CBC-Mode decryption, returns plaintext
24     #WARNING: *MAY* modify the input as well
25     def decrypt(self, ciphertext):
26         assert(len(ciphertext) % 8 == 0)