ChangeLog 150 KB
Newer Older
Niels Möller's avatar
Niels Möller committed
1
2
3
4
5
6
7
8
9
2010-06-02  Niels Mller  <nisse@lysator.liu.se>

	* testsuite/dsa-test.c (test_main): Provide expected value of the
	signature.

	* testsuite/testutils.c (test_dsa160): Added argument for expected
	signature.
	(test_dsa256): Likewise.

Niels Möller's avatar
Niels Möller committed
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2010-06-01  Niels Mller  <nisse@lysator.liu.se>

	* testsuite/rsa-keygen-test.c (test_main): Updated expected
	signatures.

	* examples/random-prime.c (main): Updated for nettle_random_prime
	change.
	* testsuite/random-prime-test.c (test_main): Likewise.

	* rsa-keygen.c (bignum_random_prime): Deleted function.
	(rsa_generate_keypair): Use new nettle_random_prime. Generate
	secret factors p and q with the two most significant bits set.

	* dsa-keygen.c (dsa_generate_keypair): Updated for changes in
	nettle_random_prime and _nettle_generate_pocklington_prime. Invoke
	progress callback.

	* bignum-random-prime.c (_nettle_generate_pocklington_prime): New
	argument top_bits_set, to optionally generate primes with the two
	most significant bits set. Reordered argument list.
	(nettle_random_prime): Likewise, added top_bits_set argument.
	Invoke progress callback when a prime is generated.

33
34
2010-05-26  Niels Mller  <nisse@lysator.liu.se>

Niels Möller's avatar
Niels Möller committed
35
36
37
38
39
40
41
	* dsa-keygen.c (dsa_generate_keypair): Use
	_nettle_generate_pocklington_prime. Deleted old key generation
	code.

	* bignum-random-prime.c (_nettle_generate_pocklington_prime): Also
	return the used r. Updated caller.

Niels Möller's avatar
Niels Möller committed
42
43
	* examples/random-prime.c (main): Allow sizes down to 3 bits.

44
45
46
47
48
49
50
51
	* bignum-random-prime.c (_nettle_generate_pocklington_prime): New
	function. Rely on mpz_probab_prime_p (for lack of a trial division
	function) for trial division.
	(nettle_random_prime): Rewritten. Uses the prime table for the
	smallest sizes, then trial division using a new set of tables, and
	then Maurer's algorithm, calling the new
	_nettle_generate_pocklington_prime for the final search.

Niels Möller's avatar
Niels Möller committed
52
53
54
2010-05-25  Niels Mller  <nisse@lysator.liu.se>

	* testsuite/dsa-test.c (test_main): Updated for dsa testing
55
	changes.
Niels Möller's avatar
Niels Möller committed
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73

	* testsuite/dsa-keygen-test.c (test_main): Test dsa256.

	* testsuite/testutils.h (struct nettle_mac): New struct, currently
	unused.

	* testsuite/testutils.c (test_mac): New function (currently not
	used).
	(test_dsa): Replaced by two new functions...
	(test_dsa160): New function.
	(test_dsa256): New function.
	(test_dsa_key): New argument q_size.
	(DSA_VERIFY): Generalized.

	* dsa-keygen.c (dsa_generate_keypair): Rewritten, now generating
	primes using Pocklington's theorem. Takes both p_size and q_size
	as arguments.

74
75
76
77
78
2010-05-20  Niels Mller  <nisse@lysator.liu.se>

	* bignum-random-prime.c (miller_rabin_pocklington): Fixed broken
	logic when Miller-rabin succeeds early.

79
80
2010-04-09  Niels Mller  <nisse@lysator.liu.se>

81
82
83
84
85
86
	* bignum-next-prime.c: Include stdlib.h, needed for alloca on
	freebsd.
	* hmac.c: Likewise.

	* examples/Makefile.in (SOURCES): Added random-prime.c.

Niels Möller's avatar
Niels Möller committed
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
	* examples/random-prime.c: New program.

	* testsuite/Makefile.in (TS_NETTLE_SOURCES): Moved
	knuth-lfib-test.c, cbc-test.c, ctr-test.c, hmac-test.c here, from
	TS_HOGWEED_SOURCES.
	(TS_HOGWEED_SOURCES): Added random-prime-test.c.

	* testsuite/random-prime-test.c: New test case.

	* examples/next-prime.c (main): With no command line arguments.
	exit after dislaying usage message.

	* examples/io.c (simple_random): Free buffer when done.

	* configure.ac: Changed message, say CC is the recommended
	way to configure the ABI.

	* bignum-random.c: Deleted test of HAVE_LIBGMP.
	* bignum.c: Likewise.
	* sexp2bignum.c: Likewise.

108
109
110
111
112
	* Makefile.in (hogweed_SOURCES): Added bignum-random-prime.c.

	* bignum-random-prime.c (nettle_random_prime): New file, new
	function.

Niels Möller's avatar
Niels Möller committed
113
114
115
116
2010-03-31  Niels Mller  <nisse@lysator.liu.se>

	* examples/nettle-benchmark.c (main): Benchmark sha224.

117
118
2010-03-30  Niels Mller  <nisse@lysator.liu.se>

Niels Möller's avatar
Niels Möller committed
119
120
121
122
	* testsuite/testutils.c (DSA_VERIFY): Updated for dsa_sha1_verify
	rename.
	(test_dsa): Check return value from dsa_sha1_sign.

123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
	* Makefile.in (hogweed_SOURCES): Added dsa-sha1-sign.c,
	dsa-sha1-verify.c, dsa-sha256-sign.c, and dsa-sha256-verify.c.

	* dsa.h: Updated and added dsa declarations.

	* dsa-sha256-verify.c (dsa_sha256_verify_digest): New file, new
	function.
	(dsa_sha256_verify): New function.
	* dsa-sha256-sign.c (dsa_sha256_sign_digest): New file, new
	function.
	(dsa_sha256_sign): New function.

	* dsa-sha1-verify.c (dsa_sha1_verify_digest): New file. Moved and
	renamed function, from dsa_verify_digest, rewrote to use
	_dsa_verify.
	(dsa_sha1_verify): Analogous change, renamed from dsa_verify.
	* dsa-sha1-sign.c (dsa_sha1_sign_digest): New file. Moved and
	renamed function, from dsa_sign_digest, rewrote to use _dsa_sign,
	and added return value.
	(dsa_sha1_sign): Analogous change, renamed from dsa_sign.

	* dsa-verify.c (_dsa_verify): New general verification function,
	for any hash.
	* dsa-sign.c (_dsa_sign): New general signing function, for any
	hash. Returns success code, like the rsa signture functions.

