X-Git-Url: http://git.silc.fi/gitweb/?a=blobdiff_plain;f=TODO;h=65b6a4e92497711c93c08d8995a97419db3f204e;hb=57af98efbd82c4c89c81850f42b02585fed1a16a;hp=1308c5a302afc2fb308efc6fe7599cd084e5be39;hpb=9b499de7f8fdbb24c32b8a0a84bb2fbbcdab782a;p=crypto.git diff --git a/TODO b/TODO index 1308c5a3..65b6a4e9 100644 --- a/TODO +++ b/TODO @@ -126,30 +126,6 @@ SKR Library, lib/silcskr/ SILC Accelerator Library ======================== - o Add SilcCipher support to SilcAccelerator and software accelerator. - Accelerate at least ciphers using CTR mode which can be done in - parallel. Do it in producer/consumer fashion where threads generate - key stream and other thread(s) encrypt using the key stream. - - o Add init options to SilcAcceleratorObject as a SilcAcceleratorOption - structure. Each accelerator defines the options that they support and - can be retrieved from the SilcAccelerator with silc_acc_get_options. - The format must also be machine parseable. The structure can be of the - following format: - - typedef struct SilcAcceleratorOptionStruct { - const char *option; /* Option name */ - const char *display_name; /* Option displayable name */ - SilcParamType type; /* Option data format */ - void *default_value; /* Option's default value */ - SilcUInt32 default_value_len; /* Default value length */ - } *SilcAcceleratorOption; - - For software accelerator it could be for example: - - { "min_threads", "Minimum threads", SILC_PARAM_UINT32, (void *)2, 4 }, - { "max_threads", "Maximum threads", SILC_PARAM_UINT32, (void *)4, 4 }, - o Diffie-Hellman acceleration o SILC Accelerator API. Provides generic way to use different kind of @@ -161,38 +137,33 @@ SILC Accelerator Library public key and private key operations are executed in threads. (***DONE) + o Add SilcCipher support to SilcAccelerator and software accelerator. + Accelerate at least ciphers using CTR mode which can be done in + parallel. Do it in producer/consumer fashion where threads generate + key stream and other thread(s) encrypt using the key stream. (***DONE) + lib/silcmath ============ + o Prime generation progress using callback instead of printing to + stdout. + + o All utility functions should be made non-allocating ones. + o Import TFM. We want TFM's speed but its memory requirements are just too much. By default it uses large pre-allocated tables which will eat memory when there are thousands of public keys in system. - We probably want to change TFM's fp_int dynamic so that a specific - size can be allocated for the int. We could have two new functions: - - SilcBool silc_mp_init_size(SilcMPInt *mp, SilcUInt32 bit_size); - SilcBool silc_mp_sinit_size(SilcStack stack, SilcMPInt *mp, - SilcUInt32 bit_size); + We probably want to change TFM. (***DONE) - Which by default allocates `bit_size' bits instead of some default - value. silc_mp_init would allocate the default FP_SIZE with TFM - and do normal init with TMA and GMP. _init_size with TMA and GMP - would be same as _init. - - o Add AND, OR and XOR support to TFM or ask Tom to do it. + o Add AND, OR and XOR support to TFM. (***DONE) o The SILC MP API function must start returning indication of success - and failure of the operation. + and failure of the operation. (***DONE) o Do SilcStack support for silc_mp_init, silc_mp_init_size and other any other MP function (including utility ones) that may allocate - memory. - - o Prime generation progress using callback instead of printing to - stdout. - - o All utility functions should be made non-allocating ones. + memory. (***DONE) lib/silcasn1