|
| 1 | +April 17th, 2005 |
| 2 | +v1.01 |
| 3 | + ** Secure Science Corporation has supported this release cycle by sponsoring the development time taken. Their |
| 4 | + continuing support of this project has helped me maintain a steady pace in order to keep LibTomCrypt up to date, |
| 5 | + stable and more efficient. |
| 6 | + ----------------------------------------------------------------------------------------------------- |
| 7 | + -- Updated base64_decode.c so if there are more than 3 '=' signs it would stop parsing |
| 8 | + -- Merged in latest mpi that fixed a few bugs here and there |
| 9 | + -- Updated OAEP encoder/decoder to catch when the hash output is too large |
| 10 | + Cleaned up PSS code too |
| 11 | + -- Andy Bontoft fixed a bug in my demos/tests/makefile.msvc ... seems "dsa_test.c" isn't an object |
| 12 | + afterall. Thanks. |
| 13 | + -- Made invalid ECC key sizes (configuration) not hard fault the program (it returns an error code now) |
| 14 | + -- SAFER has been re-enabled after I was pointed to http://www.ciphersbyritter.com/NEWS2/95032301.HTM |
| 15 | + [Mark Kotiaho] |
| 16 | + -- Added CCM mode to the encauth list (now has EAX, OCB and CCM, c'est un treo magnifique!) |
| 17 | + -- Added missing ASN.1 header to the RSA keys ... oops... now the rsa_export/import are FULLY compatible |
| 18 | + with other libs like OpenSSL (comment: Test vectors would go a long way RSA...) |
| 19 | + -- Manually merged in fix to the prime_random_ex() LTM function that ensures the 2nd MSB is set properly. Now |
| 20 | + When you say "I want a 1024/8 byte RSA key" the MSB bit of the modulus is set as expected. Note I generally |
| 21 | + don't view this as a "huge issue" but it's just one less nit to worry about. [Bryan Klisch] |
| 22 | + -- A new CVS has been setup on my Athlon64 box... if you want developer access send me an email (and at this point the email would have to be awesome). |
| 23 | + -- Updated API for ECB and CBC shell code. Now can process N whole blocks in one call (like $DEITY intended) |
| 24 | + -- Introduced a new "hardware accel" framework that can be used to speed up cipher ECB, CBC and CTR mode |
| 25 | + calls. Later on dependent code (e.g. OMAC, CCM) will be re-written to use the generic cbc/ctr functions. But now |
| 26 | + if you [say] call ctr_encrypt() with a cipher descriptor that has hardware CTR it will automatically |
| 27 | + be used (e.g. no code rewrites) |
| 28 | + -- Now ships with 20% more love. |
| 29 | + -- x86_prof now uses ECB shell code (hint: accelerators) and outputs cycles per BLOCK not byte. This will make it a bit |
| 30 | + easier to compare hardware vs. software cipher implementations. It also emits timings for CBC and CTR modes |
| 31 | + -- [Peter LaDow] fixed a typo w.r.t. XREALLOC macro (spelling counts kids!) |
| 32 | + -- Fixed bug with __x86_64__ where ROL64/ROR64 with LTC_NO_ROLC would be the 32-bit versions instead... |
| 33 | + -- Shipping with preliminary GCM code (disabled). It's buggy (stack overflow hidden somewhere). If anyone can spot it let me know. |
| 34 | + -- Added Pelican MAC [it's an AES based fast MAC] to the list of supported MACs |
| 35 | + -- Added LTC_FAST [and you can disable by defining LTC_NO_FAST] so that CBC and CTR mode XOR whole words [e.g. 32 or 64 bits] at a time |
| 36 | + instead of one byte. On my AMD64 this reduced the overhead for AES-128-CBC from 4.56 cycles/byte to around 1 cycle/byte. This requires |
| 37 | + that you either allow unaligned read/writes [e.g. x86_32/x86_64] or align all your data. It won't go out of it's way to ensure |
| 38 | + aligned access. Only enabled for x86_* platforms by default since they allow unaligned read/writes. |
| 39 | + -- Added LTC_FAST support to PMAC (drops the cycle/byte by about 9 cycles on my AMD64) [note: I later rewrote this prior to release] |
| 40 | + -- Updated "profiled" target to work with the new directory layout |
| 41 | + -- Added [demo only] optimized RC5-CTR code to x86_prof demo to show off how to make an accelerator |
| 42 | + [This has been removed prior to release... It may re-appear later] |
| 43 | + -- Added CCM acelerator callbacks to the list [now supports ECB, CTR, CBC and now CCM]. |
| 44 | + -- Added chapter to manual about accelerators (you know you want it) |
| 45 | + -- Added "bswap" optimizations to x86 LOAD/STORE with big endian. Can be disabled by defining LTC_NO_BSWAP |
| 46 | + -- LTC_NO_ASM is now the official "disable all non-portable stuff" macro. When defined it will make the code endian-neutral, |
| 47 | + disable any form of ASM and disable LTC_FAST load/stores. Essentially build the library with this defined if you're having |
| 48 | + trouble building the library (old GCCs for instance dislike the ROLc macro) |
| 49 | + -- Added tomcrypt_mac.h and moved MAC/encMAC functions from tomcrypt_hash.h into it |
| 50 | + -- Added "done" function to ciphers and the five chaining modes [and things like omac/pmac/etc] |
| 51 | + -- Changed install group to "wheel" from "root". |
| 52 | + -- Replaced // comments with /**/ so it will build on older UNIX-like platforms |
| 53 | + -- x86_prof builds and runs with IntelCC fine now |
| 54 | + -- Added "stest" build to intel CC to test static linked from within the dir (so you don't have to install to test) |
| 55 | + -- Moved testing/benchmark into testprof directory and build it as part of the build. Now you can link against libtomcrypt_prof.a to get |
| 56 | + testing info (hint: hardware developers ;-) ) |
| 57 | + -- Added CCM to tv_gen |
| 58 | + -- Added demos to MSVC makefile |
| 59 | + -- Removed -funroll-all-loops from GCC makefile and replaced with -funroll-loops which is a bit more sane (P4 ain't got much cache for the IDATA) |
| 60 | + -- Fixed GCM prior to release and re-enabled it. It has not been optimized but it does conform when compiled with optimizations. |
| 61 | + -- I've since optimized GCM and CCM. They're close in speed but GCM is more flexible imho (though EAX is more flexible than both) |
| 62 | + -- For kicks I optimized the ECC code to use projective points. Gets between 3.21x (Prescott P4) to 4.53x (AMD64) times faster than before at 160-bit keys and the |
| 63 | + speedup grows as the keysize grows. Basically removing most practical reasons to "not use the ECC code". Enjoy. |
| 64 | + -- Added LTC_FAST support to OMAC/PMAC and doubled it's speed on my amd64 [faster on the P4 too I guess] |
| 65 | + -- Added GCM to tv_gen |
| 66 | + -- Removed "makefile.cygwin_dll" as it's not really used by anyone and not worth the effort (hell I hardly maintain the MSVC makefiles ...) |
| 67 | + -- Updated a few files in the "misc" directory to have correct @file comments for doxygen |
| 68 | + -- Removed "profile" target since it was slower anyways (go figure...) |
| 69 | + |
1 | 70 | December 31st, 2004 |
2 | 71 | v1.00 |
3 | 72 | -- Added "r,s == 0" check to dsa_verify_hash() |
|
0 commit comments