/usr/share/doc/python-pycryptodome-doc/html/_sources/src/api.rst.txt is in python-pycryptodome-doc 3.4.7-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | API documentation
-----------------
.. toctree::
:hidden:
cipher/cipher
signature/signature
hash/hash
public_key/public_key
protocol/protocol
io/io
random/random
util/util
All cryptographic functionalities are organized in sub-packages;
each sub-package is dedicated to solving a specific class of problems.
.. csv-table::
:header: Package, Description
:widths: 20, 80
:doc:`Crypto.Cipher <cipher/cipher>`, "Modules for protecting **confidentiality**
that is, for encrypting and decrypting data (example: AES)."
:doc:`Crypto.Signature <signature/signature>`, "Modules for assuring **authenticity**,
that is, for creating and verifying digital signatures of messages
(example: PKCS#1 v1.5)."
:doc:`Crypto.Hash <hash/hash>`, "Modules for creating cryptographic **digests**
(example: SHA-256)."
:doc:`Crypto.PublicKey <public_key/public_key>`, "Modules for generating, exporting or importing
*public keys* (example: RSA or ECC)."
:doc:`Crypto.Protocol <protocol/protocol>`, "Modules for faciliting secure communications
between parties, in most cases by leveraging cryptograpic primitives
from other modules (example: Shamir's Secret Sharing scheme)."
:doc:`Crypto.IO <io/io>`, "Modules for dealing with encodings commonly used
for cryptographic data (example: PEM)."
:doc:`Crypto.Random <random/random>`, "Modules for generating random data."
:doc:`Crypto.Util <util/util>`, "General purpose routines (example: XOR for byte
strings)."
In certain cases, there is some overlap between these categories.
For instance, **authenticity** is also provided by *Message Authentication Codes*,
and some can be built using digests, so they are included in the ``Crypto.Hash``
package (example: HMAC).
Also, cryptographers have over time realized that encryption without
**authentication** is often of limited value so recent ciphers found in the
``Crypto.Cipher`` package embed it (example: GCM).
*PyCryptodome* strives to maintain strong backward compatibility with the old
*PyCrypto*'s API (except for those few cases where that is harmful to security)
so a few modules don't appear where they should (example: the ASN.1 module
is under ``Crypto.Util`` as opposed to ``Crypto.IO``).
|