Commit graph

19 commits

Author SHA1 Message Date
mrg
1e4f788477 use --diable-assembler on armv4 systems. they're not supported. 2015-04-03 18:34:14 +00:00
joerg
d32e58f2f9 Just because GAS accepts something doesn't make it valid syntax. 2014-11-21 14:11:19 +00:00
martin
a1862d8c3d Make it use -fPIC on NetBSD (does not build on at least sparc64 otherwise).
Bump rev.
2013-11-26 09:22:19 +00:00
adam
a48628a7b2 Changes 2.7.1:
This is a bugfix release.

Bug fixes:

* Fixed a bug in the new ECC code. The ecc_j_to_a function
  called GMP:s mpn_mul_n (via ecc_modp_mul) with overlapping
  input and output arguments, which is not supported.

* The assembly files for SHA1, SHA256 and AES depend on ARMv6
  instructions, breaking nettle-2.7 for pre-v6 ARM processors.
  The configure script now enables those assembly files only
  when building for ARMv6 or later.

* Use a more portable C expression for rotations. The
  previous version used the following "standard" expression
  for 32-bit rotation:

    (x << n) | (x >> (32 - n))

  But this gives undefined behavior (according to the C
  specification) for n = 0. The rotate expression is replaced
  by the more portable:

    (x << n) | (x >> ((-n)&31))

  This change affects only CAST128, which uses non-constant
  rotation counts. Unfortunately, the new expression is poorly
  optimized by released versions of gcc, making CAST128 a bit
  slower. This is being fixed by the gcc hackers, see
  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57157.

The following problems have been reported, but are *not* fixed
in this release:

* ARM assembly files use instruction syntax which is not
  supported by all assemblers. Workaround: Use a current
  version of GNU as, or configure with --disable-assembler.

* Configuring with --disable-static doesn't work on windows.

The libraries are intended to be binary compatible with
nettle-2.2 and later. The shared library names are
libnettle.so.4.7 and libhogweed.so.2.5, with sonames still
libnettle.so.4 and libhogweed.so.2.
2013-05-29 20:19:28 +00:00
riastradh
4a20337f7d Fix cross-build of security/nettle by setting CC_FOR_BUILD. 2013-05-11 16:55:54 +00:00
adam
3d4e5120a2 NEWS for the 2.7 release
This release includes an implementation of elliptic curve
        cryptography (ECC) and optimizations for the ARM architecture.
        This work was done at the offices of South Pole AB, and
        generously funded by the .SE Internet Fund.

        Bug fixes:

        * Fixed a bug in the buffer handling for incremental SHA3
          hashing, with a possible buffer overflow. Patch by Edgar
          E. Iglesias.

        New features:

        * Support for ECDSA signatures. Elliptic curve operations over
          the following curves: secp192r1, secp224r1, secp256r1,
          secp384r1 and secp521r1, including x86_64 and ARM assembly
          for the most important primitives.

        * Support for UMAC, including x86_64 and ARM assembly.

        * Support for 12-round salsa20, "salsa20r12", as specified by
          eSTREAM. Contributed by Nikos Mavrogiannopoulos.

        Optimizations:

        * ARM assembly code for several additional algorithms,
          including AES, Salsa20, and the SHA family of hash
          functions.

        * x86_64 assembly for SHA256, SHA512, and SHA3. (SHA3 assembly
          was included in the 2.6 release, but disabled due to poor
          performance on some AMD processors. Hopefully, that
          performance problem is fixed now).

        The ARM code was tested and benchmarked on Cortex-A9. Some of
        the functions use "neon" instructions. The configure script
        decides if neon instructions can be used, and the command line
        options --enable-arm-neon and --disable-arm-neon can be used
        to override its choice. Feedback appreciated.

        The libraries are intended to be binary compatible with
        nettle-2.2 and later. The shared library names are
        libnettle.so.4.6 and libhogweed.so.2.4, with sonames still
        libnettle.so.4 and libhogweed.so.2.
2013-04-29 16:42:24 +00:00
drochner
c04ade8bb8 update to 2.6
changes:
-support for PKCS #5 PBKDF2, SHA3, GOST R 34.11-94
-bugfixes
-minor improvements
2013-03-15 18:22:03 +00:00
asau
1a433eae91 Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days. 2012-10-23 18:16:19 +00:00
chs
d2ebeaf863 update required version to 2.4, the new gnutls needs it. 2012-07-09 04:50:12 +00:00
sbd
bae873dc48 Use SET_LIBDIR to get rid of lib64 2012-01-26 23:00:22 +00:00
sbd
0fea84f4dc Convert packages with add --libdir=* to CONFIGURE_ARGS to use
GNU_CONFIGURE_LIBDIR or GNU_CONFIGURE_LIBSUBDIR.
2012-01-17 21:43:18 +00:00
wiz
559b3af444 Update to 2.4:
NEWS for the 2.4 release

	This is a bugfix release only. It turned out ripemd160 in the
	2.3 release was broken on all big-endian systems, due to a
	missing include of config.h. nettle-2.4 fixes this.

	The library is intended to be binary compatible with
	nettle-2.2 and nettle-2.3. The shared library names are
	libnettle.so.4.3 and libhogweed.so.2.1, with sonames still
	libnettle.so.4 and libhogweed.so.2.

