summaryrefslogtreecommitdiff
path: root/beecrypt/NEWS
blob: 5c20960f76c6b48eaa26ee962d47d778050c814b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
3.0.0pre:
	- Cleaned up installed header files.
	- Modified the API so that all keys can be passed as arrays of bytes.
	- Modified the API so that all key sizes are given in bits.
	- Modified the multi-precision integer library to work better on 64-bit
	  machines.
	- Modified the assembly source generation mechanism, employing the m4
	  macro processor.
	- Added multi-precision integer vectorized assembler routines for
	  Itanium.
	- Added multi-precision integer assembler routines for PowerPC 64-bit.
	- Added multi-precision integer assembler routines for Alpha.
	- Added multi-precision integer assembler routines for Opteron.
	- Added multi-precision integer assembler routines for M68K.
	- Added new benchmarking programs.

2.3.0pre:
	- Modified the header files so that the library now uses self-contained autoconf-generated configuration files; a program employing BeeCrypt can now use the symbols already tested and defined instead of having to regenerate them (thus also eliminating the risk of inconsistencies).
	- Added the AES algorithm, with assembler routines for i586 and powerpc.
	- Added the DSA signature algorithm.
	- Added PowerPC assembler routines for blowfish.
	- Added Pentium4 SSE2 assembler multiplication routines.
	- Fixed the RSA CRT algorithm.
	- Fixed the gas/i386 mp32even and mp32odd routines.
	- Fixed a bug in modular inverse computation; thanks to Jeff Johnson of RedHat for pointing this out.
	- Fixed a bug in testing the result of a gcd operation in the mp32prndconone routine.
	- Fixed an ugly bug in base64 decoding.
	- Fixed compatibility with the latest automake & autoconf versions.
	- Replaces CPU optimization mechanism in configure script.

2.1.0:
	- Added support for automake, autoheader and libtool, which should make compiling the library even easier.
	- Changed DHAES API to conform to IEEE P.1363 submission and to allow for uneven key splitting.
	- Improved PKCS#5 padding routines.
	- Added a hash reset to the hashFunctionContextInit function. This was pointed out by Marko Kreen.
	- Fixed problem with configuring on i486-pc-linux-gnu. This was pointed out Steve O'Neill.
	- Fixed problem in the C version of mp32sub where carry would sometimes be missed. This was pointed out by Jon Sturgeon.
	- Revised entropy gathering system to do timeouts & asynchronous I/O where possible, to avoid hangs in case there's no noise on the audio device (i.e. digital silence), or when no data is available on devices such as /dev/random.
	- Changed mp32opt i386 assembler routines for slight performance improvement.
	- Changed mp32opt powerpc assembler routines for slight performance improvement.
	- Changed mp32opt sparcv9 assembler routines for slight performance improvement.
	- Added sparcv8 assembler routines for multi-precision integer multiplication.
	- Added arm assembler routines for multi-precision integer multiplication.
	- Added prototype 64-bit ia64 assembler routines for multi-precision integer operations.
	- Started writing the long-awaited documentation.

2.0.0:
	- Changed mp32barrett struct and operations to be multithread-safe; this required a change in API.
	- Changed hashFunction struct to incorporate internal block size parameter.
	- Changed HMAC algorithm and file names to match names in RFC 2104.
	- Changed SHA-1 C code for slightly faster results.
	- Changed detection of entropy devices.
	- Changed most void-returning functions to return int for error conditions.
	- Changed beecrypt-java class names in javaglue.
	- Added RSA keypair generation.
	- Added RSA private & public key operations.
	- Added SHA-256 hash function.
	- Added HMAC-MD5 and HMAC-SHA-256 keyed hash functions.
	- Added PKCS#5 padding.
	- Added DHAES encryption scheme.
	- Added Microsoft Visual C support, added Makefile.mak for this purpose.
	- Added Solaris/Sparc Forte C 64 bit support.
	- Added configure --disable-optimized option (disables assembler & processor-specific optimizations).
	- Fixed bug in SHA-1 assembler code for Pentium, where local variables were used below the current stack pointer; this could cause a problem if the routine was interrupted. This was pointed out by Richard Clayton.
	- Fixed bug in (certain cases of) modular inverse computation.
	- Fixed buffer overrun in base64 encoding. This was pointed out by Jon Sturgeon.
	- Fixed various minor bugs.
	- Renamed text files to match automake conventions.

