blob: ab5d15932b5f077c86f6c87145d5e8bc274b30aa [file] [log] [blame]
Alex Gaynor1abfac72013-08-07 12:59:04 -07001Welcome to ``cryptography``
2===========================
3
Alex Gaynor66ba6012013-10-28 10:11:21 -07004``cryptography`` is a Python library which exposes cryptographic recipes and
Alex Gaynor31df5352013-12-12 18:03:26 -08005primitives. We hope it'll be your one-stop-shop for all your cryptographic
6needs in Python.
7
8Installing
9----------
10
11We don't yet have a release on PyPI, for now you can install ``cryptography``
12directly from Github:
13
14.. code-block:: console
15
16 $ pip install git+https://github.com/pyca/cryptography
Alex Gaynorc62e91f2013-08-06 19:25:52 -070017
Alex Gaynor9f3468d2013-08-11 08:17:48 -040018Why a new crypto library for Python?
19------------------------------------
20
Alex Gaynor31df5352013-12-12 18:03:26 -080021If you've done cryptographic work in Python before, you've probably seen some
22other libraries in Python, such as *M2Crypto*, *PyCrypto*, or *PyOpenSSL*. In
23building ``cryptography`` we wanted to address a few issues we observed in the
24existing libraries:
Alex Gaynor9f3468d2013-08-11 08:17:48 -040025
Alex Gaynord8d91d42013-08-12 09:33:18 -040026* Lack of PyPy and Python 3 support.
Alex Gaynord6bef562013-08-11 09:09:28 -040027* Lack of maintenance.
Alex Gaynorec4ba732013-08-11 08:19:05 -040028* Use of poor implementations of algorithms (i.e. ones with known side-channel
Alex Gaynord6bef562013-08-11 09:09:28 -040029 attacks).
30* Lack of high level, "Cryptography for humans", APIs.
31* Absence of algorithms such as AES-GCM.
32* Poor introspectability, and thus poor testability.
Alex Gaynorf0d139a2013-08-11 09:13:27 -040033* Extremely error prone APIs, and bad defaults.
Alex Gaynor9f3468d2013-08-11 08:17:48 -040034
35
Alex Gaynor3538fdb2013-08-11 08:18:40 -040036Contents
37--------
Alex Gaynorc62e91f2013-08-06 19:25:52 -070038
39.. toctree::
Alex Gaynor1abfac72013-08-07 12:59:04 -070040 :maxdepth: 2
41
Alex Gaynor333fb102013-10-31 10:27:35 -070042 fernet
Alex Gaynor1abfac72013-08-07 12:59:04 -070043 architecture
Alex Gaynorf1a3fc02013-11-02 14:03:34 -070044 exceptions
Alex Gaynor8c9dcb32013-11-03 13:10:57 -080045 glossary
Alex Gaynorc72e63f2013-09-09 21:44:26 -070046 contributing
Alex Gaynor99b69d92013-10-19 17:52:58 -070047 security
Alex Gaynorddd90c12013-08-07 13:10:32 -070048 community
Donald Stufftf04317a2013-10-27 16:44:30 -040049
Donald Stufft0a1550e2013-10-28 12:13:33 -040050Hazardous Materials
51-------------------
Donald Stufftf04317a2013-10-27 16:44:30 -040052
53.. toctree::
54 :maxdepth: 2
55
56 hazmat/primitives/index
Alex Gaynorf8796b12013-12-13 20:28:55 -080057 hazmat/backends/index