@@ -13,6 +13,7 @@ via the corresponding primitives:
13
13
This document describes the main properties of Tink’s primitives.
14
14
15
15
General properties of all primitives:
16
+
16
17
- stateless (hence thread-safe)
17
18
- copy-safe (for the parameters)
18
19
- at least 128-bit security (with an exception for RSA)
@@ -34,9 +35,10 @@ Minimal properties:
34
35
(within the range 0..2<sup >32</sup > bytes)
35
36
- CCA2 security
36
37
- at least 80-bit authentication strength
37
- - there are no secrecy or knowledge guarantees wrt. to the value of _ associated data_
38
- - can encrypt at least 2<sup >32</sup > messages with a total of 2<sup >50</sup > bytes so that no
39
- attack has success probability larger than 2<sup >-32</sup >
38
+ - there are no secrecy or knowledge guarantees wrt. to the value of _ associated
39
+ data_
40
+ - can encrypt at least 2<sup >32</sup > messages with a total of 2<sup >50</sup >
41
+ bytes so that no attack has success probability larger than 2<sup >-32</sup >
40
42
41
43
## Streaming Authenticated Encryption with Associated Data
42
44
@@ -51,11 +53,13 @@ can be obtained fast by decrypting and authenticating just a part of the
51
53
ciphertext, without need of processing the entire ciphertext.
52
54
53
55
Encryption must be done in one session. There is no possibility to modify an
54
- existing ciphertext or to append to it (other than to reencrypt the entire file again).
56
+ existing ciphertext or to append to it (other than to reencrypt the entire file
57
+ again).
55
58
56
59
Instances of _ Streaming AEAD_ follow the OAE2 definition proposed in the
57
- paper [ "_ Online Authenticated-Encryption and its Nonce-Reuse Misuse-Resistance_ " by
58
- Hoang, Reyhanitabar, Rogaway and Vizár] ( https://eprint.iacr.org/2015/189.pdf ) .
60
+ paper [ _ "Online Authenticated-Encryption and its Nonce-Reuse Misuse-Resistance"_
61
+ by Hoang, Reyhanitabar, Rogaway and
62
+ Vizár] ( https://eprint.iacr.org/2015/189.pdf ) .
59
63
60
64
Minimal properties:
61
65
@@ -64,7 +68,8 @@ Minimal properties:
64
68
0..2<sup >31</sup >-1 bytes
65
69
- CCA2 security
66
70
- at least 80-bit authentication strength
67
- - there are no secrecy or knowledge guarantees wrt. to the value of _ associated data_
71
+ - there are no secrecy or knowledge guarantees wrt. to the value of _ associated
72
+ data_
68
73
- can encrypt at least 2<sup >32</sup > messages with a total of 2<sup >68</sup >
69
74
bytes so that no attack with up to 2<sup >32</sup > chosen plaintexts/chosen
70
75
ciphertexts has success probability larger than 2<sup >-32</sup >.
@@ -97,13 +102,14 @@ Minimal properties:
97
102
same message encrypted under 2<sup >32</sup > keys, they need to do
98
103
2<sup >128</sup > computations to obtain a single key.
99
104
- at least 80-bit authentication strength
100
- - there are no secrecy or knowledge guarantees wrt. to the value of _ associated data_
105
+ - there are no secrecy or knowledge guarantees wrt. to the value of _ associated
106
+ data_
101
107
102
108
## Message Authentication Code
103
109
104
110
MAC primitive (Message Authentication Code) provides symmetric message
105
- authentication. A sender sharing a _ symmetric key_ with a recipient can compute an
106
- _ authentication tag_ for a given message, that allows for verifying that the
111
+ authentication. A sender sharing a _ symmetric key_ with a recipient can compute
112
+ an _ authentication tag_ for a given message, that allows for verifying that the
107
113
message comes from the sender and that it has not been modified. Instances of
108
114
MAC primitive are secure against existential forgery under chosen plaintext
109
115
attack, and can be deterministic or randomized. This interface should be used
@@ -114,8 +120,9 @@ pseudorandom bytes.
114
120
Minimal properties:
115
121
116
122
- secure against existential forgery under CPA
117
- - at least 128-bit security, also in multi-user scenarios (when an attacker is not
118
- targeting a specific key, but any key from a set of up to 2<sup >32</sup > keys)
123
+ - at least 128-bit security, also in multi-user scenarios (when an attacker is
124
+ not targeting a specific key, but any key from a set of up to 2<sup >32</sup >
125
+ keys)
119
126
- at least 80-bit authentication strength
120
127
121
128
## Hybrid Encryption
@@ -149,10 +156,12 @@ must be provided for decryption operation.
149
156
150
157
A concrete implementation of hybrid encryption can implement the binding of
151
158
_ context info_ to the ciphertext in various ways, for example:
152
- - use context_info as "associated data"-input for the employed AEAD symmetric
159
+
160
+ - use context\_ info as "associated data"-input for the employed AEAD symmetric
153
161
encryption (cf. [ RFC 5116] ( https://tools.ietf.org/html/rfc5116 ) ).
154
- - use context_info as "CtxInfo"-input for HKDF (if the implementation uses HKDF
155
- as key derivation function, cf. [ RFC 5869] ( https://tools.ietf.org/html/rfc5869 ) ).
162
+ - use context\_ info as "CtxInfo"-input for HKDF (if the implementation uses HKDF
163
+ as key derivation function, cf.
164
+ [ RFC 5869] ( https://tools.ietf.org/html/rfc5869 ) ).
156
165
157
166
Minimal properties:
158
167
@@ -176,5 +185,5 @@ against adaptive chosen-message attacks.
176
185
Minimal properties:
177
186
178
187
- data to be signed can have arbitrary length
179
- - 128-bit security for EC based schemes,
180
- 112-bit security for RSA based schemes (i.e. allow 2048 bit keys)
188
+ - 128-bit security for EC based schemes
189
+ - 112-bit security for RSA based schemes (i.e. allow 2048 bit keys)
0 commit comments