1.1.2:
	- Fixed bugs in discrete logarithm domain parameter generator. The code to make a generator of order q and (p-1) was wrong. This was pointed out by Susumu Yamamoto.
	- Added MD5 hash function.

1.1.1:
	- Changed autoconfig script for easier porting.
	- Changed sources for easier compilation on Microsoft Visual C++; no assembler-optimization on this platform yet.
	- Fixed bug in javaglue when passing null IV to blockcipher.
	- Shared library is now linked dynamically, with shared object name and version.
	- Tested on Alpha Linux.
	- Tested on Alpha FreeBSD.
	- Added support for Compaq Alpha Tru64 Unix.
	- Added initial support for QNX.

1.1.0:
	- Added glue for interfacing from BeeCrypt Java Cryptography Provider.
	- Changed blockcipher struct to support interfacing with Java.
	- Added better blockcipher IV handling.
	- Multi-pass block processing is now possible with blockEncrypt/blockDecrypt.
	- Updated config.sub and config.guess to latest version from sources.redhat.com
	- Changed opening of entropy devices to blocking read-only mode instead of non-blocking read-write.
	- Added win32 'wincrypt' entropy source.
	- Added win32 'console' entropy source.
	- Added FreeBSD support.
	- Added PowerPC assembler optimized multiprecision subtraction routines.
	- Added initial ia64 support.
	- Added initial Darwin support (everything compiles, but the shared library doesn't build yet).

1.0.2:
	- Fixed Windows 2000 entropy bug; instead of using the first waveIn device, entropy now uses WAVE_MAPPER.
	- Added sparcv9 mp32addsqrtrc GNU assembler routine.
	- Added more hashFunctionContext and keyedHashFunctionContext functions.

1.0.1:
	- Added a sliding window modular exponentiation, about 30% faster than left-to-right exponentiation.
	- Fixed bugs in fips180opt.gas.i586.s (Linux SHA-1 assembler code for Pentium/Pentium Pro) - the Windows/Metrowerks version was okay.

1.0.0:
	- Added Win32 support; compiled as DLL with MetroWerks CodeWarrior Pro 5, it runs fine on Windows 95, 98, NT 4.0 (if you have a soundcard with a microphone port). Note that there is a know issue on Windows 2000, see BUGS.
	- Global code overhaul to support Win32
	- Added more assembler routines, including SHA-1 for Pentium Pro (60% faster)
	- Added cleanup function to randomGenerator
	- Added missing functions in endianness.c
	- Fixed bug in entropy.c where devices might stay open
	- Eliminated mutex.h include file; it was more clear to do everything conditionally than to expand the macros in this file to encompass the Win32 API calls.

0.9.5:
	- Added PowerPC assembler optimization for multiprecision integers, 80% faster on our PowerMac 7200/90
	- Fixed /dev/random entropy provider
	- Changed name SHA1 to SHA-1 in fips180 for consistency

0.9.4a:
	- Added missing file 'blowfishopt.o'

0.9.4:
	- Changes to configure script, to distinguish between different processors of the x86 family
	- Changes to blowfish code, 586/686 assembler optimization added, 30% faster on Pentium/PentiumPro
	- Changes to blowfish code, eliminated static blowfishSetupEncrypt; incorporated into regular encrypt
	- Changes to Makefile to selectively use blowfish assember code, depending on cpu type
	- Added missing routines 'mp32bzero' and 'mp32bnpowmod' to mp32barrett.c
	- Fixed 'const register' to 'register const' in mp32.c
	- Minor fixes in included header files

0.9.3:
	- Initial public release