Newer
Older
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
(AES_FINAL_ROUND): Prepared for scheduling.
* sparc/machine.m4 (AES_ROUND): Deleted unused argument T. Updated
all calls in aes-encrypt-internal.asm.
* sparc/machine.m4 (AES_ROUND): New loop invariants T0-T3, to
avoid the additions of the AES_TABLEx constants in the inner loop.
* sparc/machine.m4 (AES_ROUND): Better scheduling, by
interleaving independent operations.
* sparc/machine.m4 (AES_ROUND): Alternate between using TMP1 and
TMP2, to prepare for scheduling.
* sparc/aes-encrypt-internal.asm: Renamed Ti -> Xi.
* sparc/aes-encrypt-internal.asm: Fixed bugs. Now passes the
testsuite.
* sparc/machine.m4 (AES_ROUND, AES_FINAL_ROUND): Bugfixes. Put
NOPs in the load dely slots.
* sparc/aes-encrypt-internal.asm: Implemented. Not yet working,
and not optimized.
* sparc/machine.m4: Use TMP1 and TMP2, so we don't need to pass
them as arguments.
(AES_FINAL_ROUND): New macro.
2005-10-15 Niels Möller <nisse@lysator.liu.se>
* configure.ac (OBJDUMP): Substitute the program false if objdump
is not found.
* asm.m4 (PROLOGUE): Use TYPE_FUNCTION.
* config.m4.in: Substitute ASM_TYPE_FUNCTION as TYPE_FUNCTION.
* configure.ac (ASM_ELF_STYLE): Check for %function and #function,
but not for @function.
(ASM_TYPE_FUNCTION): New substituted variable.
* configure.ac (ASM_ELF_STYLE): Fixed .type foo,@function statement
used when checking for pseudo operations.
* sparc/machine.m4 (AES_LOAD, AES_ROUND): Started writing new AES
macros.
* sparc/aes-encrypt-internal.asm: New file.
2005-10-14 Niels Möller <nisse@lysator.liu.se>
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
* x86/aes-decrypt.asm, x86/aes-encrypt.asm: Deleted files.
* x86/aes-decrypt-internal.asm: New file.
* x86/machine.m4: Changed AES macros, to handle a table register.
Also take more of the used registers as argument.
* x86/aes-encrypt-internal.asm: Rewritten to match new interface,
with the table pointer as an argument. Unlike the old code, this
should really be position independent.
* configure.ac: When looking for assembler files, link in
aes-encrypt-internal.asm and aes-decrypt-internal.asm. Don't look
for aes.asm, aes-encrypt.asm and aes-decrypt.asm.
* configure.ac (OBJDUMP): Use AC_CHECK_TOOL to check for objdump.
(ASM_MARK_NOEXEC_STACK): Use $OBJDUMP when examining the object file.
* Makefile.in (nettle_SOURCES): Removed aes.c,
aes-decrypt-table.c. Added aes-decrypt-internal.c and aes-encrypt-internal.c.
* aes.c, aes-decrypt-table.c: Deleted files.
* aes-decrypt.c (_aes_decrypt_table): Moved table here, and made
static.
* aes-internal.h (_aes_decrypt_table): Don't declare, it's no
longer globally visible.
* aes-decrypt-internal.c (_nettle_aes_decrypt): New AES decryption
function, analogous to _nettle_aes_encrypt.
* aes-internal.h (AES_ROUND, AES_FINAL_ROUND): New macros.
* aes-encrypt-internal.c (_nettle_aes_encrypt): New AES encryption
function, avoiding the table-based indexing.
* sha1-compress.c: Added debugging code.
* md5-compress.c: Likewise.
* config.m4.in (ASM_MARK_NOEXEC_STACK): Use a diversion, to
substitute the value of ASM_MARK_NOEXEC_STACK at the end of each
assembler file.
* configure.ac (ASM_MARK_NOEXEC_STACK): Check if the C compiler
generates a .note.GNU-stack section. If so, we should do the same
in our assembler files.
* sparc64/aes.asm: New file. Copy of sparc/aes.asm, with minor
changes to the stack frame layout. Patch contributed by Henrik
* x86/md5-compress.asm: Skip copying of input to the stack, and
don't allocate space for it.
(F1): Fixed bug.
* testsuite/md5-test.c: Document intermediate values for first
test case.
* configure.ac (asm_path): Check for sparc64, and use sparc64
subdirectory. Link in md5-compress.asm, if it exists.
2005-10-13 Niels Möller <nisse@lysator.liu.se>
* x86/md5-compress.asm (REF): Fixed calculation of offset.
2005-10-12 Niels Möller <nisse@lysator.liu.se>
* x86/machine.m4 (OFFSET): Moved macro, used to be in...
* x86/sha1-compress.asm (OFFSET): ... removed macro.
* x86/md5-compress.asm: New file, with first attempt at md5
assembler. Not yet working.
2005-10-11 Niels Möller <nisse@lysator.liu.se>
* Makefile.in (nettle_SOURCES): Added md5-compress.c.
* md5.c: Reorganized to use _nettle_md5_compress, in analogy with
sha1.c.
* md5-compress.c (_nettle_md5_compress): New file and new function.
* testsuite/Makefile.in (EXTRA_SOURCES, EXTRA_TARGETS): New
variables, for test cases that are not run by default.
* testsuite/sha1-huge-test.c (test_main): New test case, with a
very large sha1 input.
* testsuite/testutils.c (test_hash_large): New function.
* sha1.c (sha1_block): Deleted function; inlined where used.
(SHA1_INCR): New macro for incrementing the block count.
2005-10-06 Niels Möller <nisse@lysator.liu.se>
* configure.ac: Bumped version to 1.14.
* Released nettle-1.13.
* configure.ac: Check for openssl/aes.h.
* Makefile.in (distdir): Use a loop to pick up the contents of
$(DISTFILES) from source and build directories. For some reason,
$? failed to find stamp-h.in in the source directory.
2005-10-05 Niels Möller <nisse@lysator.liu.se>
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
* x86/aes-decrypt.asm: Use C_NAME(_nettle_aes_decrypt_table) when
using the AES_SUBST_BYTE macro. Use PROLOGUE and EPILOGUE.
* x86/sha1-compress.asm: Use PROLOGUE and EPILOGUE.
* x86/arcfour-crypt.asm: Likewise.
* x86/aes-encrypt.asm: Likewise.
* config.m4.in (ELF_STYLE): Substitute configure's ASM_ELF_STYLE.
* asm.m4 (PROLOGUE, EPILOGUE): New macros, checking the value of
ELF_STYLE. So far, used and tested only for the x86 assembler
files, and needed to make the assembler happy both with ELF
(linux, solaris) and COFF (windows).
* configure.ac (NM): Use AC_CHECK_TOOL to check for nm.
(ASM_SYMBOL_PREFIX): Use $NM when examining the object file.
(ASM_ELF_STYLE): New variable. Set to 'yes' if assembling a file
with ELF-style .type and .size pseudo ops works.
* Makefile.in (TARGETS, DISTFILES): Added nettle.pdf.
(.texinfo.dvi, .dvi.ps, .ps.pdf): New targets, to build nettle.pdf.
(DOCTARGETS): New variable with targets that shouldn't be deleted
by make clean.
(maintainer-clean-here): New target. Deletes generated
documentation files.
* nettle.texinfo: Define AUTHOR with accents, when running in TeX
mode, which doesn't handle latin-1 properly. Set UPDATED-FOR to
1.13. Updated copyright years, and introduced a COPYRIGHT-YEARS
symbol. Updated copyright section, to mention assembler
implementations.
(Cipher modes): Transformed the Cipher Block Chaining to a section
Cipher modes, describing both CBC and the new CTR mode.
* src/nettle/x86/aes_tables.asm: Deleted unused file.
* x86/aes.asm: Deleted contents. This file is needed just to
override aes.c, which isn't needed for the x86 implementation.
* configure.ac (SHLIBMINOR): Increased minor number. Library
version is now libnettle.so.2.4, soname still libnettle.so.2.
* examples/nettle-benchmark.c (main): Reordered hash benchmarks.
* x86/sha1-compress.asm (EXPAND): Use % 16 instead of & 15 to
compute offsets mod 16, since m4 on FreeBSD 49.RELEASE and NetBSD
doesn't implement & correctly in eval.
2005-10-03 Niels Möller <nisse@lysator.liu.se>
* x86/sha1-compress.asm (OFFSET): New macro.
(F3): Eliminated a movl.
(ROUND): New argument, for k. When using F3, it's TMP3, on the
stack, otherwise, it is kept in TMP2, a register.
* examples/nettle-openssl.c: Use correct block sizes for openssl
ciphers.
* examples/nettle-benchmark.c: Also display cycles per block.
2005-10-02 Niels Möller <nisse@lysator.liu.se>
* sha1-compress.c (_nettle_sha1_compress): Updated to new
interface. Now responsible for byte conversion.
* x86/sha1-compress.asm (_nettle_sha1_compress): Do byte order
conversion, and store the input data on the stack. This leaves one
more register free for other uses.
* examples/nettle-benchmark.c: Now display cycles/byte, if the -f
option is used to say what the clock frequency is.
* sha1.c (sha1_block): Don't convert data from uint8_t to
uint32_t, that's now the responsibility of _nettle_sha1_compress.
* sha.h (_nettle_sha1_compress): Changed interface. Second
argument is now a pointer to the input data in unaligned,
big-endian form.
* sha1.c (sha1_final): Call sha1_block, don't call the compression
function _nettle_sha1_compress directly.
* nettle-internal.h (nettle_openssl_md5)
(nettle_openssl_sha1): Declare.
* examples/nettle-benchmark.c (main): Benchmark openssl md5 and
sha1.
* examples/nettle-openssl.c (nettle_openssl_md5)
(nettle_openssl_sha1): Added glue for openssl hash functions.
* nettle-internal.h (nettle_openssl_aes128, nettle_openssl_aes192)
(nettle_openssl_aes256, nettle_openssl_arcfour128): Declare.
* examples/nettle-benchmark.c: Check WITH_OPENSSL, not
HAVE_LIBCRYPTO. Benchmark openssl's aes and arcfour code.
* examples/nettle-openssl.c: Updated openssl des glue to use the
new openssl des interface. Added glue for arcfour and aes.
2005-09-27 Niels Möller <nisse@lysator.liu.se>
* nettle.texinfo (RSA): Improved text about the RSA patent.
Use @documentencoding ISO-8859-1.
* tools/sexp-conv.c (parse_options): New option --raw-hash, for
compatibility with lsh-1.x. Equivalent to --hash.
* tools/sexp-conv.c (main): With --hash, output a newline after
each hash.
2005-07-02 Niels Möller <nisse@lysator.liu.se>
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
* testsuite/Makefile.in (TS_SOURCES): Added ctr-test.c.
* testsuite/testutils.c (test_cipher_ctr): New function.
* testsuite/ctr-test.c: New file.
* testsuite/cbc-test.c (test_main): Use static const for msg.
* Makefile.in (nettle_SOURCES): Added ctr.c.
(HEADERS): Added ctr.h.
(HEADERS): Added nettle-types.h.
(INSTALL_HEADERS): Install nettle-stdint.h.
(distclean-here): Delete nettle-stdint.h, not nettle-types.h.
* ctr.c (ctr_crypt): New file, new function.
* memxor.c (memxor3): New function, suggested by Adam Langley.
* nettle-internal.h (NETTLE_MAX_CIPHER_BLOCK_SIZE): New constant.
* nettle.texinfo (Cipher functions): Fixed typo in prototype for
arctwo_encrypt (noticed by Adam Langley).
* nettle-meta.h: No longer needs to include cbc.h.
* cbc.h (nettle_crypt_func): Moved typedef to nettle-types.h.
(CBC_ENCRYPT, CBC_DECRYPT): Deleted older #if:ed out versions.
* configure.ac (AX_CREATE_STDINT_H): Use the file name
nettle-stdint.h, not nettle-types.h.
* nettle-types.h: New file. Automatically generated declarations
are now in nettle-stdint.h.
* config.guess: Support Solaris on x86_64. Fix by Henrik
* examples/io.h: Include RSA declarations only when public key
algorithms are enabled. Problem reported by Meilof Veeningen
2004-12-07 Niels Möller <nisse@lysator.liu.se>
* Makefile.in: Install directories, using $(INSTALL) -d, only if
they don't exist already.
2004-12-05 Niels Möller <nisse@lysator.liu.se>
* config.make.in (.PRECIOUS): Reverted earlier change. We need
.PRECIOUS to stop GNU make from deleting object files for the test
programs.
2004-12-02 Niels Möller <nisse@lysator.liu.se>
* Makefile.in (.SUFFIXES): Moved from Makefile.in to...
* config.make.in (.SUFFIXES): ... here. This helps compilation
with BSD make.
* testsuite/Makefile.in (.SUFFIXES): Deleted target.
* config.make.in (.c): Disable default rule for BSD-make.
(clean distclean mostlyclean maintainer-clean): Don't use the -C
flag when invoking make, for compatibility with Solaris make.
* Makefile.in (aesdata, desdata): Commented out the explicit
targets.
(shadata): Avoid using $< in non-pattern rule.
2004-12-01 Niels Möller <nisse@lysator.liu.se>
* config.make.in: Added a default target.
2004-11-29 Niels Möller <nisse@lysator.liu.se>
* testsuite/Makefile.in: Use .$(OBJEXT). Explicitly set .SUFFIXES.
* Makefile.in: Use .$(OBJEXT).
2004-11-28 Niels Möller <nisse@lysator.liu.se>
* tools/Makefile.in (nettle-lfib-stream): Avoid using $< in
non-suffix rule.
* Makefile.in (distdir): Handle absolute $distdir.
Avoid using the GNU extension $^.
* examples/Makefile.in: Avoid using the GNU extension $^.
* tools/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
* configure.ac: Fixed typo, preventing the creation of dependency
2004-11-23 Niels Möller <nisse@lysator.liu.se>
* Makefile.in: Use DEP_INCLUDE.
* tools/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
* examples/Makefile.in: Likewise.
* configure.ac (dummy-dep-files): Generate only of dependency
tracking is enabled.
2004-11-18 Niels Möller <nisse@lysator.liu.se>
* Makefile.in (clean-here): The clean target should not delete the
dependency files. Moved to the distclean target.
* examples/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
* tools/Makefile.in: Likewise.
* configure.ac (ASM_SYMBOL_PREFIX): Fixed test.
(dummy-dep-files): Added quotes to sed command.
2004-11-17 Niels Möller <nisse@lysator.liu.se>
* testsuite/symbols-test: Try plain nm if nm -g doesn't work.
* x86/sha1-compress.asm: Use C_NAME for global symbols.
* x86/aes-encrypt.asm: Likewise.
* x86/aes-decrypt.asm: Likewise.
* x86/arcfour-crypt.asm: Likewise.
* Makefile.in (config.m4): New rule.
* config.m4.in (C_NAME): New macro.
* configure.ac (ASM_SYMBOL_PREFIX): Check if global symbols have a
leading underscore.
2004-11-16 Niels Möller <nisse@lysator.liu.se>
* Deleted getopt.c, getopt.h and getopt1.c from the CVS tree. Link
them from shared copies in lsh/misc instead.
2004-11-14 Niels Möller <nisse@lysator.liu.se>
* Makefile.in (DEP_FILES): Try include with only one macro
argument to be expanted.
* configure.ac (dummy-dep-files): Create dummy dependency files,
so that they can be included by the makefiles.
2004-11-13 Niels Möller <nisse@lysator.liu.se>
* Makefile.in: Don't use -include, as it's GNU make specific.
* examples/Makefile.in, tools/Makefile.in, testsuite/Makefile.in:
* examples/nettle-openssl.c: Check WITH_OPENSSL, not HAVE_LIBCRYPTO.
* configure.ac: Check for individual openssl headers blowfish.h,
cast.h, des.h. Renamed symbol HAVE_LIBCRYPTO to WITH_OPENSSL. New
configure option --disable-openssl.
2004-11-04 Niels Möller <nisse@lysator.liu.se>
* nettle.texinfo (UPDATED-FOR): Bumped to 1.12.
2004-11-02 Niels Möller <nisse@lysator.liu.se>
* nettle.texinfo (Cipher functions): Updated AES documentation,
for aes_set_encrypt_key and aes_set_decrypt_key.
(UPDATED-FOR): Set to 1.11. I think the manual should be updated
with all user-visible changes.
* aclocal.m4 (LSH_DEPENDENCY_TRACKING): Need extra quoting in case
pattern. (This file really lives in the lsh tree, as
lsh/acinclude.m4. For a complete ChangeLog, see lsh/Changelog).
2004-10-26 Niels Möller <nisse@lysator.liu.se>
* Released nettle-1.11.
* Makefile.in (clean-here): Delete *.s files.
(PRE_CPPFLAGS): Use this variable, not INCLUDES. Removed
* x86/arcfour-crypt.asm: Use movzbl when extending %cl to 32 bits.
2004-10-24 Niels Möller <nisse@lysator.liu.se>
* x86/arcfour-crypt.asm: Reverted the latest two changes; update
bost src and dst pointers in the loop, and use plain addb when
updating j. These two previous changes slowed the code down on AMD
2004-10-21 Niels Möller <nisse@lysator.liu.se>
* Makefile.in (install-shared): Use $(INSTALL_PROGRAM).
* configure.ac (SHLIBMINOR): Updated, shared library version is
now libnettle.so.2.3, soname still libnettle.so.2.
* Makefile.in (DISTFILES): Added asm.m4.
* examples/Makefile.in: Deleted all configure-related rules,
except the one rebuilding this Makefile. One should run make at
top level if other configure related files change.
* tools/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
* configure.ac: Replaced AC_OUTPUT(list...) with an AC_OUTPUT
without arguments, and AC_CONFIG_FILES listing the files.
* Makefile.in: Changed the assembler rules as suffix rules.
Rewrote the configure-related rules, mostly based on the example
in the autoconf manual.
2004-10-20 Niels Möller <nisse@lysator.liu.se>
* examples/nettle-openssl.c (NCOMPAT): Disable openssl backwards
compatibility.
* config.make.in: Insert $(PRE_CPPFLAGS) and $(PRE_LDFLAGS) before
$(CPPFLAGS) and $(LDFLAGS). This mechanism replaces $(INCLUDES).
* examples/Makefile.in (PRE_CPPFLAGS, PRE_LDFLAGS): Use these
flags to get -I.. and -L.. early on the command line.
* testsuite/Makefile.in: Likewise
* tools/Makefile.in: Likewise.
* Makefile.in: In the assembler rules, there's no need to look in
$(srcdir) for the input file.
* x86/arcfour-crypt.asm: Reduced inner loop by one instruction, by
precomputing the offset between src and dst.
* tools/Makefile.in (.c.$(OBJEXT)): Removed redundant -I.. flag.
* x86/arcfour-crypt.asm (nettle_arcfour_crypt): Replaced addb ->
addl + andl $0xff, improving speed on PPro by another 15%.
2004-10-20 Niels Möller <nisse@lysator.liu.se>
* tools/Makefile.in (install): Support DESTDIR.
(uninstall): New target.
* testsuite/Makefile.in (uninstall): New dummy target.
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
* examples/Makefile.in (SOURCES): Added rsa-sign.c and rsa-verify.c.
(DISTFILES): Added getopt.h.
(install uninstall): New dummy targets.
* config.make.in (.PHONY): Added more targets.
* Makefile.in (.texinfo.info, .texinfo.html): New targets. Added
support for uninstall and DESTDIR. Various fixes to install and
distcheck.
* examples/Makefile.in (INCLUDES): Added -I flags.
(distdir): Use $^ to refer to the files.
(distclean): New target.
* testsuite/Makefile.in: Likewise.
* tools/Makefile.in: Likewise.
* Makefile.in (INCLUDES): Need -I flags for VPATH build.
(clean distclean mostlyclean maintainer-clean): Clean
subdirectories first.
(DISTFILES): Added a bunch of files.
(des_headers): Added desCore rules.
(install-here): Split off target install-headers, which uses $^ to
refer to the files.
(distdir): Use $^ to refer to the files.
distcheck): Fixes.
* config.make.in (COMPILE): Add $(INCLUDE) to the line.
2004-10-19 Niels Möller <nisse@lysator.liu.se>
Stop using automake. Replaced each Makefile.am with a hand-written
Makefile.in.
* configure.ac: New output variable CCPIC_MAYBE. New output file
* .bootstrap: Don't run aclocal and automake.
* config.make.in: New file, with shared Makefile variables and rules.
2004-10-18 Niels Möller <nisse@lysator.liu.se>
* x86/arcfour-crypt.asm (nettle_arcfour_crypt): Replace incb ->
incl + andl, to improve speed on PPro and PII. Suggested by
Fredrik Olsson.
* examples/rsa-encrypt-test: Avoid reading and executing a file at
the same time.
* examples/setup-env: Likewise.
* testsuite/symbols-test: Ignore __i686.get_pc_thunk.bx and
similar symbols.
2004-10-05 Niels Möller <nisse@lysator.liu.se>
* twofish.c (q_table): Use a const pointer array.
* sexp2dsa.c (dsa_keypair_from_sexp_alist): Use a const pointer
array for the keywords.
(dsa_signature_from_sexp): Likewise.
* sexp2rsa.c (rsa_keypair_from_sexp_alist): Likewise.
(rsa_keypair_from_sexp): Likewise.
* sexp.c (sexp_iterator_check_types): Use an argument of type
"const uint8_t * const *" for the types list.
(sexp_iterator_assoc): Likewise, for the keys list.
* list-obj-sizes.awk: Fixes to handle multiple .data and .rodata
sections. Also fixed to handle the last file correctly.
2004-09-23 Niels Möller <nisse@lysator.liu.se>
* configure.ac (SHLIBLINK, SHLIBLIBS): On cygwin, linking needs
-Wl,--whole-archive $(OBJECTS) -Wl,--no-whole-archive $(LIBS).
* configure.ac: Setup SHLIBFORLINK and friends for cygwin.
* list-obj-sizes.awk: Strip *_a-prefix from all file names.
* Makefile.am (libnettle_a_SOURCES): List only .c files. Headers
moved to noinst_HEADERS.
(SHLIBOBJECTS): Substitute from libnettle_a_SOURCES, not
am_libnettle_a_OBJECTS, since the latter includes
libnettle_a-prefixes with some automake versions.
(SHLIBSONAME): Check if this name is empty, which is the case on
cygwin, before using it.
2004-08-31 Niels Möller <nisse@lysator.liu.se>
* configure.ac: New command line option --disable-pic. Use
* Makefile.am (libnettle_a_CFLAGS): Added $(CCPIC), to attempt to
build also the static library as position independent code.
2004-08-24 Niels Möller <nisse@lysator.liu.se>
* des-compat.c (des_cbc_cksum): Pad input with NUL's, if it's not
* testsuite/arctwo-test.c, arctwo.h, arctwo.c
(arctwo_set_key_ekb): Fixed typo; it should be "ekb", not "ebk".
Integrated arctwo patch from Simon Josefsson.
* testsuite/Makefile.am (noinst_PROGRAMS): Added arctwo-test.
* Makefile.am (libnettleinclude_HEADERS): Added arctwo.h.
(libnettle_a_SOURCES): Added arctwo.c, arctwo.h and arctwo-meta.c.
* nettle-meta.h (nettle_arctwo40, nettle_arctwo64)
(nettle_arctwo64, nettle_arctwo_gutmann128): Declare ciphers.
* arctwo-meta.c, arctwo.c, arctwo.h, testsuite/arctwo-test.c: New
files.
* macros.h (LE_READ_UINT16, LE_WRITE_UINT16): New macros.
2004-08-23 Niels Möller <nisse@lysator.liu.se>
* testsuite/md5-test.c (test_main): Added collision, found in 2004.
(test_main): Added second collision.
* testsuite/md5-test.c (test_main): Added first half of a
collision test case.
* des-compat.c (des_cbc_cksum): Changed input argument to be of
type const uint8_t * (was const des_cblock *).
* des-compat.h (const_des_cblock): New bogus type. Disabled use of
const, for compatibility with openssl.
* aesdata.c: Renamed log and ilog to gf2_log and gf2_exp.
2004-04-07 Niels Möller <nisse@lysator.liu.se>
* aes-set-encrypt-key.c (log, ilog): Deleted unused tables.
* aes-set-decrypt-key.c (gf2_log, gf2_exp, mult): Renamed tables,
were log and ilog.
2004-03-20 Niels Möller <nisse@lysator.liu.se>
* configure.ac: Use AC_CONFIG_AUX_DIR([.]).
* examples/io.c (read_file): Display a message if fopen fails.
2004-03-05 Niels Möller <nisse@lysator.liu.se>
* Released nettle-1.10.
* configure.ac (SHLIBMINOR): Shared library version is now 2.2.
2004-03-04 Niels Möller <nisse@lysator.liu.se>
* testsuite/symbols-test: Pass -g flag to nm.
2004-03-02 Niels Möller <nisse@lysator.liu.se>
* configure.ac: Fixed EXEEXT workaround.
* configure.ac: Added workaround to get the correct $(EXEEXT)=''
when compiling with rntcl.
2004-03-02 Niels Möller <nisse@lysator.liu.se>
* testsuite/Makefile.am (noinst_PROGRAMS): Put test program list
here, to let automake add $(EXEEXT).
* configure.ac (RSA_EXAMPLES): Append $(EXEEXT) to the filenames.
2004-03-01 Niels Möller <nisse@lysator.liu.se>
* examples/rsa-keygen.c, examples/rsa-encrypt.c,
examples/rsa-decrypt.c: Include "getopt.h" instead of <unistd.h>.
* examples/Makefile.am (rsa_encrypt_SOURCES, rsa_decrypt_SOURCES)
(rsa_keygen_SOURCES): Added getopt.h, getopt.c and getopt1.c.
* examples/getopt.h, examples/getopt.c, examples/getopt1.c: New
* testsuite/des-compat-test.c: Don't include <unistd.h>.
* testsuite/testutils.c (main): Don't use getopt. Then we don't
need to include <unistd.h>.
* config.guess: Copied from automake-1.8.2. Hacked to recognize
Windows_NT (and Windows_95 and Windows_98) running on "x86" and
"686".
* install-sh: Removed from CVS repository. Let automake supply it.
2004-02-26 Niels Möller <nisse@lysator.liu.se>
* nettle-meta.h (nettle_crypt_func): Typedef moved to cbc.h.
Include cbc.h instead.
* des-compat.c: Reverted const change, now all the des_key_sched
arguments are not const. This is also what openssl's interface
looks like.
(cbc_crypt_func): Deleted typedef, use nettle_crypt_func instead.
* cbc.c (cbc_encrypt, cbc_decrypt_internal, cbc_decrypt): Use it
for typing the f argument. Reverted the const change, for
compatibility with nettle_crypt_func.
2004-02-25 Niels Möller <nisse@lysator.liu.se>
* testsuite/des-compat-test.c: Use des_cblock for typing more of
the variables. Use const. Got rid of most of the explicit casts.
Disabled the input/output alignment tests.
* des.c (des_encrypt, des_decrypt): Use a const context pointer.
* des3.c (des3_encrypt, des3_decrypt): Likewise.
* cbc.c (cbc_encrypt, cbc_decrypt): Use a _const_ void *ctx argument.
* des-compat.c: Use const for all unchanged arguments.
(des_key_sched): Use a copy of the key if we need to fix the
parity.
* testsuite/des-compat-test.c (C_Block, Key_schedule): Deleted
defines. Deleted some of the explicit casts.
* des-compat.c (des_cbc_cksum): Dereference DST pointer.
2004-02-24 Niels Möller <nisse@lysator.liu.se>
* testsuite/symbols-test: Allow symbols starting with double
underscores, like on darwin.
* Makefile.am: Protected %-rules used for building pure objects,
and for assembler files, by automake conditionals. Needed for
makes such as tru64's, which tries to understand %-patterns, but
doesn't get it right.
(SUFFIXES): Added .html.
(.texinfo.html): Rewrote rule to use a traditional suffix target.
* configure.ac (enable_assembler): Explicitly set
enable_assembler=no, on architectures where we have no assembler
(ENABLE_ASSEMBLER, ENABLE_SHARED): New automake conditionals.
* testsuite/testutils.c (xalloc): xalloc(0) should work also on
systems where malloc(0) returns NULL.
* Makefile.am (%.o: %.asm): Added comment about OSF1 make problem.
2004-02-15 Niels Möller <nisse@lysator.liu.se>
* testsuite/testutils.h: #include nettle-types.h instead of
2004-02-12 Niels Möller <nisse@lysator.liu.se>
* examples/rsa-encrypt-test: Use -r option when invoking
rsa-encrypt. Needed for the test to work on systems with no
/dev/urandom.
* configure.ac (CPPFLAGS, LDFLAGS): No spaces after -I and -L, as
some C compilers, in particular True64 cc, don't like that.
2004-02-08 Niels Möller <nisse@lysator.liu.se>
* configure.ac: Bumped version number to 1.10.
2004-02-07 Niels Möller <nisse@lysator.liu.se>
* configure.ac (SHLIBMINOR): Bumped, library version is now 2.1.
* testsuite/sexp-format-test.c: Include bignum.h only if HAVE_LIBGMP.
* testsuite/rsa-encrypt-test.c: Include rsa.h only if WITH_PUBLIC_KEY.
* testsuite/pkcs1-test.c: Include pkcs1.h only if WITH_PUBLIC_KEY.
* pgp-encode.c [!HAVE_LIBGMP]: Kludge around the pgp.h's
dependency on gmp.h.
(pgp_put_mpi): Condition on HAVE_LIBGMP.
* pgp.h: Don't include bignum.h, to make it possible to compile
the non-bignum parts of pgp-encode.c without bignum support. Needs
to be fixed properly before the pgp interface is advertised.
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
* tools/sexp-conv.c (xalloc): New function.
(main): Use xalloc.
* tools/output.c (sexp_put_digest): Use TMP_DECL instead of alloca.
* testsuite/testutils.c (xalloc): New function. Made all other
functions use xalloc instead of alloca.
* examples/rsa-keygen.c (main): Use xalloc for allocation.
* examples/rsa-encrypt.c (write_bignum): Likewise.
* examples/rsa-decrypt.c (read_bignum): Likewise.
* testsuite/yarrow-test.c (open_file): Likewise.
* testsuite/rsa-encrypt-test.c (test_main): Likewise.
* testsuite/bignum-test.c (test_bignum): Likewise.
* examples/nettle-openssl.c: When calling des_key_sched and
des_ecb_encrypt, cst arguments to (void *). Openssl's typedefs
des_cblock and const_des_cblock are too broken.
* examples/nettle-benchmark.c (xalloc): New function. Use instead
of alloca, for better portability.
* examples/io.c (xalloc): New function.
* Makefile.am (nodist_libnettleinclude_HEADERS): nettle-types.h
should not be distributed.
* x86/sha1-compress.asm: Rename round -> ROUND.
* x86/sha1-compress.asm: Store the magic constants on stack.
Accessing them via %esp should be a little faster than using large
immediate operands.
* Makefile.am (EXTRA_DIST, DISTCLEANFILES): Handle
sha1-compress.asm.
* configure.ac: Use assembler file sha1-compress.asm if available.
* x86/sha1-compress.asm (EXPAND): Fixed the rotation part of the
data expansion.
2004-02-06 Niels Möller <nisse@lysator.liu.se>
* x86/sha1-compress.asm: Assembler implementation of
sha1_compress. (Not yet working).
* Makefile.am (libnettle_a_SOURCES): Added sha1-compress.c.
* sha1.c (sha1_transform): Function renamed to sha1_compress, and
2004-02-05 Niels Möller <nisse@lysator.liu.se>
* examples/rsa-encrypt.c (process_file): Copy the leftover to the
start of the buffer, when preparing for the final processing.
* examples/nettle-benchmark.c (bench_hash, time_hash): New functions.
(main): Benchmark hash functions too.
(BENCH_BLOCK): Increased 10K.
(BENCH_INTERVAL): Decreased to 0.25s.
* examples/nettle-benchmark.c (time_function): Loop around calling
f, until 1s has elapsed. Returns seconds per call. Updated bench
functions to not loop themselves.
(display): Updated MB/s calculation.
* testsuite/arcfour-test.c (test_main): Use test_cipher_stream.
* testsuite/testutils.c (test_cipher_stream): New function, that
tries dividing the input into varying size blocks before
* x86/arcfour-crypt.asm (nettle_arcfour_crypt): Bug fix, half of
the S array swap was forgotten.
* arcfour.c (arcfour_stream): Likewise.
* arcfour-crypt.c (arcfour_crypt): Likewise.
* x86/arcfour-crypt.asm (nettle_arcfour_crypt): Must store the new
i, j at the end of the loop.
* Makefile.am (EXTRA_DIST): Make sure x86 assembler files are
(DISTCLEANFILES): And that the symlinks and .s files are deleted.
* x86/aes-encrypt.asm, x86/aes-decrypt.asm, x86/arcfour-crypt.asm:
Fixed debug information.
* x86/arcfour-crypt.asm: New file. About three times faster than
the optimized C code.
* configure.ac: Use assembler file arcfour-crypt.asm if available.
* arcfour.c (arcfour_crypt): Moved function too...
* arcfour-crypt.c (arcfour_crypt): New file.
* arcfour.c (arcfour_crypt): Optimization suggested by Jonas
Walldén. Makes arcfour up to 50% faster on x86 and ppc, and
2004-01-31 Niels Möller <nisse@lysator.liu.se>
* configure.ac (AX_CREATE_STDINT_H): Also look for uint32_t and
friends in sys/types.h.
2004-01-11 Niels Möller <nisse@harpo.hack.org>
* Makefile.am (libnettleinclude_HEADERS): Added bignum.h,
memxor.h, pkcs1.h and rsa-compat.h.
2004-01-10 Niels Möller <nisse@harpo.hack.org>
* examples/teardown-env: Delete more test files.
* nettle.texinfo (Hash functions): Documented md2 and md4.
* configure.ac (SHLIBMAJOR): Bumped to 2.
2004-01-09 Niels Möller <nisse@harpo.hack.org>
* examples/rsa-encrypt.c, examples/rsa-session.h: Expanded the
comment describing the file format, and moved to rsa-session.h.
* examples/rsa-decrypt.c (process_file): Finished this function.
(main): Initialize x. Check the size of the session key after rsa
* examples/io.c (write_string): Treat short item count as an error.