Home | Trees | Indices | Help |
|
---|
|
CAST-128 symmetric cipher
CAST-128 (or CAST5) is a symmetric block cipher specified in RFC2144.
It has a fixed data block size of 8 bytes. Its key can vary in length from 40 to 128 bits.
CAST is deemed to be cryptographically secure, but its usage is not widespread. Keys of sufficient length should be used to prevent brute force attacks (128 bits are recommended).
As an example, encryption can be done as follows:
>>> from Crypto.Cipher import CAST >>> from Crypto import Random >>> >>> key = b'Sixteen byte key' >>> iv = Random.new().read(CAST.block_size) >>> cipher = CAST.new(key, CAST.MODE_OPENPGP, iv) >>> plaintext = b'sona si latine loqueris ' >>> msg = cipher.encrypt(plaintext) >>> ... >>> eiv = msg[:CAST.block_size+2] >>> ciphertext = msg[CAST.block_size+2:] >>> cipher = CAST.new(key, CAST.MODE_OPENPGP, eiv) >>> print cipher.decrypt(ciphertext)
Classes | |
CAST128Cipher CAST-128 cipher object |
Functions | |||
|
Variables | |
MODE_ECB = 1 Electronic Code Book (ECB). See blockalgo.MODE_ECB. |
|
MODE_CBC = 2 Cipher-Block Chaining (CBC). See blockalgo.MODE_CBC. |
|
MODE_CFB = 3 Cipher FeedBack (CFB). See blockalgo.MODE_CFB. |
|
MODE_PGP = 4 This mode should not be used. |
|
MODE_OFB = 5 Output FeedBack (OFB). See blockalgo.MODE_OFB. |
|
MODE_CTR = 6 CounTer Mode (CTR). See blockalgo.MODE_CTR. |
|
MODE_OPENPGP = 7 OpenPGP Mode. See blockalgo.MODE_OPENPGP. |
|
block_size = 8 Size of a data block (in bytes) |
|
key_size = xrange(5, 17) Size of a key (in bytes) |
Function Details |
|
Home | Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Thu May 24 09:02:36 2012 | http://epydoc.sourceforge.net |