Nettle - a low-level cryptographic library

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.


A complete manual is included if you download the Nettle source code. You can also read the manual online.


Get the latest version by http or ftp.

Language bindings

I'm aware of nettle-bindings for the following higher-level languages.

An object-oriented interpreted language with C-like syntax. Nettle bindings are included with the official distribution.
Bindings for the Postgres database, by Ron Peterson
R6RS Scheme
Scheme bindings by Marco Maggi, supporting multiple R6RS implementations.
Included in the chiark-tcl debian package by Ian Jackson (not sure if/how it's distributed outside of debian).
Mail me for corrections or additions to this list.

CVS access

As some shared but crucial files are not stored in the Nettle corner of the CVS repository, the recommended way of CVS access is to check out the entire LSH tree, as per the instructions at the LSH home page, run the top-level ./.bootstrap script (which sets up a few important symlinks and runs .bootstrap scripts in subdirectories), and then descend into the nettle directory for a standard ./configure && make there.


Send mail to the nettle-bugs mailinglist or directly to me at Niels Möller <> if you have any questions.