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 | |
Hynek Schlawack | 5e7926f | 2013-08-08 08:46:44 +0200 | [diff] [blame] | 11 | * ``cryptography.bindings``: This package contains bindings to low level |
| 12 | cryptographic libraries. Our initial target will be OpenSSL. |
Alex Gaynor | 1abfac7 | 2013-08-07 12:59:04 -0700 | [diff] [blame] | 13 | * ``cryptography.primitives``: This packages contains low level algorithms, |
Alex Gaynor | 9e3c250 | 2013-08-07 12:59:44 -0700 | [diff] [blame] | 14 | things like ``AES`` or ``SHA1``. This is implemented on top of |
Hynek Schlawack | 5e7926f | 2013-08-08 08:46:44 +0200 | [diff] [blame] | 15 | ``cryptography.bindings``. |
Alex Gaynor | 1abfac7 | 2013-08-07 12:59:04 -0700 | [diff] [blame] | 16 | * ``cryptography``: This package contains higher level recipes, for example |
Alex Gaynor | 9e3c250 | 2013-08-07 12:59:44 -0700 | [diff] [blame] | 17 | "encrypt and then MAC". This is implemented on top of |
| 18 | ``cryptography.primitives``. |