Lines Matching full:of
9 with a minimal set of standard cryptography primitives, as listed below. To better
16 security and technicalities of each cryptographic primitive are found in the
21 * Type of primitive: Hash function.
27 * Type of primitive: Message authentication code.
33 * Type of primitive: Pseudo-random number generator (256-bit strength).
39 * Type of primitive: Block cipher.
45 * Type of primitive: Encryption mode of operation.
51 * Type of primitive: Encryption mode of operation.
57 * Type of primitive: Message authentication code.
63 * Type of primitive: Authenticated encryption.
69 * Type of primitive: Pseudo-random number generator (128-bit strength).
75 * Type of primitive: Key exchange based on curve NIST p-256.
81 * Type of primitive: Digital signature based on curve NIST p-256.
88 * Minimize the code size of each cryptographic primitive. This means minimize
89 the size of a platform-independent implementation, as presented in TinyCrypt.
104 Some of these limitations are inherent to the cryptographic primitives
107 serve applications targeting constrained devices in general. Some of these
114 variety of side-channel attacks, many of them only relevant to certain
115 platforms. In this sense, instead of penalizing all library users with
124 * The number of bits_hashed in the state is not checked for overflow. Note
140 be changed in future versions of the library as there are applications
141 currently relying on this good-practice/feature of TinyCrypt.
146 PRNGs only stretch the seed into a seemingly random output of arbitrary
147 length. The security of the output is exactly equal to the
148 unpredictability of the seed.
164 * The AES-CTR mode limits the size of a data message they encrypt to 2^32
171 PRNGs only stretch the seed into a seemingly random output of arbitrary
172 length. The security of the output is exactly equal to the
173 unpredictability of the seed.
183 * AES128-CMAC mode of operation offers 64 bits of security against collision
186 collision property of AES128-CMAC, an external attacker would need the
187 cooperation of the legal user to produce an exponentially high number of
191 (allowing a new key to be set), as suggested in Appendix B of SP 800-38B.
195 * There are a few tradeoffs for the selection of the parameters of CCM mode.
196 In special, there is a tradeoff between the maximum number of invocations
197 of CCM under a given key and the maximum payload length for those
198 invocations. Both things are related to the parameter 'q' of CCM mode. The
199 maximum number of invocations of CCM under a given key is determined by
205 implications of this choice are:
216 * TinyCrypt CCM implementation accepts associated data of any length between
232 mac size greater than 8. Besides, it is emphasized that the usage of the
234 key obviously destroys the security properties of CCM mode.
251 consisting of 4 unsigned integers (as an example).
256 Examples of Applications
258 It is possible to do useful cryptography with only the given small set of
259 primitives. With this list of primitives it becomes feasible to support a range
260 of cryptography usages:
262 * Measurement of code, data structures, and other digital artifacts (SHA256);
289 the correctness of the implementations by checking the results against
292 For the case of the HMAC-PRNG, due to the necessity of performing an extensive
294 the unpredictability of the implementation by using the NIST Statistical Test
297 For the case of the EC-DH and EC-DSA implementations, most of the test vectors
298 were obtained from the site of the NIST Cryptographic Algorithm Validation