13 ======================
15 CryptoPlus is an extions to the Crypto module (www.pycrypto.org) for python. CryptoPlus makes the ciphers included in pycrypto and some new onse available in pure python code. Some new chain modes are also added in pure python, while the ones allready available in pycrypto are also avaible in pure python in this package. Making these available in pure python has the advantage of easier understandable code and thus making it easier to adjust the code to your needs.
16 All other functions of pycrypto are available via the interface of CryptoPlus. The new cipher implementations can be accessed via CryptoPlus.Cipher.python_* while the original ones from pycrypto are still available under their original name via CryptoPlus.Cipher.*. When using the original Ciphers, the original pycrypto (C) code is used but the chains will still be made by my new python code.
27 Note: for all the cipher algorithms, code has been reused from others. Appropriate copyright notices are in the source code.
32 python setup.py install
37 Same API from PyCrypto can be used. See: http://www.dlitz.net/software/pycrypto/doc/
39 Biggest changes are the addition of some chain modes and block ciphers. There are lot of examples provided in the docstrings. Have a look at them by looking in the source code '../CryptoPlus/Cipher/*.py' or via an interactive python session by using 'CryptoPlus.Cipher.python_AES.new?'. Once you constructed a cipher object with 'cipher = CryptoPlus.Cipher.python_AES.new(...)' you can get more info about encrypting and decrypting by reading the apprioprate docstring ('cipher.encrypt?','cipher.decrypt?').
41 Some test functions are provided in the docstrings and in the 'test' folder. Run all the doctest in the new Cipher function by using the '../test/test_doctest.py' script. '../test/test.py' provides some test function for the testvectors avaible from the module via 'CryptoPlus.Cipher.testvectors'. Have a look at the test.py sourcecode to have an idea of how to use those test vectors.
46 CMAC can only be used with ciphers of 64 or 128 bits blocksizes
47 XTS can only be used with ciphers of 128 bits blocksize