OLD | NEW |
| (Empty) |
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) | |
OLD | NEW |