blob: dc6f3ebf1898ba9bf6ea79ee068fe3e9aa7ed8b6 [file] [log] [blame]
Alex Gaynor8c9dcb32013-11-03 13:10:57 -08001Glossary
2========
3
4.. glossary::
Alex Gaynor2d160122014-01-02 09:41:24 -08005 :sorted:
Alex Gaynor8c9dcb32013-11-03 13:10:57 -08006
7 plaintext
8 User-readable data you care about.
9
10 ciphertext
11 The encoded data, it's not user readable. Potential attackers are able
12 to see this.
13
14 encryption
15 The process of converting plaintext to ciphertext.
16
17 decryption
18 The process of converting ciphertext to plaintext.
19
20 key
21 Secret data is encoded with a function using this key. Sometimes
Alex Gaynora0516bf2013-11-03 13:20:41 -080022 multiple keys are used. These **must** be kept secret, if a key is
23 exposed to an attacker, any data encrypted with it will be exposed.
Alex Gaynor8c9dcb32013-11-03 13:10:57 -080024
25 symmetric cryptography
26 Cryptographic operations where encryption and decryption use the same
27 key.
28
Alex Gaynor049a3682014-02-17 13:21:39 -080029 public-key cryptography
Alex Gaynor8c9dcb32013-11-03 13:10:57 -080030 asymmetric cryptography
31 Cryptographic operations where encryption and decryption use different
Alex Gaynor049a3682014-02-17 13:21:39 -080032 keys. There are separate encryption and decryption keys. Typically
33 encryption is performed using a :term:`public key`, and it can then be
34 decrypted using a :term:`private key`. Asymmetric cryptography can also
35 be used to create signatures, which can be generated with a
36 :term:`private key` and verified with a :term:`public key`.
37
38 public key
39 This is one of two keys involved in :term:`public-key cryptography`. It
Alex Gaynor2c89df52014-02-17 13:30:16 -080040 can be used to encrypt messages for someone possessing the
41 corresponding :term:`private key` and to verify signatures created with
42 the corresponding :term:`private key`. This can be distributed
43 publicly, hence the name.
Alex Gaynor049a3682014-02-17 13:21:39 -080044
45 private key
46 This is one of two keys involved in :term:`public-key cryptography`. It
47 can be used to decrypt messages which were encrypted with the
Alex Gaynor2c89df52014-02-17 13:30:16 -080048 corresponding :term:`public key`, as well as to create signatures,
49 which can be verified with the corresponding :term:`public key`. These
Alex Gaynor049a3682014-02-17 13:21:39 -080050 **must** be kept secret, if they are exposed, all encrypted messages
51 are compromised, and an attacker will be able to forge signatures.
Alex Gaynor953ebf82013-12-08 10:28:30 -080052
53 authentication
54 The process of verifying that a message was created by a specific
55 individual (or program). Like encryption, authentication can be either
56 symmetric or asymmetric. Authentication is necessary for effective
57 encryption.
58
Alex Gaynor2d160122014-01-02 09:41:24 -080059 ciphertext indistinguishability
Alex Gaynor953ebf82013-12-08 10:28:30 -080060 This is a property of encryption systems whereby two encrypted messages
61 aren't distinguishable without knowing the encryption key. This is
62 considered a basic, necessary property for a working encryption system.
Paul Kehrerd5852cb2015-01-30 08:25:23 -060063
64 text
Paul Kehrer76c69902015-02-04 13:07:20 -060065 This type corresponds to ``unicode`` on Python 2 and ``str`` on Python
Paul Kehrer834d22f2015-02-06 11:01:07 -060066 3. This is equivalent to ``six.text_type``.