diff options
author | akuchling <akuchling@rivest.dlitz.net> | 2002-04-03 23:33:14 -0700 |
---|---|---|
committer | akuchling <akuchling@rivest.dlitz.net> | 2002-04-03 23:33:14 -0700 |
commit | f62916d86a8ebae52102583556080c387894182e (patch) | |
tree | edb9ff21a5bd1ec9110149dcaa6954444a3a6f22 /TODO | |
parent | d0371286ed32131e809e859c6d6d8a5e58db9924 (diff) | |
download | pycrypto-f62916d86a8ebae52102583556080c387894182e.tar.gz |
[project @ akuchling-20020404063314-df7c131904544253]
[project @ 2002-04-03 22:33:14 by akuchling]
Update file
Diffstat (limited to 'TODO')
-rw-r--r-- | TODO | 31 |
1 files changed, 8 insertions, 23 deletions
@@ -1,7 +1,12 @@ -* Remove the export/not-for-export cruft. +Document the functions and macros for adding a new algorithm +Hash functions: + hash_init(), hash_copy(), DIGEST_SIZE, hash_update(), hash_digest() -* Resync with mxCrypto/amkCrypto +* Restore RC5, which needs additional keyword arguments + +* Look at the C code and modernize it to the current memory APIs, + class-based exceptions, etc * Break backward compatibility. The interfaces were invented around 1995, back when I was younger and dumber. I'd like to clean them up, @@ -14,29 +19,9 @@ packages and classes, or whatever. Python comes with them? We could just change Crypto/Hash/MD5.py to just 'from md5 import *', and ditto for Crypto/Hash/SHA.py. -* Get rid of the clumsily generated source files and just keep -everything simple. For hash modules, this would be -straightforward. However, I don't know how to fix block encryption -modules properly. The original purpose of autogenerating everything -was to re-use the tricky and error-prone code for the various feedback -modes, while hopefully avoiding the overhead of doing a C function -call on every block. - -Maybe the C function overhead isn't worth saving. If so, then perhaps -we could write a single C file that implemented the feedback modes as -a library. Individual encryption modules would then define a function -to encrypt a single block, another for decrypting a single block, and -then pass these functions to the code in the library. (We'd have to -finalize a block encryption API to do that, hopefully defining it in -the Block Encryption PEP at the same time.) - * Modernize the code to current standards (Distutils installation, -docstrings, naming conventions, test suites). We might rename the -package from 'Crypto' to 'crypto', or some other name. +docstrings, naming conventions, test suites). -* Discard some of the more obscure algorithms (HAVAL, Diamond, -Skipjack, maybe CAST, too). - * Add AES, and possibly SHA256, SHA512. * Public-key stuff: should it remain in this package, or should it be |