149
150
2010-03-29  Niels Mller  <nisse@lysator.liu.se>

151
152
153
154
155
	* configure.ac (ABI): Attempt to use a better, ABI-dependant,
	default value for libdir.

	* x86/md5-compress.asm: Fixed function name in epilogue.

156
157
	* asm.m4 (EPILOGUE): Use . to refer to current address.

158
159
160
	* configure.ac (ABI): Detect which ABI the compiler is using.
	On x86_64, also check for __arch64__.

161
162
163
164
165
2010-03-28  Niels Mller  <nisse@lysator.liu.se>

	* configure.ac (asm_path): For x86_64, check if compiler is
	generating 32-bit code.

166
167
2010-03-27  Niels Mller  <nisse@lysator.liu.se>

Niels Möller's avatar
Niels Möller committed
168
169
170
171
	* testsuite/hmac-test.c (test_main): Rewrote rest of tests to use
	HMAC_TEST, and added more tests from Daniel Kahn Gillmor and from
	RFC 4231.

172
173
174
175
176
177
178
	* Makefile.in (nettle_SOURCES): Added hmac-sha224.c and
	hmac-sha384.c.

	* hmac.h: Added declarations of hmac-sha224 and hmac-sha384.

	* hmac-sha224.c: New file.

Niels Möller's avatar
Niels Möller committed
179
180
2010-03-26  Niels Mller  <nisse@lysator.liu.se>

Niels Möller's avatar
Niels Möller committed
181
182
183
184
	* testsuite/hmac-test.c (HMAC_TEST): New macro.
	(test_main): Use HMAC_TEST for the md5 and sha1 tests, and add
	test vectors from Daniel Kahn Gillmor.

Niels Möller's avatar
Niels Möller committed
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
	* testsuite/Makefile.in (TS_NETTLE_SOURCES): Added sha224-test.c.

	* Makefile.in (nettle_SOURCES): Added sha224-meta.c and
	write-be32.c.
	(DISTFILES): Added nettle-write.h.

	* sha.h: Added declarations for sha224. Some are aliases for the
	corresponding sha256 definition.

	* sha256.c (sha256_digest): Use _nettle_write_be32.
	(sha224_init): New function.
	(sha224_digest): New function.

	* sha1.c (sha1_digest): Use _nettle_write_be32.

	* nettle-internal.h (NETTLE_MAX_HASH_BLOCK_SIZE)
	(NETTLE_MAX_HASH_DIGEST_SIZE): Increased, to take sha512 into
	account.

	* nettle-write.h: New file.

	* write-be32.c (_nettle_write_be32): New file, new function.

	* sha224-meta.c: New file.

210
211
2010-03-25  Niels Mller  <nisse@lysator.liu.se>

Niels Möller's avatar
Niels Möller committed
212
213
214
215
216
217
218
219
220
221
222
223
	* hmac-sha384.c: New file.

	* testsuite/sha224-test.c: New file.

	* testsuite/md4-test.c (test_main): More test vectors, provided by
	Daniel Kahn Gillmor.
	* testsuite/md5-test.c (test_main): Likewise.
	* testsuite/sha1-test.c (test_main): Likewise.
	* testsuite/sha256-test.c (test_main): Likewise.
	* testsuite/sha384-test.c (test_main): Likewise.
	* testsuite/sha512-test.c (test_main): Likewise.

224
225
226
	* configure.ac: Bumped version numbers. Package version
	nettle-2.1, library versions libnettle.so.3.1, libhogweed.so.2.0.

Niels Möller's avatar
Niels Möller committed
227
228
229
230
231
232
	* examples/nettle-benchmark.c (main): Benchmark sha384.

	* testsuite/Makefile.in (TS_NETTLE_SOURCES): Added sha384-test.c.

	* testsuite/sha384-test.c: New file.

233
234
235
236
237
238
239
240
241
242
243
244
	* Makefile.in (nettle_SOURCES): Added sha384-meta.c.

	* sha384-meta.c: New file.

	* sha.h: Added declarations for sha384. Some are aliases for the
	corresponding sha512 definition.

	* sha512.c (sha512_write_digest): New function.
	(sha512_digest): Use it.
	(sha384_init): New function.
	(sha384_digest): New function.

245
246
2010-03-24  Niels Mller  <nisse@lysator.liu.se>

247
248
249
	* sha512.c: (sha512_digest): Simplified handling of any final
	partial word of the digest.

250
251
252
253
254
255
256
	* sha512.c: Reorganized to use _nettle_sha512_compress.

	* sha512-compress.c (_nettle_sha512_compress): Compression
	function extracted from sha512.c to a new file.

	* Makefile.in (nettle_SOURCES): Added sha256-compress.c and
	sha512-compress.c.
257
258
259
260
261
262

	* sha256.c: Reorganized to use _nettle_sha256_compress.

	* sha256-compress.c (_nettle_sha256_compress): Compression
	function extracted from sha256.c to a new file.

Niels Möller's avatar
Niels Möller committed
263
264
	* examples/nettle-benchmark.c (main): Benchmark sha512.

