tag:github.com,2008:https://github.com/ARMmbed/mbed-crypto/releasesRelease notes from mbed-crypto2020-03-23T14:11:04Ztag:github.com,2008:Repository/138151558/mbedcrypto-3.1.0+renesas.12020-03-23T14:11:04Zmbedcrypto-3.1.0+renesas.1<p>Unofficial release based on mbed-crypto 3.1.0 with Renesas unreviewed…</p>danh-armtag:github.com,2008:Repository/138151558/mbedcrypto-3.1.0+renesas.02020-03-16T16:26:28Zmbedcrypto-3.1.0+renesas.0<p>Unofficial release based on mbed-crypto 3.1.0 with Renesas unreviewed…</p>danh-armtag:github.com,2008:Repository/138151558/mbedcrypto-2.0.0+renesas.02020-03-04T18:13:21Zmbedcrypto-2.0.0+renesas.0<p>Unofficial release based on mbed-crypto 2.0 with Renesas unreviewed c…</p>danh-armtag:github.com,2008:Repository/138151558/mbedcrypto-3.1.02020-02-21T09:39:22ZMbed Crypto 3.1.0<h2>Introduction</h2>
<p>Mbed Crypto 3.1.0 has now been released. This release brings fixes for a security issue, as described in more detail in our <a href="https://tls.mbed.org/tech-updates/security-advisories/mbedtls-security-advisory-2020-02" rel="nofollow">security advisory</a>.</p>
<p>The Mbed cryptography library is a reference implementation of the cryptography interface of the Arm Platform Security (PSA) architecture. Note that while this library is versioned as 3.1.0, the PSA APIs are under development and subject to change based on feedback. The next release of Mbed Crypto may not provide backwards compatibility with this release.</p>
<h2>Security</h2>
<ul>
<li>Fix potential memory overread when performing an ECDSA signature operation. The overread only happens with cryptographically low probability (of the order of 2^-n where n is the bitsize of the curve) unless the RNG is broken, and could result in information disclosure or denial of service (application crash or extra resource consumption). Found by Auke Zeilstra and Peter Schwabe, using static analysis.</li>
<li>To avoid a side channel vulnerability when parsing an RSA private key, read all the CRT parameters from the DER structure rather than reconstructing them. Found by Alejandro Cabrera Aldaya and Billy Bob Brumley. Reported and fix contributed by Jack Lloyd.</li>
</ul>
<h2>Features</h2>
<ul>
<li>The new build option MBEDTLS_SHA512_NO_SHA384 allows building SHA-512 support without SHA-384.</li>
</ul>
<h2>API Changes</h2>
<ul>
<li>Change the encoding of key types and curves in the PSA API. The new values are aligned with the upcoming release of the PSA Crypto API specification version 1.0.0. The main change which may break some existing code is that elliptic curve key types no longer encode the exact curve: a psa_ecc_curve_t or psa_key_type_t value only encodes a curve family and the key size determines the exact curve (for example, PSA_ECC_CURVE_SECP_R1 with 256 bits is P256R1).</li>
</ul>
<h2>Bugfix</h2>
<ul>
<li>Fix a possible error code mangling in psa_mac_verify_finish() when a cryptographic accelerator fails.</li>
<li>Fix a bug in mbedtls_pk_parse_key() that would cause it to accept some RSA keys that would later be rejected by functions expecting private keys. Found by Catena cyber using oss-fuzz (issue 20467).</li>
<li>Fix a bug in mbedtls_pk_parse_key() that would cause it to accept some RSA keys with invalid values by silently fixing those values.</li>
</ul>
<h2>Who should update</h2>
<p>We recommend all affected users should update to take advantage of the bug fixes contained in this release at an appropriate point in their development lifecycle.</p>yanescatag:github.com,2008:Repository/138151558/mbedcrypto-3.0.12020-02-21T09:39:43ZMbed Crypto 3.0.1<h2>Introduction</h2>
<p>Mbed Crypto 3.0.1 has now been released. This release brings fixes for a security issue, as described in more detail in our <a href="https://tls.mbed.org/tech-updates/security-advisories/mbedtls-security-advisory-2019-12" rel="nofollow">security advisory</a>.</p>
<p>The Mbed cryptography library is a reference implementation of the cryptography interface of the Arm Platform Security (PSA) architecture. Note that while this library is versioned as 3.0.1, the PSA APIs are under development and subject to change based on feedback. The next release of Mbed Crypto may not provide backwards compatibility with this release.</p>
<h2>Default behavior changes</h2>
<ul>
<li>The initial seeding of a CTR_DRBG instance makes a second call to the entropy function to obtain entropy for a nonce if the entropy size is less than 3/2 times the key size. In case you want to disable the extra call to grab entropy, you can call mbedtls_ctr_drbg_set_nonce_len() to force the nonce length to 0.</li>
</ul>
<h2>Security</h2>
<ul>
<li>Enforce that mbedtls_entropy_func() gathers a total of MBEDTLS_ENTROPY_BLOCK_SIZE bytes or more from strong sources. In the default configuration, on a platform with a single entropy source, the entropy module formerly only grabbed 32 bytes, which is good enough for security if the source is genuinely strong, but less than the expected 64 bytes (size of the entropy accumulator).</li>
<li>Zeroize local variables in mbedtls_internal_aes_encrypt() and mbedtls_internal_aes_decrypt() before exiting the function. The value of these variables can be used to recover the last round key. To follow best practice and to limit the impact of buffer overread vulnerabilities (like Heartbleed) we need to zeroize them before exiting the function. Issue reported by Tuba Yavuz, Farhaan Fowze, Ken (Yihang) Bai, Grant Hernandez, and Kevin Butler (University of Florida) and Dave Tian (Purdue University).</li>
<li>Fix side channel vulnerability in ECDSA. Our bignum implementation is not constant time/constant trace, so side channel attacks can retrieve the blinded value, factor it (as it is smaller than RSA keys and not guaranteed to have only large prime factors), and then, by brute force, recover the key. Reported by Alejandro Cabrera Aldaya and Billy Brumley.</li>
<li>Fix side channel vulnerability in ECDSA key generation. Obtaining precise timings on the comparison in the key generation enabled the attacker to learn leading bits of the ephemeral key used during ECDSA signatures and to recover the private key. Reported by Jeremy Dubeuf.</li>
<li>Catch failure of AES functions in mbedtls_ctr_drbg_random(). Uncaught failures could happen with alternative implementations of AES. Bug reported and fix proposed by Johan Uppman Bruce and Christoffer Lauri, Sectra.</li>
</ul>
<h2>Features</h2>
<ul>
<li>Key derivation inputs in the PSA API can now either come from a key object or from a buffer regardless of the step type.</li>
<li>The CTR_DRBG module can grab a nonce from the entropy source during the initial seeding. The default nonce length is chosen based on the key size to achieve the security strength defined by NIST SP 800-90A. You can change it with mbedtls_ctr_drbg_set_nonce_len().</li>
<li>Add ENUMERATED tag support to the ASN.1 module. Contributed by msopiha-linaro.</li>
</ul>
<h2>API changes</h2>
<ul>
<li>In the PSA API, forbid zero-length keys. To pass a zero-length input to a key derivation function, use a buffer instead (this is now always possible).</li>
<li>Rename psa_asymmetric_sign() to psa_sign_hash() and psa_asymmetric_verify() to psa_verify_hash().</li>
</ul>
<h2>Bugfix</h2>
<ul>
<li>Fix a buffer overflow in the PSA HMAC code when using a long key with an unsupported algorithm.</li>
<li>Fix mbedtls_asn1_get_int to support any number of leading zeros. Credit to OSS-Fuzz for finding a bug in an intermediate version of the fix.</li>
<li>Fix mbedtls_asn1_get_bitstring_null to correctly parse bitstrings of at most 2 bytes.</li>
<li>mbedtls_ctr_drbg_set_entropy_len() and mbedtls_hmac_drbg_set_entropy_len() now work if you call them before mbedtls_ctr_drbg_seed() or mbedtls_hmac_drbg_seed().</li>
</ul>
<h2>Changes</h2>
<ul>
<li>Remove the technical possibility to define custom mbedtls_md_info structures, which was exposed only in an internal header.</li>
<li>psa_close_key(0) and psa_destroy_key(0) now succeed (doing nothing, as before).</li>
<li>Variables containing error codes are now initialized to an error code rather than success, so that coding mistakes or memory corruption tends to cause functions to return this error code rather than a success. There are no known instances where this changes the behavior of the library: this is merely a robustness improvement.</li>
<li>Remove a useless call to mbedtls_ecp_group_free(). Contributed by Alexander Krizhanovsky</li>
<li>Speed up PBKDF2 by caching the digest calculation. Contributed by Jack Lloyd and Fortanix Inc</li>
<li>Small performance improvement of mbedtls_mpi_div_mpi(). Contributed by Alexander Krizhanovsky</li>
</ul>
<h2>Who should update</h2>
<p>We recommend all affected users should update to take advantage of the bug fixes contained in this release at an appropriate point in their development lifecycle.</p>yanescatag:github.com,2008:Repository/138151558/mbedcrypto-3.0.02020-01-15T18:29:58Zmbedcrypto-3.0.0<p>Mbed Crypto 3.0.0</p>Patatertag:github.com,2008:Repository/138151558/mbedcrypto-3.0.0d02019-12-20T11:37:58Zmbedcrypto-3.0.0d0<p>Mbed Crypto 3.0.0d0</p>Patatertag:github.com,2008:Repository/138151558/mbedcrypto-2.1.0d02019-10-15T12:58:00Zmbedcrypto-2.1.0d0<p>Mbed Crypto 2.1.0d0</p>Patatertag:github.com,2008:Repository/138151558/mbedcrypto-2.0.02019-09-18T13:00:38ZMbed Crypto 2.0.0<h2>Introduction</h2>
<p>Mbed Crypto 2.0.0 has now been released.</p>
<p>The Mbed cryptography library is a reference implementation of the cryptography interface of the Arm Platform Security (PSA) architecture. Note that while this library is versioned as 2.0.0, the PSA APIs are under development and subject to change based on feedback. The next release of Mbed Crypto may not provide backwards compatibility with this release.</p>
<h2>Security</h2>
<ul>
<li>Fix a missing error detection in ECJPAKE. This could have caused a predictable shared secret if a hardware accelerator failed and the other side of the key exchange had a similar bug.</li>
<li>When writing a private EC key, use a constant size for the private value, as specified in RFC 5915. Previously, the value was written as an ASN.1 INTEGER, which caused the size of the key to leak about 1 bit of information on average and could cause the value to be 1 byte too large for the output buffer.</li>
<li>The deterministic ECDSA calculation reused the scheme's HMAC-DRBG to implement blinding. Because of this for the same key and message the same blinding value was generated. This reduced the effectiveness of the countermeasure and leaked information about the private key through side channels. Reported by Jack Lloyd.</li>
</ul>
<h2>Features</h2>
<ul>
<li>New implementation of X25519 (ECDH using Curve25519) from Project Everest (<a href="https://project-everest.github.io/" rel="nofollow">https://project-everest.github.io/</a>). It can be enabled at compile time with <code>MBEDTLS_ECDH_VARIANT_EVEREST_ENABLED</code>. This implementation is formally verified and significantly faster, but is only supported on x86 platforms (32-bit and 64-bit) using GCC, Clang or Visual Studio. Contributed by Christoph Wintersteiger from Microsoft Research.</li>
</ul>
<h2>API Changes</h2>
<ul>
<li>The new function <code>mbedtls_ecdsa_sign_det_ext()</code> is similar to <code>mbedtls_ecdsa_sign_det()</code> but allows passing an external RNG for the purpose of blinding.</li>
<li>The new function <code>mbedtls_ecp_gen_privkey()</code> allows to generate a private key without generating the public part of the pair.</li>
</ul>
<h3>PSA Crypto API 1.0b3 API breaking changes</h3>
<p>Mbed Crypto tracks the upstream PSA Crypto API, so a number of breaking changes come in this release. Details on migration available in the section "Migrating from Mbed Crypto 1.x" below.</p>
<ul>
<li>Use key attributes structures for key creation</li>
<li>Make generating or importing a key also allocate the key</li>
<li>Update key derivation functions to accept chunked inputs</li>
<li>Update key agreement API</li>
<li>Align PSA Crypto error codes with other PSA error codes</li>
<li>Rename functions for consistency with each other and the rest of PSA</li>
<li>Be consistent in use of stdint types</li>
</ul>
<h2>Bugfix</h2>
<ul>
<li>Fix to allow building test suites with any warning that detects unused functions. Fixes #1628.</li>
<li>Remove redundant include file in timing.c. Fixes ARMmbed/mbed-tls#2640 reported by irwir.</li>
<li>Fix Visual Studio Release x64 build configuration by inheriting PlatformToolset from the project configuration. Fixes ARMmbed/mbed-tls#1430 reported by irwir.</li>
<li>Enable Suite B with subset of ECP curves. Make sure the code compiles even if some curves are not defined. Fixes ARMmbed/mbed-tls#1591 reported by dbedev.</li>
<li>Fix misuse of signed arithmetic in the HAVEGE module. ARMmbed/mbed-tls#2598</li>
<li>Update test certificates that were about to expire. Reported by Bernhard M. Wiedemann in ARMmbed/mbed-tls#2357.</li>
<li>Fix the build on ARMv5TE in ARM mode to not use assembly instructions that are only available in Thumb mode. Fix contributed by Aurelien Jarno in ARMmbed/mbed-tls#2169.</li>
<li>Fix propagation of restart contexts in restartable EC operations. This could previously lead to segmentation faults in builds using an address-sanitizer and enabling but not using MBEDTLS_ECP_RESTARTABLE.</li>
<li>Fix memory leak in in mpi_miller_rabin(). Contributed by Jens Wiklander <a href="mailto:jens.wiklander@linaro.org">jens.wiklander@linaro.org</a> in ARMmbed/mbed-tls#2363</li>
<li>Fix bug in endianness conversion in bignum module. This lead to functionally incorrect code on bigendian systems which don't have <strong>BYTE_ORDER</strong> defined. Reported by Brendan Shanks. Fixes ARMmbed/mbed-tls#2622.</li>
<li>Fix undefined memset(NULL) call in test_suite_nist_kw.</li>
<li>Make NV seed test support MBEDTLS_ENTROPY_FORCE_SHA256.</li>
<li>Zero length buffer check for undefined behavior in mbedtls_platform_zeroize(). Fixes <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="408804473" data-permission-text="Title is private" data-url="https://github.com/ARMmbed/mbed-crypto/issues/49" data-hovercard-type="issue" data-hovercard-url="/ARMmbed/mbed-crypto/issues/49/hovercard" href="https://github.com/ARMmbed/mbed-crypto/issues/49">#49</a>.</li>
</ul>
<h2>Changes</h2>
<ul>
<li>Make it easier to define MBEDTLS_PARAM_FAILED as assert (which config.h suggests). ARMmbed/mbed-tls#2671</li>
<li>Make <code>make clean</code> clean all programs always. Fixes ARMmbed/mbed-tls#1862.</li>
</ul>
<h2>Who should update</h2>
<p>We recommend all affected users should update to take advantage of the bug fixes contained in this release at an appropriate point in their development lifecycle.</p>
<h2>Migrating from Mbed Crypto 1.x</h2>
<h4>Renaming of key pair names</h4>
<p>Replace <code>KEY_PAIR</code> in names that would have used <code>KEYPAIR</code> in the previous API version. For example, <code>PSA_KEY_TYPE_ECC_KEY_PAIR</code> replaces <code>PSA_KEY_TYPE_ECC_KEYPAIR</code>.</p>
<h4>Using persistent keys</h4>
<p>Use <code>psa_open_key()</code> to open a persistent key. Previously, volatile keys could also be opened. With PSA Crypto API 1.0b3, keys are implicitly opened for you upon import, generation, or derivation.</p>
<div class="highlight highlight-source-c notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="psa_status_t psa_open_key(psa_key_id_t id,
psa_key_handle_t *handle);"><pre><span class="pl-smi">psa_status_t</span> <span class="pl-en">psa_open_key</span>(<span class="pl-smi">psa_key_id_t</span> <span class="pl-s1">id</span>,
<span class="pl-smi">psa_key_handle_t</span> <span class="pl-c1">*</span><span class="pl-s1">handle</span>);</pre></div>
<p>Only persistent keys can be opened, so there is no need to pass the lifetime anymore.</p>
<p>It is no longer necessary to call <code>psa_create_key()</code> to make a key persistent. A key is persistent if it is created with a lifetime other than <code>PSA_KEY_LIFETIME_VOLATILE</code>. As part of key creation, use <code>psa_set_key_id()</code> to set both the key's persistent identifier and to set the lifetime to persistent and then call the key creation routine: like psa_generate_key() or psa_import_key()</p>
<table>
<thead>
<tr>
<th>Old</th>
<th>New</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>psa_open_key()</code></td>
<td>Only use for opening previously created persistent keys</td>
</tr>
<tr>
<td><code>psa_create_key()</code></td>
<td><code>psa_set_key_id()</code> Keys with IDs are made persistent implicitly upon creation</td>
</tr>
</tbody>
</table>
<h4>Allocating keys</h4>
<p>Key creation will implicitly allocate resources as necessary, so <code>psa_allocate_key()</code> has been removed from the API and is no longer needed.</p>
<table>
<thead>
<tr>
<th>Old</th>
<th>New</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>psa_allocate_key()</code></td>
<td>Not necessary. Delete calls to <code>psa_allocate_key()</code>.</td>
</tr>
</tbody>
</table>
<h4>Importing keys</h4>
<p>Previously, you had create a policy structure and pass many function arguments to communicate the properties you wanted the imported key to have. Now, you describe them entirely within the attributes structure, passing only the attributes and data to <code>psa_import_key()</code>.</p>
<table>
<thead>
<tr>
<th>Old</th>
<th>New</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>psa_key_policy_init()</code></td>
<td><code>psa_key_attributes_init()</code></td>
</tr>
<tr>
<td><code>psa_key_policy_set_usage()</code></td>
<td><code>psa_set_key_usage_flags()</code>, <code>psa_set_key_algorithm()</code></td>
</tr>
<tr>
<td>Pass key type to <code>psa_import_key()</code></td>
<td><code>psa_set_key_type()</code></td>
</tr>
<tr>
<td><code>psa_set_key_policy()</code></td>
<td>Pass the attributes to psa_import_key()</td>
</tr>
<tr>
<td><code>psa_import_key()</code></td>
<td><code>psa_import_key()</code></td>
</tr>
</tbody>
</table>
<h4>Generating keys</h4>
<p>Previously, you had create a policy structure and pass many function arguments to communicate the properties you wanted the imported key to have. Now, you describe them entirely within the attributes structure, passing only the attributes and data to <code>psa_generate_key()</code>.</p>
<table>
<thead>
<tr>
<th>Old</th>
<th>New</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>psa_key_policy_init()</code></td>
<td><code>psa_key_attributes_init()</code></td>
</tr>
<tr>
<td><code>psa_key_policy_set_usage()</code></td>
<td><code>psa_set_key_usage_flags()</code>, <code>psa_set_key_algorithm()</code></td>
</tr>
<tr>
<td>Pass key type to <code>psa_import_key()</code></td>
<td><code>psa_set_key_type()</code></td>
</tr>
<tr>
<td><code>psa_set_key_policy()</code></td>
<td>Pass the attributes to psa_import_key()</td>
</tr>
<tr>
<td><code>psa_generate_key()</code></td>
<td><code>psa_generate_key()</code></td>
</tr>
</tbody>
</table>
<h4>Reading key policy or information</h4>
<p>What used to be two functions with many parameters each is now one function that returns the attributes in one structure, in the same format you'd use to create new keys.</p>
<table>
<thead>
<tr>
<th>Old</th>
<th>New</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>psa_get_key_policy()</code>, <code>psa_get_key_information()</code></td>
<td><code>psa_get_key_attributes()</code></td>
</tr>
</tbody>
</table>
<h4>Deriving keys</h4>
<p>The previous "generator" class of functions has been renamed to "key_derivation". The <code>psa_crypto_generator_t</code> structure was previously used to derive keys. Use of the <code>psa_key_derivation_operation_t</code> structure replaces <code>psa_crypto_generator_t</code> for deriving keys.</p>
<table>
<thead>
<tr>
<th>Old</th>
<th>New</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>psa_crypto_generator_t</code></td>
<td><code>psa_key_derivation_operation_t</code></td>
</tr>
<tr>
<td><code>psa_generator_abort()</code></td>
<td><code>psa_key_derivation_abort()</code></td>
</tr>
<tr>
<td><code>psa_get_generator_capacity()</code></td>
<td><code>psa_key_derivation_get_capacity()</code></td>
</tr>
<tr>
<td>Function parameter</td>
<td><code>psa_key_derivation_set_capacity()</code></td>
</tr>
<tr>
<td><code>psa_generator_read()</code></td>
<td><code>psa_key_derivation_output_bytes()</code></td>
</tr>
<tr>
<td>Use of generator with <code>PSA_ALG_SELECT_RAW</code></td>
<td><code>psa_raw_key_agreement()</code></td>
</tr>
<tr>
<td><code>psa_key_derivation()</code></td>
<td>Deriving keys now uses key derivation objects and consists of multiple parts. See the getting started guide for details.</td>
</tr>
</tbody>
</table>
<h4>Key agreement</h4>
<table>
<thead>
<tr>
<th>Old</th>
<th>New</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>psa_key_agreement()</code></td>
<td><code>psa_key_derivation_setup()</code>, <code>psa_key_derivation_key_agreement()</code>, <code>psa_key_derivation_output_key()</code></td>
</tr>
</tbody>
</table>
<h4>Hashing</h4>
<p>Note: Not yet implemented in Mbed Crypto 2.0.0</p>
<p>The PSA Crypto API 1.0b3 adds a few new functions to help with hashing. Specifically, functions to perform one-shot computation or comparison of hashes.</p>
<table>
<thead>
<tr>
<th>Old</th>
<th>New</th>
</tr>
</thead>
<tbody>
<tr>
<td>Many hash function calls</td>
<td><code>psa_hash_compute()</code></td>
</tr>
<tr>
<td>Many hash function calls</td>
<td><code>psa_hash_compare()</code></td>
</tr>
</tbody>
</table>
<h4>Computing or verifying a MAC</h4>
<p>Note: Not yet implemented in Mbed Crypto 2.0.0</p>
<p>The PSA Crypto API 1.0b3 adds a few new functions to help with working with MACs. Specifically, functions to perform one-shot computation or comparison of MACs.</p>
<table>
<thead>
<tr>
<th>Old</th>
<th>New</th>
</tr>
</thead>
<tbody>
<tr>
<td>Many MAC function calls</td>
<td><code>psa_mac_compute()</code></td>
</tr>
<tr>
<td>Many MAC function calls</td>
<td><code>psa_mac_verify()</code></td>
</tr>
</tbody>
</table>
<h4>Symmetric cryptography</h4>
<p>Note: Not yet implemented in Mbed Crypto 2.0.0</p>
<p>The PSA Crypto API 1.0b3 adds a few new functions to help with working with symmetric ciphers. Specifically, functions to perform one-shot encryption or decryption. The types used by <code>psa_cipher_generate_iv()</code>, <code>psa_cipher_set_iv()</code>, and <code>psa_cipher_update()</code> have changed from <code>unsigned char</code> to <code>uint8_t</code>.</p>
<table>
<thead>
<tr>
<th>Old</th>
<th>New</th>
</tr>
</thead>
<tbody>
<tr>
<td>Many cipher function calls</td>
<td><code>psa_cipher_encrypt()</code></td>
</tr>
<tr>
<td>Many cipher function calls</td>
<td><code>psa_cipher_decrypt()</code></td>
</tr>
</tbody>
</table>
<h4>Authenticated encryption</h4>
<p>Note: Not yet implemented in Mbed Crypto 2.0.0</p>
<p>The PSA Crypto API 1.0b3 introduces multi-part authenticated encryption functions. The original one-shot AEAD functions still remain and aren't being replaced.</p>
<h5>New functions for multipart AEAD</h5>
<ul>
<li>psa_aead_operation_init()</li>
<li>psa_aead_encrypt_setup()</li>
<li>psa_aead_decrypt_setup()</li>
<li>psa_aead_generate_nonce()</li>
<li>psa_aead_set_nonce()</li>
<li>psa_aead_set_lengths()</li>
<li>psa_aead_update_ad()</li>
<li>psa_aead_update()</li>
<li>psa_aead_finish()</li>
<li>psa_aead_verify()</li>
<li>psa_aead_abort()</li>
</ul>
<h4>Mbed Crypto entropy injection</h4>
<p>Use of <code>uint8_t</code> replaces <code>unsigned char</code> in <code>mbedtls_psa_inject_entropy()</code>. The macro <code>MBEDTLS_PSA_INJECT_ENTROPY</code> replaces <code>MBEDTLS_PSA_ENTROPY_INJECTION</code>.</p>Patatertag:github.com,2008:Repository/138151558/mbedcrypto-2.0.0d22019-09-06T07:58:52Zmbedcrypto-2.0.0d2<p>Mbed Crypto 2.0.0d2</p>Patater