Mercurial > dropbear
comparison tomsfastmath/changes.txt @ 643:a362b62d38b2 dropbear-tfm
Add tomsfastmath from git rev bfa4582842bc3bab42e4be4aed5703437049502a
with Makefile.in renamed
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Wed, 23 Nov 2011 18:10:20 +0700 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
642:33fd2f3499d2 | 643:a362b62d38b2 |
---|---|
1 March 14th, 2007 | |
2 0.12 -- Christophe Devine contributed MIPS asm w00t | |
3 ++ quick release to get the MIPS code out there | |
4 | |
5 March 10th, 2007 | |
6 0.11 -- re-org'ed the source tree, it's cooler now | |
7 -- cleaned up mul/sqr so there is only one file per unit, should help building with older compilers and/or on slower boxes | |
8 -- [CRI] optimized fp_read_unsigned_bin | |
9 -- fixed -0 ... again ... I now have less hair on my head. | |
10 -- [CRI] renamed bn_reverse() -> fp_reverse() | |
11 | |
12 November 1st, 2006 | |
13 0.10 -- Unrolled Montgomery for 1..16 digits with TFM_SMALL_MONT_SET between 10% and 25% speedup depending on size. | |
14 -- fixed fp_sqr_comba.c so it builds in ISO C mode [Andreas Lange] | |
15 -- [email protected] pointed out fp_radix_size() had a few typos that affected correctness. Fixed. | |
16 -- Added support for ECC performance, e.g. define "-DTFM_ALREADY_SET -DTFM_ECC192" and it will disable | |
17 all of the unrolled code EXCEPT what is required for ECC P-192. It autodetects 32/64-bit platforms too. It's super neato. | |
18 Support for 192, 224, 256, 384 and 521 bit curves through the defines [see tfm.h] | |
19 -- AVR32 support added, define TFM_AVR32 to enable | |
20 | |
21 April 4th, 2006 | |
22 0.09 -- Bruce Guenter suggested I use --tag=CC for libtool builds where the compiler may think it's C++. | |
23 -- Added support for k=1 in exptmod for RSA exponents. Makes it more competitive with other libraries | |
24 -- added cutoffs to the comba32 sqr/mul code to better handle 640, 786 and 896 bit operands (e.g. for RSA-1280, RSA-1536 and RSA-1792), really no effect | |
25 for 64-bit boxes as these represent 1280, 1536 and 1792 bit operands (not likely to be invoked). | |
26 -- Removed karatsuba from the mul/sqr since they're not useful and slow. | |
27 -- added 20, 24 and 28 digit multipliers for oddsized RSA support. You can easily disable them by uncommenting the TFM_SQRXX and TFM_MULXX lines in | |
28 tfm.h to save space. Now GMP and TFM are roughly the same speed on the Pentium-M for RSA with LTC. | |
29 -- unrolled SSE2 code and optimize for platforms with load/store pipes (e.g. can store and load in a cycle). Got 4% or so boost on my Dothan laptop (marginal improvement on a P4 Prescott) | |
30 | |
31 Jan 26th, 2006 | |
32 0.08 -- Fixed a bug in the generic mult/sqr where we overflowed by one digit | |
33 | |
34 November 18th, 2005 | |
35 0.07 -- Fixes to fp_mul and fp_sqr to clean up the handling of the defines, fix to tfm.h to also clear up the prototypes. | |
36 -- Updates to build and run on a IBM PPC 405 [using GCC 3.4.4] | |
37 -- Made the "make" command renamable in the build system | |
38 | |
39 October 31st, 2005 | |
40 0.06 -- fixed fp_mul() and fp_sqr() to trim digits when overflows would occur. Produces numerically inprecise results | |
41 (e.g. the lower FP_SIZE digits) but shouldn't segfault at least ;-) | |
42 -- Updated the combas so you can turn on and off specific unrolled loops at build time | |
43 -- Michael Heyman reported a bug in s_fp_sub() that was pretty substantial and a bug in fp_montgomery_calc_normalization(). Fixed. | |
44 | |
45 August 1st, 2005 | |
46 0.05 -- Quick fix to the fp_invmod.c code to let it handle even moduli [required for LTC] | |
47 -- Added makefile.shared to make shared objects [required for LTC] | |
48 -- Improved makefiles to make them way more configurable | |
49 -- Added timing resistant fp_exptmod() enabled with TFM_TIMING_RESISTANT | |
50 | |
51 July 23rd, 2005 | |
52 0.04 -- Fixed bugs in the SSE2 squaring code | |
53 -- Rewrote the multipliers to be optimized for small inputs | |
54 -- Nelson Bolyard of the NSS crew submitted [among other things] new faster Montgomery reduction | |
55 code. It brings the performance for small numbers on the AMD64 and all numbers on the P4 | |
56 to a new level. Thanks! | |
57 -- Added missing ARM support for fp_montgomery_reduce.c that the NSS folk left off, Officially | |
58 the ARM code is for v4 and above WITH the "M" multiplier support (e.g. umlal instruction) | |
59 -- Added PPC32 support, define TFM_PPC32 to enable it, I used the "PowerPC 6xx" instruction | |
60 databook for reference. Does not require altivec. Should be fairly portable to the other | |
61 32-bit PPCs provided they have mullw and mulhwu instructions. | |
62 [Note: porting the macros to PPC64 should be trivial, anyone with a shell to lend... email me!] | |
63 -- Rewrote the config a bit in tfm.h so you can better choose which set of "oh my god that's huge" code to | |
64 enable for your task. "generic" functions are ALWAYS included which are smaller but will cover the | |
65 gaps in the coverage for ya. | |
66 -- The PPC32 code has been verified to function on a Darwin box running GCC 2.95.2 | |
67 [Thanks to the folk at PeerSec for lending me a shell to use] | |
68 -- Fixed a bug in fp_exptmod() where if the exponent was negative AND the destination the output | |
69 would have the sign set to FP_NEG. | |
70 | |
71 March 1st, 2005 | |
72 0.03 -- Optimized squaring | |
73 -- Applied new license header to all files (still PD) | |
74 | |
75 September 18th, 2004 | |
76 0.02 -- Added TFM_LARGE to turn on/off 16x combas to save even more space. | |
77 This also helps prevent killing the cache on smaller cpus. | |
78 -- Cast memset to void in fp_init() to catch people who misuse the function (e.g. expect return) | |
79 Thanks to Johan Lindh | |
80 -- Cleaned up x86-64 support [faster montgomery reductions] | |
81 -- Autodetects x86-32 and x86-64 and enables it's asm now | |
82 -- Made test demo build cleaner in multilib platforms [e.g. mixed 32/64 bits] | |
83 -- Fix to fp_mod to ensure that remainder is of the same sign as the modulus. | |
84 -- Fixed bug in fp_montgomery_calc_normalization for single digit moduli | |
85 -- cleaned up ISO C macros in comba/mont to avoid branches [works best with GCC 3.4.x branch] | |
86 -- Added more testing to tfm.h to help detect misconfigured builds | |
87 -- Added TFM_NO_ASM which forces ASM off [even if it was autodetected]. | |
88 -- Added fp_radix_size() to API | |
89 -- Cleaned up demo/test.c to build with far fewer warnings (mostly %d => %lu fixes) | |
90 -- fp_exptmod() now supports negative exponent and base>modulus cases | |
91 -- Added fp_ident() which gives a string showing how TFM was configured. Useful for debuging... | |
92 -- fix gen.pl script so it includes the whole source tree now | |
93 | |
94 August 25th, 2004 | |
95 0.01 -- Initial Release |