265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
	* rsa-keygen.c (rsa_generate_keypair): Ensure that bit size of e
	is less than bit size of n, and check for the unlikely case p = q.

	* rsa.h (RSA_MINIMUM_N_OCTETS, RSA_MINIMUM_N_BITS): Reduced, to
	correspond to pkcs#1 encryption of single byte messagees.

	* pgp-encode.c (pgp_put_rsa_sha1_signature): Check return value
	from rsa_sha1_sign.
	* rsa-compat.c (R_SignFinal): Likewise.

	* rsa-md5-sign.c (rsa_md5_sign): Check and propagate return value
	from pkcs1_rsa_md5_encode.
	(rsa_md5_sign_digest): Check and propagate return value from
	pkcs1_rsa_md5_encode_digest.
	* rsa-md5-verify.c (rsa_md5_verify): Check return value from
	pkcs1_rsa_md5_encode.
	(rsa_md5_verify_digest): Check return value from
	pkcs1_rsa_md5_encode_digest.
	* rsa-sha1-sign.c: Analogous changes.
	* rsa-sha1-verify.c: Analogous changes.
	* rsa-sha256-sign.c: Analogous changes.
	* rsa-sha256-verify.c: Analogous changes.
	* rsa-sha512-sign.c: Analogous changes.
	* rsa-sha512-verify.c: Analogous changes.

	* pkcs1-rsa-md5.c (pkcs1_rsa_md5_encode)
	(pkcs1_rsa_md5_encode_digest): Added return value. Check and
	propagate return value from pkcs1_signature_prefix.
	* pkcs1-rsa-sha256.c (pkcs1_rsa_sha256_encode)
	(pkcs1_rsa_sha256_encode_digest): Likewise.
	* pkcs1-rsa-sha1.c (pkcs1_rsa_sha1_encode)
	(pkcs1_rsa_sha1_encode_digest): Likewise.
	* pkcs1-rsa-sha512.c (pkcs1_rsa_sha512_encode)
	(pkcs1_rsa_sha512_encode_digest): Likewise.

	* pkcs1.c (pkcs1_signature_prefix): Interface change, take both
	the total size and digest size as arguments, and return a status
	code to say if the size was large enough.

	* testsuite/Makefile.in: Added hogweed dependency for the test
	programs.

307
308
2010-03-23  Niels Mller  <nisse@lysator.liu.se>

Niels Möller's avatar
Niels Möller committed
309
310
311
312
	* testsuite/rsa-test.c (test_main): Test signing with sha512.

	* testsuite/testutils.c (test_rsa_sha512): New function.

313
314
315
316
317
318
319
320
321
322
323
	* Makefile.in (hogweed_SOURCES): Added pkcs1-rsa-sha512.c,
	rsa-sha512-sign.c and rsa-sha512-verify.c.

	* rsa.h: Added prototypes for sha512-related functions.
	(RSA_MINIMUM_N_OCTETS, RSA_MINIMUM_N_BITS): Increased.
	* pkcs1.h: Added prototypes for sha512-related functions.

	* rsa-sha512-verify.c: New file.
	* rsa-sha512-sign.c: New file.
	* pkcs1-rsa-sha512.c: New file.

Niels Möller's avatar
Niels Möller committed
324
325
2010-03-22  Niels Mller  <nisse@lysator.liu.se>

Niels Möller's avatar
Niels Möller committed
326
327
328
329
330
	* Makefile.in (nettle_SOURCES): Added hmac-sha512.c.

	* testsuite/hmac-test.c (test_main): Added test cases for
	hmac-sha512.

331
	* hmac.h: Declare functions sha512-related functions.
Niels Möller's avatar
Niels Möller committed
332
333
	* hmac-sha512.c (hmac_sha512_set_key): New file.

334
	Basic sha512 support.
Niels Möller's avatar
Niels Möller committed
335
336
337
338
339
340
	* testsuite/Makefile.in (TS_NETTLE_SOURCES): Added sha512-test.c.
	* testsuite/sha512-test.c: New file.

	* macros.h (READ_UINT64, WRITE_UINT64): New macros.

	* Makefile.in (nettle_SOURCES): Added sha512.c and sha512-meta.c.
341
	* sha.h: Added sha512-related declarations.
Niels Möller's avatar
Niels Möller committed
342
343
344
345
	* nettle-meta.h: Likewise.
	* sha512-meta.c: New file.
	* sha512.c: New file.

346
347
348
349
2010-03-06  Niels Mller  <nisse@lysator.liu.se>

	* Makefile.in (distdir): Include x86_64 assembler files.

Niels Möller's avatar
Niels Möller committed
350
351
352
353
2010-01-20  Niels Mller  <nisse@lysator.liu.se>

	* configure.ac: Check for mpz_powm_sec.

354
355
356
357
358
359
360
361
362
363
2010-01-13  Niels Mller  <nisse@lysator.liu.se>

	* Makefile.in ($(LIBHOGWEED_FORLINK)): Depend on
	$(LIBNETTLE_FORLINK).

	* configure.ac (LIBHOGWEED_LIBS): Added -lnettle -lgmp for the
	default case. Follows debian, and also makes dlopen of
	libhogweed.so work, without having to use RTLD_GLOBAL.
	(LIBHOGWEED_LINK): Added -L., to find our libnettle.so.

Niels Möller's avatar
Niels Möller committed
364
365
366
367
368
2009-10-21  Niels Mller  <nisse@lysator.liu.se>

	* tools/Makefile.in (pkcs1-conv$(EXEEXT)): Added dependency on
	../libhogweed.a.

369
370
371
372
373
374
375
376
377
378
379
380
381
2009-10-19  Niels Mller  <nisse@lysator.liu.se>

	* tools/pkcs1-conv.c: Updated for dsa/der interface change.

	* der2dsa.c (dsa_public_key_from_der_iterators): Split into two
	new functions...
	(dsa_params_from_der_iterator): New function.
	(dsa_public_key_from_der_iterator): New function.
	(dsa_openssl_private_key_from_der_iterator): Renamed, was
	dsa_private_key_from_der_iterator.
	(dsa_openssl_private_key_from_der): Likewise.
	* dsa.h: Corresponding changees to prototypes and #defines.

Niels Möller's avatar
Niels Möller committed
382
383
2009-10-12  Niels Mller  <nisse@lysator.liu.se>

Niels Möller's avatar
Niels Möller committed
384
385
386
387
388
389
390
391
392
393
394
	* sexp-format.c: Removed conditioning on HAVE_LIBGMP.

	* tools/pkcs1-conv.c: Support for DSA keys, contributed by Magnus
	Holmgren.

	* Makefile.in (hogweed_SOURCES): Added dsa2sexp.c and der2dsa.c.

	* der2dsa.c: New file, contributed by Magnus Holmgren.
	* dsa2sexp.c: Likewise.
	* dsa.h: Added prototypes.

