Merge branch 'upstream' into tizen
[platform/upstream/nettle.git] / README
1 What is GNU Nettle? A quote from the introduction in the Nettle Manual:
2
3   Nettle is a cryptographic library that is designed to fit easily in more
4   or less any context: In crypto toolkits for object-oriented languages
5   (C++, Python, Pike, ...), in applications like LSH or GNUPG, or even in
6   kernel space. In most contexts, you need more than the basic
7   cryptographic algorithms, you also need some way to keep track of available
8   algorithms, their properties and variants. You often have some algorithm
9   selection process, often dictated by a protocol you want to implement.
10   
11   And as the requirements of applications differ in subtle and not so
12   subtle ways, an API that fits one application well can be a pain to use
13   in a different context. And that is why there are so many different
14   cryptographic libraries around.
15   
16   Nettle tries to avoid this problem by doing one thing, the low-level
17   crypto stuff, and providing a simple but general interface to it.
18   In particular, Nettle doesn't do algorithm selection. It doesn't do
19   memory allocation. It doesn't do any I/O.
20   
21   The idea is that one can build several application and context specific
22   interfaces on top of Nettle, and share the code, test cases, benchmarks,
23   documentation, etc. Examples are the Nettle module for the Pike
24   language, and LSH, which both use an object-oriented abstraction on top
25   of the library.
26
27 GNU Nettle is free software; you can redistribute it and/or modify it
28 under the terms contained in the files COPYING* (see the manual for
29 information on how these licenses apply).
30
31 If you have downloaded a Nettle release, build it with the usual
32 ./configure && make && make check && make install (see the INSTALL
33 file for further instructions).
34
35 You can also get Nettle from git, see
36 http://www.lysator.liu.se/~nisse/nettle/ for current instructions. In
37 particular, you need to run the ./.bootstrap script after checkout and
38 before running ./configure.
39
40 Read the manual. Mail me if you have any questions or suggestions.
41
42 You may want to subscribe to the nettle-bugs mailing list. See
43 <URL: http://lists.lysator.liu.se/mailman/listinfo/nettle-bugs>.
44
45
46 Happy hacking,
47 /Niels Möller <nisse@lysator.liu.se>