Alex Gaynor | 1abfac7 | 2013-08-07 12:59:04 -0700 | [diff] [blame] | 1 | Architecture |
| 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 Gaynor | 1abfac7 | 2013-08-07 12:59:04 -0700 | [diff] [blame] | 11 | * ``cryptography``: This package contains higher level recipes, for example |
Alex Gaynor | 9e3c250 | 2013-08-07 12:59:44 -0700 | [diff] [blame] | 12 | "encrypt and then MAC". This is implemented on top of |
Donald Stufft | f04317a | 2013-10-27 16:44:30 -0400 | [diff] [blame] | 13 | ``cryptography.hazmat.primitives``. |
Donald Stufft | ce0d781 | 2013-10-27 16:52:33 -0400 | [diff] [blame] | 14 | * ``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. |