395
396
397
	* configure.ac (LIBHOGWEED_MINOR): Bumped libhogweed minor
	version, now it's 1.1.

398
399
	* testsuite/rsa2sexp-test.c (test_main): Updated testcase for
	"rsa-pkcs1".
Niels Möller's avatar
Niels Möller committed
400

Niels Möller's avatar
Niels Möller committed
401
402
403
404
405
2009-10-11  Niels Mller  <nisse@lysator.liu.se>

	* rsa2sexp.c (rsa_keypair_to_sexp): Changed default algorithm name
	to "rsa-pkcs1".

Niels Möller's avatar
Niels Möller committed
406
407
408
409
410
411
412
413
414
415
416
2009-09-20  Niels Mller  <nisse@lysator.liu.se>

	* x86/sha1-compress.asm: Improved performance by 17% on AMD K7,
	by letting loopmix scramble the instruction order.

2009-09-15  Niels Mller  <nisse@lysator.liu.se>

	* x86/sha1-compress.asm: Cleanup, removing old cruft. Slight
	improvement to ROUND_F1_NOEXP. Slight reduction of
	dependency-chains.

Niels Möller's avatar
Niels Möller committed
417
418
2009-08-25  Niels Mller  <nisse@lysator.liu.se>

Niels Möller's avatar
Niels Möller committed
419
420
	* x86/sha1-compress.asm: Eliminated tmp variable for f3 rounds.

Niels Möller's avatar
Niels Möller committed
421
422
423
	* examples/nettle-benchmark.c (bench_sha1_compress): New function,
	for precise benchmarking of the compression function.

Niels Möller's avatar
Niels Möller committed
424
425
426
427
2009-06-08  Niels Mller  <nisse@lysator.liu.se>

	* Released nettle-2.0.

Niels Möller's avatar
Niels Möller committed
428
429
430
431
432
433
434
435
436
2009-06-04  Niels Mller  <nisse@lysator.liu.se>

	* configure.ac: Set version to 2.0

2009-05-30  Niels Mller  <nisse@lysator.liu.se>

	* Makefile.in (.texinfo.info): Don't use a temporary output file
	$@T, trust makeinfo to remove output file on errors.

Niels Möller's avatar
Niels Möller committed
437
438
439
2009-05-19  Niels Mller  <nisse@lysator.liu.se>

	* nettle.texinfo: Changed license to public domain.
Niels Möller's avatar
Niels Möller committed
440

Niels Möller's avatar
Niels Möller committed
441
2009-05-11  Niels Mller  <nisse@lysator.liu.se>
Niels Möller's avatar
Niels Möller committed
442

Niels Möller's avatar
Niels Möller committed
443
444
	* nettle.texinfo: Fixes from Karl Berry. Added some more index
	terms.
Niels Möller's avatar
Niels Möller committed
445

Niels Möller's avatar
Niels Möller committed
446
447
2009-03-06  Niels Mller  <nisse@lysator.liu.se>

Niels Möller's avatar
Niels Möller committed
448
449
450
451
452
453
454
455
	* x86_64/aes-encrypt-internal.asm: Reduced unrolling. Keep state
	in %eax--%edx only.
	* x86_64/aes-decrypt-internal.asm: Likewise.

	* x86_64/aes.m4 (MOVE_HREG): Deleted, no longer needed.
	(AES_STORE): Reduced offsets.
	(AES_ROUND): Use HREG directly, not MOVE_HREG.

Niels Möller's avatar
Niels Möller committed
456
457
458
459
	* x86_64/aes-decrypt-internal.asm: Rearrange register allocation.
	Put SA--SD in %eax--%edx, so the second byte can be accessed as
	%ah-%dh. TD is not needed, SD can be reused. Use the register that
	is saved for the outer loop counter, getting it off the stack.
Niels Möller's avatar
Niels Möller committed
460
	* x86_64/aes-encrypt-internal.asm: Likewise.
Niels Möller's avatar
Niels Möller committed
461
462
463
464
465

	* x86_64/aes.m4 (HREG, MOVE_HREG): New macros.
	(XREG): Fixed bug in handling of %r8 and %r9.
	(AES_ROUND): Use MOVE_HREG.

466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
2009-02-10  Niels Mller  <nisse@lysator.liu.se>

	* base16-meta.c (base16_encode_update_wrapper): Mark ctx argument
	as UNUSED.

	* testsuite/sexp-conv-test: Updated testcases for improved
	handling of comments.

	* tools/sexp-conv.c (sexp_convert_item): Use sexp_put_soft_newline
	to terminate comments, and modify indentation for the case that a
	list starts with a comment.

	* tools/output.c (sexp_output_init): Initialize soft_newline.
	(sexp_put_raw_char): Clear soft_newline.
	(sexp_put_newline): Check and reset soft_newline.
	(sexp_put_soft_newline): New function.

	* tools/output.h (struct sexp_output): Removed union with single
	element, and updated all users. New attribute soft_newline.

486
487
488
489
2008-12-22  Niels Mller  <nisse@lysator.liu.se>

	* Makefile.in ($(des_headers)): Create files in $(srcdir).

Niels Möller's avatar
Niels Möller committed
490
491
492
493
2008-11-28  Niels Mller  <nisse@lysator.liu.se>

	* testsuite/cxx-test.cxx: Include <cstdio>.

494
495
496
497
498
499
500
501
2008-11-22  Niels Mller  <nisse@lysator.liu.se>

	* yarrow256.c (yarrow256_fast_reseed): Set ctx->seeded = 1, so
	that it is set if and only if the aes context has been initialized
	with aes_set_encrypt_key.
	(yarrow256_seed): No need to set ctx->seeded here.
	(yarrow256_update): Likewise.

Niels Möller's avatar
Niels Möller committed
502
503
504
505
506
2008-11-04  Niels Mller  <nisse@lysator.liu.se>

	* examples/next-prime.c (main): Avoid using gmp_fprintf, to stay
	compatible with gmp-3.1.

