Mercurial > dropbear
comparison libtommath/changes.txt @ 389:5ff8218bcee9
propagate from branch 'au.asn.ucc.matt.ltm.dropbear' (head 2af95f00ebd5bb7a28b3817db1218442c935388e)
to branch 'au.asn.ucc.matt.dropbear' (head ecd779509ef23a8cdf64888904fc9b31d78aa933)
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Thu, 11 Jan 2007 03:14:55 +0000 |
parents | eed26cff980b |
children | 60fc6476e044 |
comparison
equal
deleted
inserted
replaced
388:fb54020f78e1 | 389:5ff8218bcee9 |
---|---|
1 December 24th, 2006 | |
2 v0.40 -- Updated makefile to properly support LIBNAME | |
3 -- Fixed bug in fast_s_mp_mul_high_digs() which overflowed (line 83), thanks Valgrind! | |
4 | |
5 April 4th, 2006 | |
6 v0.39 -- Jim Wigginton pointed out my Montgomery examples in figures 6.4 and 6.6 were off by one, k should be 9 not 8 | |
7 -- Bruce Guenter suggested I use --tag=CC for libtool builds where the compiler may think it's C++. | |
8 -- "mm" from sci.crypt pointed out that my mp_gcd was sub-optimal (I also updated and corrected the book) | |
9 -- updated some of the @@ tags in tommath.src to reflect source changes. | |
10 -- updated email and url info in all source files | |
11 | |
12 Jan 26th, 2006 | |
13 v0.38 -- broken makefile.shared fixed | |
14 -- removed some carry stores that were not required [updated text] | |
15 | |
16 November 18th, 2005 | |
17 v0.37 -- [Don Porter] reported on a TCL list [HEY SEND ME BUGREPORTS ALREADY!!!] that mp_add_d() would compute -0 with some inputs. Fixed. | |
18 -- [[email protected]] reported the makefile.bcc was messed up. Fixed. | |
19 -- [Kevin Kenny] reported some issues with mp_toradix_n(). Now it doesn't require a min of 3 chars of output. | |
20 -- Made the make command renamable. Wee | |
21 | |
22 August 1st, 2005 | |
23 v0.36 -- LTM_PRIME_2MSB_ON was fixed and the "OFF" flag was removed. | |
24 -- [Peter LaDow] found a typo in the XREALLOC macro | |
25 -- [Peter LaDow] pointed out that mp_read_(un)signed_bin should have "const" on the input | |
26 -- Ported LTC patch to fix the prime_random_ex() function to get the bitsize correct [and the maskOR flags] | |
27 -- Kevin Kenny pointed out a stray // | |
28 -- David Hulton pointed out a typo in the textbook [mp_montgomery_setup() pseudo-code] | |
29 -- Neal Hamilton (Elliptic Semiconductor) pointed out that my Karatsuba notation was backwards and that I could use | |
30 unsigned operations in the routine. | |
31 -- Paul Schmidt pointed out a linking error in mp_exptmod() when BN_S_MP_EXPTMOD_C is undefined (and another for read_radix) | |
32 -- Updated makefiles to be way more flexible | |
33 | |
34 March 12th, 2005 | |
35 v0.35 -- Stupid XOR function missing line again... oops. | |
36 -- Fixed bug in invmod not handling negative inputs correctly [Wolfgang Ehrhardt] | |
37 -- Made exteuclid always give positive u3 output...[ Wolfgang Ehrhardt ] | |
38 -- [Wolfgang Ehrhardt] Suggested a fix for mp_reduce() which avoided underruns. ;-) | |
39 -- mp_rand() would emit one too many digits and it was possible to get a 0 out of it ... oops | |
40 -- Added montgomery to the testing to make sure it handles 1..10 digit moduli correctly | |
41 -- Fixed bug in comba that would lead to possible erroneous outputs when "pa < digs" | |
42 -- Fixed bug in mp_toradix_size for "0" [Kevin Kenny] | |
43 -- Updated chapters 1-5 of the textbook ;-) It now talks about the new comba code! | |
44 | |
45 February 12th, 2005 | |
46 v0.34 -- Fixed two more small errors in mp_prime_random_ex() | |
47 -- Fixed overflow in mp_mul_d() [Kevin Kenny] | |
48 -- Added mp_to_(un)signed_bin_n() functions which do bounds checking for ya [and report the size] | |
49 -- Added "large" diminished radix support. Speeds up things like DSA where the moduli is of the form 2^k - P for some P < 2^(k/2) or so | |
50 Actually is faster than Montgomery on my AMD64 (and probably much faster on a P4) | |
51 -- Updated the manual a bit | |
52 -- Ok so I haven't done the textbook work yet... My current freelance gig has landed me in France till the | |
53 end of Feb/05. Once I get back I'll have tons of free time and I plan to go to town on the book. | |
54 As of this release the API will freeze. At least until the book catches up with all the changes. I welcome | |
55 bug reports but new algorithms will have to wait. | |
56 | |
57 December 23rd, 2004 | |
58 v0.33 -- Fixed "small" variant for mp_div() which would munge with negative dividends... | |
59 -- Fixed bug in mp_prime_random_ex() which would set the most significant byte to zero when | |
60 no special flags were set | |
61 -- Fixed overflow [minor] bug in fast_s_mp_sqr() | |
62 -- Made the makefiles easier to configure the group/user that ltm will install as | |
63 -- Fixed "final carry" bug in comba multipliers. (Volkan Ceylan) | |
64 -- Matt Johnston pointed out a missing semi-colon in mp_exptmod | |
65 | |
66 October 29th, 2004 | |
67 v0.32 -- Added "makefile.shared" for shared object support | |
68 -- Added more to the build options/configs in the manual | |
69 -- Started the Depends framework, wrote dep.pl to scan deps and | |
70 produce "callgraph.txt" ;-) | |
71 -- Wrote SC_RSA_1 which will enable close to the minimum required to perform | |
72 RSA on 32-bit [or 64-bit] platforms with LibTomCrypt | |
73 -- Merged in the small/slower mp_div replacement. You can now toggle which | |
74 you want to use as your mp_div() at build time. Saves roughly 8KB or so. | |
75 -- Renamed a few files and changed some comments to make depends system work better. | |
76 (No changes to function names) | |
77 -- Merged in new Combas that perform 2 reads per inner loop instead of the older | |
78 3reads/2writes per inner loop of the old code. Really though if you want speed | |
79 learn to use TomsFastMath ;-) | |
80 | |
81 August 9th, 2004 | |
82 v0.31 -- "profiled" builds now :-) new timings for Intel Northwoods | |
83 -- Added "pretty" build target | |
84 -- Update mp_init() to actually assign 0's instead of relying on calloc() | |
85 -- "Wolfgang Ehrhardt" <[email protected]> found a bug in mp_mul() where if | |
86 you multiply a negative by zero you get negative zero as the result. Oops. | |
87 -- J Harper from PeerSec let me toy with his AMD64 and I got 60-bit digits working properly | |
88 [this also means that I fixed a bug where if sizeof(int) < sizeof(mp_digit) it would bug] | |
89 | |
90 April 11th, 2004 | |
91 v0.30 -- Added "mp_toradix_n" which stores upto "n-1" least significant digits of an mp_int | |
92 -- Johan Lindh sent a patch so MSVC wouldn't whine about redefining malloc [in weird dll modes] | |
93 -- Henrik Goldman spotted a missing OPT_CAST in mp_fwrite() | |
94 -- Tuned tommath.h so that when MP_LOW_MEM is defined MP_PREC shall be reduced. | |
95 [I also allow MP_PREC to be externally defined now] | |
96 -- Sped up mp_cnt_lsb() by using a 4x4 table [e.g. 4x speedup] | |
97 -- Added mp_prime_random_ex() which is a more versatile prime generator accurate to | |
98 exact bit lengths (unlike the deprecated but still available mp_prime_random() which | |
99 is only accurate to byte lengths). See the new LTM_PRIME_* flags ;-) | |
100 -- Alex Polushin contributed an optimized mp_sqrt() as well as mp_get_int() and mp_is_square(). | |
101 I've cleaned them all up to be a little more consistent [along with one bug fix] for this release. | |
102 -- Added mp_init_set and mp_init_set_int to initialize and set small constants with one function | |
103 call. | |
104 -- Removed /etclib directory [um LibTomPoly deprecates this]. | |
105 -- Fixed mp_mod() so the sign of the result agrees with the sign of the modulus. | |
106 ++ N.B. My semester is almost up so expect updates to the textbook to be posted to the libtomcrypt.org | |
107 website. | |
108 | |
109 Jan 25th, 2004 | |
110 v0.29 ++ Note: "Henrik" from the v0.28 changelog refers to Henrik Goldman ;-) | |
111 -- Added fix to mp_shrink to prevent a realloc when used == 0 [e.g. realloc zero bytes???] | |
112 -- Made the mp_prime_rabin_miller_trials() function internal table smaller and also | |
113 set the minimum number of tests to two (sounds a bit safer). | |
114 -- Added a mp_exteuclid() which computes the extended euclidean algorithm. | |
115 -- Fixed a memory leak in s_mp_exptmod() [called when Barrett reduction is to be used] which would arise | |
116 if a multiplication or subsequent reduction failed [would not free the temp result]. | |
117 -- Made an API change to mp_radix_size(). It now returns an error code and stores the required size | |
118 through an "int star" passed to it. | |
119 | |
120 Dec 24th, 2003 | |
121 v0.28 -- Henrik Goldman suggested I add casts to the montomgery code [stores into mu...] so compilers wouldn't | |
122 spew [erroneous] diagnostics... fixed. | |
123 -- Henrik Goldman also spotted two typos. One in mp_radix_size() and another in mp_toradix(). | |
124 -- Added fix to mp_shrink() to avoid a memory leak. | |
125 -- Added mp_prime_random() which requires a callback to make truly random primes of a given nature | |
126 (idea from chat with Niels Ferguson at Crypto'03) | |
127 -- Picked up a second wind. I'm filled with Gooo. Mission Gooo! | |
128 -- Removed divisions from mp_reduce_is_2k() | |
129 -- Sped up mp_div_d() [general case] to use only one division per digit instead of two. | |
130 -- Added the heap macros from LTC to LTM. Now you can easily [by editing four lines of tommath.h] | |
131 change the name of the heap functions used in LTM [also compatible with LTC via MPI mode] | |
132 -- Added bn_prime_rabin_miller_trials() which gives the number of Rabin-Miller trials to achieve | |
133 a failure rate of less than 2^-96 | |
134 -- fixed bug in fast_mp_invmod(). The initial testing logic was wrong. An invalid input is not when | |
135 "a" and "b" are even it's when "b" is even [the algo is for odd moduli only]. | |
136 -- Started a new manual [finally]. It is incomplete and will be finished as time goes on. I had to stop | |
137 adding full demos around half way in chapter three so I could at least get a good portion of the | |
138 manual done. If you really need help using the library you can always email me! | |
139 -- My Textbook is now included as part of the package [all Public Domain] | |
140 | |
141 Sept 19th, 2003 | |
142 v0.27 -- Removed changes.txt~ which was made by accident since "kate" decided it was | |
143 a good time to re-enable backups... [kde is fun!] | |
144 -- In mp_grow() "a->dp" is not overwritten by realloc call [re: memory leak] | |
145 Now if mp_grow() fails the mp_int is still valid and can be cleared via | |
146 mp_clear() to reclaim the memory. | |
147 -- Henrik Goldman found a buffer overflow bug in mp_add_d(). Fixed. | |
148 -- Cleaned up mp_mul_d() to be much easier to read and follow. | |
149 | |
150 Aug 29th, 2003 | |
151 v0.26 -- Fixed typo that caused warning with GCC 3.2 | |
152 -- Martin Marcel noticed a bug in mp_neg() that allowed negative zeroes. | |
153 Also, Martin is the fellow who noted the bugs in mp_gcd() of 0.24/0.25. | |
154 -- Martin Marcel noticed an optimization [and slight bug] in mp_lcm(). | |
155 -- Added fix to mp_read_unsigned_bin to prevent a buffer overflow. | |
156 -- Beefed up the comments in the baseline multipliers [and montgomery] | |
157 -- Added "mont" demo to the makefile.msvc in etc/ | |
158 -- Optimized sign compares in mp_cmp from 4 to 2 cases. | |
159 | |
160 Aug 4th, 2003 | |
161 v0.25 -- Fix to mp_gcd again... oops (0,-a) == (-a, 0) == a | |
162 -- Fix to mp_clear which didn't reset the sign [Greg Rose] | |
163 -- Added mp_error_to_string() to convert return codes to strings. [Greg Rose] | |
164 -- Optimized fast_mp_invmod() to do the test for invalid inputs [both even] | |
165 first so temps don't have to be initialized if it's going to fail. | |
166 -- Optimized mp_gcd() by removing mp_div_2d calls for when one of the inputs | |
167 is odd. | |
168 -- Tons of new comments, some indentation fixups, etc. | |
169 -- mp_jacobi() returns MP_VAL if the modulus is less than or equal to zero. | |
170 -- fixed two typos in the header of each file :-) | |
171 -- LibTomMath is officially Public Domain [see LICENSE] | |
172 | |
173 July 15th, 2003 | |
174 v0.24 -- Optimized mp_add_d and mp_sub_d to not allocate temporary variables | |
175 -- Fixed mp_gcd() so the gcd of 0,0 is 0. Allows the gcd operation to be chained | |
176 e.g. (0,0,a) == a [instead of 1] | |
177 -- Should be one of the last release for a while. Working on LibTomMath book now. | |
178 -- optimized the pprime demo [/etc/pprime.c] to first make a huge table of single | |
179 digit primes then it reads them randomly instead of randomly choosing/testing single | |
180 digit primes. | |
181 | |
182 July 12th, 2003 | |
183 v0.23 -- Optimized mp_prime_next_prime() to not use mp_mod [via is_divisible()] in each | |
184 iteration. Instead now a smaller table is kept of the residues which can be updated | |
185 without division. | |
186 -- Fixed a bug in next_prime() where an input of zero would be treated as odd and | |
187 have two added to it [to move to the next odd]. | |
188 -- fixed a bug in prime_fermat() and prime_miller_rabin() which allowed the base | |
189 to be negative, zero or one. Normally the test is only valid if the base is | |
190 greater than one. | |
191 -- changed the next_prime() prototype to accept a new parameter "bbs_style" which | |
192 will find the next prime congruent to 3 mod 4. The default [bbs_style==0] will | |
193 make primes which are either congruent to 1 or 3 mod 4. | |
194 -- fixed mp_read_unsigned_bin() so that it doesn't include both code for | |
195 the case DIGIT_BIT < 8 and >= 8 | |
196 -- optimized div_d() to easy out on division by 1 [or if a == 0] and use | |
197 logical shifts if the divisor is a power of two. | |
198 -- the default DIGIT_BIT type was not int for non-default builds. Fixed. | |
199 | |
200 July 2nd, 2003 | |
201 v0.22 -- Fixed up mp_invmod so the result is properly in range now [was always congruent to the inverse...] | |
202 -- Fixed up s_mp_exptmod and mp_exptmod_fast so the lower half of the pre-computed table isn't allocated | |
203 which makes the algorithm use half as much ram. | |
204 -- Fixed the install script not to make the book :-) [which isn't included anyways] | |
205 -- added mp_cnt_lsb() which counts how many of the lsbs are zero | |
206 -- optimized mp_gcd() to use the new mp_cnt_lsb() to replace multiple divisions by two by a single division. | |
207 -- applied similar optimization to mp_prime_miller_rabin(). | |
208 -- Fixed a bug in both mp_invmod() and fast_mp_invmod() which tested for odd | |
209 via "mp_iseven() == 0" which is not valid [since zero is not even either]. | |
210 | |
211 June 19th, 2003 | |
212 v0.21 -- Fixed bug in mp_mul_d which would not handle sign correctly [would not always forward it] | |
213 -- Removed the #line lines from gen.pl [was in violation of ISO C] | |
214 | |
215 June 8th, 2003 | |
216 v0.20 -- Removed the book from the package. Added the TDCAL license document. | |
217 -- This release is officially pure-bred TDCAL again [last officially TDCAL based release was v0.16] | |
218 | |
219 June 6th, 2003 | |
220 v0.19 -- Fixed a bug in mp_montgomery_reduce() which was introduced when I tweaked mp_rshd() in the previous release. | |
221 Essentially the digits were not trimmed before the compare which cause a subtraction to occur all the time. | |
222 -- Fixed up etc/tune.c a bit to stop testing new cutoffs after 16 failures [to find more optimal points]. | |
223 Brute force ho! | |
224 | |
225 | |
226 May 29th, 2003 | |
227 v0.18 -- Fixed a bug in s_mp_sqr which would handle carries properly just not very elegantly. | |
228 (e.g. correct result, just bad looking code) | |
229 -- Fixed bug in mp_sqr which still had a 512 constant instead of MP_WARRAY | |
230 -- Added Toom-Cook multipliers [needs tuning!] | |
231 -- Added efficient divide by 3 algorithm mp_div_3 | |
232 -- Re-wrote mp_div_d to be faster than calling mp_div | |
233 -- Added in a donated BCC makefile and a single page LTM poster ([email protected]) | |
234 -- Added mp_reduce_2k which reduces an input modulo n = 2**p - k for any single digit k | |
235 -- Made the exptmod system be aware of the 2k reduction algorithms. | |
236 -- Rewrote mp_dr_reduce to be smaller, simpler and easier to understand. | |
237 | |
238 May 17th, 2003 | |
239 v0.17 -- Benjamin Goldberg submitted optimized mp_add and mp_sub routines. A new gen.pl as well | |
240 as several smaller suggestions. Thanks! | |
241 -- removed call to mp_cmp in inner loop of mp_div and put mp_cmp_mag in its place :-) | |
242 -- Fixed bug in mp_exptmod that would cause it to fail for odd moduli when DIGIT_BIT != 28 | |
243 -- mp_exptmod now also returns errors if the modulus is negative and will handle negative exponents | |
244 -- mp_prime_is_prime will now return true if the input is one of the primes in the prime table | |
245 -- Damian M Gryski ([email protected]) found a index out of bounds error in the | |
246 mp_fast_s_mp_mul_high_digs function which didn't come up before. (fixed) | |
247 -- Refactored the DR reduction code so there is only one function per file. | |
248 -- Fixed bug in the mp_mul() which would erroneously avoid the faster multiplier [comba] when it was | |
249 allowed. The bug would not cause the incorrect value to be produced just less efficient (fixed) | |
250 -- Fixed similar bug in the Montgomery reduction code. | |
251 -- Added tons of (mp_digit) casts so the 7/15/28/31 bit digit code will work flawlessly out of the box. | |
252 Also added limited support for 64-bit machines with a 60-bit digit. Both thanks to Tom Wu ([email protected]) | |
253 -- Added new comments here and there, cleaned up some code [style stuff] | |
254 -- Fixed a lingering typo in mp_exptmod* that would set bitcnt to zero then one. Very silly stuff :-) | |
255 -- Fixed up mp_exptmod_fast so it would set "redux" to the comba Montgomery reduction if allowed. This | |
256 saves quite a few calls and if statements. | |
257 -- Added etc/mont.c a test of the Montgomery reduction [assuming all else works :-| ] | |
258 -- Fixed up etc/tune.c to use a wider test range [more appropriate] also added a x86 based addition which | |
259 uses RDTSC for high precision timing. | |
260 -- Updated demo/demo.c to remove MPI stuff [won't work anyways], made the tests run for 2 seconds each so its | |
261 not so insanely slow. Also made the output space delimited [and fixed up various errors] | |
262 -- Added logs directory, logs/graph.dem which will use gnuplot to make a series of PNG files | |
263 that go with the pre-made index.html. You have to build [via make timing] and run ltmtest first in the | |
264 root of the package. | |
265 -- Fixed a bug in mp_sub and mp_add where "-a - -a" or "-a + a" would produce -0 as the result [obviously invalid]. | |
266 -- Fixed a bug in mp_rshd. If the count == a.used it should zero/return [instead of shifting] | |
267 -- Fixed a "off-by-one" bug in mp_mul2d. The initial size check on alloc would be off by one if the residue | |
268 shifting caused a carry. | |
269 -- Fixed a bug where s_mp_mul_digs() would not call the Comba based routine if allowed. This made Barrett reduction | |
270 slower than it had to be. | |
271 | |
272 Mar 29th, 2003 | |
273 v0.16 -- Sped up mp_div by making normalization one shift call | |
274 -- Sped up mp_mul_2d/mp_div_2d by aliasing pointers :-) | |
275 -- Cleaned up mp_gcd to use the macros for odd/even detection | |
276 -- Added comments here and there, mostly there but occasionally here too. | |
277 | |
278 Mar 22nd, 2003 | |
279 v0.15 -- Added series of prime testing routines to lib | |
280 -- Fixed up etc/tune.c | |
281 -- Added DR reduction algorithm | |
282 -- Beefed up the manual more. | |
283 -- Fixed up demo/demo.c so it doesn't have so many warnings and it does the full series of | |
284 tests | |
285 -- Added "pre-gen" directory which will hold a "gen.pl"'ed copy of the entire lib [done at | |
286 zipup time so its always the latest] | |
287 -- Added conditional casts for C++ users [boo!] | |
288 | |
289 Mar 15th, 2003 | |
290 v0.14 -- Tons of manual updates | |
291 -- cleaned up the directory | |
292 -- added MSVC makefiles | |
293 -- source changes [that I don't recall] | |
294 -- Fixed up the lshd/rshd code to use pointer aliasing | |
295 -- Fixed up the mul_2d and div_2d to not call rshd/lshd unless needed | |
296 -- Fixed up etc/tune.c a tad | |
297 -- fixed up demo/demo.c to output comma-delimited results of timing | |
298 also fixed up timing demo to use a finer granularity for various functions | |
299 -- fixed up demo/demo.c testing to pause during testing so my Duron won't catch on fire | |
300 [stays around 31-35C during testing :-)] | |
301 | |
302 Feb 13th, 2003 | |
303 v0.13 -- tons of minor speed-ups in low level add, sub, mul_2 and div_2 which propagate | |
304 to other functions like mp_invmod, mp_div, etc... | |
305 -- Sped up mp_exptmod_fast by using new code to find R mod m [e.g. B^n mod m] | |
306 -- minor fixes | |
307 | |
308 Jan 17th, 2003 | |
309 v0.12 -- re-wrote the majority of the makefile so its more portable and will | |
310 install via "make install" on most *nix platforms | |
311 -- Re-packaged all the source as seperate files. Means the library a single | |
312 file packagage any more. Instead of just adding "bn.c" you have to add | |
313 libtommath.a | |
314 -- Renamed "bn.h" to "tommath.h" | |
315 -- Changes to the manual to reflect all of this | |
316 -- Used GNU Indent to clean up the source | |
317 | |
318 Jan 15th, 2003 | |
319 v0.11 -- More subtle fixes | |
320 -- Moved to gentoo linux [hurrah!] so made *nix specific fixes to the make process | |
321 -- Sped up the montgomery reduction code quite a bit | |
322 -- fixed up demo so when building timing for the x86 it assumes ELF format now | |
323 | |
324 Jan 9th, 2003 | |
325 v0.10 -- Pekka Riikonen suggested fixes to the radix conversion code. | |
326 -- Added baseline montgomery and comba montgomery reductions, sped up exptmods | |
327 [to a point, see bn.h for MONTGOMERY_EXPT_CUTOFF] | |
328 | |
329 Jan 6th, 2003 | |
330 v0.09 -- Updated the manual to reflect recent changes. :-) | |
331 -- Added Jacobi function (mp_jacobi) to supplement the number theory side of the lib | |
332 -- Added a Mersenne prime finder demo in ./etc/mersenne.c | |
333 | |
334 Jan 2nd, 2003 | |
335 v0.08 -- Sped up the multipliers by moving the inner loop variables into a smaller scope | |
336 -- Corrected a bunch of small "warnings" | |
337 -- Added more comments | |
338 -- Made "mtest" be able to use /dev/random, /dev/urandom or stdin for RNG data | |
339 -- Corrected some bugs where error messages were potentially ignored | |
340 -- add etc/pprime.c program which makes numbers which are provably prime. | |
341 | |
342 Jan 1st, 2003 | |
343 v0.07 -- Removed alot of heap operations from core functions to speed them up | |
344 -- Added a root finding function [and mp_sqrt macro like from MPI] | |
345 -- Added more to manual | |
346 | |
347 Dec 31st, 2002 | |
348 v0.06 -- Sped up the s_mp_add, s_mp_sub which inturn sped up mp_invmod, mp_exptmod, etc... | |
349 -- Cleaned up the header a bit more | |
350 | |
351 Dec 30th, 2002 | |
352 v0.05 -- Builds with MSVC out of the box | |
353 -- Fixed a bug in mp_invmod w.r.t. even moduli | |
354 -- Made mp_toradix and mp_read_radix use char instead of unsigned char arrays | |
355 -- Fixed up exptmod to use fewer multiplications | |
356 -- Fixed up mp_init_size to use only one heap operation | |
357 -- Note there is a slight "off-by-one" bug in the library somewhere | |
358 without the padding (see the source for comment) the library | |
359 crashes in libtomcrypt. Anyways a reasonable workaround is to pad the | |
360 numbers which will always correct it since as the numbers grow the padding | |
361 will still be beyond the end of the number | |
362 -- Added more to the manual | |
363 | |
364 Dec 29th, 2002 | |
365 v0.04 -- Fixed a memory leak in mp_to_unsigned_bin | |
366 -- optimized invmod code | |
367 -- Fixed bug in mp_div | |
368 -- use exchange instead of copy for results | |
369 -- added a bit more to the manual | |
370 | |
371 Dec 27th, 2002 | |
372 v0.03 -- Sped up s_mp_mul_high_digs by not computing the carries of the lower digits | |
373 -- Fixed a bug where mp_set_int wouldn't zero the value first and set the used member. | |
374 -- fixed a bug in s_mp_mul_high_digs where the limit placed on the result digits was not calculated properly | |
375 -- fixed bugs in add/sub/mul/sqr_mod functions where if the modulus and dest were the same it wouldn't work | |
376 -- fixed a bug in mp_mod and mp_mod_d concerning negative inputs | |
377 -- mp_mul_d didn't preserve sign | |
378 -- Many many many many fixes | |
379 -- Works in LibTomCrypt now :-) | |
380 -- Added iterations to the timing demos... more accurate. | |
381 -- Tom needs a job. | |
382 | |
383 Dec 26th, 2002 | |
384 v0.02 -- Fixed a few "slips" in the manual. This is "LibTomMath" afterall :-) | |
385 -- Added mp_cmp_mag, mp_neg, mp_abs and mp_radix_size that were missing. | |
386 -- Sped up the fast [comba] multipliers more [yahoo!] | |
387 | |
388 Dec 25th,2002 | |
389 v0.01 -- Initial release. Gimme a break. | |
390 -- Todo list, | |
391 add details to manual [e.g. algorithms] | |
392 more comments in code | |
393 example programs |