# The security/libnettle port

## libnettle-2.4 – cryptographic library

## Description

    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.

WWW: http://www.lysator.liu.se/~nisse/nettle/

Categories:
  devel security

## Library dependencies

- devel/gmp

## Build dependencies

- devel/gmake
- devel/m4

## Run dependencies