blob: aec7a1e0d4bc095b713cfbd95beda1399d4937bc [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 Stapletonc5fffd32014-03-18 15:29:00 +00006Getting a backend
Alex Gaynor8f42fe42013-12-24 13:15:52 -08007-----------------
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 Stapletonc5fffd32014-03-18 15:29:00 +000027Individual backends
Alex Gaynor8f42fe42013-12-24 13:15:52 -080028-------------------
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