PageRenderTime 11ms CodeModel.GetById 3ms app.highlight 6ms RepoModel.GetById 1ms app.codeStats 0ms

/gdata/tlslite/utils/TripleDES.py

http://radioappz.googlecode.com/
Python | 26 lines | 17 code | 4 blank | 5 comment | 3 complexity | 24c967e99279244686459034c8dc012d MD5 | raw file
 1"""Abstract class for 3DES."""
 2
 3from compat import * #For True
 4
 5class 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)