Skip to content

Commit 4a1a579

Browse files
Tom St Denissjaeckel
authored andcommitted
added libtomcrypt-1.07
1 parent 72412f6 commit 4a1a579

129 files changed

Lines changed: 5393 additions & 2013 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ PROJECT_NAME = LibTomCrypt
2323
# This could be handy for archiving the generated documentation or
2424
# if some version control system is used.
2525

26-
PROJECT_NUMBER = 1.06
26+
PROJECT_NUMBER = 1.07
2727

2828
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
2929
# base path where the generated documentation will be put.

TODO

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,43 @@
11
For 1.07
22

3+
34
1. [3 hours] ASN.1 SET and T61String [punishment, add UTF8 to the list!]
45

6+
4. [short] Make parameters in descriptors common, e.g. cipher.block_length => cipher.block_size, hash.blocksize => hash.block_size
57

8+
DONE
9+
----
610

11+
0. [important] Make ciphers enc/dec routines return int [for accel]. Make the ciphers themselves return CRYPT_OK [default] *AND* make
12+
all dependent code check the returns
13+
[x] gcm
14+
[x] ccm
15+
[x] yarrow
16+
[x] fortuna
17+
[x] eax
18+
[x] ocb
19+
[x] omac
20+
[x] pmac
21+
[x] pelican
22+
[x] ctr
23+
[x] cbc
24+
[x] ecb
25+
[x] cfb
26+
[x] ofb
27+
28+
2. [many] ASN.1 flexidecoder. Basically decode and construct a list of decoded ASN.1 types on the fly.
29+
This will allow easy decoding of things like X.509 as their orders can be "screwed up".
30+
The concept is simple, just read the ID byte and use a linked list. I'll do this after step #1.
31+
32+
3. [short] Make the cipher/hash accelerators return int [not void] to signal errors. Whoops
33+
34+
5. [short] Swap arguments of MGF1 around so hash_idx is first
35+
36+
6. [longish] Re-write parts of the ECC api, re-factor the code, convert to w-NAF, add FP support, add ecc point verifier
37+
38+
7. [shortish] Provide DH for the DSA code e.g. dsa_encrypt_key()
39+
40+
8. [worthit] Move the ECC code for point mul and what not as symbols that the TFM/LTM descriptors link in. Means a change to the hierarchy. This allows
41+
code that uses ECC plugins to simply ignore this code [e.g. save space]
42+
43+
9. [short] Document the flexi decoder and how it relates to the other DER routines

changes

