blob: 6f91897b00ca9bb5d4b9c00816bef75a880c5ff8 [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>
Gilles Peskine06995ff2019-05-21 19:50:19 +02007 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Gilles Peskine6c723a22020-04-17 16:57:52 +02008 <title>PSA Cryptography API 1.0 &#8212; PSA Crypto API 1.0.0 documentation</title>
Gilles Peskine06995ff2019-05-21 19:50:19 +02009 <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
10 <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
Gilles Peskine6c723a22020-04-17 16:57:52 +020011 <script type="text/javascript">
12 var DOCUMENTATION_OPTIONS = {
13 URL_ROOT: './',
14 VERSION: '1.0.0',
15 COLLAPSE_INDEX: false,
16 FILE_SUFFIX: '.html',
17 HAS_SOURCE: true,
18 SOURCELINK_SUFFIX: '.txt'
19 };
20 </script>
Gilles Peskine06995ff2019-05-21 19:50:19 +020021 <script type="text/javascript" src="_static/jquery.js"></script>
22 <script type="text/javascript" src="_static/underscore.js"></script>
23 <script type="text/javascript" src="_static/doctools.js"></script>
Gilles Peskine06995ff2019-05-21 19:50:19 +020024 <link rel="index" title="Index" href="genindex.html" />
25 <link rel="search" title="Search" href="search.html" />
Gilles Peskine6c723a22020-04-17 16:57:52 +020026 <link rel="next" title="Introduction" href="overview/intro.html" />
Gilles Peskine06995ff2019-05-21 19:50:19 +020027
28 <link rel="stylesheet" href="_static/custom.css" type="text/css" />
29
Gilles Peskine06995ff2019-05-21 19:50:19 +020030 <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
31
Gilles Peskine6c723a22020-04-17 16:57:52 +020032 </head>
33 <body>
Gilles Peskine06995ff2019-05-21 19:50:19 +020034
35
36 <div class="document">
37 <div class="documentwrapper">
38 <div class="bodywrapper">
Gilles Peskine06995ff2019-05-21 19:50:19 +020039 <div class="body" role="main">
40
Gilles Peskine6c723a22020-04-17 16:57:52 +020041 <div class="section" id="psa-cryptography-api-version">
42<h1>PSA Cryptography API 1.0</h1>
Gilles Peskine06995ff2019-05-21 19:50:19 +020043<div class="toctree-wrapper compound">
44<ul>
Gilles Peskine6c723a22020-04-17 16:57:52 +020045<li class="toctree-l1"><a class="reference internal" href="overview/intro.html">Introduction</a></li>
46<li class="toctree-l1"><a class="reference internal" href="overview/goals.html">Design goals</a><ul>
47<li class="toctree-l2"><a class="reference internal" href="overview/goals.html#suitable-for-constrained-devices">Suitable for constrained devices</a></li>
48<li class="toctree-l2"><a class="reference internal" href="overview/goals.html#a-keystore-interface">A keystore interface</a></li>
49<li class="toctree-l2"><a class="reference internal" href="overview/goals.html#optional-isolation">Optional isolation</a></li>
50<li class="toctree-l2"><a class="reference internal" href="overview/goals.html#choice-of-algorithms">Choice of algorithms</a></li>
51<li class="toctree-l2"><a class="reference internal" href="overview/goals.html#ease-of-use">Ease of use</a></li>
52<li class="toctree-l2"><a class="reference internal" href="overview/goals.html#example-use-cases">Example use cases</a><ul>
53<li class="toctree-l3"><a class="reference internal" href="overview/goals.html#network-security-tls">Network Security (TLS)</a></li>
54<li class="toctree-l3"><a class="reference internal" href="overview/goals.html#secure-storage">Secure Storage</a></li>
55<li class="toctree-l3"><a class="reference internal" href="overview/goals.html#network-credentials">Network Credentials</a></li>
56<li class="toctree-l3"><a class="reference internal" href="overview/goals.html#device-pairing">Device Pairing</a></li>
57<li class="toctree-l3"><a class="reference internal" href="overview/goals.html#secure-boot">Secure Boot</a></li>
58<li class="toctree-l3"><a class="reference internal" href="overview/goals.html#attestation">Attestation</a></li>
59<li class="toctree-l3"><a class="reference internal" href="overview/goals.html#factory-provisioning">Factory Provisioning</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +020060</ul>
61</li>
62</ul>
63</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +020064<li class="toctree-l1"><a class="reference internal" href="overview/functionality.html">Functionality overview</a><ul>
65<li class="toctree-l2"><a class="reference internal" href="overview/functionality.html#library-management">Library management</a></li>
66<li class="toctree-l2"><a class="reference internal" href="overview/functionality.html#key-management">Key management</a><ul>
67<li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#volatile-keys">Volatile keys</a></li>
68<li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#persistent-keys">Persistent keys</a></li>
69<li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#key-identifiers">Key identifiers</a></li>
70<li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#recommendations-of-minimum-standards-for-key-management">Recommendations of minimum standards for key management</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +020071</ul>
72</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +020073<li class="toctree-l2"><a class="reference internal" href="overview/functionality.html#usage-policies">Usage policies</a></li>
74<li class="toctree-l2"><a class="reference internal" href="overview/functionality.html#symmetric-cryptography">Symmetric cryptography</a><ul>
75<li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#single-part-functions">Single-part Functions</a></li>
76<li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#multi-part-operations">Multi-part operations</a></li>
77<li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#message-digests-hashes">Message digests (Hashes)</a></li>
78<li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#message-authentication-codes-macs">Message authentication codes (MACs)</a></li>
79<li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#encryption-and-decryption">Encryption and decryption</a></li>
80<li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#authenticated-encryption-aead">Authenticated encryption (AEAD)</a></li>
81<li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#key-derivation">Key derivation</a></li>
82<li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#example-of-the-symmetric-cryptography-api">Example of the symmetric cryptography API</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +020083</ul>
84</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +020085<li class="toctree-l2"><a class="reference internal" href="overview/functionality.html#asymmetric-cryptography">Asymmetric cryptography</a><ul>
86<li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#asymmetric-encryption">Asymmetric encryption</a></li>
87<li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#hash-and-sign">Hash-and-sign</a></li>
88<li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#key-agreement">Key agreement</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +020089</ul>
90</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +020091<li class="toctree-l2"><a class="reference internal" href="overview/functionality.html#randomness-and-key-generation">Randomness and key generation</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +020092</ul>
93</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +020094<li class="toctree-l1"><a class="reference internal" href="overview/sample-arch.html">Sample architectures</a><ul>
95<li class="toctree-l2"><a class="reference internal" href="overview/sample-arch.html#single-partition-architecture">Single-partition architecture</a></li>
96<li class="toctree-l2"><a class="reference internal" href="overview/sample-arch.html#cryptographic-token-and-single-application-processor">Cryptographic token and single-application processor</a></li>
97<li class="toctree-l2"><a class="reference internal" href="overview/sample-arch.html#cryptoprocessor-with-no-key-storage">Cryptoprocessor with no key storage</a></li>
98<li class="toctree-l2"><a class="reference internal" href="overview/sample-arch.html#multi-client-cryptoprocessor">Multi-client cryptoprocessor</a></li>
99<li class="toctree-l2"><a class="reference internal" href="overview/sample-arch.html#multi-cryptoprocessor-architecture">Multi-cryptoprocessor architecture</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200100</ul>
101</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200102<li class="toctree-l1"><a class="reference internal" href="overview/conventions.html">Library conventions</a><ul>
103<li class="toctree-l2"><a class="reference internal" href="overview/conventions.html#error-handling">Error handling</a><ul>
104<li class="toctree-l3"><a class="reference internal" href="overview/conventions.html#return-status">Return status</a></li>
105<li class="toctree-l3"><a class="reference internal" href="overview/conventions.html#behavior-on-error">Behavior on error</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200106</ul>
107</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200108<li class="toctree-l2"><a class="reference internal" href="overview/conventions.html#parameter-conventions">Parameter conventions</a><ul>
109<li class="toctree-l3"><a class="reference internal" href="overview/conventions.html#pointer-conventions">Pointer conventions</a></li>
110<li class="toctree-l3"><a class="reference internal" href="overview/conventions.html#input-buffer-sizes">Input buffer sizes</a></li>
111<li class="toctree-l3"><a class="reference internal" href="overview/conventions.html#output-buffer-sizes">Output buffer sizes</a></li>
112<li class="toctree-l3"><a class="reference internal" href="overview/conventions.html#overlap-between-parameters">Overlap between parameters</a></li>
113<li class="toctree-l3"><a class="reference internal" href="overview/conventions.html#stability-of-parameters">Stability of parameters</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200114</ul>
115</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200116<li class="toctree-l2"><a class="reference internal" href="overview/conventions.html#key-types-and-algorithms">Key types and algorithms</a><ul>
117<li class="toctree-l3"><a class="reference internal" href="overview/conventions.html#structure-of-key-and-algorithm-types">Structure of key and algorithm types</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200118</ul>
119</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200120<li class="toctree-l2"><a class="reference internal" href="overview/conventions.html#concurrent-calls">Concurrent calls</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200121</ul>
122</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200123<li class="toctree-l1"><a class="reference internal" href="overview/implementation.html">Implementation considerations</a><ul>
124<li class="toctree-l2"><a class="reference internal" href="overview/implementation.html#implementation-specific-aspects-of-the-interface">Implementation-specific aspects of the interface</a><ul>
125<li class="toctree-l3"><a class="reference internal" href="overview/implementation.html#implementation-profile">Implementation profile</a></li>
126<li class="toctree-l3"><a class="reference internal" href="overview/implementation.html#implementation-specific-types">Implementation-specific types</a></li>
127<li class="toctree-l3"><a class="reference internal" href="overview/implementation.html#implementation-specific-macros">Implementation-specific macros</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200128</ul>
129</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200130<li class="toctree-l2"><a class="reference internal" href="overview/implementation.html#porting-to-a-platform">Porting to a platform</a><ul>
131<li class="toctree-l3"><a class="reference internal" href="overview/implementation.html#platform-assumptions">Platform assumptions</a></li>
132<li class="toctree-l3"><a class="reference internal" href="overview/implementation.html#platform-specific-types">Platform-specific types</a></li>
133<li class="toctree-l3"><a class="reference internal" href="overview/implementation.html#cryptographic-hardware-support">Cryptographic hardware support</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200134</ul>
135</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200136<li class="toctree-l2"><a class="reference internal" href="overview/implementation.html#security-requirements-and-recommendations">Security requirements and recommendations</a><ul>
137<li class="toctree-l3"><a class="reference internal" href="overview/implementation.html#error-detection">Error detection</a></li>
138<li class="toctree-l3"><a class="reference internal" href="overview/implementation.html#indirect-object-references">Indirect object references</a></li>
139<li class="toctree-l3"><a class="reference internal" href="overview/implementation.html#memory-cleanup">Memory cleanup</a></li>
140<li class="toctree-l3"><a class="reference internal" href="overview/implementation.html#managing-key-material">Managing key material</a></li>
141<li class="toctree-l3"><a class="reference internal" href="overview/implementation.html#safe-outputs-on-error">Safe outputs on error</a></li>
142<li class="toctree-l3"><a class="reference internal" href="overview/implementation.html#attack-resistance">Attack resistance</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200143</ul>
144</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200145<li class="toctree-l2"><a class="reference internal" href="overview/implementation.html#other-implementation-considerations">Other implementation considerations</a><ul>
146<li class="toctree-l3"><a class="reference internal" href="overview/implementation.html#philosophy-of-resource-management">Philosophy of resource management</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200147</ul>
148</li>
149</ul>
150</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200151<li class="toctree-l1"><a class="reference internal" href="overview/usage.html">Usage considerations</a><ul>
152<li class="toctree-l2"><a class="reference internal" href="overview/usage.html#security-recommendations">Security recommendations</a><ul>
153<li class="toctree-l3"><a class="reference internal" href="overview/usage.html#always-check-for-errors">Always check for errors</a></li>
154<li class="toctree-l3"><a class="reference internal" href="overview/usage.html#shared-memory-and-concurrency">Shared memory and concurrency</a></li>
155<li class="toctree-l3"><a class="reference internal" href="overview/usage.html#cleaning-up-after-use">Cleaning up after use</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200156</ul>
157</li>
158</ul>
159</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200160<li class="toctree-l1"><a class="reference internal" href="api/library/index.html">Library management reference</a><ul>
161<li class="toctree-l2"><a class="reference internal" href="api/library/status.html">PSA status codes</a><ul>
162<li class="toctree-l3"><a class="reference internal" href="api/library/status.html#status-type">Status type</a></li>
163<li class="toctree-l3"><a class="reference internal" href="api/library/status.html#success-codes">Success codes</a></li>
164<li class="toctree-l3"><a class="reference internal" href="api/library/status.html#error-codes">Error codes</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200165</ul>
166</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200167<li class="toctree-l2"><a class="reference internal" href="api/library/library.html">PSA Crypto library</a><ul>
168<li class="toctree-l3"><a class="reference internal" href="api/library/library.html#api-version">API version</a></li>
169<li class="toctree-l3"><a class="reference internal" href="api/library/library.html#library-initialization">Library initialization</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200170</ul>
171</li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200172</ul>
173</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200174<li class="toctree-l1"><a class="reference internal" href="api/keys/index.html">Key management reference</a><ul>
175<li class="toctree-l2"><a class="reference internal" href="api/keys/attributes.html">Key attributes</a><ul>
176<li class="toctree-l3"><a class="reference internal" href="api/keys/attributes.html#attribute-types">Attribute types</a></li>
177<li class="toctree-l3"><a class="reference internal" href="api/keys/attributes.html#managing-attributes">Managing attributes</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200178</ul>
179</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200180<li class="toctree-l2"><a class="reference internal" href="api/keys/locations.html">Key locations</a><ul>
181<li class="toctree-l3"><a class="reference internal" href="api/keys/locations.html#key-lifetimes">Key lifetimes</a></li>
182<li class="toctree-l3"><a class="reference internal" href="api/keys/locations.html#key-identifiers">Key identifiers</a></li>
183<li class="toctree-l3"><a class="reference internal" href="api/keys/locations.html#attribute-accessors">Attribute accessors</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200184</ul>
185</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200186<li class="toctree-l2"><a class="reference internal" href="api/keys/types.html">Key types</a><ul>
187<li class="toctree-l3"><a class="reference internal" href="api/keys/types.html#key-categories">Key categories</a></li>
188<li class="toctree-l3"><a class="reference internal" href="api/keys/types.html#symmetric-keys">Symmetric keys</a></li>
189<li class="toctree-l3"><a class="reference internal" href="api/keys/types.html#rsa-keys">RSA keys</a></li>
190<li class="toctree-l3"><a class="reference internal" href="api/keys/types.html#elliptic-curve-keys">Elliptic Curve keys</a></li>
191<li class="toctree-l3"><a class="reference internal" href="api/keys/types.html#diffie-hellman-keys">Diffie Hellman keys</a></li>
192<li class="toctree-l3"><a class="reference internal" href="api/keys/types.html#attribute-accessors">Attribute accessors</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200193</ul>
194</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200195<li class="toctree-l2"><a class="reference internal" href="api/keys/usage.html">Key policies</a><ul>
196<li class="toctree-l3"><a class="reference internal" href="api/keys/usage.html#key-usage-flags">Key usage flags</a></li>
197<li class="toctree-l3"><a class="reference internal" href="api/keys/usage.html#attribute-accessors">Attribute accessors</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200198</ul>
199</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200200<li class="toctree-l2"><a class="reference internal" href="api/keys/algorithms.html">Algorithms</a><ul>
201<li class="toctree-l3"><a class="reference internal" href="api/keys/algorithms.html#algorithm-categories">Algorithm categories</a></li>
202<li class="toctree-l3"><a class="reference internal" href="api/keys/algorithms.html#attribute-accessors">Attribute accessors</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200203</ul>
204</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200205<li class="toctree-l2"><a class="reference internal" href="api/keys/management.html">Key management functions</a><ul>
206<li class="toctree-l3"><a class="reference internal" href="api/keys/management.html#key-creation">Key creation</a></li>
207<li class="toctree-l3"><a class="reference internal" href="api/keys/management.html#key-destruction">Key destruction</a></li>
208<li class="toctree-l3"><a class="reference internal" href="api/keys/management.html#key-export">Key export</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200209</ul>
210</li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200211</ul>
212</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200213<li class="toctree-l1"><a class="reference internal" href="api/ops/index.html">Cryptographic operation reference</a><ul>
214<li class="toctree-l2"><a class="reference internal" href="api/ops/hashes.html">Message digests</a><ul>
215<li class="toctree-l3"><a class="reference internal" href="api/ops/hashes.html#hash-algorithms">Hash algorithms</a></li>
216<li class="toctree-l3"><a class="reference internal" href="api/ops/hashes.html#single-part-hashing-functions">Single-part hashing functions</a></li>
217<li class="toctree-l3"><a class="reference internal" href="api/ops/hashes.html#multi-part-hashing-operations">Multi-part hashing operations</a></li>
218<li class="toctree-l3"><a class="reference internal" href="api/ops/hashes.html#support-macros">Support macros</a></li>
219<li class="toctree-l3"><a class="reference internal" href="api/ops/hashes.html#hash-suspend-state">Hash suspend state</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200220</ul>
221</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200222<li class="toctree-l2"><a class="reference internal" href="api/ops/macs.html">Message authentication codes (MAC)</a><ul>
223<li class="toctree-l3"><a class="reference internal" href="api/ops/macs.html#mac-algorithms">MAC algorithms</a></li>
224<li class="toctree-l3"><a class="reference internal" href="api/ops/macs.html#single-part-mac-functions">Single-part MAC functions</a></li>
225<li class="toctree-l3"><a class="reference internal" href="api/ops/macs.html#multi-part-mac-operations">Multi-part MAC operations</a></li>
226<li class="toctree-l3"><a class="reference internal" href="api/ops/macs.html#support-macros">Support macros</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200227</ul>
228</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200229<li class="toctree-l2"><a class="reference internal" href="api/ops/ciphers.html">Unauthenticated ciphers</a><ul>
230<li class="toctree-l3"><a class="reference internal" href="api/ops/ciphers.html#cipher-algorithms">Cipher algorithms</a></li>
231<li class="toctree-l3"><a class="reference internal" href="api/ops/ciphers.html#single-part-cipher-functions">Single-part cipher functions</a></li>
232<li class="toctree-l3"><a class="reference internal" href="api/ops/ciphers.html#multi-part-cipher-operations">Multi-part cipher operations</a></li>
233<li class="toctree-l3"><a class="reference internal" href="api/ops/ciphers.html#support-macros">Support macros</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200234</ul>
235</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200236<li class="toctree-l2"><a class="reference internal" href="api/ops/aead.html">Authenticated encryption with associated data (AEAD)</a><ul>
237<li class="toctree-l3"><a class="reference internal" href="api/ops/aead.html#aead-algorithms">AEAD algorithms</a></li>
238<li class="toctree-l3"><a class="reference internal" href="api/ops/aead.html#single-part-aead-functions">Single-part AEAD functions</a></li>
239<li class="toctree-l3"><a class="reference internal" href="api/ops/aead.html#multi-part-aead-operations">Multi-part AEAD operations</a></li>
240<li class="toctree-l3"><a class="reference internal" href="api/ops/aead.html#support-macros">Support macros</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200241</ul>
242</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200243<li class="toctree-l2"><a class="reference internal" href="api/ops/kdf.html">Key derivation</a><ul>
244<li class="toctree-l3"><a class="reference internal" href="api/ops/kdf.html#key-derivation-algorithms">Key derivation algorithms</a></li>
245<li class="toctree-l3"><a class="reference internal" href="api/ops/kdf.html#input-step-types">Input step types</a></li>
246<li class="toctree-l3"><a class="reference internal" href="api/ops/kdf.html#key-derivation-functions">Key derivation functions</a></li>
247<li class="toctree-l3"><a class="reference internal" href="api/ops/kdf.html#support-macros">Support macros</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200248</ul>
249</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200250<li class="toctree-l2"><a class="reference internal" href="api/ops/sign.html">Asymmetric signature</a><ul>
251<li class="toctree-l3"><a class="reference internal" href="api/ops/sign.html#asymmetric-signature-algorithms">Asymmetric signature algorithms</a></li>
252<li class="toctree-l3"><a class="reference internal" href="api/ops/sign.html#asymmetric-signature-functions">Asymmetric signature functions</a></li>
253<li class="toctree-l3"><a class="reference internal" href="api/ops/sign.html#support-macros">Support macros</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200254</ul>
255</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200256<li class="toctree-l2"><a class="reference internal" href="api/ops/pke.html">Asymmetric encryption</a><ul>
257<li class="toctree-l3"><a class="reference internal" href="api/ops/pke.html#asymmetric-encryption-algorithms">Asymmetric encryption algorithms</a></li>
258<li class="toctree-l3"><a class="reference internal" href="api/ops/pke.html#asymmetric-encryption-functions">Asymmetric encryption functions</a></li>
259<li class="toctree-l3"><a class="reference internal" href="api/ops/pke.html#support-macros">Support macros</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200260</ul>
261</li>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200262<li class="toctree-l2"><a class="reference internal" href="api/ops/ka.html">Key agreement</a><ul>
263<li class="toctree-l3"><a class="reference internal" href="api/ops/ka.html#key-agreement-algorithms">Key agreement algorithms</a></li>
264<li class="toctree-l3"><a class="reference internal" href="api/ops/ka.html#standalone-key-agreement">Standalone key agreement</a></li>
265<li class="toctree-l3"><a class="reference internal" href="api/ops/ka.html#combining-key-agreement-and-key-derivation">Combining key agreement and key derivation</a></li>
266<li class="toctree-l3"><a class="reference internal" href="api/ops/ka.html#support-macros">Support macros</a></li>
267</ul>
268</li>
269<li class="toctree-l2"><a class="reference internal" href="api/ops/rng.html">Other cryptographic services</a><ul>
270<li class="toctree-l3"><a class="reference internal" href="api/ops/rng.html#random-number-generation">Random number generation</a></li>
271</ul>
272</li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200273</ul>
274</li>
275</ul>
276</div>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200277<div class="toctree-wrapper compound">
278<ul>
279<li class="toctree-l1"><a class="reference internal" href="appendix/example_header.html">Example header file</a><ul>
280<li class="toctree-l2"><a class="reference internal" href="appendix/example_header.html#psa-crypto-h">psa/crypto.h</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200281</ul>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200282</li>
283<li class="toctree-l1"><a class="reference internal" href="appendix/specdef_values.html">Example macro implementations</a><ul>
284<li class="toctree-l2"><a class="reference internal" href="appendix/specdef_values.html#algorithm-macros">Algorithm macros</a></li>
285<li class="toctree-l2"><a class="reference internal" href="appendix/specdef_values.html#key-type-macros">Key type macros</a></li>
286<li class="toctree-l2"><a class="reference internal" href="appendix/specdef_values.html#hash-suspend-state-macros">Hash suspend state macros</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200287</ul>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200288</li>
289<li class="toctree-l1"><a class="reference internal" href="appendix/history.html">Changes to the API</a><ul>
290<li class="toctree-l2"><a class="reference internal" href="appendix/history.html#release-information">Release information</a></li>
291<li class="toctree-l2"><a class="reference internal" href="appendix/history.html#document-change-history">Document change history</a><ul>
292<li class="toctree-l3"><a class="reference internal" href="appendix/history.html#changes-between-1-0-beta-1-and-1-0-beta-2">Changes between <em>1.0 beta 1</em> and <em>1.0 beta 2</em></a></li>
293<li class="toctree-l3"><a class="reference internal" href="appendix/history.html#changes-between-1-0-beta-2-and-1-0-beta-3">Changes between <em>1.0 beta 2</em> and <em>1.0 beta 3</em></a></li>
294<li class="toctree-l3"><a class="reference internal" href="appendix/history.html#changes-between-1-0-beta-3-and-1-0-0">Changes between <em>1.0 beta 3</em> and <em>1.0.0</em></a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200295</ul>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200296</li>
297<li class="toctree-l2"><a class="reference internal" href="appendix/history.html#planned-changes-for-version-1-0-x">Planned changes for version 1.0.x</a></li>
298<li class="toctree-l2"><a class="reference internal" href="appendix/history.html#future-additions">Future additions</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200299</ul>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200300</li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200301</ul>
Gilles Peskine89f0a532019-01-31 11:47:57 +0100302</div>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200303<h2 id="indices">Indices</h2>
304
305<ul>
306 <li><a class="reference internal" href="genindex.html">General index</a></li>
307 <li><a class="reference internal" href="psa_c-identifiers.html">Index of identifiers</a></li>
308 <li><a class="reference internal" href="search.html">Search</a></li>
309</ul></div>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200310
311
312 </div>
Gilles Peskine89f0a532019-01-31 11:47:57 +0100313 </div>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200314 </div>
315 <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
Gilles Peskine6c723a22020-04-17 16:57:52 +0200316 <div class="sphinxsidebarwrapper"><div class="relations">
Gilles Peskine06995ff2019-05-21 19:50:19 +0200317<h3>Related Topics</h3>
318<ul>
319 <li><a href="#">Documentation overview</a><ul>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200320 <li>Next: <a href="overview/intro.html" title="next chapter">Introduction</a></li>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200321 </ul></li>
322</ul>
323</div>
Gilles Peskine6c723a22020-04-17 16:57:52 +0200324 <div role="note" aria-label="source link">
325 <h3>This Page</h3>
326 <ul class="this-page-menu">
327 <li><a href="_sources/index.rst.txt"
328 rel="nofollow">Show Source</a></li>
329 </ul>
330 </div>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200331<div id="searchbox" style="display: none" role="search">
332 <h3>Quick search</h3>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200333 <form class="search" action="search.html" method="get">
Gilles Peskine6c723a22020-04-17 16:57:52 +0200334 <div><input type="text" name="q" /></div>
335 <div><input type="submit" value="Go" /></div>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200336 <input type="hidden" name="check_keywords" value="yes" />
337 <input type="hidden" name="area" value="default" />
338 </form>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200339</div>
340<script type="text/javascript">$('#searchbox').show(0);</script>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200341 </div>
342 </div>
343 <div class="clearer"></div>
344 </div>
345 <div class="footer">
Gilles Peskine6c723a22020-04-17 16:57:52 +0200346 &copy; 2019-2020, Arm Limited or its affiliates. All rights reserved.
Gilles Peskine06995ff2019-05-21 19:50:19 +0200347
348 |
Gilles Peskine6c723a22020-04-17 16:57:52 +0200349 Powered by <a href="http://sphinx-doc.org/">Sphinx 1.6.7</a>
350 &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
Gilles Peskine06995ff2019-05-21 19:50:19 +0200351
352 |
353 <a href="_sources/index.rst.txt"
354 rel="nofollow">Page source</a>
355 </div>
356
357
358
359
360 </body>
361</html>