Niels Möller's avatar
Niels Möller committed
507
508
2008-11-01  Niels Mller  <nisse@lysator.liu.se>

509
510
	* nettle.texinfo: Updated for 2.0. New section on linking.

Niels Möller's avatar
Niels Möller committed
511
512
513
514
	* nettle-types.h, nettle-meta.h: Moved all typedefs for function
	types to nettle-types.h. Use non-pointer types, so that the types
	can be used to declare functions. Updated all users.

Niels Möller's avatar
Niels Möller committed
515
516
517
518
519
520
521
2008-10-31  Niels Mller  <nisse@lysator.liu.se>

	* testsuite/yarrow-test.c (test_main): Updated for seed file
	changes.

	* sha-example.c (display_hex): Use %02x, not %2x.

Niels Möller's avatar
Niels Möller committed
522
523
524
525
2008-10-30  Niels Mller  <nisse@lysator.liu.se>

	* tools/sexp-conv.c (main): Fixed file locking.

Niels Möller's avatar
Niels Möller committed
526
527
2008-10-25  Niels Mller  <nisse@lysator.liu.se>

Niels Möller's avatar
Niels Möller committed
528
529
	* configure.ac: Set version to 2.0rc1.

Niels Möller's avatar
Niels Möller committed
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
	* examples/Makefile.in (next-prime$(EXEEXT)): Added -lnettle to
	linker.

2008-10-24  Niels Mller  <nisse@lysator.liu.se>

	* sha256.c (ROUND): Simplified macro.

	* yarrow256.c (yarrow256_fast_reseed): Renamed (was
	yarrow_fast_reseed) and made non-static. Don't generate seed file
	here, let the application use yarrow256_random instead.
	(yarrow256_slow_reseed): Renamed (was yarrow_slow_reseed) and made
	non-static.
	(yarrow256_force_reseed): Deleted function, use
	yarrow256_slow_reseed instead. For backwards compatibility,
	yarrow.h defines yarrow256_force_reseed as an alias for that
	function.

	* yarrow.h (struct yarrow256_ctx): Deleted seed_file buffer.

Niels Möller's avatar
Niels Möller committed
549
550
551
552
553
2008-09-17  Niels Mller  <nisse@lysator.liu.se>

	* x86/arcfour-crypt.asm: Improved loop logic, and unrolled
	loop twice. Gave a modest speedup.

Niels Möller's avatar
Niels Möller committed
554
555
2008-09-15  Niels Mller  <nisse@lysator.liu.se>

Niels Möller's avatar
Niels Möller committed
556
557
558
559
560
	* yarrow256.c (yarrow256_seed): Disallow length == 0.

	* base64-decode.c (decode_table): Added vertical tab (VT) and form
	feed (FF) as white space characters.

Niels Möller's avatar
Niels Möller committed
561
562
	* x86_64/aes-decrypt-internal.asm: New file.

Niels Möller's avatar
Niels Möller committed
563
564
2008-09-13  Niels Mller  <nisse@lysator.liu.se>

Niels Möller's avatar
Niels Möller committed
565
566
	* x86/aes-encrypt-internal.asm: Replaced pushl and popl in the
	loop with movl.	Eliminated redundant movl.
Niels Möller's avatar
Niels Möller committed
567
	* x86/aes-decrypt-internal.asm: Likewise.
Niels Möller's avatar
Niels Möller committed
568
569
570
571
572
573
574
575
576
577
578
579
580

	* x86_64/aes.m4: New file.

	* x86/aes-encrypt-internal.asm: Updated for AES_FINAL_ROUND. Only
	three times through the substitution loop.
	* x86/aes-decrypt-internal.asm: Likewise.
	* x86_64/aes-encrypt-internal.asm: Likewise.

	* x86/aes.m4 (AES_FINAL_ROUND): Do the substitution on the least
	significant byte here.

	* x86/aes-encrypt-internal.asm: Updated use of AES_SUBST_BYTE. USe
	decl for outer loop.
Niels Möller's avatar
Niels Möller committed
581
	* x86/aes-decrypt-internal.asm: Likewise.
Niels Möller's avatar
Niels Möller committed
582
583
584

	* x86/aes.m4 (LREG, HREG): New macros.
	(AES_SUBST_BYTE): Take state registers as argument. Use LREG to
Niels Möller's avatar
Niels Möller committed
585
	get the corresponding byte register.
Niels Möller's avatar
Niels Möller committed
586
587
	(AES_ROUND): Use movzbl together with LREG and HREG.
	(AES_SUBST_BYTE): Likewise.
Niels Möller's avatar
Niels Möller committed
588

Niels Möller's avatar
Niels Möller committed
589
590
591
592
593
2008-09-10  Niels Mller  <nisse@lysator.liu.se>

	* x86_64/sha1-compress.asm: Avoid using registers %rbx and %rbp,
	which must be preserved.

594
595
2008-09-08  Niels Mller  <nisse@lysator.liu.se>

596
597
	* Makefile.in (stamp-h.in): Use $(AUTOHEADER).

Niels Möller's avatar
Niels Möller committed
598
	* x86_64/sha1-compress.asm: New x86_64 assembler, based on the x86
Niels Möller's avatar
Niels Möller committed
599
	version.
Niels Möller's avatar
Niels Möller committed
600

601
602
603
604
	* configure.ac (asm_path): Set up asm_path for x86_64.

	* x86_64/machine.m4: New file, new directory.

Niels Möller's avatar
Niels Möller committed
605
606
607
608
609
2008-08-28  Niels Mller  <nisse@lysator.liu.se>

	* examples/eratosthenes.c (main): Rewrote block-wise sieving to
	use less memory. New options -s and -v.

Niels Möller's avatar
Niels Möller committed
610
611
612
613
2008-08-27  Niels Mller  <nisse@lysator.liu.se>

	* testsuite/sexp-conv-test (print_raw, print_nl): Use printf.
	Updated testcases with comments; comments are now preserved.
Niels Möller's avatar
Niels Möller committed
614