NEWS for the 2.3 release

	* Support for the ripemd-160 hash function.

	* Generates and installs nettle.pc and hogweed.pc files, for
          use with pkg-config. Feedback appreciated. For projects
          using autoconf, the traditional non-pkg-config ways of
          detecting libraries, and setting LIBS and LDFLAGS, is still
          recommended.

	* Fixed a bug which made the testsuite fail in the GCM test on
	  certain platforms. Should not affect any documented features
	  of the library.

	* Reorganization of the code for the various Merkle-Damg
	  hash functions. Some fields in the context structs for md4,
	  md5 and sha1 have been renamed, for consistency.
	  Applications should not peek inside these structs, and the
	  ABI is unchanged.

	* In the manual, fixed mis-placed const in certain function
          prototypes.

	The library is intended to be binary compatible with
	nettle-2.2. The shared library names are libnettle.so.4.2 and
	libhogweed.so.2.1, with sonames still libnettle.so.4 and
	libhogweed.so.2.
2011-09-08 20:22:13 +00:00
tron
3d9e5ffecc Fix linking error under Mac OS X caused by duplicate definition of
a bunch of global variables.
2011-08-25 20:17:25 +00:00
wiz
50cacd0bcf Update to 2.2. Update LICENSE (see below).
NEWS for the 2.2 release

	Licensing change:

	* Relicensed as LGPL v2.1 or later (user's option).

	* Replaced blowfish and serpent implementation. New code is
          based on the LGPLed code in libgcrypt.

	New features:

	* Support for Galois/Counter Mode (GCM).

	* New interface for enumerating (most) available algorithms,
	  contributed by Daniel Kahn Gillmor.

	* New tool nettle-hash. Can generate hash digests using any
	  supported hash function, with output compatible with md5sum
	  and friends from GNU coreutils. Checking (like md5sum -c)
	  not yet implemented.

	Bug fixes:

	* The old serpent code had a byte order bug (introduced by
	  yours truly about ten years ago). New serpent implementation
	  does not interoperate with earlier versions of nettle.

	* Fixed ABI-dependent libdir default for Linux-based systems
	  which do not follow the Linux File Hierarchy Standard, e.g.,
	  Debian GNU/Linux.

	Optimizations:

	* x86_64 implemention of serpent.

	* x86_64 implemention of camellia.

	* Optimized memxor using word rather than byte operations.
          Both generic C and x86_64 assembler.

	* Eliminated a memcpy for in-place CBC decrypt.

	Miscellaneous:

	* In command line tools, no longer support -? for requesting
          help, since using it without shell quoting is a dangerous
          habit. Use long option --help instead.

	The shared library names are libnettle.so.4.1 and
	libhogweed.so.2.1, with sonames libnettle.so.4 and
	libhogweed.so.2.
2011-08-22 15:09:21 +00:00
alnsn
e5cee11ab4 pass --libdir to ./configure to fix lib64 vs lib confusion on linux 2011-05-06 19:30:13 +00:00
adam
b1b4ab80d8 Fix building with Clang 2011-05-02 21:27:15 +00:00
adam
ccb449e062 buildlink3.mk depends on gmp, even when includes are needed; use MAJOR/MINOR for linking libraries 2011-04-26 09:54:55 +00:00
adam
26f46192e6 Actually, prefer gm4 2011-04-26 09:39:02 +00:00
adam
40ef3874e4 Nettle is a cryptographic library that is designed to fit easily in more
or less any context: In crypto toolkits for object-oriented languages
(C++, Python, Pike, ...), in applications like LSH or GNUPG, or even in
kernel space. In most contexts, you need more than the basic
cryptographic algorithms, you also need some way to keep track of available
algorithms, their properties and variants. You often have some algorithm
selection process, often dictated by a protocol you want to implement.

And as the requirements of applications differ in subtle and not so
subtle ways, an API that fits one application well can be a pain to use
in a different context. And that is why there are so many different
cryptographic libraries around.

Nettle tries to avoid this problem by doing one thing, the low-level
crypto stuff, and providing a simple but general interface to it.
In particular, Nettle doesn't do algorithm selection. It doesn't do
memory allocation. It doesn't do any I/O.

The idea is that one can build several application and context specific
interfaces on top of Nettle, and share the code, test cases, benchmarks,
documentation, etc. Examples are the Nettle module for the Pike
language, and LSH, which both use an object-oriented abstraction on top
of the library.
2011-04-26 08:59:33 +00:00