Home | Trees | Indices | Help |
|
---|
|
Blowfish symmetric cipher
Blowfish is a symmetric block cipher designed by Bruce Schneier.
It has a fixed data block size of 8 bytes and its keys can vary in length from 32 to 448 bits (4 to 56 bytes).
Blowfish is deemed secure and it is fast. However, its keys should be chosen to be big enough to withstand a brute force attack (e.g. at least 16 bytes).
Use AES, not Blowfish. This module is provided only for legacy purposes.
As an example, encryption can be done as follows:
>>> from Cryptodome.Cipher import Blowfish >>> from struct import pack >>> >>> bs = Blowfish.block_size >>> key = b'An arbitrarily long key' >>> cipher = Blowfish.new(key, Blowfish.MODE_CBC) >>> plaintext = b'docendo discimus ' >>> plen = bs - len(plaintext) % bs >>> padding = [plen]*plen >>> padding = pack('b'*plen, *padding) >>> msg = cipher.iv + cipher.encrypt(plaintext + padding)
Functions | |||
|
Variables | |
MODE_ECB = 1 Electronic Code Book (ECB). See Cryptodome.Cipher._mode_ecb.EcbMode. |
|
MODE_CBC = 2 Cipher-Block Chaining (CBC). See Cryptodome.Cipher._mode_cbc.CbcMode. |
|
MODE_CFB = 3 Cipher FeedBack (CFB). See Cryptodome.Cipher._mode_cfb.CfbMode. |
|
MODE_OFB = 5 Output FeedBack (OFB). See Cryptodome.Cipher._mode_ofb.OfbMode. |
|
MODE_CTR = 6 CounTer Mode (CTR). See Cryptodome.Cipher._mode_ctr.CtrMode. |
|
MODE_OPENPGP = 7 OpenPGP Mode. See Cryptodome.Cipher._mode_openpgp.OpenPgpMode. |
|
MODE_EAX = 9 EAX Mode. See Cryptodome.Cipher._mode_eax.EaxMode. |
|
block_size = 8 Size of a data block (in bytes) |
|
key_size = xrange(5, 57) Size of a key (in bytes) |
Function Details |
Create a new Blowfish cipher
|
Home | Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Thu Feb 16 14:05:21 2017 | http://epydoc.sourceforge.net |