Niels Möller's avatar
Niels Möller committed
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
	* tools/sexp-conv.c (sexp_convert_item): Keep comments in advanced
	output.
	(parse_options): New --lock option.
	(main): Optionally lock output file.

	* tools/parse.c (sexp_check_token): Removed check for "any" token.
	All callers specify the token they expect.
	(sexp_parse): Pass on comment tokens.

	* tools/output.c (sexp_put_data): Made non-static.

	* tools/input.c (sexp_get_comment): New function.
	(sexp_get_token): Use sexp_get_comment.

	* tools/misc.h (enum sexp_token): Start enumeration with zero, zero
Niels Möller's avatar
Niels Möller committed
630
	is no longer used to mean any type. New type SEXP_COMMENT.
Niels Möller's avatar
Niels Möller committed
631
632
633

	* configure.ac: Check for fcntl file locking.

634
635
636
637
638
639
640
2008-08-26  Niels Mller  <nisse@lysator.liu.se>

	* Makefile.in (tags-here): Put TAGS file in the source directory.
	* examples/Makefile.in (tags): Likewise.
	* testsuite/Makefile.in (tags): Likewise.
	* tools/Makefile.in (tags): Likewise.

Niels Möller's avatar
Niels Möller committed
641
642
643
644
2008-02-29  Niels Mller  <nisse@lysator.liu.se>

	* examples/Makefile.in (SOURCES): Added next-prime.c.

Niels Möller's avatar
Niels Möller committed
645
646
647
648
649
650
651
652
2008-01-05  Niels Mller  <nisse@lysator.liu.se>

	* examples/Makefile.in (TARGETS): Added eratosthenes and next-prime.
	(next-prime, eratosthenes): New rules.
	(nettle-benchmark): Don't rely on $@.

	* examples/eratosthenes.c (find_first_one): Optimized, using
	slightly larger table.
Niels Möller's avatar
Niels Möller committed
653
	(main): Use atol, rather than atoi.
Niels Möller's avatar
Niels Möller committed
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681

	* testsuite/symbols-test: Check symbols also in libhogweed.

	* examples/next-prime.c: New file.
	Deleted code for detailed timing.

	* Makefile.in (hogweed_SOURCES): Added bignum-next-prime.c.
	(DISTFILES): Added prime-list.h.
	(hogweed_OBJS): Removed $(LIBOBJS).

	* bignum-next-prime.c (nettle_next_prime): Renamed function, for
	name space reasons. Was bignum_next_prime. Updated call in
	rsa-keygen.c.
	(primes): Use prime-list.h.
	(nettle_next_prime): Skip Fermat test. Use mpz_millerrabin
	directly, rather than mpz_probab_prime_p, when the former is
	available.

	* bignum.h (nettle_next_prime): New prototype.

	* rsa-keygen.c (bignum_next_prime): Deleted, moved to
	bignum-next-prime.c. Call with a larger prime limit, this improves
	the running time of lsh-keygen by roughly 25%.

	* prime-list.h: List of odd primes < 2^16.

	* configure.ac: Check for sizeof(long).

Niels Möller's avatar
Niels Möller committed
682
683
684
685
686
687
688
689
2008-01-03  Niels Mller  <nisse@lysator.liu.se>

	* examples/nettle-benchmark.c (main): Removed incorrect UNUSED
	from declaration.

	* bignum-next-prime.c: Moved the bignum_next_prime function to a
	separate file.

690
691
692
693
694
695
696
697
2007-09-08  Niels Mller  <nisse@lysator.liu.se>

	* sparc64/aes-encrypt-internal.asm: The directory with the aes.m4
	include file was renamed from "sparc" to "sparc32". Updated include.
	* sparc64/aes-decrypt-internal.asm: Likewise.
	* sparc32/aes-encrypt-internal.asm: Likewise.
	* sparc32/aes-decrypt-internal.asm: Likewise.

Niels Möller's avatar
Niels Möller committed
698
699
700
701
2007-09-07  Niels Mller  <nisse@lysator.liu.se>

	* examples/read_rsa_key.c: Include stdlib.h.

Niels Möller's avatar
Niels Möller committed
702
703
704
2007-06-02  Niels Mller  <nisse@lysator.liu.se>

	* Makefile.in: Typo fixes to install targets, spotted by Magnus
Niels Möller's avatar
Niels Möller committed
705
	Holmgren.
Niels Möller's avatar
Niels Möller committed
706

Niels Möller's avatar
Niels Möller committed
707
708
2007-05-14  Niels Mller  <niels@s3.kth.se>

Niels Möller's avatar
Niels Möller committed
709
710
711
712
713
714
715
	* configure.ac: Fixed copy-and-paste errors in shared library
	name setup.

	* config.make.in (LIBNETTLE_SONAME, LIBHOGWEED_SONAME): Define.

	* Makefile.in (libnettle.so, libhogweed.so): Fixed rules.

Niels Möller's avatar
Niels Möller committed
716
717
718
719
720
721
722
723
724
725
726
727
	* Makefile.in: Split nettle library into two files, libnettle.a
	and libhogweed.a, and similarly for the shared libraries.

	* configure.ac: Bumped nettle so-versions to 3.0. Set hogweed
	so-versions to 1.0. New makefile conditionals IF_SHARED and
	IF_HOGWEED. Renamed WITH_PUBLIC_KEY to WITH_HOGWEED. Deleted
	SHLIBTARGET, SHLIBINSTALL, RSA_EXAMPLES and RSA_TOOLS.

	* config.make.in: Updated for hogweed split.

	* C source files: Don't use WITH_PUBLIC_KEY / WITH_HOGWEED, the
	Makefile sorts out which files should be compiled.
728

