Getting Started ======================================== If you need to build the library first, start with :doc:`building`. Some Linux distributions include packages for Botan, so building from source may not be required on your system. .. only:: html The :ref:`genindex` and :ref:`search` may be useful to get started. .. only:: html and website You can also download this manual as a `PDF `_. Examples ---------- Some examples of usage are included in this documentation. However a better source for example code is in the implementation of the `command line interface `_, which was intentionally written to act as practical examples of usage. Books and other references ---------------------------- You should have some knowledge of cryptography *before* trying to use the library. This is an area where it is very easy to make mistakes, and where things are often subtle and/or counterintuitive. Obviously the library tries to provide things at a high level precisely to minimize the number of ways things can go wrong, but naive use will almost certainly not result in a secure system. Especially recommended are: - *Cryptography Engineering* by Niels Ferguson, Bruce Schneier, and Tadayoshi Kohno - `Security Engineering -- A Guide to Building Dependable Distributed Systems `_ by Ross Anderson - `Handbook of Applied Cryptography `_ by Alfred J. Menezes, Paul C. Van Oorschot, and Scott A. Vanstone If you're doing something non-trivial or unique, you might want to at the very least ask for review/input at a place such as the `metzdowd `_ or `randombit `_ mailing lists or the `cryptography stack exchange `_. And (if possible) pay a professional cryptographer or security company to review your design and code. .. toctree:: :maxdepth: 1 :numbered: