blob: 983a44e960c83064a1fc18d9a31cbfce31756bb6 [file] [log] [blame]
Alex Gaynoraf82d5e2013-10-29 17:07:24 -07001.. hazmat::
Donald Stufftd8f01182013-10-27 16:59:56 -04002
Alex Gaynor8f42fe42013-12-24 13:15:52 -08003Backends
Donald Stuffte51fb932013-10-27 17:26:17 -04004========
5
Alex Gaynor8f42fe42013-12-24 13:15:52 -08006Getting a Backend
7-----------------
David Reidd5d085e2013-11-25 09:45:52 -08008
Alex Gaynorf8796b12013-12-13 20:28:55 -08009.. currentmodule:: cryptography.hazmat.backends
David Reidd5d085e2013-11-25 09:45:52 -080010
11``cryptography`` aims to support multiple backends to ensure it can provide
12the widest number of supported cryptographic algorithms as well as supporting
13platform specific implementations.
14
Alex Gaynor8f42fe42013-12-24 13:15:52 -080015You can get the default backend by calling :func:`~default_backend`.
David Reidd5d085e2013-11-25 09:45:52 -080016
17The default backend will change over time as we implement new backends and
18the libraries we use in those backends changes.
19
20
21.. function:: default_backend()
22
23 :returns: An object that provides at least
24 :class:`~interfaces.CipherBackend`, :class:`~interfaces.HashBackend`, and
25 :class:`~interfaces.HMACBackend`.
26
Alex Gaynor8f42fe42013-12-24 13:15:52 -080027Individual Backends
28-------------------
29
30.. toctree::
31 :maxdepth: 1
32
33 openssl
Paul Kehrerb74658e2014-01-19 17:09:22 -060034 commoncrypto
Alex Gaynor7ceacba2014-02-03 15:50:03 -080035 multibackend
Alex Gaynor8f42fe42013-12-24 13:15:52 -080036 interfaces