comparison changes @ 209:39d5d58461d6 libtomcrypt-orig LTC_1.05

Import of libtomcrypt 1.05
author Matt Johnston <matt@ucc.asn.au>
date Wed, 06 Jul 2005 03:53:40 +0000
parents 1c15b283127b
children
comparison
equal deleted inserted replaced
191:1c15b283127b 209:39d5d58461d6
1 June 27th, 2005
2 v1.05
3 -- Added Technote #6 which covers the current PK compliance.
4 -- Fixed buffer overflow in OAEP decoder
5 -- Added CHOICE to the list of ASN.1 types
6 -- Added UTCTIME to the list of ASN.1 types
7 -- Added MUTEX locks around descriptor table functions [but not on the functions that are dependent on them]
8 All functions call *_is_valid() before using a descriptor index which means the respective table must be unlocked before
9 it can be accessed. However, during the operation [e.g. CCM] if the descriptor has been altered the results will be
10 undefined.
11 -- Minor updates to the manual to reflect recent changes
12 -- Added a catch to for an error that should never come up in rsa_exptmod(). Just being thorough.
13
14 June 15th, 2005
15 v1.04
16 -- Fixed off by one [bit] error in dsa_make_key() it was too high by one bit [not a security problem just inconsistent]
17 -- ECC-224 curve was wrong [it was an ok curve just not NIST, so no security flaw just interoperability].
18 -- Removed point compression since it slows down ECC ops to save a measly couple bytes.
19 This makes the ecc export format incompatible with 1.03 [it shouldn't change in the future]
20 -- Removed ECC-160 from timing and added the other curves
21
22 June 9th, 2005
23 v1.03
24 -- Users may want to note that on a P4/GCC3.4 platform "-fno-regmove" greatly accelerates the ciphers/hashes.
25 --------------------------------------------------------------------------------------------------------------
26 -- Made it install the testing library in the icc/static makefiles
27 -- Found bug in ccm_memory.c which would fail to compile when LTC_CLEAN_STACK was enabled
28 -- Simon Johnson proposed I do a fully automated test suite. Hence "testme.sh" was born
29 -- Added LTC_NO_TEST which forces test vectors off (regardless of what tomcrypt_custom.h has)
30 -- Added LTC_NO_TABLES which disables large tables (where possible, regardless of what tomcrypt_custom.h has)
31 -- New test script found a bug in twofish.c when TABLES was disabled. Yeah testing!
32 -- Added a LTC_FAST specific test to the testing software.
33 -- Updated test driver to actually halt on errors and just print them out (useful for say... automated testing...)
34 -- Added bounds checking to Pelican MAC
35 -- Added BIT and OCTET STRING to the ASN.1 side of things.
36 -- Pekka Riikonen pointed out that my ctr_start() function should accept the counter mode.
37 -- Cleaned up warnings in testprof
38 -- Removed redundant mu and point mapping in ecc_verify_hash() so it should be a bit faster now
39 -- Pekka pointed out that the AES key structure was using 32 bytes more than it ought to.
40 -- Added quick defines to remove entire classes of algorithms. This makes it easier if you want to build with just
41 one algorithm (say AES or SHA-256). Defines are LTC_NO_CIPHERS, LTC_NO_MODES, LTC_NO_HASHES, LTC_NO_MACS,
42 LTC_NO_PRNGS, LTC_NO_PK, LTC_NO_PKCS
43 -- As part of the move for ECC to X9.62 I've changed the signature algorithm to EC DSA. No API changes.
44 -- Pekka helped me clean up the PKCS #1 v2.1 [OAEP/PSS] code
45 -- Wrote new DER SEQUENCE coder/decoder
46 -- RSA, DSA and ECDSA now use the DER SEQUENCE code (saves a lot of code!)
47 -- DSA output is now a DER SEQUENCE (so not compatible with previous releases).
48 -- Added Technote #5 which shows how to build LTC on an AMD64 to have a variety of algorithms in only ~80KB of code.
49 -- Changed temp variable in LOAD/STORE macros to "ulong32" for 32-bit ops. Makes it safer on Big endian platforms
50 -- Added INSTALL_GROUP and INSTALL_USER which you can specify on the build to override the default USER/GROUP the library
51 is to be installed as
52 -- Removed "testprof" from the default build.
53 -- Added IA5, NULL and Object Identifier to the list of ASN.1 DER supported types
54 -- The "no_oops" target (part of zipup) now scans for non-cvs files. This helps prevent temp/scratch files from appearing in releases ;-)
55 -- Added DERs for missing hashes, but just the OID not the PKCS #1 v1.5 additions.
56 -- Removed PKCS #1 v1.5 from the tree since it's taking up space and you ought to use v2.1 anyways
57 -- Kevin Kenny pointed out a few stray // comments
58 -- INTEGER code properly supports negatives and zero padding [Pekka!]
59 -- Sorted asn1/der/ directory ... less of a mess now ;-)
60 -- Added PRINTABLE STRING type
61 -- Removed ECC-160 as it wasn't a standard curve
62 -- Made ecc_shared_secret() ANSI X9.63 compliant
63 -- Changed "printf" to "fprintf(stderr, " in the testbench... ;-)
64 -- Optimized the GCM table creation. On 1KB packets [with key switching] the new GCM is 12.7x faster than before.
65 -- Changed OID representation for hashes to be just a list of unsigned longs (so you can compare against them nicely after decoding a sequence)
66 -- ECC code now uses Montgomery reduction ... it's even faster [ECC-256 make key down from 37.4M to 4.6M cycles on an Athlon64]
67 -- Added SHORT_INTEGER so users can easily store DER encoded INTEGER types without using the bignum math library
68 -- Fixed OMAC code so that with LTC_FAST it doesn't require that LTC_FAST_TYPE divides 16 [it has to divide the block size instead]
69 -- ECC key export is now a simple [and documented] SEQUENCE, the "encrypt_key" also uses a new SEQUENCE format.
70 -- Thanks goes to the following testers
71 Michael Brown - Solaris 10/uSPARCII
72 Richard Outerbridge - MacOS
73 Martin Carpenter - Solaris 8/uSPARCII [Thanks for cleaning up the scripts]
74 Greg Rose - ... SunOS 5.8/SPARC [... what's with the SPARCS?]
75 Matt Johnston - MacOS X [Thanks for pointing out GCC 4 problems with -Os]
76
1 April 19th, 2005 77 April 19th, 2005
2 v1.02 78 v1.02
3 -- Added LTC_TEST support to gcm_test() 79 -- Added LTC_TEST support to gcm_test()
4 -- "pt/ct" can now be NULL in gcm_process() if you are processing zero bytes 80 -- "pt/ct" can now be NULL in gcm_process() if you are processing zero bytes
5 -- Optimized GCM by removing the "double copy" handling of the plaintext/aad 81 -- Optimized GCM by removing the "double copy" handling of the plaintext/aad
1241 1317
1242 v0.02 -- Changed RC5 to only allow 12 to 24 rounds 1318 v0.02 -- Changed RC5 to only allow 12 to 24 rounds
1243 -- Added more to the manual. 1319 -- Added more to the manual.
1244 1320
1245 v0.01 -- We will call this the first version. 1321 v0.01 -- We will call this the first version.
1322
1323 /* $Source: /cvs/libtom/libtomcrypt/changes,v $ */
1324 /* $Revision: 1.106 $ */
1325 /* $Date: 2005/06/27 12:37:06 $ */
1326