Niels Möller's avatar
Niels Möller committed
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
	* pgp.h: Include bignum.h, don't pretend to work without bignums.

	* pgp-encode.c (pgp_put_mpi, pgp_put_public_rsa_key)
	(pgp_put_rsa_sha1_signature): Define unconditionally. Removed the
	checking of HAVE_LIBGMP and WITH_PUBLIC_KEY.

	* examples/io.h: Use WITH_HOGWEED, not WITH_PUBLIC_KEY.
	* examples/io.c (read_rsa_key): Deleted, moved to...
	* examples/read_rsa_key.c: New file, extracted from io.c.

	* examples/Makefile.in: Use IF_HOGWEED instead of RSA_EXAMPLES.
	Link appropriate programs with -lhogweed.
	(SOURCES): Added read_rsa_key.c.

	* tools/Makefile.in (pkcs1-conv): Use IF_HOGWEED, not @RSA_TOOLS@,
	for configuration. Link with -lhogweed.

	* testsuite/testutils.h: Use WITH_HOGWEED, not WITH_PUBLIC_KEY.
	* testsuite/testutils.c: Likewise.

	* testsuite/Makefile.in (TS_NETTLE_SOURCES, TS_HOGWEED_SOURCES):
	Separate test cases using nettle and those also using hogweed.
Niels Möller's avatar
Niels Möller committed
751

752
753
754
755
2007-04-05  Niels Mller  <nisse@lysator.liu.se>

	* Moved in CVS tree. Also renamed directory sparc to sparc32.

756
757
2007-02-24  Niels Mller  <nisse@lysator.liu.se>

Niels Möller's avatar
Niels Möller committed
758
	* Makefile.in (clean-here): Remove .lib directory.
759
760
	(distclean-here): Remove machine.m4.

761
762
763
764
765
766
767
2006-12-05  Niels Mller  <nisse@lysator.liu.se>

	* configure.ac: AC_PREREQ 2.61, for AC_PROG_MKDIR_P.

	* config.make.in (datarootdir): New directory variable (for
	autoconf-2.61).

Niels Möller's avatar
Niels Möller committed
768
769
2006-11-28  Niels Mller  <nisse@lysator.liu.se>

Niels Möller's avatar
Niels Möller committed
770
771
	* configure.ac: Bumped version to 1.16.

Niels Möller's avatar
Niels Möller committed
772
773
	* Released nettle-1.15.

Niels Möller's avatar
Niels Möller committed
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
2006-11-27  Niels Mller  <nisse@lysator.liu.se>

	* NEWS: New entry for nettle-1.15.

	* configure.ac (SHLIBMINOR): Bumped version. Library name is now
	libnettle.so.2.6.

	* sha256.c: Changed copyright notice to use the LGPL.

	* Makefile.in (DISTFILES): Added COPYING.LIB.

	* COPYING.LIB: New file (previously only the plain GPL was
	included in the distribution).

	* nettle.texinfo: Updated vor nettle-1.15.

	* testsuite/rsa-test.c (test_main): Use test_rsa_sha256.
	* testsuite/testutils.c (test_rsa_sha256): New function.

	* testsuite/Makefile.in (DISTFILES): Replaces rfc1750.txt by
	gold-bug.txt.

	* rsa.h (rsa_sha256_sign, rsa_sha256_verify)
Niels Möller's avatar
Niels Möller committed
797
	(rsa_sha256_sign_digest, rsa_sha256_verify_digest): New declarations.
Niels Möller's avatar
Niels Möller committed
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
	(RSA_MINIMUM_N_OCTETS, RSA_MINIMUM_N_BITS): Increased to
	62 octets and  489 bits, respectively, for supporting sha256.

	* pkcs1.h (pkcs1_rsa_sha256_encode)
	(pkcs1_rsa_sha256_encode_digest): New declarations and name
	mangling symbols.

	* Makefile.in (nettle_SOURCES): Added pkcs1-rsa-sha256.c,
	rsa-sha256-sign.c, rsa-sha256-verify.c.

	* pkcs1-rsa-sha256.c, rsa-sha256-sign.c, rsa-sha256-verify.c: New
	files.

	* COPYING, INSTALL, install-sh, texinfo.tex: Updated files, from
	automake-1.10.

814
815
816
817
818
819
820
821
822
823
2006-11-27  Niels Mller  <niels@s3.kth.se>

	* tools/Makefile.in (install): Use MKDIR_P to create installation
	directory. Install only one file at a time.

	* Makefile.in (MKDIR_P): Use MKDIR_P for creating installation
	directories.

	* configure.ac: Use AC_PROG_MKDIR_P.

Niels Möller's avatar
Niels Möller committed
824
825
826
827
828
829
830
831
832
833
834
2006-11-24  Niels Mller  <nisse@lysator.liu.se>

	* testsuite/yarrow-test.c (test_main): Use gold-bug.txt as input
	file, instead of rfc1750.txt.

	* testsuite/gold-bug.txt: New test input file for yarrow-test.
	The copyright on this short story by Edgar Allan Poe has expired.

	* testsuite/rfc1750.txt: Deleted file. Debian considers RFC:s
	non-free, and it was expired anyway. Replaced by gold-bug.txt.

Niels Möller's avatar
Niels Möller committed
835
836
837
838
839
840
841
842
843
844
845
846
847
848
2006-11-24  Niels Mller  <niels@s3.kth.se>

	* Almost all header files: Added C++ guards.

	* configure.ac: Test if the system has any C++ compiler.

	* config.make.in (CXX, CXXFLAGS, COMPILE_CXX, LINK_CXX): New variables.

	* testsuite/Makefile.in: New variables TS_C and TS_CXX. Setup for
	compiling the C++ file cxx-test.cxx.

	* testsuite/cxx-test.cxx: New testcase, trying to use nettle from
	a C++ program.

Niels Möller's avatar
Niels Möller committed
849
850
851
852
853
854
855
856
857
2006-08-28  Niels Mller  <niels@s3.kth.se>

	* index.html: Added section on language bindings.

2006-06-10  Niels Mller  <niels@s3.kth.se>

	* configure.ac: Darwin shared library support, from Grant
	Robinsson.

Niels Möller's avatar
Niels Möller committed
858
859
860
861
862
863
864
865
866
867
868
869
870
2006-05-18  Niels Mller  <nisse@lysator.liu.se>

	* src/nettle/x86/aes.asm: Deleted unused file.

	* aes-decrypt.c (_aes_decrypt_table): Deleted the indexing array,
	previously commented out.
	* aes-encrypt-table.c (_aes_encrypt_table): Likewise.

	* Makefile.in (.texinfo.info, .dvi.ps): Use more quotes with
	basename.
	(install-here, install-shared, install-info, install-headers): Use
	plain mkdir, not $(INSTALL) -d.

