summaryrefslogtreecommitdiff
path: root/beecrypt/NEWS
blob: a6ba3b17fa76d2fa2a9cf08a999f3fe1c4548706 (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
2.2.0:
	- 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.
	- 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.

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