blob: 7b394950e82cc5d6f1a398db726ea234c75c75f5 [file] [log] [blame]
Architecture
============
.. warning::
Because ``cryptography`` is so young, much of this document is
aspirational, rather than documentation.
``cryptography`` has three different layers:
* ``cryptography.c``: This package contains bindings to low level cryptographic
libraries. Our initial target will be OpenSSL.
* ``cryptography.primitives``: This packages contains low level algorithms,
things like ``AES`` or ``SHA1``. This is implemented on top of
``cryptography.c``.
* ``cryptography``: This package contains higher level recipes, for example
"encrypt and then MAC". This is implemented on top of
``cryptography.primitives``.