Mercurial > dropbear
comparison changes @ 143:5d99163f7e32 libtomcrypt-orig
import of libtomcrypt 0.99
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Sun, 19 Dec 2004 11:34:45 +0000 |
parents | 6362d3854bb4 |
children | 1c15b283127b |
comparison
equal
deleted
inserted
replaced
15:6362d3854bb4 | 143:5d99163f7e32 |
---|---|
1 October 29th, 2004 | |
2 v0.99 -- Merged in the latest version of LTM which includes all of the recent bug fixes | |
3 -- Deprecated LTMSSE and removed it (to be replaced with TFM later on) | |
4 -- Stefan Arentz pointed out that mp_s_rmap should be extern | |
5 -- Kristian Gj�steen pointed out that there are typos in the | |
6 "test" makefile and minor issues in Yarrow and Sober [just cosmetics really] | |
7 -- Matthew P. Cashdollar pointed out that "export" is a C++ keyword | |
8 so changed the PRNG api to use "pexport" and "pimport" | |
9 -- Updated "hashsum" demo so it builds ;-) | |
10 -- Added automatic support for x86-64 (will configure for 64-bit little endian automagically) | |
11 -- Zhi Chen pointed out a bug in rsa_exptmod which would leak memory on error. | |
12 -- Made hash functions "init" return an int. slight change to API ;-( | |
13 -- Added "CHC" mode which turns any cipher into a hash the other LTC functions can use | |
14 -- Added CHC mode stuff to demos such as tv_gen and hashsum | |
15 -- Added "makefile.shared" which builds and installs shared/static object copies | |
16 of the library. | |
17 -- Added DER for bignum support | |
18 -- RSA is now fully joy. rsa_export/rsa_import use PKCS #1 encodings and should be | |
19 compatible with other crypto libs that use the format. | |
20 -- Added support for x86-64 for the ROL/ROR macros | |
21 -- Changed the DLL and SO makefiles to optimize for speed, commented SMALL_CODE in | |
22 mycrypt_custom.h and added -DSMALL_CODE to the default makefile | |
23 -- Updated primality testing code so it does a minimum of 5 tests [of Miller-Rabin] | |
24 (AFAIK not a security fix, just warm fuzzies) | |
25 -- Minor updates to the OMAC code (additional __ARGCHK and removed printf from omac_test... oops!) | |
26 -- Update build and configuration info which was really really really out of date. (Chapter 14) | |
27 ++ Minor update, switch RSA to use the PKCS style CRT | |
28 | |
29 August 6th, 2004 | |
30 v0.98 -- Update to hmac_init to free all allocated memory on error | |
31 -- Update to PRNG API to fix import/export functions of Fortuna and Yarrow | |
32 -- Added test functions to PRNG api, RC4 now conforms ;-) [was a minor issue] | |
33 -- Added the SOBER-128 PRNG based off of code donated by Greg Rose. | |
34 -- Added Tech Note #4 [notes/tech0004.txt] | |
35 -- Changed RC4 back [due to request]. It will now XOR the output so you can use it like | |
36 a stream cipher easily. | |
37 -- Update Fortuna's export() to emit a hash of each pool. This means that the accumulated | |
38 entropy that was spread over all the pools isn't entirely lost when you export/import. | |
39 -- Zhi Chen suggested a comment for rsa_encrypt_key() to let users know [easily] that it was | |
40 PKCS #1 v2.0 padding. (updated other rsa_* functions) | |
41 -- Cleaned up Noekeon to remove unrolling [wasn't required, was messy and actually slower with GCC/ICC] | |
42 -- Updated RC4 so that when you feed it >256 bytes of entropy it quietly ignores additional | |
43 bytes. Also removed the % from the key setup to speed it up a bit. | |
44 -- Added cipher/hash/prng tests to x86_prof to help catch bugs while testing | |
45 -- Made the PRNG "done" return int, fixed sprng_done to not require prng* to be non-null | |
46 -- Spruced up mycrypt_custom.h to trap more errors and also help prevent LTMSSE from being defined | |
47 on non-i386 platforms by accident. | |
48 -- Added RSA/ECC/DH speed tests to x86_prof and cleaned it up to build with zero warnings | |
49 -- Changed Fortuna to count only entropy [not the 2 byte header] added to pool[0] into the | |
50 reseed mechanism. | |
51 -- Added "export_size" member to prng_descriptor tables so you can know in advance the size of | |
52 the exported state for any given PRNG. | |
53 -- Ported over patch on LTM 0.30 [not ready to release LTM 0.31] that fixes bug in mp_mul()/mp_div() | |
54 that used to result in negative zeroes when you multiplied zero by a negative integer. | |
55 (patch due to "Wolfgang Ehrhardt" <[email protected]>) | |
56 -- Fixed rsa_*decrypt_key() and rsa_*verify_hash() to default to invalid "stat" or "res". This way | |
57 if any of the higher level functions fail [before you get to the padding] the result will be in | |
58 a known state]. Applied to both v2 and v1.5 padding helpers. | |
59 -- Added MACs to x86_prof | |
60 -- Fixed up "warnings" in x86_prof and tv_gen | |
61 -- Added a "profiled" target back [for GCC 3.4 and ICC v8]. Doesn't seem to help but might be worth | |
62 tinkering with. | |
63 -- Beefed up load/store test in demos/test | |
64 | |
65 ++ New note, in order to use the optimized LOAD/STORE macros your platform | |
66 must support unaligned 32/64 bit load/stores. The x86s support this | |
67 but some [ARM for instance] do not. If your platform cannot perform | |
68 unaligned operations you must use the endian neutral code which is safe for | |
69 any sort of platform. | |
70 | |
71 July 23rd, 2004 | |
72 v0.97b -- Added PKCS #1 v1.5 RSA encrypt/sign helpers (like rsa_sign_hash, etc...) | |
73 -- Added missing prng check to rsa_decrypt_key() [not critical as I don't use | |
74 descriptors directly in that function] | |
75 -- Merged in LTM-SSE, define LTMSSE before you build and you will get SSE2 optimized math ;-) | |
76 (roughly 3x faster on a P4 Northwood). By default it will compile as ISO C portable | |
77 code (when LTMSSE is undefined). | |
78 -- Fixed bug in ltc_tommath.h where I had the kara/toom cutoffs not marked as ``extern'' | |
79 Thanks to "Stefan Arentz" <stefan at organicnetwork.net> | |
80 -- Steven Dake <[email protected]> and Richard Amacker <[email protected]> submitted patches to | |
81 fix pkcs_5_2(). It now matches the output of another crypto library. Whoops... hehehe | |
82 -- Updated PRNG api. Added Fortuna PRNG to the list of supported PRNGs | |
83 -- Fixed up the descriptor tables since globals are automatically zero'ed on startup. | |
84 -- Changed RC4 to store it's output. If you want to encrypt with RC4 | |
85 you'll have to do the XOR yourself. | |
86 -- Fixed buffer overflows/overruns in the HMAC code. | |
87 | |
88 ++ API change for the PRNGs there now is a done() function per PRNG. You | |
89 should call it when you are done with a prng state. So far it's | |
90 not absolutely required (won't cause problems) but is a good idea to | |
91 start. | |
92 | |
93 | |
94 June 23rd, 2004 | |
95 v0.97a ++ Fixed several potentially crippling bugs... [read on] | |
96 -- Fixed bug in OAEP decoder that would incorrectly report | |
97 buffer overflows. [Zhi Chen] | |
98 -- Fixed headers which had various C++ missing [extern "C"]'s | |
99 -- Added "extern" to sha384_desc descriptor which I removed by mistake | |
100 -- Fixed bugs in ENDIAN_BIG macros using the wrong byte order [Matt Johnston] | |
101 -- Updated tiger.c and des.c to not shadow "round" which is intrinsic on | |
102 some C compilers. | |
103 -- Updated demos/test/rsa_test.c to test the RSA functionality better | |
104 ++ This update has been tested with GCC [v3.3.3], ICC [v8] and MSVC [v6+SP6] | |
105 all on a x86 P4 [GCC/ICC tested in Gentoo Linux, MSVC in WinXP] | |
106 ++ Outcome: The bug Zhi Chen pointed out has been fixed. So have the bugs | |
107 that Matt Johnston found. | |
108 | |
109 June 19th, 2004 | |
110 v0.97 -- Removed spurious unused files [arrg!] | |
111 -- Patched buffer overflow in tim_exptmod() | |
112 -- Fixed buffer overrun bug in pkcs_1_v15_es_decode() | |
113 -- Reduced stack usage in PKCS #1 v2.0 padding functions (by several KBs) | |
114 -- Removed useless extern's that were an artifact from the project start... ;-) | |
115 -- Replaced memcpy/memset with XMEMCPY and XMEMSET for greater flexibility | |
116 -- fixed bugs in hmac_done()/hmac_init()/[various others()] where I didn't trap errors | |
117 -- Reduced stack usage in OMAC/PMAC/HMAC/EAX/OCB/PKCS#5 by mallocing any significant sized | |
118 arrays (e.g. > 100 bytes or so). Only in non-critical functions (e.g. eax_init()) | |
119 -- "Zhi Chen" <[email protected]> pointed out that rsa_decrypt_key() requires | |
120 an incorrect output size (too large). Fixed. | |
121 -- Added a "pretty" target to the GCC makefile. Requires PERL. It is NEAT! | |
122 -- Minor updates to ch1 of the manual. | |
123 -- Cleaned up the indentation and added comments to rsa_make_key(), rsa_exptmod() and | |
124 rsa_verify_hash() | |
125 -- Updated makefile.icc so the "install" target would work ;-) | |
126 -- Removed demos/test.c [deprecated from demos/test/test.c] | |
127 -- Changed MAXBLOCKSIZE from 128 to 64 to reflect the true size... | |
128 | |
1 May 30th, 2004 | 129 May 30th, 2004 |
2 v0.96 -- Removed GF and Keyring code | 130 v0.96 -- Removed GF and Keyring code |
3 -- Extended OAEP decoder to distinguish better [and use a more uniform API] | 131 -- Extended OAEP decoder to distinguish better [and use a more uniform API] |
4 -- Changed PSS/OAEP API slightly to be more consistent with other PK functions (order of arguments) | 132 -- Changed PSS/OAEP API slightly to be more consistent with other PK functions (order of arguments) |
5 -- rsa_exptmod() now pads with leading zeroes as per I2OSP. | 133 -- rsa_exptmod() now pads with leading zeroes as per I2OSP. |
6 -- added error checking to yarrow code | 134 -- added error checking to yarrow code |
7 -- Mike Frysinger pointed out that tommath.h from this distro will overwrite tommath.h | 135 -- pointed out that tommath.h from this distro will overwrite tommath.h |
8 from libtommath. I changed this to ltc_tommath.h to avoid any such problems. | 136 from libtommath. I changed this to ltc_tommath.h to avoid any such problems. |
9 -- Fixed bug in PSS encoder/decoder that didn't handle the MSB properly | 137 -- Fixed bug in PSS encoder/decoder that didn't handle the MSB properly |
10 -- refactored AES, now sports an "encrypt only" descriptor which uses half as much code space. | 138 -- refactored AES, now sports an "encrypt only" descriptor which uses half as much code space. |
11 -- modded Yarrow to try and use refactored AES code and added WHIRLPOOL support (d'oh) ;-) | 139 -- modded Yarrow to try and use refactored AES code and added WHIRLPOOL support (d'oh) ;-) |
12 -- updated ECB, OCB and CBC decrypt functions to detect when "encrypt only" descriptor is used. | 140 -- updated ECB, OCB and CBC decrypt functions to detect when "encrypt only" descriptor is used. |