blob: 4cf639c2581662ddfe713e121a32ef3d5c8ac4f7 [file] [log] [blame]
Alex Gaynor1abfac72013-08-07 12:59:04 -07001Architecture
2============
3
4.. warning::
5
6 Because ``cryptography`` is so young, much of this document is
7 aspirational, rather than documentation.
8
9``cryptography`` has three different layers:
10
Alex Gaynor1abfac72013-08-07 12:59:04 -070011* ``cryptography``: This package contains higher level recipes, for example
Alex Gaynor9e3c2502013-08-07 12:59:44 -070012 "encrypt and then MAC". This is implemented on top of
Donald Stufftf04317a2013-10-27 16:44:30 -040013 ``cryptography.hazmat.primitives``.
Donald Stufftce0d7812013-10-27 16:52:33 -040014* ``cryptography.hazmat.primitives``: This packages contains low level
15 algorithms, things like ``AES`` or ``SHA1``. This is implemented on top of
16 ``cryptography.hazmat.bindings``.
17* ``cryptography.hazmat.bindings``: This package contains bindings to low level
18 cryptographic libraries. Our initial target will be OpenSSL.