cryptography is a package designed to expose cryptographic primitives and recipes to Python developers.
Find a file
Paul Kehrer a3bb335b2b never trust openssl
Turns out you can't trust it to safely compute the max salt length
allowed for PSS, so now we get to do it ourselves. We also check for
whether the key size is large enough for the selected hash function
(PSS only for now, PKCS1 coming in another PR)
2014-03-19 13:31:49 -04:00
.travis Merge pull request #820 from reaperhulk/test-python34 2014-03-17 09:46:13 -07:00
cryptography never trust openssl 2014-03-19 13:31:49 -04:00
docs RSA PSS signature support 2014-03-19 13:29:40 -04:00
tests never trust openssl 2014-03-19 13:31:49 -04:00
.coveragerc add library switch for windows support 2014-01-23 20:12:23 -06:00
.gitignore Ignore build/ folder and _cffi__*'s 2014-02-27 22:05:00 +11:00
.travis.yml add python 3.4 to osx and linux builders 2014-03-17 11:16:32 -04:00
AUTHORS.rst Add GPG key fingerprint for lvh 2014-03-07 15:11:07 +01:00
CHANGELOG.rst RSA PSS signature support 2014-03-19 13:29:40 -04:00
CONTRIBUTING.rst link the CONTRIBUTING.rst to the development section of our docs 2014-03-02 09:23:46 -04:00
dev-requirements.txt add pep8-naming to pep8 tests 2014-02-24 20:38:25 -06:00
LICENSE Initial commit. Migrates over basic project files, and the OpenSSL bindings 2013-08-06 19:31:02 -07:00
MANIFEST.in don't prune static. why would you do that? 2014-02-24 12:43:44 -06:00
pytest.ini pytest marks for RSA 2014-02-08 09:21:21 -06:00
README.rst Phrase our summary better 2014-03-02 20:06:00 -08:00
setup.py We support 3.4 2014-03-17 10:22:41 -07:00
tasks.py update jenkins URL to use TLS 2014-03-15 08:24:45 -04:00
tox.ini add py34 target for python 3.4 CI 2014-03-17 07:34:02 -04:00

Cryptography
============

.. image:: https://travis-ci.org/pyca/cryptography.png?branch=master
    :target: https://travis-ci.org/pyca/cryptography

.. image:: https://coveralls.io/repos/pyca/cryptography/badge.png?branch=master
    :target: https://coveralls.io/r/pyca/cryptography?branch=master


``cryptography`` is a package which provides cryptographic recipes and
primitives to Python developers.  Our goal is for it to be your "cryptographic
standard library". It supports Python 2.6-2.7, Python 3.2+, and PyPy.

``cryptography`` includes both high level recipes, and low level interfaces to
common cryptographic algorithms such as symmetric ciphers, message digests and
key derivation functions. For example, to encrypt something with
``cryptography``'s high level symmetric encryption recipe:

.. code-block:: pycon

    >>> from cryptography.fernet import Fernet
    >>> # Put this somewhere safe!
    >>> key = Fernet.generate_key()
    >>> f = Fernet(key)
    >>> token = f.encrypt(b"A really secret message. Not for prying eyes.")
    >>> token
    '...'
    >>> f.decrypt(token)
    'A really secret message. Not for prying eyes.'

You can find more information in the `documentation`_.

Discussion
~~~~~~~~~~

If you run into bugs, you can file them in our `issue tracker`_.

We maintain a `cryptography-dev`_ mailing list for development discussion.

You can also join ``#cryptography-dev`` on Freenode to ask questions or get
involved.


.. _`documentation`: https://cryptography.io/
.. _`issue tracker`: https://github.com/pyca/cryptography/issues
.. _`cryptography-dev`: https://mail.python.org/mailman/listinfo/cryptography-dev