871
2006-05-16  Niels Mller  <niels@s3.kth.se>
872
	Merged from the lsh experimental branch.
Niels Möller's avatar
Niels Möller committed
873

874
875
2006-04-26  Niels Mller  <nisse@lysator.liu.se>

Niels Möller's avatar
Niels Möller committed
876
877
	* examples/rsa-decrypt.c: Don't include "getopt.h", since it's not used.
	* examples/nettle-benchmark.c: Include "getopt.h".
878

Niels Möller's avatar
Niels Möller committed
879
880
881
	* examples/Makefile.in (GETOPT_OBJS): New variable.
	(rsa-keygen, rsa-encrypt, nettle-benchmark): Depend on and link
	with $(GETOPT_OBJS).
882

Niels Möller's avatar
Niels Möller committed
883
884
885
886
887
	* x86/aes-decrypt-internal.asm: Use ALIGN.
	* x86/aes-encrypt-internal.asm: Likewise.
	* x86/arcfour-crypt.asm: Likewise.
	* x86/md5-compress.asm: Likewise.
	* x86/sha1-compress.asm: Likewise.
888

Niels Möller's avatar
Niels Möller committed
889
890
891
892
893
	* config.m4.in (ASM_ALIGN_LOG): Substitute.
	* configure.ac (ASM_ALIGN_LOG): Check if .align directive is
	logarithmic.
	* asm.m4 (ALIGN): New macro. Takes a logarithmic argument, and
	expands to a .align directive.
894
895
896

2006-04-21  Niels Mller  <nisse@lysator.liu.se>

Niels Möller's avatar
Niels Möller committed
897
898
899
	* nettle.texinfo (Public-key algorithms): Say that the public key
	operations are undocumented, not unsupported. Reported by Jeronimo
	Pellegrini.
900
901
902

2006-04-08  Niels Mller  <nisse@lysator.liu.se>

Niels Möller's avatar
Niels Möller committed
903
904
	* tools/pkcs1-conv.c (read_pem): Fixed c99-style declaration.
	Reported by Henrik Grubbstrm.
905
906
907

2006-01-31  Niels Mller  <niels@s3.kth.se>

Niels Möller's avatar
Niels Möller committed
908
909
	* examples/rsa-verify.c: Fixed typo in usage message.

910
911
2005-12-05  Niels Mller  <nisse@lysator.liu.se>

Niels Möller's avatar
Niels Möller committed
912
	* configure.ac: Bumped version to 1.15,
913

Niels Möller's avatar
Niels Möller committed
914
	* Released nettle-1.14.
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964

	* NEWS: Updated for 1.14.

	* configure.ac (SHLIBMINOR): Increased minor number. Library
	version is now libnettle.so.2.5, soname still libnettle.so.2.

2005-11-28  Niels Mller  <nisse@lysator.liu.se>

	* config.make.in (INSTALL): Don't substitute INSTALL, INSTALL_DATA
	and friends here, to get a correct a relative filename for
	install-sh when used in tools/Makefile.

	* tools/Makefile.in (INSTALL): Substitute INSTALL, INSTALL_DATA
	and friends here.
	* Makefile.in (INSTALL): Likewise.

2005-11-27  Niels Mller  <nisse@lysator.liu.se>

	* Makefile.in (.texinfo.pdf): New rule. Avoid dependency on
	intermediate .dvi and .ps files.

	* testsuite/Makefile.in (clean): Delete sha1-huge-test.

	* Makefile.in (install-info, install-headers): Don't use $< and
	$?; Solaris make doesn't support them in explicit rules.

2005-11-26  Niels Mller  <nisse@lysator.liu.se>

	* testsuite/Makefile.in: Include .test-rules.make, which contains
	the rules for all the test executables.
	(test-rules): New rule, to update this file.
	(DISTFILES): Added $(EXTRA_SOURCES).

	* testsuite/.test-rules.make: Automatically generated file for
	building the test programs.

2005-11-25  Niels Mller  <nisse@lysator.liu.se>

	* configure.ac: Disable assembler when compiling with rntcl.

	* tools/Makefile.in (pkcs1_conv_SOURCES): New variable.
	(pkcs1-conv): Link with getopt.o and getopt1.o.

	* Makefile.in (aesdata, desdata, shadata): Use explicit rules for
	executables.

	* testsuite/Makefile.in: Use %-rules for building the -test
	executables, in addition to the suffix rules. Hopefully, this
	should make all of GNU make, BSD make and Solaris make happy.
	Use $(EXEEXT) and $(OBJEXT) more consistently.
Niels Möller's avatar
Niels Möller committed
965

966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
	* examples/Makefile.in: Use explicit rules for all executable
	targets. Use $(EXEEXT) and $(OBJEXT) more consistently.

2005-11-25  Niels Mller  <niels@s3.kth.se>

	* testsuite/Makefile.in: Avoid using single-suffix rule to build
	executables.

2005-11-24  Niels Mller  <niels@s3.kth.se>

	* Makefile.in (distdir): Use [ -f, not [ -e, since the latter
	is less portable, and not supported by Solaris /bin/sh.

2005-11-23  Niels Mller  <niels@s3.kth.se>

	* testsuite/Makefile.in (DISTFILES): Added teardown-env.
	* testsuite/teardown-env: New file. Delete files created by the
	testsuite.

2005-11-21  Niels Mller  <nisse@lysator.liu.se>

	* testsuite/testutils.c (main): Fixed check for -v option. Spotted
Niels Möller's avatar
Niels Möller committed
988
	by Goran K.
989
990
991
992
993
994
995
996
997
998
999
1000

2005-11-21  Niels Mller  <niels@s3.kth.se>

	* ctr.h (CTR_CTX, CTR_CRYPT): Fixed bugs, spotted by Goran K.

2005-11-20  Niels Mller  <nisse@lysator.liu.se>

	* Makefile.in (nettle_SOURCES): Added der2rsa.c.

	* testsuite/Makefile.in (TS_SH): Added pkcs1-conv-test.

	* tools/Makefile.in (TARGETS): Added @RSA_TOOLS@.