Lines changed: 45 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,44 @@
1+
November 18th, 2005
2+
v1.07 -- Craig Schlenter pointed out the "encrypt" demo doesn't call ctr_start() correctly. That's because as of a few releases ago
3+
I added support to set the mode of the counter at init time
4+
-- Fixed some "testprof" make issues
5+
-- Added RSA keygen to the math descriptors
6+
-- Fixed install_test target ... oops
7+
-- made the "ranlib" program renamable useful for cross-compiling
8+
-- Made the cipher accelerators return error codes. :-)
9+
-- Made CCM accept a pre-scheduled key to speed it up if you use the same key for multiple packets
10+
-- Added "Katja" public key crypto. It's based on the recent N = p^2q work by Katja. I added OAEP padding
11+
to it. Note this code has been disabled not because it doesn't work but because it hasn't been thoroughly
12+
analyzed. It does carry some advantages over RSA (slightly smaller public key, faster decrypt) but also
13+
some annoying "setup" issues like the primes are smaller which makes ECM factoring more plausible.
14+
-- Made makefile accept a NODOCS flag to disable the requirement of tetex to install LTC for you no tetex people... all 3 of ya :-)
15+
-- Cleaned up rsa_export() since "zero" was handled with a SHORT_INTEGER
16+
-- Cleaned up the LIBTEST_S definitions in both GNU makefiles. A few minor touchups as well.
17+
-- Made the cipher ecb encrypt/decrypt return an int as well, changed ALL dependent code to check for this.
18+
-- der_decode_choice() would fail to mark a NULL as "used" when decoding. Fixed
19+
-- ecc_decrypt_key() now uses find_hash_oid() to clean up the code ;-)
20+
-- Added mp_neg() to the math descriptors.
21+
-- Swapped arguments for the pkcs_1_mgf1() function so the hash_idx is the first param (to be more consistent)
22+
-- Made the math descriptors buildable when RSA has been undefined
23+
-- ECC timing demo now capable of detecting which curves have been defined
24+
-- Refactored the ECC code so it's easier to maintain. (note: the form of this code hasn't really changed since I first added ECC ... :-/)
25+
-- Updated the documentation w.r.t. ECC and the accelerators to keep it current
26+
-- Fixed bug in ltc_init_multi() which would fail to free all allocated memory on error.
27+
-- Fixed bug in ecc_decrypt_key() which could possibly lead to overflows (if MAXBLOCKSIZE > ECC_BUF_SIZE and you have a hash that emits MAXBLOCKSIZE bytes)
28+
-- Added encrypt/decrypt to the DSA side (basically DH with DSA parameters)
29+
-- Updated makefiles to remove references to the old DH object files and the ecc_sys.o crap ... clean code ahead!
30+
-- ecc_import() now checks if the point it reads in lies on the curve (to prevent degenerative points from being used)
31+
-- ECC code now ALWAYS uses the accelerator interface. This allows people who use the accelerators to not have the stock
32+
ECC point add/dbl/mul code linked in. Yeah space savings! Rah Rah Rah.
33+
-- Added LTC_MUTEX_* support to Yarrow and Fortuna allowing you to use respective prng_state as a global PRNG state [e.g. thread-safe] if you define one of the LTC_* defines at
34+
build time (e.g. LTC_PTHREAD == pthreads)
35+
-- Added PPC32 support to the rotate macros (tested on an IBM PPC 405) and LTC_FAST macros (it aint fast but it's faster than stock)
36+
-- Added ltc_mp checks in all *_make_key() and *_import() which will help catch newbs who don't register their bignum first :-)
37+
-- the UTCTIME type was missing from der_length_sequence() [oops, oh like you've never done that]
38+
-- the main makefile allows you to rename the make command [e.g. MAKE=gmake gmake install] so you can build LTC on platforms where the default make command sucks [e.g. BSD]
39+
-- Added DER flexi decoder which allows the decoding of arbitrary DER encoded packets without knowing
40+
their structure in advance (thanks to MSVC for finding 3 bugs in it just prior to release! ... don't ask)
41+
142
August 1st, 2005
243
v1.06 -- Fixed rand_prime() to accept negative inputs as a signal for BBS primes. [Fredrik Olsson]
344
-- Added fourth ARGCHK type which outputs to stderr and continues. Useful if you trap sigsegv. [Valient Gough]
@@ -234,7 +275,7 @@ October 29th, 2004
234275
v0.99 -- Merged in the latest version of LTM which includes all of the recent bug fixes
235276
-- Deprecated LTMSSE and removed it (to be replaced with TFM later on)
236277
-- Stefan Arentz pointed out that mp_s_rmap should be extern
237-
-- Kristian Gjsteen pointed out that there are typos in the
278+
-- Kristian Gj?steen pointed out that there are typos in the
238279
"test" makefile and minor issues in Yarrow and Sober [just cosmetics really]
239280
-- Matthew P. Cashdollar pointed out that "export" is a C++ keyword
240281
so changed the PRNG api to use "pexport" and "pimport"
@@ -613,7 +654,7 @@ v0.81 -- Merged in new makefile from Clay Culver and Mike Frysinger
613654
as much as possible. This sped the routine up quite a bit.
614655
-- Fixed a huge flaw in ecc_verify_hash() where it would return CRYPT_OK on error... Now fixed.
615656
-- Fixed up config.pl by fixing an invalid query and the file is saved in non-windows [e.g. not CR/LF] format
616-
(fix due to Mika Bostrm)
657+
(fix due to Mika Bostr?m)
617658
-- Merged in LibTomMath for kicks
618659
-- Changed the build process so that by default "mycrypt_custom.h" is included and provided
619660
The makefile doesn't include any build options anymore
@@ -1342,6 +1383,6 @@ v0.02 -- Changed RC5 to only allow 12 to 24 rounds
13421383
v0.01 -- We will call this the first version.
13431384

13441385
/* $Source: /cvs/libtom/libtomcrypt/changes,v $ */
1345-
/* $Revision: 1.123 $ */
1346-
/* $Date: 2005/08/01 16:50:34 $ */
1386+
/* $Revision: 1.151 $ */
1387+
/* $Date: 2005/11/17 22:04:00 $ */
13471388

0 commit comments

Comments
 (0)