Nettle (cryptographic library)

Last updated
Nettle
Developer Niels Möller
Stable release
3.10.2 [1]   OOjs UI icon edit-ltr-progressive.svg / 26 June 2025;4 months ago (26 June 2025)
Repository
Written in C
Type Cryptographic library
License LGPLv3, GPLv2, GPLv3
Website lysator.liu.se/~nisse/nettle/

Nettle is a cryptographic library designed to fit easily in a wide range of toolkits and applications. It began as a collection of low-level cryptography functions from lsh in 2001. [2] Since June 2009 (version 2.0) Nettle is a GNU package. [3]

Contents

Features

Since version 3, nettle provides

Version 3.1 introduced support for Curve25519 and EdDSA operations. [4] The public-key algorithms use GMP. [5]

Nettle is used by

License and motivation

An API which fits one application well may not work well in a different context resulting in a proliferation of cryptographic libraries designed for particular applications. Nettle is an attempt to avoid this problem by doing one thing (the low-level cryptography) and providing a simple and general interface to it. In particular, Nettle doesn't do algorithm selection, memory allocation or any I/O. Thus Nettle is intended to provide a core cryptography library upon which numerous application and context specific interfaces can be built. The code, test cases, benchmarks, documentation, etc. of these interfaces can then be shared without having to replicate Nettle's cryptographic code. [6]

Nettle is primarily licensed under a dual licence scheme comprising The GNU General Public License version 2 or later and The GNU Lesser General Public License version 3 or later. A few individual files are licensed under more permissive licences or in the public domain. The copyright notices at the top of the library's source files precisely define the licence status of particular files. [7]

The Nettle manual "is in the public domain" and may be used and reproduced freely. [8]

See also

References

  1. Niels Möller (26 June 2025). "ANNOUNCE: nettle-3.10.2" . Retrieved 26 June 2025.
  2. Niels Möller (25 Sep 2001). "ANNOUNCE: Nettle-1.0" . Retrieved 29 November 2010.
  3. Niels Möller (30 Jun 2009). "GNU Nettle cryptographic library" . Retrieved 29 November 2010.
  4. "Nettle NEWS file @ git tag nettle3.5_rc1". 15 June 2019. Retrieved 25 June 2019.
  5. Niels Möller. "Nettle Library Copyright Notice" . Retrieved 5 June 2014.
  6. Niels Möller. "Nettle Library: Introduction" . Retrieved 5 June 2014.
  7. Niels Möller. "Nettle Library Copyright Notice" . Retrieved 5 June 2014.
  8. Niels Möller. "Nettle Library Copyright Notice" . Retrieved 5 June 2014.