blob: 6d47087a0ce84fd0985a4397fae51746a65fe6f9 [file] [log] [blame]
Gilles Peskine06995ff2019-05-21 19:50:19 +02001
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
Gilles Peskine89f0a532019-01-31 11:47:57 +01005<html xmlns="http://www.w3.org/1999/xhtml">
Gilles Peskine06995ff2019-05-21 19:50:19 +02006 <head>
7 <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
8 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
9 <title>PSA Cryptography API Specification &#8212; psa_crypto_api 1.0 beta3 documentation</title>
10 <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
11 <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
12 <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
13 <script type="text/javascript" src="_static/jquery.js"></script>
14 <script type="text/javascript" src="_static/underscore.js"></script>
15 <script type="text/javascript" src="_static/doctools.js"></script>
16 <script type="text/javascript" src="_static/language_data.js"></script>
17 <link rel="index" title="Index" href="genindex.html" />
18 <link rel="search" title="Search" href="search.html" />
19 <link rel="next" title="Introduction" href="general.html" />
20
21 <link rel="stylesheet" href="_static/custom.css" type="text/css" />
22
23
24 <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
25
26 </head><body>
27
28
29 <div class="document">
30 <div class="documentwrapper">
31 <div class="bodywrapper">
32
33
34 <div class="body" role="main">
35
36 <div class="section" id="psa-cryptography-api-specification">
37<h1>PSA Cryptography API Specification</h1>
38<div class="toctree-wrapper compound">
39<ul>
40<li class="toctree-l1"><a class="reference internal" href="general.html">Introduction</a></li>
41<li class="toctree-l1"><a class="reference internal" href="general.html#design-goals">Design goals</a><ul>
42<li class="toctree-l2"><a class="reference internal" href="general.html#suitable-for-constrained-devices">Suitable for constrained devices</a></li>
43<li class="toctree-l2"><a class="reference internal" href="general.html#a-keystore-interface">A keystore interface</a></li>
44<li class="toctree-l2"><a class="reference internal" href="general.html#optional-isolation">Optional isolation</a></li>
45<li class="toctree-l2"><a class="reference internal" href="general.html#choice-of-algorithms">Choice of algorithms</a></li>
46<li class="toctree-l2"><a class="reference internal" href="general.html#ease-of-use">Ease of use</a></li>
47<li class="toctree-l2"><a class="reference internal" href="general.html#example-use-cases">Example use cases</a><ul>
48<li class="toctree-l3"><a class="reference internal" href="general.html#network-security-tls">Network Security (TLS)</a></li>
49<li class="toctree-l3"><a class="reference internal" href="general.html#secure-storage">Secure Storage</a></li>
50<li class="toctree-l3"><a class="reference internal" href="general.html#network-credentials">Network Credentials</a></li>
51<li class="toctree-l3"><a class="reference internal" href="general.html#device-pairing">Device Pairing</a></li>
52<li class="toctree-l3"><a class="reference internal" href="general.html#secure-boot">Secure Boot</a></li>
53<li class="toctree-l3"><a class="reference internal" href="general.html#attestation">Attestation</a></li>
54<li class="toctree-l3"><a class="reference internal" href="general.html#factory-provisioning">Factory Provisioning</a></li>
55</ul>
56</li>
57</ul>
58</li>
59<li class="toctree-l1"><a class="reference internal" href="general.html#functionality-overview">Functionality overview</a><ul>
60<li class="toctree-l2"><a class="reference internal" href="general.html#library-management">Library management</a></li>
61<li class="toctree-l2"><a class="reference internal" href="general.html#key-management">Key management</a><ul>
62<li class="toctree-l3"><a class="reference internal" href="general.html#volatile-keys">Volatile keys</a></li>
63<li class="toctree-l3"><a class="reference internal" href="general.html#persistent-keys">Persistent keys</a></li>
64<li class="toctree-l3"><a class="reference internal" href="general.html#recommendations-of-minimum-standards-for-key-management">Recommendations of minimum standards for key management</a></li>
65</ul>
66</li>
67<li class="toctree-l2"><a class="reference internal" href="general.html#usage-policies">Usage policies</a></li>
68<li class="toctree-l2"><a class="reference internal" href="general.html#symmetric-cryptography">Symmetric cryptography</a><ul>
69<li class="toctree-l3"><a class="reference internal" href="general.html#multipart-operations">Multipart operations</a></li>
70<li class="toctree-l3"><a class="reference internal" href="general.html#authenticated-encryption">Authenticated encryption</a></li>
71</ul>
72</li>
73<li class="toctree-l2"><a class="reference internal" href="general.html#key-derivation">Key derivation</a><ul>
74<li class="toctree-l3"><a class="reference internal" href="general.html#key-derivation-operations">Key derivation operations</a></li>
75<li class="toctree-l3"><a class="reference internal" href="general.html#key-derivation-function">Key derivation function</a></li>
76</ul>
77</li>
78<li class="toctree-l2"><a class="reference internal" href="general.html#asymmetric-cryptography">Asymmetric cryptography</a><ul>
79<li class="toctree-l3"><a class="reference internal" href="general.html#asymmetric-encryption">Asymmetric encryption</a></li>
80<li class="toctree-l3"><a class="reference internal" href="general.html#hash-and-sign">Hash-and-sign</a></li>
81<li class="toctree-l3"><a class="reference internal" href="general.html#key-agreement">Key agreement</a></li>
82</ul>
83</li>
84<li class="toctree-l2"><a class="reference internal" href="general.html#randomness-and-key-generation">Randomness and key generation</a></li>
85<li class="toctree-l2"><a class="reference internal" href="general.html#future-additions">Future additions</a></li>
86</ul>
87</li>
88<li class="toctree-l1"><a class="reference internal" href="general.html#sample-architectures">Sample architectures</a><ul>
89<li class="toctree-l2"><a class="reference internal" href="general.html#single-partition-architecture">Single-partition architecture</a></li>
90<li class="toctree-l2"><a class="reference internal" href="general.html#cryptographic-token-and-single-application-processor">Cryptographic token and single-application processor</a></li>
91<li class="toctree-l2"><a class="reference internal" href="general.html#cryptoprocessor-with-no-key-storage">Cryptoprocessor with no key storage</a></li>
92<li class="toctree-l2"><a class="reference internal" href="general.html#multi-client-cryptoprocessor">Multi-client cryptoprocessor</a></li>
93<li class="toctree-l2"><a class="reference internal" href="general.html#multi-cryptoprocessor-architecture">Multi-cryptoprocessor architecture</a></li>
94</ul>
95</li>
96<li class="toctree-l1"><a class="reference internal" href="general.html#library-conventions">Library conventions</a><ul>
97<li class="toctree-l2"><a class="reference internal" href="general.html#error-handling">Error handling</a><ul>
98<li class="toctree-l3"><a class="reference internal" href="general.html#return-status">Return status</a></li>
99<li class="toctree-l3"><a class="reference internal" href="general.html#behavior-on-error">Behavior on error</a></li>
100</ul>
101</li>
102<li class="toctree-l2"><a class="reference internal" href="general.html#parameter-conventions">Parameter conventions</a><ul>
103<li class="toctree-l3"><a class="reference internal" href="general.html#pointer-conventions">Pointer conventions</a></li>
104<li class="toctree-l3"><a class="reference internal" href="general.html#input-buffer-sizes">Input buffer sizes</a></li>
105<li class="toctree-l3"><a class="reference internal" href="general.html#output-buffer-sizes">Output buffer sizes</a></li>
106<li class="toctree-l3"><a class="reference internal" href="general.html#overlap-between-parameters">Overlap between parameters</a></li>
107<li class="toctree-l3"><a class="reference internal" href="general.html#stability-of-parameters">Stability of parameters</a></li>
108</ul>
109</li>
110<li class="toctree-l2"><a class="reference internal" href="general.html#key-types-and-algorithms">Key types and algorithms</a><ul>
111<li class="toctree-l3"><a class="reference internal" href="general.html#structure-of-key-and-algorithm-types">Structure of key and algorithm types</a></li>
112</ul>
113</li>
114<li class="toctree-l2"><a class="reference internal" href="general.html#concurrent-calls">Concurrent calls</a></li>
115</ul>
116</li>
117<li class="toctree-l1"><a class="reference internal" href="general.html#implementation-considerations">Implementation considerations</a><ul>
118<li class="toctree-l2"><a class="reference internal" href="general.html#implementation-specific-aspects-of-the-interface">Implementation-specific aspects of the interface</a><ul>
119<li class="toctree-l3"><a class="reference internal" href="general.html#implementation-profile">Implementation profile</a></li>
120<li class="toctree-l3"><a class="reference internal" href="general.html#implementation-specific-types">Implementation-specific types</a></li>
121<li class="toctree-l3"><a class="reference internal" href="general.html#implementation-specific-macros">Implementation-specific macros</a></li>
122</ul>
123</li>
124<li class="toctree-l2"><a class="reference internal" href="general.html#porting-to-a-platform">Porting to a platform</a><ul>
125<li class="toctree-l3"><a class="reference internal" href="general.html#platform-assumptions">Platform assumptions</a></li>
126<li class="toctree-l3"><a class="reference internal" href="general.html#platform-specific-types">Platform-specific types</a></li>
127<li class="toctree-l3"><a class="reference internal" href="general.html#cryptographic-hardware-support">Cryptographic hardware support</a></li>
128</ul>
129</li>
130<li class="toctree-l2"><a class="reference internal" href="general.html#security-requirements-and-recommendations">Security requirements and recommendations</a><ul>
131<li class="toctree-l3"><a class="reference internal" href="general.html#error-detection">Error detection</a></li>
132<li class="toctree-l3"><a class="reference internal" href="general.html#memory-cleanup">Memory cleanup</a></li>
133<li class="toctree-l3"><a class="reference internal" href="general.html#safe-outputs-on-error">Safe outputs on error</a></li>
134<li class="toctree-l3"><a class="reference internal" href="general.html#attack-resistance">Attack resistance</a></li>
135</ul>
136</li>
137<li class="toctree-l2"><a class="reference internal" href="general.html#other-implementation-considerations">Other implementation considerations</a><ul>
138<li class="toctree-l3"><a class="reference internal" href="general.html#philosophy-of-resource-management">Philosophy of resource management</a></li>
139</ul>
140</li>
141</ul>
142</li>
143<li class="toctree-l1"><a class="reference internal" href="general.html#usage-considerations">Usage considerations</a><ul>
144<li class="toctree-l2"><a class="reference internal" href="general.html#security-recommendations">Security recommendations</a><ul>
145<li class="toctree-l3"><a class="reference internal" href="general.html#always-check-for-errors">Always check for errors</a></li>
146<li class="toctree-l3"><a class="reference internal" href="general.html#shared-memory-and-concurrency">Shared memory and concurrency</a></li>
147<li class="toctree-l3"><a class="reference internal" href="general.html#cleaning-up-after-use">Cleaning up after use</a></li>
148</ul>
149</li>
150</ul>
151</li>
152<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html">Implementation-specific definitions</a><ul>
153<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_key_handle_t"><code class="docutils literal notranslate"><span class="pre">psa_key_handle_t</span></code> (type)</a></li>
154</ul>
155</li>
156<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#library-initialization">Library initialization</a><ul>
157<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_crypto_init"><code class="docutils literal notranslate"><span class="pre">psa_crypto_init</span></code> (function)</a></li>
158</ul>
159</li>
160<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#key-attributes">Key attributes</a><ul>
161<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_key_attributes_t"><code class="docutils literal notranslate"><span class="pre">psa_key_attributes_t</span></code> (type)</a></li>
162<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_ATTRIBUTES_INIT"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_ATTRIBUTES_INIT</span></code> (macro)</a></li>
163<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_key_attributes_init"><code class="docutils literal notranslate"><span class="pre">psa_key_attributes_init</span></code> (function)</a></li>
164<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_set_key_id"><code class="docutils literal notranslate"><span class="pre">psa_set_key_id</span></code> (function)</a></li>
165<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_set_key_lifetime"><code class="docutils literal notranslate"><span class="pre">psa_set_key_lifetime</span></code> (function)</a></li>
166<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_get_key_id"><code class="docutils literal notranslate"><span class="pre">psa_get_key_id</span></code> (function)</a></li>
167<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_get_key_lifetime"><code class="docutils literal notranslate"><span class="pre">psa_get_key_lifetime</span></code> (function)</a></li>
168<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_set_key_usage_flags"><code class="docutils literal notranslate"><span class="pre">psa_set_key_usage_flags</span></code> (function)</a></li>
169<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_get_key_usage_flags"><code class="docutils literal notranslate"><span class="pre">psa_get_key_usage_flags</span></code> (function)</a></li>
170<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_set_key_algorithm"><code class="docutils literal notranslate"><span class="pre">psa_set_key_algorithm</span></code> (function)</a></li>
171<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_get_key_algorithm"><code class="docutils literal notranslate"><span class="pre">psa_get_key_algorithm</span></code> (function)</a></li>
172<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_set_key_type"><code class="docutils literal notranslate"><span class="pre">psa_set_key_type</span></code> (function)</a></li>
173<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_set_key_bits"><code class="docutils literal notranslate"><span class="pre">psa_set_key_bits</span></code> (function)</a></li>
174<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_get_key_type"><code class="docutils literal notranslate"><span class="pre">psa_get_key_type</span></code> (function)</a></li>
175<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_get_key_bits"><code class="docutils literal notranslate"><span class="pre">psa_get_key_bits</span></code> (function)</a></li>
176<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_get_key_attributes"><code class="docutils literal notranslate"><span class="pre">psa_get_key_attributes</span></code> (function)</a></li>
177<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_reset_key_attributes"><code class="docutils literal notranslate"><span class="pre">psa_reset_key_attributes</span></code> (function)</a></li>
178</ul>
179</li>
180<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#key-management">Key management</a><ul>
181<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_open_key"><code class="docutils literal notranslate"><span class="pre">psa_open_key</span></code> (function)</a></li>
182<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_close_key"><code class="docutils literal notranslate"><span class="pre">psa_close_key</span></code> (function)</a></li>
183</ul>
184</li>
185<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#key-import-and-export">Key import and export</a><ul>
186<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_import_key"><code class="docutils literal notranslate"><span class="pre">psa_import_key</span></code> (function)</a></li>
187<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_destroy_key"><code class="docutils literal notranslate"><span class="pre">psa_destroy_key</span></code> (function)</a></li>
188<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_export_key"><code class="docutils literal notranslate"><span class="pre">psa_export_key</span></code> (function)</a></li>
189<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_export_public_key"><code class="docutils literal notranslate"><span class="pre">psa_export_public_key</span></code> (function)</a></li>
190<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_copy_key"><code class="docutils literal notranslate"><span class="pre">psa_copy_key</span></code> (function)</a></li>
191</ul>
192</li>
193<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#message-digests">Message digests</a><ul>
194<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_hash_operation_t"><code class="docutils literal notranslate"><span class="pre">psa_hash_operation_t</span></code> (type)</a></li>
195<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_HASH_OPERATION_INIT"><code class="docutils literal notranslate"><span class="pre">PSA_HASH_OPERATION_INIT</span></code> (macro)</a></li>
196<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_hash_compute"><code class="docutils literal notranslate"><span class="pre">psa_hash_compute</span></code> (function)</a></li>
197<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_hash_compare"><code class="docutils literal notranslate"><span class="pre">psa_hash_compare</span></code> (function)</a></li>
198<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_hash_operation_init"><code class="docutils literal notranslate"><span class="pre">psa_hash_operation_init</span></code> (function)</a></li>
199<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_hash_setup"><code class="docutils literal notranslate"><span class="pre">psa_hash_setup</span></code> (function)</a></li>
200<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_hash_update"><code class="docutils literal notranslate"><span class="pre">psa_hash_update</span></code> (function)</a></li>
201<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_hash_finish"><code class="docutils literal notranslate"><span class="pre">psa_hash_finish</span></code> (function)</a></li>
202<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_hash_verify"><code class="docutils literal notranslate"><span class="pre">psa_hash_verify</span></code> (function)</a></li>
203<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_hash_abort"><code class="docutils literal notranslate"><span class="pre">psa_hash_abort</span></code> (function)</a></li>
204<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_hash_clone"><code class="docutils literal notranslate"><span class="pre">psa_hash_clone</span></code> (function)</a></li>
205</ul>
206</li>
207<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#message-authentication-codes">Message authentication codes</a><ul>
208<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_mac_operation_t"><code class="docutils literal notranslate"><span class="pre">psa_mac_operation_t</span></code> (type)</a></li>
209<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_MAC_OPERATION_INIT"><code class="docutils literal notranslate"><span class="pre">PSA_MAC_OPERATION_INIT</span></code> (macro)</a></li>
210<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_mac_compute"><code class="docutils literal notranslate"><span class="pre">psa_mac_compute</span></code> (function)</a></li>
211<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_mac_verify"><code class="docutils literal notranslate"><span class="pre">psa_mac_verify</span></code> (function)</a></li>
212<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_mac_operation_init"><code class="docutils literal notranslate"><span class="pre">psa_mac_operation_init</span></code> (function)</a></li>
213<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_mac_sign_setup"><code class="docutils literal notranslate"><span class="pre">psa_mac_sign_setup</span></code> (function)</a></li>
214<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_mac_verify_setup"><code class="docutils literal notranslate"><span class="pre">psa_mac_verify_setup</span></code> (function)</a></li>
215<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_mac_update"><code class="docutils literal notranslate"><span class="pre">psa_mac_update</span></code> (function)</a></li>
216<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_mac_sign_finish"><code class="docutils literal notranslate"><span class="pre">psa_mac_sign_finish</span></code> (function)</a></li>
217<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_mac_verify_finish"><code class="docutils literal notranslate"><span class="pre">psa_mac_verify_finish</span></code> (function)</a></li>
218<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_mac_abort"><code class="docutils literal notranslate"><span class="pre">psa_mac_abort</span></code> (function)</a></li>
219</ul>
220</li>
221<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#symmetric-ciphers">Symmetric ciphers</a><ul>
222<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_cipher_operation_t"><code class="docutils literal notranslate"><span class="pre">psa_cipher_operation_t</span></code> (type)</a></li>
223<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_CIPHER_OPERATION_INIT"><code class="docutils literal notranslate"><span class="pre">PSA_CIPHER_OPERATION_INIT</span></code> (macro)</a></li>
224<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_cipher_encrypt"><code class="docutils literal notranslate"><span class="pre">psa_cipher_encrypt</span></code> (function)</a></li>
225<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_cipher_decrypt"><code class="docutils literal notranslate"><span class="pre">psa_cipher_decrypt</span></code> (function)</a></li>
226<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_cipher_operation_init"><code class="docutils literal notranslate"><span class="pre">psa_cipher_operation_init</span></code> (function)</a></li>
227<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_cipher_encrypt_setup"><code class="docutils literal notranslate"><span class="pre">psa_cipher_encrypt_setup</span></code> (function)</a></li>
228<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_cipher_decrypt_setup"><code class="docutils literal notranslate"><span class="pre">psa_cipher_decrypt_setup</span></code> (function)</a></li>
229<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_cipher_generate_iv"><code class="docutils literal notranslate"><span class="pre">psa_cipher_generate_iv</span></code> (function)</a></li>
230<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_cipher_set_iv"><code class="docutils literal notranslate"><span class="pre">psa_cipher_set_iv</span></code> (function)</a></li>
231<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_cipher_update"><code class="docutils literal notranslate"><span class="pre">psa_cipher_update</span></code> (function)</a></li>
232<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_cipher_finish"><code class="docutils literal notranslate"><span class="pre">psa_cipher_finish</span></code> (function)</a></li>
233<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_cipher_abort"><code class="docutils literal notranslate"><span class="pre">psa_cipher_abort</span></code> (function)</a></li>
234</ul>
235</li>
236<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#authenticated-encryption-with-associated-data-aead">Authenticated encryption with associated data (AEAD)</a><ul>
237<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_aead_operation_t"><code class="docutils literal notranslate"><span class="pre">psa_aead_operation_t</span></code> (type)</a></li>
238<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_AEAD_OPERATION_INIT"><code class="docutils literal notranslate"><span class="pre">PSA_AEAD_OPERATION_INIT</span></code> (macro)</a></li>
239<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_aead_encrypt"><code class="docutils literal notranslate"><span class="pre">psa_aead_encrypt</span></code> (function)</a></li>
240<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_aead_decrypt"><code class="docutils literal notranslate"><span class="pre">psa_aead_decrypt</span></code> (function)</a></li>
241<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_aead_operation_init"><code class="docutils literal notranslate"><span class="pre">psa_aead_operation_init</span></code> (function)</a></li>
242<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_aead_encrypt_setup"><code class="docutils literal notranslate"><span class="pre">psa_aead_encrypt_setup</span></code> (function)</a></li>
243<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_aead_decrypt_setup"><code class="docutils literal notranslate"><span class="pre">psa_aead_decrypt_setup</span></code> (function)</a></li>
244<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_aead_generate_nonce"><code class="docutils literal notranslate"><span class="pre">psa_aead_generate_nonce</span></code> (function)</a></li>
245<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_aead_set_nonce"><code class="docutils literal notranslate"><span class="pre">psa_aead_set_nonce</span></code> (function)</a></li>
246<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_aead_set_lengths"><code class="docutils literal notranslate"><span class="pre">psa_aead_set_lengths</span></code> (function)</a></li>
247<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_aead_update_ad"><code class="docutils literal notranslate"><span class="pre">psa_aead_update_ad</span></code> (function)</a></li>
248<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_aead_update"><code class="docutils literal notranslate"><span class="pre">psa_aead_update</span></code> (function)</a></li>
249<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_aead_finish"><code class="docutils literal notranslate"><span class="pre">psa_aead_finish</span></code> (function)</a></li>
250<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_aead_verify"><code class="docutils literal notranslate"><span class="pre">psa_aead_verify</span></code> (function)</a></li>
251<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_aead_abort"><code class="docutils literal notranslate"><span class="pre">psa_aead_abort</span></code> (function)</a></li>
252</ul>
253</li>
254<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#asymmetric-cryptography">Asymmetric cryptography</a><ul>
255<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_asymmetric_sign"><code class="docutils literal notranslate"><span class="pre">psa_asymmetric_sign</span></code> (function)</a></li>
256<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_asymmetric_verify"><code class="docutils literal notranslate"><span class="pre">psa_asymmetric_verify</span></code> (function)</a></li>
257<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_asymmetric_encrypt"><code class="docutils literal notranslate"><span class="pre">psa_asymmetric_encrypt</span></code> (function)</a></li>
258<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_asymmetric_decrypt"><code class="docutils literal notranslate"><span class="pre">psa_asymmetric_decrypt</span></code> (function)</a></li>
259</ul>
260</li>
261<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#key-derivation-and-pseudorandom-generation">Key derivation and pseudorandom generation</a><ul>
262<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_key_derivation_operation_t"><code class="docutils literal notranslate"><span class="pre">psa_key_derivation_operation_t</span></code> (type)</a></li>
263<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_DERIVATION_OPERATION_INIT"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_DERIVATION_OPERATION_INIT</span></code> (macro)</a></li>
264<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_DERIVATION_UNLIMITED_CAPACITY"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_DERIVATION_UNLIMITED_CAPACITY</span></code> (macro)</a></li>
265<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_key_derivation_operation_init"><code class="docutils literal notranslate"><span class="pre">psa_key_derivation_operation_init</span></code> (function)</a></li>
266<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_key_derivation_setup"><code class="docutils literal notranslate"><span class="pre">psa_key_derivation_setup</span></code> (function)</a></li>
267<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_key_derivation_get_capacity"><code class="docutils literal notranslate"><span class="pre">psa_key_derivation_get_capacity</span></code> (function)</a></li>
268<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_key_derivation_set_capacity"><code class="docutils literal notranslate"><span class="pre">psa_key_derivation_set_capacity</span></code> (function)</a></li>
269<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_key_derivation_input_bytes"><code class="docutils literal notranslate"><span class="pre">psa_key_derivation_input_bytes</span></code> (function)</a></li>
270<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_key_derivation_input_key"><code class="docutils literal notranslate"><span class="pre">psa_key_derivation_input_key</span></code> (function)</a></li>
271<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_key_derivation_key_agreement"><code class="docutils literal notranslate"><span class="pre">psa_key_derivation_key_agreement</span></code> (function)</a></li>
272<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_key_derivation_output_bytes"><code class="docutils literal notranslate"><span class="pre">psa_key_derivation_output_bytes</span></code> (function)</a></li>
273<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_key_derivation_output_key"><code class="docutils literal notranslate"><span class="pre">psa_key_derivation_output_key</span></code> (function)</a></li>
274<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_key_derivation_abort"><code class="docutils literal notranslate"><span class="pre">psa_key_derivation_abort</span></code> (function)</a></li>
275<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_raw_key_agreement"><code class="docutils literal notranslate"><span class="pre">psa_raw_key_agreement</span></code> (function)</a></li>
276</ul>
277</li>
278<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#random-generation">Random generation</a><ul>
279<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_generate_random"><code class="docutils literal notranslate"><span class="pre">psa_generate_random</span></code> (function)</a></li>
280<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_generate_key"><code class="docutils literal notranslate"><span class="pre">psa_generate_key</span></code> (function)</a></li>
281</ul>
282</li>
283<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#error-codes">Error codes</a><ul>
284<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_status_t"><code class="docutils literal notranslate"><span class="pre">psa_status_t</span></code> (type)</a></li>
285<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_SUCCESS"><code class="docutils literal notranslate"><span class="pre">PSA_SUCCESS</span></code> (macro)</a></li>
286<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ERROR_GENERIC_ERROR"><code class="docutils literal notranslate"><span class="pre">PSA_ERROR_GENERIC_ERROR</span></code> (macro)</a></li>
287<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ERROR_NOT_SUPPORTED"><code class="docutils literal notranslate"><span class="pre">PSA_ERROR_NOT_SUPPORTED</span></code> (macro)</a></li>
288<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ERROR_NOT_PERMITTED"><code class="docutils literal notranslate"><span class="pre">PSA_ERROR_NOT_PERMITTED</span></code> (macro)</a></li>
289<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ERROR_BUFFER_TOO_SMALL"><code class="docutils literal notranslate"><span class="pre">PSA_ERROR_BUFFER_TOO_SMALL</span></code> (macro)</a></li>
290<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ERROR_ALREADY_EXISTS"><code class="docutils literal notranslate"><span class="pre">PSA_ERROR_ALREADY_EXISTS</span></code> (macro)</a></li>
291<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ERROR_DOES_NOT_EXIST"><code class="docutils literal notranslate"><span class="pre">PSA_ERROR_DOES_NOT_EXIST</span></code> (macro)</a></li>
292<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ERROR_BAD_STATE"><code class="docutils literal notranslate"><span class="pre">PSA_ERROR_BAD_STATE</span></code> (macro)</a></li>
293<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ERROR_INVALID_ARGUMENT"><code class="docutils literal notranslate"><span class="pre">PSA_ERROR_INVALID_ARGUMENT</span></code> (macro)</a></li>
294<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ERROR_INSUFFICIENT_MEMORY"><code class="docutils literal notranslate"><span class="pre">PSA_ERROR_INSUFFICIENT_MEMORY</span></code> (macro)</a></li>
295<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ERROR_INSUFFICIENT_STORAGE"><code class="docutils literal notranslate"><span class="pre">PSA_ERROR_INSUFFICIENT_STORAGE</span></code> (macro)</a></li>
296<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ERROR_COMMUNICATION_FAILURE"><code class="docutils literal notranslate"><span class="pre">PSA_ERROR_COMMUNICATION_FAILURE</span></code> (macro)</a></li>
297<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ERROR_STORAGE_FAILURE"><code class="docutils literal notranslate"><span class="pre">PSA_ERROR_STORAGE_FAILURE</span></code> (macro)</a></li>
298<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ERROR_HARDWARE_FAILURE"><code class="docutils literal notranslate"><span class="pre">PSA_ERROR_HARDWARE_FAILURE</span></code> (macro)</a></li>
299<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ERROR_CORRUPTION_DETECTED"><code class="docutils literal notranslate"><span class="pre">PSA_ERROR_CORRUPTION_DETECTED</span></code> (macro)</a></li>
300<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ERROR_INSUFFICIENT_ENTROPY"><code class="docutils literal notranslate"><span class="pre">PSA_ERROR_INSUFFICIENT_ENTROPY</span></code> (macro)</a></li>
301<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ERROR_INVALID_SIGNATURE"><code class="docutils literal notranslate"><span class="pre">PSA_ERROR_INVALID_SIGNATURE</span></code> (macro)</a></li>
302<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ERROR_INVALID_PADDING"><code class="docutils literal notranslate"><span class="pre">PSA_ERROR_INVALID_PADDING</span></code> (macro)</a></li>
303<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ERROR_INSUFFICIENT_DATA"><code class="docutils literal notranslate"><span class="pre">PSA_ERROR_INSUFFICIENT_DATA</span></code> (macro)</a></li>
304<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ERROR_INVALID_HANDLE"><code class="docutils literal notranslate"><span class="pre">PSA_ERROR_INVALID_HANDLE</span></code> (macro)</a></li>
305</ul>
306</li>
307<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#key-and-algorithm-types">Key and algorithm types</a><ul>
308<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_key_type_t"><code class="docutils literal notranslate"><span class="pre">psa_key_type_t</span></code> (type)</a></li>
309<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_ecc_curve_t"><code class="docutils literal notranslate"><span class="pre">psa_ecc_curve_t</span></code> (type)</a></li>
310<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_dh_group_t"><code class="docutils literal notranslate"><span class="pre">psa_dh_group_t</span></code> (type)</a></li>
311<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_algorithm_t"><code class="docutils literal notranslate"><span class="pre">psa_algorithm_t</span></code> (type)</a></li>
312<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_NONE"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_NONE</span></code> (macro)</a></li>
313<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_VENDOR_FLAG"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_VENDOR_FLAG</span></code> (macro)</a></li>
314<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_CATEGORY_MASK"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_CATEGORY_MASK</span></code> (macro)</a></li>
315<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_CATEGORY_SYMMETRIC"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_CATEGORY_SYMMETRIC</span></code> (macro)</a></li>
316<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_CATEGORY_RAW"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_CATEGORY_RAW</span></code> (macro)</a></li>
317<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_CATEGORY_PUBLIC_KEY"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_CATEGORY_PUBLIC_KEY</span></code> (macro)</a></li>
318<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_CATEGORY_KEY_PAIR"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_CATEGORY_KEY_PAIR</span></code> (macro)</a></li>
319<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_CATEGORY_FLAG_PAIR"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_CATEGORY_FLAG_PAIR</span></code> (macro)</a></li>
320<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_IS_VENDOR_DEFINED"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_IS_VENDOR_DEFINED</span></code> (macro)</a></li>
321<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_IS_UNSTRUCTURED"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_IS_UNSTRUCTURED</span></code> (macro)</a></li>
322<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_IS_ASYMMETRIC"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_IS_ASYMMETRIC</span></code> (macro)</a></li>
323<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_IS_PUBLIC_KEY"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_IS_PUBLIC_KEY</span></code> (macro)</a></li>
324<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_IS_KEY_PAIR"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_IS_KEY_PAIR</span></code> (macro)</a></li>
325<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_KEY_PAIR_OF_PUBLIC_KEY"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_KEY_PAIR_OF_PUBLIC_KEY</span></code> (macro)</a></li>
326<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_PUBLIC_KEY_OF_KEY_PAIR"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_PUBLIC_KEY_OF_KEY_PAIR</span></code> (macro)</a></li>
327<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_RAW_DATA"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_RAW_DATA</span></code> (macro)</a></li>
328<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_HMAC"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_HMAC</span></code> (macro)</a></li>
329<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_DERIVE"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_DERIVE</span></code> (macro)</a></li>
330<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_AES"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_AES</span></code> (macro)</a></li>
331<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_DES"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_DES</span></code> (macro)</a></li>
332<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_CAMELLIA"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_CAMELLIA</span></code> (macro)</a></li>
333<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_ARC4"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_ARC4</span></code> (macro)</a></li>
334<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_CHACHA20"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_CHACHA20</span></code> (macro)</a></li>
335<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_RSA_PUBLIC_KEY"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_RSA_PUBLIC_KEY</span></code> (macro)</a></li>
336<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_RSA_KEY_PAIR"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_RSA_KEY_PAIR</span></code> (macro)</a></li>
337<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_IS_RSA"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_IS_RSA</span></code> (macro)</a></li>
338<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_ECC_PUBLIC_KEY_BASE"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_ECC_PUBLIC_KEY_BASE</span></code> (macro)</a></li>
339<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_ECC_KEY_PAIR_BASE"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_ECC_KEY_PAIR_BASE</span></code> (macro)</a></li>
340<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_ECC_CURVE_MASK"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_ECC_CURVE_MASK</span></code> (macro)</a></li>
341<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_ECC_KEY_PAIR"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_ECC_KEY_PAIR</span></code> (macro)</a></li>
342<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_ECC_PUBLIC_KEY"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_ECC_PUBLIC_KEY</span></code> (macro)</a></li>
343<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_IS_ECC"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_IS_ECC</span></code> (macro)</a></li>
344<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_IS_ECC_KEY_PAIR"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_IS_ECC_KEY_PAIR</span></code> (macro)</a></li>
345<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_IS_ECC_PUBLIC_KEY"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_IS_ECC_PUBLIC_KEY</span></code> (macro)</a></li>
346<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_GET_CURVE"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_GET_CURVE</span></code> (macro)</a></li>
347<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_SECT163K1"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_SECT163K1</span></code> (macro)</a></li>
348<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_SECT163R1"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_SECT163R1</span></code> (macro)</a></li>
349<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_SECT163R2"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_SECT163R2</span></code> (macro)</a></li>
350<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_SECT193R1"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_SECT193R1</span></code> (macro)</a></li>
351<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_SECT193R2"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_SECT193R2</span></code> (macro)</a></li>
352<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_SECT233K1"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_SECT233K1</span></code> (macro)</a></li>
353<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_SECT233R1"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_SECT233R1</span></code> (macro)</a></li>
354<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_SECT239K1"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_SECT239K1</span></code> (macro)</a></li>
355<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_SECT283K1"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_SECT283K1</span></code> (macro)</a></li>
356<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_SECT283R1"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_SECT283R1</span></code> (macro)</a></li>
357<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_SECT409K1"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_SECT409K1</span></code> (macro)</a></li>
358<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_SECT409R1"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_SECT409R1</span></code> (macro)</a></li>
359<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_SECT571K1"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_SECT571K1</span></code> (macro)</a></li>
360<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_SECT571R1"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_SECT571R1</span></code> (macro)</a></li>
361<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_SECP160K1"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_SECP160K1</span></code> (macro)</a></li>
362<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_SECP160R1"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_SECP160R1</span></code> (macro)</a></li>
363<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_SECP160R2"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_SECP160R2</span></code> (macro)</a></li>
364<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_SECP192K1"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_SECP192K1</span></code> (macro)</a></li>
365<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_SECP192R1"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_SECP192R1</span></code> (macro)</a></li>
366<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_SECP224K1"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_SECP224K1</span></code> (macro)</a></li>
367<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_SECP224R1"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_SECP224R1</span></code> (macro)</a></li>
368<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_SECP256K1"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_SECP256K1</span></code> (macro)</a></li>
369<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_SECP256R1"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_SECP256R1</span></code> (macro)</a></li>
370<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_SECP384R1"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_SECP384R1</span></code> (macro)</a></li>
371<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_SECP521R1"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_SECP521R1</span></code> (macro)</a></li>
372<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_BRAINPOOL_P256R1"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_BRAINPOOL_P256R1</span></code> (macro)</a></li>
373<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_BRAINPOOL_P384R1"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_BRAINPOOL_P384R1</span></code> (macro)</a></li>
374<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_BRAINPOOL_P512R1"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_BRAINPOOL_P512R1</span></code> (macro)</a></li>
375<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_CURVE25519"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_CURVE25519</span></code> (macro)</a></li>
376<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_CURVE448"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_CURVE448</span></code> (macro)</a></li>
377<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_DH_PUBLIC_KEY_BASE"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_DH_PUBLIC_KEY_BASE</span></code> (macro)</a></li>
378<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_DH_KEY_PAIR_BASE"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_DH_KEY_PAIR_BASE</span></code> (macro)</a></li>
379<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_DH_GROUP_MASK"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_DH_GROUP_MASK</span></code> (macro)</a></li>
380<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_DH_KEY_PAIR"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_DH_KEY_PAIR</span></code> (macro)</a></li>
381<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_DH_PUBLIC_KEY"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_DH_PUBLIC_KEY</span></code> (macro)</a></li>
382<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_IS_DH"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_IS_DH</span></code> (macro)</a></li>
383<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_IS_DH_KEY_PAIR"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_IS_DH_KEY_PAIR</span></code> (macro)</a></li>
384<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_IS_DH_PUBLIC_KEY"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_IS_DH_PUBLIC_KEY</span></code> (macro)</a></li>
385<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_TYPE_GET_GROUP"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_TYPE_GET_GROUP</span></code> (macro)</a></li>
386<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_DH_GROUP_FFDHE2048"><code class="docutils literal notranslate"><span class="pre">PSA_DH_GROUP_FFDHE2048</span></code> (macro)</a></li>
387<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_DH_GROUP_FFDHE3072"><code class="docutils literal notranslate"><span class="pre">PSA_DH_GROUP_FFDHE3072</span></code> (macro)</a></li>
388<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_DH_GROUP_FFDHE4096"><code class="docutils literal notranslate"><span class="pre">PSA_DH_GROUP_FFDHE4096</span></code> (macro)</a></li>
389<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_DH_GROUP_FFDHE6144"><code class="docutils literal notranslate"><span class="pre">PSA_DH_GROUP_FFDHE6144</span></code> (macro)</a></li>
390<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_DH_GROUP_FFDHE8192"><code class="docutils literal notranslate"><span class="pre">PSA_DH_GROUP_FFDHE8192</span></code> (macro)</a></li>
391<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_BLOCK_CIPHER_BLOCK_SIZE"><code class="docutils literal notranslate"><span class="pre">PSA_BLOCK_CIPHER_BLOCK_SIZE</span></code> (macro)</a></li>
392<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_VENDOR_FLAG"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_VENDOR_FLAG</span></code> (macro)</a></li>
393<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_CATEGORY_MASK"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_CATEGORY_MASK</span></code> (macro)</a></li>
394<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_CATEGORY_HASH"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_CATEGORY_HASH</span></code> (macro)</a></li>
395<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_CATEGORY_MAC"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_CATEGORY_MAC</span></code> (macro)</a></li>
396<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_CATEGORY_CIPHER"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_CATEGORY_CIPHER</span></code> (macro)</a></li>
397<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_CATEGORY_AEAD"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_CATEGORY_AEAD</span></code> (macro)</a></li>
398<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_CATEGORY_SIGN"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_CATEGORY_SIGN</span></code> (macro)</a></li>
399<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_CATEGORY_ASYMMETRIC_ENCRYPTION"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_CATEGORY_ASYMMETRIC_ENCRYPTION</span></code> (macro)</a></li>
400<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_CATEGORY_KEY_DERIVATION"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_CATEGORY_KEY_DERIVATION</span></code> (macro)</a></li>
401<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_CATEGORY_KEY_AGREEMENT"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_CATEGORY_KEY_AGREEMENT</span></code> (macro)</a></li>
402<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_VENDOR_DEFINED"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_VENDOR_DEFINED</span></code> (macro)</a></li>
403<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_HASH"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_HASH</span></code> (macro)</a></li>
404<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_MAC"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_MAC</span></code> (macro)</a></li>
405<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_CIPHER"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_CIPHER</span></code> (macro)</a></li>
406<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_AEAD"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_AEAD</span></code> (macro)</a></li>
407<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_SIGN"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_SIGN</span></code> (macro)</a></li>
408<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_ASYMMETRIC_ENCRYPTION"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_ASYMMETRIC_ENCRYPTION</span></code> (macro)</a></li>
409<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_KEY_AGREEMENT"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_KEY_AGREEMENT</span></code> (macro)</a></li>
410<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_KEY_DERIVATION"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_KEY_DERIVATION</span></code> (macro)</a></li>
411<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_HASH_MASK"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_HASH_MASK</span></code> (macro)</a></li>
412<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_MD2"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_MD2</span></code> (macro)</a></li>
413<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_MD4"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_MD4</span></code> (macro)</a></li>
414<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_MD5"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_MD5</span></code> (macro)</a></li>
415<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_RIPEMD160"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_RIPEMD160</span></code> (macro)</a></li>
416<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_SHA_1"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_SHA_1</span></code> (macro)</a></li>
417<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_SHA_224"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_SHA_224</span></code> (macro)</a></li>
418<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_SHA_256"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_SHA_256</span></code> (macro)</a></li>
419<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_SHA_384"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_SHA_384</span></code> (macro)</a></li>
420<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_SHA_512"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_SHA_512</span></code> (macro)</a></li>
421<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_SHA_512_224"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_SHA_512_224</span></code> (macro)</a></li>
422<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_SHA_512_256"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_SHA_512_256</span></code> (macro)</a></li>
423<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_SHA3_224"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_SHA3_224</span></code> (macro)</a></li>
424<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_SHA3_256"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_SHA3_256</span></code> (macro)</a></li>
425<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_SHA3_384"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_SHA3_384</span></code> (macro)</a></li>
426<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_SHA3_512"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_SHA3_512</span></code> (macro)</a></li>
427<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_ANY_HASH"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_ANY_HASH</span></code> (macro)</a></li>
428<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_MAC_SUBCATEGORY_MASK"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_MAC_SUBCATEGORY_MASK</span></code> (macro)</a></li>
429<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_HMAC_BASE"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_HMAC_BASE</span></code> (macro)</a></li>
430<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_HMAC"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_HMAC</span></code> (macro)</a></li>
431<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_HMAC_GET_HASH"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_HMAC_GET_HASH</span></code> (macro)</a></li>
432<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_HMAC"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_HMAC</span></code> (macro)</a></li>
433<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_MAC_TRUNCATION_MASK"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_MAC_TRUNCATION_MASK</span></code> (macro)</a></li>
434<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_MAC_TRUNCATION_OFFSET"><code class="docutils literal notranslate"><span class="pre">PSA_MAC_TRUNCATION_OFFSET</span></code> (macro)</a></li>
435<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_TRUNCATED_MAC"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_TRUNCATED_MAC</span></code> (macro)</a></li>
436<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_FULL_LENGTH_MAC"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_FULL_LENGTH_MAC</span></code> (macro)</a></li>
437<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_MAC_TRUNCATED_LENGTH"><code class="docutils literal notranslate"><span class="pre">PSA_MAC_TRUNCATED_LENGTH</span></code> (macro)</a></li>
438<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_CIPHER_MAC_BASE"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_CIPHER_MAC_BASE</span></code> (macro)</a></li>
439<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_CBC_MAC"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_CBC_MAC</span></code> (macro)</a></li>
440<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_CMAC"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_CMAC</span></code> (macro)</a></li>
441<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_GMAC"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_GMAC</span></code> (macro)</a></li>
442<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_BLOCK_CIPHER_MAC"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_BLOCK_CIPHER_MAC</span></code> (macro)</a></li>
443<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_CIPHER_STREAM_FLAG"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_CIPHER_STREAM_FLAG</span></code> (macro)</a></li>
444<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_CIPHER_FROM_BLOCK_FLAG"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_CIPHER_FROM_BLOCK_FLAG</span></code> (macro)</a></li>
445<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_STREAM_CIPHER"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_STREAM_CIPHER</span></code> (macro)</a></li>
446<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_ARC4"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_ARC4</span></code> (macro)</a></li>
447<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_CHACHA20"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_CHACHA20</span></code> (macro)</a></li>
448<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_CTR"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_CTR</span></code> (macro)</a></li>
449<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_CFB"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_CFB</span></code> (macro)</a></li>
450<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_OFB"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_OFB</span></code> (macro)</a></li>
451<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_XTS"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_XTS</span></code> (macro)</a></li>
452<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_CBC_NO_PADDING"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_CBC_NO_PADDING</span></code> (macro)</a></li>
453<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_CBC_PKCS7"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_CBC_PKCS7</span></code> (macro)</a></li>
454<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_AEAD_FROM_BLOCK_FLAG"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_AEAD_FROM_BLOCK_FLAG</span></code> (macro)</a></li>
455<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_AEAD_ON_BLOCK_CIPHER"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_AEAD_ON_BLOCK_CIPHER</span></code> (macro)</a></li>
456<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_CCM"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_CCM</span></code> (macro)</a></li>
457<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_GCM"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_GCM</span></code> (macro)</a></li>
458<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_CHACHA20_POLY1305"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_CHACHA20_POLY1305</span></code> (macro)</a></li>
459<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_AEAD_TAG_LENGTH_MASK"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_AEAD_TAG_LENGTH_MASK</span></code> (macro)</a></li>
460<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_AEAD_TAG_LENGTH_OFFSET"><code class="docutils literal notranslate"><span class="pre">PSA_AEAD_TAG_LENGTH_OFFSET</span></code> (macro)</a></li>
461<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_AEAD_WITH_TAG_LENGTH"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_AEAD_WITH_TAG_LENGTH</span></code> (macro)</a></li>
462<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_AEAD_WITH_DEFAULT_TAG_LENGTH"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_AEAD_WITH_DEFAULT_TAG_LENGTH</span></code> (macro)</a></li>
463<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA__ALG_AEAD_WITH_DEFAULT_TAG_LENGTH__CASE"><code class="docutils literal notranslate"><span class="pre">PSA__ALG_AEAD_WITH_DEFAULT_TAG_LENGTH__CASE</span></code> (macro)</a></li>
464<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_RSA_PKCS1V15_SIGN_BASE"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_RSA_PKCS1V15_SIGN_BASE</span></code> (macro)</a></li>
465<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_RSA_PKCS1V15_SIGN"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_RSA_PKCS1V15_SIGN</span></code> (macro)</a></li>
466<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_RSA_PKCS1V15_SIGN_RAW"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_RSA_PKCS1V15_SIGN_RAW</span></code> (macro)</a></li>
467<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_RSA_PKCS1V15_SIGN"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_RSA_PKCS1V15_SIGN</span></code> (macro)</a></li>
468<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_RSA_PSS_BASE"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_RSA_PSS_BASE</span></code> (macro)</a></li>
469<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_RSA_PSS"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_RSA_PSS</span></code> (macro)</a></li>
470<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_RSA_PSS"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_RSA_PSS</span></code> (macro)</a></li>
471<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_ECDSA_BASE"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_ECDSA_BASE</span></code> (macro)</a></li>
472<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_ECDSA"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_ECDSA</span></code> (macro)</a></li>
473<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_ECDSA_ANY"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_ECDSA_ANY</span></code> (macro)</a></li>
474<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_DETERMINISTIC_ECDSA_BASE"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_DETERMINISTIC_ECDSA_BASE</span></code> (macro)</a></li>
475<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_DETERMINISTIC_ECDSA"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_DETERMINISTIC_ECDSA</span></code> (macro)</a></li>
476<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_ECDSA"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_ECDSA</span></code> (macro)</a></li>
477<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_ECDSA_IS_DETERMINISTIC"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_ECDSA_IS_DETERMINISTIC</span></code> (macro)</a></li>
478<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_DETERMINISTIC_ECDSA"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_DETERMINISTIC_ECDSA</span></code> (macro)</a></li>
479<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_RANDOMIZED_ECDSA"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_RANDOMIZED_ECDSA</span></code> (macro)</a></li>
480<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_HASH_AND_SIGN"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_HASH_AND_SIGN</span></code> (macro)</a></li>
481<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_SIGN_GET_HASH"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_SIGN_GET_HASH</span></code> (macro)</a></li>
482<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_RSA_PKCS1V15_CRYPT"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_RSA_PKCS1V15_CRYPT</span></code> (macro)</a></li>
483<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_RSA_OAEP_BASE"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_RSA_OAEP_BASE</span></code> (macro)</a></li>
484<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_RSA_OAEP"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_RSA_OAEP</span></code> (macro)</a></li>
485<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_RSA_OAEP"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_RSA_OAEP</span></code> (macro)</a></li>
486<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_RSA_OAEP_GET_HASH"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_RSA_OAEP_GET_HASH</span></code> (macro)</a></li>
487<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_HKDF_BASE"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_HKDF_BASE</span></code> (macro)</a></li>
488<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_HKDF"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_HKDF</span></code> (macro)</a></li>
489<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_HKDF"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_HKDF</span></code> (macro)</a></li>
490<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_HKDF_GET_HASH"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_HKDF_GET_HASH</span></code> (macro)</a></li>
491<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_TLS12_PRF_BASE"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_TLS12_PRF_BASE</span></code> (macro)</a></li>
492<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_TLS12_PRF"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_TLS12_PRF</span></code> (macro)</a></li>
493<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_TLS12_PRF"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_TLS12_PRF</span></code> (macro)</a></li>
494<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_TLS12_PRF_GET_HASH"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_TLS12_PRF_GET_HASH</span></code> (macro)</a></li>
495<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_TLS12_PSK_TO_MS_BASE"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_TLS12_PSK_TO_MS_BASE</span></code> (macro)</a></li>
496<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_TLS12_PSK_TO_MS"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_TLS12_PSK_TO_MS</span></code> (macro)</a></li>
497<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_TLS12_PSK_TO_MS"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_TLS12_PSK_TO_MS</span></code> (macro)</a></li>
498<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_TLS12_PSK_TO_MS_GET_HASH"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_TLS12_PSK_TO_MS_GET_HASH</span></code> (macro)</a></li>
499<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_KEY_DERIVATION_MASK"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_KEY_DERIVATION_MASK</span></code> (macro)</a></li>
500<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_KEY_AGREEMENT_MASK"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_KEY_AGREEMENT_MASK</span></code> (macro)</a></li>
501<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_KEY_AGREEMENT"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_KEY_AGREEMENT</span></code> (macro)</a></li>
502<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_KEY_AGREEMENT_GET_KDF"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_KEY_AGREEMENT_GET_KDF</span></code> (macro)</a></li>
503<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_KEY_AGREEMENT_GET_BASE"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_KEY_AGREEMENT_GET_BASE</span></code> (macro)</a></li>
504<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_RAW_KEY_AGREEMENT"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_RAW_KEY_AGREEMENT</span></code> (macro)</a></li>
505<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_KEY_DERIVATION_OR_AGREEMENT"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_KEY_DERIVATION_OR_AGREEMENT</span></code> (macro)</a></li>
506<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_FFDH"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_FFDH</span></code> (macro)</a></li>
507<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_FFDH"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_FFDH</span></code> (macro)</a></li>
508<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_ECDH"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_ECDH</span></code> (macro)</a></li>
509<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_ECDH"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_ECDH</span></code> (macro)</a></li>
510<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_IS_WILDCARD"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_WILDCARD</span></code> (macro)</a></li>
511</ul>
512</li>
513<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#key-lifetimes">Key lifetimes</a><ul>
514<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_key_lifetime_t"><code class="docutils literal notranslate"><span class="pre">psa_key_lifetime_t</span></code> (type)</a></li>
515<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_key_id_t"><code class="docutils literal notranslate"><span class="pre">psa_key_id_t</span></code> (type)</a></li>
516<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_LIFETIME_VOLATILE"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_LIFETIME_VOLATILE</span></code> (macro)</a></li>
517<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_LIFETIME_PERSISTENT"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_LIFETIME_PERSISTENT</span></code> (macro)</a></li>
518<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_ID_USER_MIN"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_ID_USER_MIN</span></code> (macro)</a></li>
519<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_ID_USER_MAX"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_ID_USER_MAX</span></code> (macro)</a></li>
520<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_ID_VENDOR_MIN"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_ID_VENDOR_MIN</span></code> (macro)</a></li>
521<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_ID_VENDOR_MAX"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_ID_VENDOR_MAX</span></code> (macro)</a></li>
522</ul>
523</li>
524<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#key-policies">Key policies</a><ul>
525<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_key_usage_t"><code class="docutils literal notranslate"><span class="pre">psa_key_usage_t</span></code> (type)</a></li>
526<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_USAGE_EXPORT"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_USAGE_EXPORT</span></code> (macro)</a></li>
527<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_USAGE_COPY"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_USAGE_COPY</span></code> (macro)</a></li>
528<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_USAGE_ENCRYPT"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_USAGE_ENCRYPT</span></code> (macro)</a></li>
529<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_USAGE_DECRYPT"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_USAGE_DECRYPT</span></code> (macro)</a></li>
530<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_USAGE_SIGN"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_USAGE_SIGN</span></code> (macro)</a></li>
531<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_USAGE_VERIFY"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_USAGE_VERIFY</span></code> (macro)</a></li>
532<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_USAGE_DERIVE"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_USAGE_DERIVE</span></code> (macro)</a></li>
533</ul>
534</li>
535<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#key-derivation">Key derivation</a><ul>
536<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#psa_key_derivation_step_t"><code class="docutils literal notranslate"><span class="pre">psa_key_derivation_step_t</span></code> (type)</a></li>
537<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_DERIVATION_INPUT_SECRET"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_DERIVATION_INPUT_SECRET</span></code> (macro)</a></li>
538<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_DERIVATION_INPUT_LABEL"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_DERIVATION_INPUT_LABEL</span></code> (macro)</a></li>
539<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_DERIVATION_INPUT_SALT"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_DERIVATION_INPUT_SALT</span></code> (macro)</a></li>
540<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_DERIVATION_INPUT_INFO"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_DERIVATION_INPUT_INFO</span></code> (macro)</a></li>
541<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_DERIVATION_INPUT_SEED"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_DERIVATION_INPUT_SEED</span></code> (macro)</a></li>
542</ul>
543</li>
544<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#other-definitions">Other definitions</a><ul>
545<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_BITS_TO_BYTES"><code class="docutils literal notranslate"><span class="pre">PSA_BITS_TO_BYTES</span></code> (macro)</a></li>
546<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_BYTES_TO_BITS"><code class="docutils literal notranslate"><span class="pre">PSA_BYTES_TO_BITS</span></code> (macro)</a></li>
547<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ROUND_UP_TO_MULTIPLE"><code class="docutils literal notranslate"><span class="pre">PSA_ROUND_UP_TO_MULTIPLE</span></code> (macro)</a></li>
548<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_HASH_SIZE"><code class="docutils literal notranslate"><span class="pre">PSA_HASH_SIZE</span></code> (macro)</a></li>
549<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_HASH_MAX_SIZE"><code class="docutils literal notranslate"><span class="pre">PSA_HASH_MAX_SIZE</span></code> (macro)</a></li>
550<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_HMAC_MAX_HASH_BLOCK_SIZE"><code class="docutils literal notranslate"><span class="pre">PSA_HMAC_MAX_HASH_BLOCK_SIZE</span></code> (macro)</a></li>
551<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_MAC_MAX_SIZE"><code class="docutils literal notranslate"><span class="pre">PSA_MAC_MAX_SIZE</span></code> (macro)</a></li>
552<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_AEAD_TAG_LENGTH"><code class="docutils literal notranslate"><span class="pre">PSA_AEAD_TAG_LENGTH</span></code> (macro)</a></li>
553<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_VENDOR_RSA_MAX_KEY_BITS"><code class="docutils literal notranslate"><span class="pre">PSA_VENDOR_RSA_MAX_KEY_BITS</span></code> (macro)</a></li>
554<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_VENDOR_ECC_MAX_CURVE_BITS"><code class="docutils literal notranslate"><span class="pre">PSA_VENDOR_ECC_MAX_CURVE_BITS</span></code> (macro)</a></li>
555<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECC_CURVE_BITS"><code class="docutils literal notranslate"><span class="pre">PSA_ECC_CURVE_BITS</span></code> (macro)</a></li>
556<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ALG_TLS12_PSK_TO_MS_MAX_PSK_LEN"><code class="docutils literal notranslate"><span class="pre">PSA_ALG_TLS12_PSK_TO_MS_MAX_PSK_LEN</span></code> (macro)</a></li>
557<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ASYMMETRIC_SIGNATURE_MAX_SIZE"><code class="docutils literal notranslate"><span class="pre">PSA_ASYMMETRIC_SIGNATURE_MAX_SIZE</span></code> (macro)</a></li>
558<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_MAX_BLOCK_CIPHER_BLOCK_SIZE"><code class="docutils literal notranslate"><span class="pre">PSA_MAX_BLOCK_CIPHER_BLOCK_SIZE</span></code> (macro)</a></li>
559<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_MAC_FINAL_SIZE"><code class="docutils literal notranslate"><span class="pre">PSA_MAC_FINAL_SIZE</span></code> (macro)</a></li>
560<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_AEAD_ENCRYPT_OUTPUT_SIZE"><code class="docutils literal notranslate"><span class="pre">PSA_AEAD_ENCRYPT_OUTPUT_SIZE</span></code> (macro)</a></li>
561<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_AEAD_DECRYPT_OUTPUT_SIZE"><code class="docutils literal notranslate"><span class="pre">PSA_AEAD_DECRYPT_OUTPUT_SIZE</span></code> (macro)</a></li>
562<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_AEAD_UPDATE_OUTPUT_SIZE"><code class="docutils literal notranslate"><span class="pre">PSA_AEAD_UPDATE_OUTPUT_SIZE</span></code> (macro)</a></li>
563<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_AEAD_FINISH_OUTPUT_SIZE"><code class="docutils literal notranslate"><span class="pre">PSA_AEAD_FINISH_OUTPUT_SIZE</span></code> (macro)</a></li>
564<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_AEAD_VERIFY_OUTPUT_SIZE"><code class="docutils literal notranslate"><span class="pre">PSA_AEAD_VERIFY_OUTPUT_SIZE</span></code> (macro)</a></li>
565<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_RSA_MINIMUM_PADDING_SIZE"><code class="docutils literal notranslate"><span class="pre">PSA_RSA_MINIMUM_PADDING_SIZE</span></code> (macro)</a></li>
566<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ECDSA_SIGNATURE_SIZE"><code class="docutils literal notranslate"><span class="pre">PSA_ECDSA_SIGNATURE_SIZE</span></code> (macro)</a></li>
567<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ASYMMETRIC_SIGN_OUTPUT_SIZE"><code class="docutils literal notranslate"><span class="pre">PSA_ASYMMETRIC_SIGN_OUTPUT_SIZE</span></code> (macro)</a></li>
568<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ASYMMETRIC_ENCRYPT_OUTPUT_SIZE"><code class="docutils literal notranslate"><span class="pre">PSA_ASYMMETRIC_ENCRYPT_OUTPUT_SIZE</span></code> (macro)</a></li>
569<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_ASYMMETRIC_DECRYPT_OUTPUT_SIZE"><code class="docutils literal notranslate"><span class="pre">PSA_ASYMMETRIC_DECRYPT_OUTPUT_SIZE</span></code> (macro)</a></li>
570<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_EXPORT_ASN1_INTEGER_MAX_SIZE"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_EXPORT_ASN1_INTEGER_MAX_SIZE</span></code> (macro)</a></li>
571<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_EXPORT_RSA_PUBLIC_KEY_MAX_SIZE"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_EXPORT_RSA_PUBLIC_KEY_MAX_SIZE</span></code> (macro)</a></li>
572<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_EXPORT_RSA_KEY_PAIR_MAX_SIZE"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_EXPORT_RSA_KEY_PAIR_MAX_SIZE</span></code> (macro)</a></li>
573<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_EXPORT_DSA_PUBLIC_KEY_MAX_SIZE"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_EXPORT_DSA_PUBLIC_KEY_MAX_SIZE</span></code> (macro)</a></li>
574<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_EXPORT_DSA_KEY_PAIR_MAX_SIZE"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_EXPORT_DSA_KEY_PAIR_MAX_SIZE</span></code> (macro)</a></li>
575<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_EXPORT_ECC_PUBLIC_KEY_MAX_SIZE"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_EXPORT_ECC_PUBLIC_KEY_MAX_SIZE</span></code> (macro)</a></li>
576<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_EXPORT_ECC_KEY_PAIR_MAX_SIZE"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_EXPORT_ECC_KEY_PAIR_MAX_SIZE</span></code> (macro)</a></li>
577<li class="toctree-l2"><a class="reference internal" href="from_doxygen.html#PSA_KEY_EXPORT_MAX_SIZE"><code class="docutils literal notranslate"><span class="pre">PSA_KEY_EXPORT_MAX_SIZE</span></code> (macro)</a></li>
578</ul>
579</li>
580</ul>
581</div>
582<div class="section" id="document-history">
583<h2>Document history</h2>
584<table border="1" class="docutils">
585<colgroup>
586<col width="11%" />
587<col width="89%" />
588</colgroup>
589<thead valign="bottom">
590<tr class="row-odd"><th class="head">Date</th>
591<th class="head">Changes</th>
592</tr>
593</thead>
594<tbody valign="top">
595<tr class="row-even"><td>2019-01-21</td>
596<td><em>Release 1.0 beta 1</em></td>
597</tr>
598<tr class="row-odd"><td>2019-02-08</td>
599<td><ul class="first last simple">
600<li>Remove obsolete definition <code class="docutils literal notranslate"><span class="pre">PSA_ALG_IS_KEY_SELECTION</span></code>.</li>
601<li><code class="docutils literal notranslate"><span class="pre">psa_key_agreement</span></code>: document <code class="docutils literal notranslate"><span class="pre">alg</span></code> parameter.</li>
602<li><a class="reference internal" href="from_doxygen.html#c.PSA_AEAD_FINISH_OUTPUT_SIZE" title="PSA_AEAD_FINISH_OUTPUT_SIZE"><code class="xref any c c-macro docutils literal notranslate"><span class="pre">PSA_AEAD_FINISH_OUTPUT_SIZE</span></code></a>: remove spurious parameter <code class="docutils literal notranslate"><span class="pre">plaintext_length</span></code>.</li>
603</ul>
604</td>
605</tr>
606<tr class="row-even"><td>2019-02-08</td>
607<td>Document formatting improvements</td>
608</tr>
609<tr class="row-odd"><td>2019-02-22</td>
610<td><em>Release 1.0 beta 2</em></td>
611</tr>
612<tr class="row-even"><td>2019-03-12</td>
613<td><ul class="first last simple">
614<li>Specify <code class="docutils literal notranslate"><span class="pre">psa_generator_import_key</span></code> for most key types.</li>
615</ul>
616</td>
617</tr>
618<tr class="row-odd"><td>2019-04-09</td>
619<td><p class="first">Change the value of error codes, and some names, to align
620with other PSA specifications. The name changes are:</p>
621<ul class="last simple">
622<li><code class="docutils literal notranslate"><span class="pre">PSA_ERROR_UNKNOWN_ERROR</span></code><a class="reference internal" href="from_doxygen.html#c.PSA_ERROR_GENERIC_ERROR" title="PSA_ERROR_GENERIC_ERROR"><code class="xref any c c-macro docutils literal notranslate"><span class="pre">PSA_ERROR_GENERIC_ERROR</span></code></a></li>
623<li><code class="docutils literal notranslate"><span class="pre">PSA_ERROR_OCCUPIED_SLOT</span></code><a class="reference internal" href="from_doxygen.html#c.PSA_ERROR_ALREADY_EXISTS" title="PSA_ERROR_ALREADY_EXISTS"><code class="xref any c c-macro docutils literal notranslate"><span class="pre">PSA_ERROR_ALREADY_EXISTS</span></code></a></li>
624<li><code class="docutils literal notranslate"><span class="pre">PSA_ERROR_EMPTY_SLOT</span></code><a class="reference internal" href="from_doxygen.html#c.PSA_ERROR_DOES_NOT_EXIST" title="PSA_ERROR_DOES_NOT_EXIST"><code class="xref any c c-macro docutils literal notranslate"><span class="pre">PSA_ERROR_DOES_NOT_EXIST</span></code></a></li>
625<li><code class="docutils literal notranslate"><span class="pre">PSA_ERROR_INSUFFICIENT_CAPACITY</span></code><a class="reference internal" href="from_doxygen.html#c.PSA_ERROR_INSUFFICIENT_DATA" title="PSA_ERROR_INSUFFICIENT_DATA"><code class="xref any c c-macro docutils literal notranslate"><span class="pre">PSA_ERROR_INSUFFICIENT_DATA</span></code></a></li>
626<li><code class="docutils literal notranslate"><span class="pre">PSA_ERROR_TAMPERING_DETECTED</span></code><a class="reference internal" href="from_doxygen.html#c.PSA_ERROR_CORRUPTION_DETECTED" title="PSA_ERROR_CORRUPTION_DETECTED"><code class="xref any c c-macro docutils literal notranslate"><span class="pre">PSA_ERROR_CORRUPTION_DETECTED</span></code></a></li>
627</ul>
628</td>
629</tr>
630<tr class="row-even"><td>2019-05-02</td>
631<td><p class="first">Change the way keys are created to avoid “half-filled” handles
632that contained key metadata, but no key material.
633Now, to create a key, first fill in a data structure containing
634its attributes, then pass this structure to a function that
635both allocates resources for the key and fills in the key
636material. This affects the following functions:</p>
637<ul class="last simple">
638<li><a class="reference internal" href="from_doxygen.html#c.psa_import_key" title="psa_import_key"><code class="xref any c c-func docutils literal notranslate"><span class="pre">psa_import_key</span></code></a>, <a class="reference internal" href="from_doxygen.html#c.psa_generate_key" title="psa_generate_key"><code class="xref any c c-func docutils literal notranslate"><span class="pre">psa_generate_key</span></code></a>, <code class="docutils literal notranslate"><span class="pre">psa_generator_import_key</span></code>
639and <a class="reference internal" href="from_doxygen.html#c.psa_copy_key" title="psa_copy_key"><code class="xref any c c-func docutils literal notranslate"><span class="pre">psa_copy_key</span></code></a> now take an attribute structure (specifically,
640a pointer to <a class="reference internal" href="from_doxygen.html#c.psa_key_attributes_t" title="psa_key_attributes_t"><code class="xref any c c-type docutils literal notranslate"><span class="pre">psa_key_attributes_t</span></code></a>) to specify key metadata.
641This replaces the previous method of passing arguments to
642<code class="docutils literal notranslate"><span class="pre">psa_create_key</span></code> or to the key material creation function
643or calling <code class="docutils literal notranslate"><span class="pre">psa_set_key_policy</span></code>.</li>
644<li><code class="docutils literal notranslate"><span class="pre">psa_key_policy_t</span></code> and functions operating on that type
645no longer exist. A key’s policy is now accessible as part of
646its attributes.</li>
647<li><code class="docutils literal notranslate"><span class="pre">psa_get_key_information</span></code> is also replaced by accessing the
648key’s attributes (retrieved with <a class="reference internal" href="from_doxygen.html#c.psa_get_key_attributes" title="psa_get_key_attributes"><code class="xref any c c-func docutils literal notranslate"><span class="pre">psa_get_key_attributes</span></code></a>).</li>
649<li><code class="docutils literal notranslate"><span class="pre">psa_create_key</span></code> no longer exists. Instead, set the key id
650attribute and the lifetime attribute before creating the
651key material.</li>
652</ul>
653</td>
654</tr>
655<tr class="row-odd"><td>2019-05-14</td>
656<td><ul class="first last simple">
657<li>Allow <a class="reference internal" href="from_doxygen.html#c.psa_aead_update" title="psa_aead_update"><code class="xref any c c-func docutils literal notranslate"><span class="pre">psa_aead_update</span></code></a> to buffer data.</li>
658<li>New buffer size calculation macros.</li>
659</ul>
660</td>
661</tr>
662<tr class="row-even"><td>2019-05-16</td>
663<td><ul class="first last simple">
664<li>Key identifiers are no longer specific to a given lifetime
665value. <a class="reference internal" href="from_doxygen.html#c.psa_open_key" title="psa_open_key"><code class="xref any c c-func docutils literal notranslate"><span class="pre">psa_open_key</span></code></a> no longer takes a <code class="docutils literal notranslate"><span class="pre">lifetime</span></code> parameter.</li>
666<li>Define a range of key identifiers for use by applications
667and a separate range for use by implementations.</li>
668</ul>
669</td>
670</tr>
671<tr class="row-odd"><td>2019-05-16</td>
672<td><p class="first">Avoid the unusual terminology “generator”: call them
673“key derivation operations” instead. Rename a number of functions
674and other identifiers related to for clarity and consistency:</p>
675<ul class="last simple">
676<li><code class="docutils literal notranslate"><span class="pre">psa_crypto_generator_t</span></code><a class="reference internal" href="from_doxygen.html#c.psa_key_derivation_operation_t" title="psa_key_derivation_operation_t"><code class="xref any c c-type docutils literal notranslate"><span class="pre">psa_key_derivation_operation_t</span></code></a></li>
677<li><code class="docutils literal notranslate"><span class="pre">PSA_CRYPTO_GENERATOR_INIT</span></code><a class="reference internal" href="from_doxygen.html#c.PSA_KEY_DERIVATION_OPERATION_INIT" title="PSA_KEY_DERIVATION_OPERATION_INIT"><code class="xref any c c-macro docutils literal notranslate"><span class="pre">PSA_KEY_DERIVATION_OPERATION_INIT</span></code></a></li>
678<li><code class="docutils literal notranslate"><span class="pre">psa_crypto_generator_init</span></code><a class="reference internal" href="from_doxygen.html#c.psa_key_derivation_operation_init" title="psa_key_derivation_operation_init"><code class="xref any c c-func docutils literal notranslate"><span class="pre">psa_key_derivation_operation_init</span></code></a></li>
679<li><code class="docutils literal notranslate"><span class="pre">PSA_GENERATOR_UNBRIDLED_CAPACITY</span></code><a class="reference internal" href="from_doxygen.html#c.PSA_KEY_DERIVATION_UNLIMITED_CAPACITY" title="PSA_KEY_DERIVATION_UNLIMITED_CAPACITY"><code class="xref any c c-macro docutils literal notranslate"><span class="pre">PSA_KEY_DERIVATION_UNLIMITED_CAPACITY</span></code></a></li>
680<li><code class="docutils literal notranslate"><span class="pre">psa_set_generator_capacity</span></code><a class="reference internal" href="from_doxygen.html#c.psa_key_derivation_set_capacity" title="psa_key_derivation_set_capacity"><code class="xref any c c-func docutils literal notranslate"><span class="pre">psa_key_derivation_set_capacity</span></code></a></li>
681<li><code class="docutils literal notranslate"><span class="pre">psa_get_generator_capacity</span></code><a class="reference internal" href="from_doxygen.html#c.psa_key_derivation_get_capacity" title="psa_key_derivation_get_capacity"><code class="xref any c c-func docutils literal notranslate"><span class="pre">psa_key_derivation_get_capacity</span></code></a></li>
682<li><code class="docutils literal notranslate"><span class="pre">psa_key_agreement</span></code><a class="reference internal" href="from_doxygen.html#c.psa_key_derivation_key_agreement" title="psa_key_derivation_key_agreement"><code class="xref any c c-func docutils literal notranslate"><span class="pre">psa_key_derivation_key_agreement</span></code></a></li>
683<li><code class="docutils literal notranslate"><span class="pre">psa_generator_read</span></code><a class="reference internal" href="from_doxygen.html#c.psa_key_derivation_output_bytes" title="psa_key_derivation_output_bytes"><code class="xref any c c-func docutils literal notranslate"><span class="pre">psa_key_derivation_output_bytes</span></code></a></li>
684<li><code class="docutils literal notranslate"><span class="pre">psa_generate_derived_key</span></code><a class="reference internal" href="from_doxygen.html#c.psa_key_derivation_output_key" title="psa_key_derivation_output_key"><code class="xref any c c-func docutils literal notranslate"><span class="pre">psa_key_derivation_output_key</span></code></a></li>
685<li><code class="docutils literal notranslate"><span class="pre">psa_generator_abort</span></code><a class="reference internal" href="from_doxygen.html#c.psa_key_derivation_abort" title="psa_key_derivation_abort"><code class="xref any c c-func docutils literal notranslate"><span class="pre">psa_key_derivation_abort</span></code></a></li>
686<li><code class="docutils literal notranslate"><span class="pre">psa_key_agreement_raw_shared_secret</span></code><a class="reference internal" href="from_doxygen.html#c.psa_raw_key_agreement" title="psa_raw_key_agreement"><code class="xref any c c-func docutils literal notranslate"><span class="pre">psa_raw_key_agreement</span></code></a></li>
687<li><code class="docutils literal notranslate"><span class="pre">PSA_KDF_STEP_xxx</span></code><code class="docutils literal notranslate"><span class="pre">PSA_KEY_DERIVATION_INPUT_xxx</span></code></li>
688<li><code class="docutils literal notranslate"><span class="pre">PSA_xxx_KEYPAIR</span></code><code class="docutils literal notranslate"><span class="pre">PSA_xxx_KEY_PAIR</span></code></li>
689</ul>
690</td>
691</tr>
692<tr class="row-even"><td>2019-05-16</td>
693<td><ul class="first last simple">
694<li>Clarify the behavior in various corner cases.</li>
695<li>Document more error conditions.</li>
696</ul>
697</td>
698</tr>
699<tr class="row-odd"><td>2019-05-20</td>
700<td><em>Release 1.0 beta 3</em></td>
701</tr>
702</tbody>
Gilles Peskine89f0a532019-01-31 11:47:57 +0100703</table>
704</div>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200705<div class="section" id="planned-changes-for-version-1-0">
706<h2>Planned changes for version 1.0</h2>
707<p>Here is a summary of the changes we are currently planning to make to
708this specification for version 1.0.</p>
709<ul class="simple">
710<li>Add missing macros to calculate output buffer sizes, IV/nonce sizes,
711and maximum supported data sizes.</li>
712<li>Remove the definition of most macros, to give implementations free
713choice regarding how these macros are implemented, as long as the
714implementation meets the English-language specification.</li>
715<li>Remove certain auxiliary macros that are not directly useful to
716applications, but are currently used as building blocks to define
717other macros.</li>
718<li>Correct lists of documented error codes for several functions, and
719clarify error conditions for many functions.</li>
720<li>Constrain whether and when an application may have the same persistent key
721open multiple times.</li>
722<li>Constrain the permitted implementation behavior when calling a function on
723an operation object in a state where this function does not make sense,
724and when a key is destroyed while in use.</li>
725<li>Declare identifiers for additional cryptographic algorithms.</li>
726<li>Forbid zero-length keys.</li>
727<li>Use a standard import/export format for EC keys on Montgomery curves.</li>
728<li>Mandate certain checks when importing some types of asymmetric keys.</li>
729<li>Clarifications and improvements to the description of some API elements
730and to the structure of the document.</li>
731</ul>
732<h2 id="indices">Indices</h2>
733
734<ul>
735 <li><a class="reference internal" href="genindex.html">General index</a></li>
736 <li><a class="reference internal" href="psa_c-identifiers.html">Index of identifiers</a></li>
737 <li><a class="reference internal" href="search.html">Search</a></li>
738</ul></div>
739</div>
740
741
742 </div>
743
Gilles Peskine89f0a532019-01-31 11:47:57 +0100744 </div>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200745 </div>
746 <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
747 <div class="sphinxsidebarwrapper">
748<h1 class="logo"><a href="#">psa_crypto_api</a></h1>
Gilles Peskine89f0a532019-01-31 11:47:57 +0100749
Gilles Peskine89f0a532019-01-31 11:47:57 +0100750
Gilles Peskine06995ff2019-05-21 19:50:19 +0200751
752
753
754
755
756
757<h3>Navigation</h3>
758<ul>
759<li class="toctree-l1"><a class="reference internal" href="general.html">Introduction</a></li>
760<li class="toctree-l1"><a class="reference internal" href="general.html#design-goals">Design goals</a></li>
761<li class="toctree-l1"><a class="reference internal" href="general.html#functionality-overview">Functionality overview</a></li>
762<li class="toctree-l1"><a class="reference internal" href="general.html#sample-architectures">Sample architectures</a></li>
763<li class="toctree-l1"><a class="reference internal" href="general.html#library-conventions">Library conventions</a></li>
764<li class="toctree-l1"><a class="reference internal" href="general.html#implementation-considerations">Implementation considerations</a></li>
765<li class="toctree-l1"><a class="reference internal" href="general.html#usage-considerations">Usage considerations</a></li>
766<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html">Implementation-specific definitions</a></li>
767<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#library-initialization">Library initialization</a></li>
768<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#key-attributes">Key attributes</a></li>
769<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#key-management">Key management</a></li>
770<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#key-import-and-export">Key import and export</a></li>
771<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#message-digests">Message digests</a></li>
772<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#message-authentication-codes">Message authentication codes</a></li>
773<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#symmetric-ciphers">Symmetric ciphers</a></li>
774<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#authenticated-encryption-with-associated-data-aead">Authenticated encryption with associated data (AEAD)</a></li>
775<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#asymmetric-cryptography">Asymmetric cryptography</a></li>
776<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#key-derivation-and-pseudorandom-generation">Key derivation and pseudorandom generation</a></li>
777<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#random-generation">Random generation</a></li>
778<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#error-codes">Error codes</a></li>
779<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#key-and-algorithm-types">Key and algorithm types</a></li>
780<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#key-lifetimes">Key lifetimes</a></li>
781<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#key-policies">Key policies</a></li>
782<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#key-derivation">Key derivation</a></li>
783<li class="toctree-l1"><a class="reference internal" href="from_doxygen.html#other-definitions">Other definitions</a></li>
784</ul>
785
786<div class="relations">
787<h3>Related Topics</h3>
788<ul>
789 <li><a href="#">Documentation overview</a><ul>
790 <li>Next: <a href="general.html" title="next chapter">Introduction</a></li>
791 </ul></li>
792</ul>
793</div>
794<div id="searchbox" style="display: none" role="search">
795 <h3>Quick search</h3>
796 <div class="searchformwrapper">
797 <form class="search" action="search.html" method="get">
798 <input type="text" name="q" />
799 <input type="submit" value="Go" />
800 <input type="hidden" name="check_keywords" value="yes" />
801 <input type="hidden" name="area" value="default" />
802 </form>
803 </div>
804</div>
805<script type="text/javascript">$('#searchbox').show(0);</script>
806
807
808
809
810
811
812
813
814 </div>
815 </div>
816 <div class="clearer"></div>
817 </div>
818 <div class="footer">
819 &copy;2019, Arm.
820
821 |
822 Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.5</a>
823 &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
824
825 |
826 <a href="_sources/index.rst.txt"
827 rel="nofollow">Page source</a>
828 </div>
829
830
831
832
833 </body>
834</html>