Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 1 | |
Bence Szépkúti | e26ccad | 2021-02-01 14:26:11 +0100 | [diff] [blame] | 2 | <!DOCTYPE html> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 3 | |
Gilles Peskine | 89f0a53 | 2019-01-31 11:47:57 +0100 | [diff] [blame] | 4 | <html xmlns="http://www.w3.org/1999/xhtml"> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 5 | <head> |
Bence Szépkúti | e26ccad | 2021-02-01 14:26:11 +0100 | [diff] [blame] | 6 | <meta charset="utf-8" /> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 7 | <title>PSA Cryptography API 1.0 — PSA Crypto API 1.0.1 documentation</title> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 8 | <link rel="stylesheet" href="_static/alabaster.css" type="text/css" /> |
| 9 | <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> |
Bence Szépkúti | e26ccad | 2021-02-01 14:26:11 +0100 | [diff] [blame] | 10 | <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 11 | <script type="text/javascript" src="_static/jquery.js"></script> |
| 12 | <script type="text/javascript" src="_static/underscore.js"></script> |
| 13 | <script type="text/javascript" src="_static/doctools.js"></script> |
Bence Szépkúti | e26ccad | 2021-02-01 14:26:11 +0100 | [diff] [blame] | 14 | <script type="text/javascript" src="_static/language_data.js"></script> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 15 | <link rel="author" title="About these documents" href="about.html" /> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 16 | <link rel="index" title="Index" href="genindex.html" /> |
| 17 | <link rel="search" title="Search" href="search.html" /> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 18 | <link rel="next" title="About this document" href="about.html" /> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 19 | |
| 20 | <link rel="stylesheet" href="_static/custom.css" type="text/css" /> |
| 21 | |
Bence Szépkúti | e26ccad | 2021-02-01 14:26:11 +0100 | [diff] [blame] | 22 | |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 23 | <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" /> |
| 24 | |
Bence Szépkúti | e26ccad | 2021-02-01 14:26:11 +0100 | [diff] [blame] | 25 | </head><body> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 26 | |
| 27 | |
| 28 | <div class="document"> |
| 29 | <div class="documentwrapper"> |
| 30 | <div class="bodywrapper"> |
Bence Szépkúti | e26ccad | 2021-02-01 14:26:11 +0100 | [diff] [blame] | 31 | |
| 32 | |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 33 | <div class="body" role="main"> |
| 34 | |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 35 | <a class="reference internal image-reference" href="_images/Arm_logo_blue_150LG.png"><img alt="_images/Arm_logo_blue_150LG.png" class="align-right" src="_images/Arm_logo_blue_150LG.png" style="width: 5cm;" /></a> |
| 36 | <div class="section" id="doctitle-docversion"> |
Gilles Peskine | 6c723a2 | 2020-04-17 16:57:52 +0200 | [diff] [blame] | 37 | <h1>PSA Cryptography API 1.0</h1> |
Bence Szépkúti | e26ccad | 2021-02-01 14:26:11 +0100 | [diff] [blame] | 38 | <table class="titletable docutils align-left"> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 39 | <colgroup> |
Bence Szépkúti | e26ccad | 2021-02-01 14:26:11 +0100 | [diff] [blame] | 40 | <col style="width: 50%" /> |
| 41 | <col style="width: 50%" /> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 42 | </colgroup> |
Bence Szépkúti | e26ccad | 2021-02-01 14:26:11 +0100 | [diff] [blame] | 43 | <tbody> |
| 44 | <tr class="row-odd"><td><p>Document number:</p></td> |
| 45 | <td><p>IHI 0086</p></td> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 46 | </tr> |
Bence Szépkúti | e26ccad | 2021-02-01 14:26:11 +0100 | [diff] [blame] | 47 | <tr class="row-even"><td><p>Release Quality:</p></td> |
| 48 | <td><p>Final</p></td> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 49 | </tr> |
Bence Szépkúti | e26ccad | 2021-02-01 14:26:11 +0100 | [diff] [blame] | 50 | <tr class="row-odd"><td><p>Issue Number:</p></td> |
| 51 | <td><p>1</p></td> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 52 | </tr> |
Bence Szépkúti | e26ccad | 2021-02-01 14:26:11 +0100 | [diff] [blame] | 53 | <tr class="row-even"><td><p>Confidentiality:</p></td> |
| 54 | <td><p>Non-confidential</p></td> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 55 | </tr> |
Bence Szépkúti | e26ccad | 2021-02-01 14:26:11 +0100 | [diff] [blame] | 56 | <tr class="row-odd"><td><p>Date of Issue:</p></td> |
| 57 | <td><p>27/08/2020</p></td> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 58 | </tr> |
| 59 | </tbody> |
| 60 | </table> |
| 61 | <p class="titlecopyright">Copyright © 2018-2020, Arm Limited. All rights reserved.</p> |
| 62 | <p><span class="sectiontitle">Contents</span></p> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 63 | <div class="toctree-wrapper compound"> |
| 64 | <ul> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 65 | <li class="toctree-l1"><a class="reference internal" href="about.html">About this document</a><ul> |
| 66 | <li class="toctree-l2"><a class="reference internal" href="about.html#release-information">Release information</a></li> |
| 67 | <li class="toctree-l2"><a class="reference internal" href="about.html#arm-non-confidential-document-licence-licence">Arm Non-Confidential Document Licence (“Licence”)</a></li> |
| 68 | <li class="toctree-l2"><a class="reference internal" href="about.html#references">References</a></li> |
| 69 | <li class="toctree-l2"><a class="reference internal" href="about.html#terms-and-abbreviations">Terms and abbreviations</a></li> |
| 70 | <li class="toctree-l2"><a class="reference internal" href="about.html#potential-for-change">Potential for change</a></li> |
| 71 | <li class="toctree-l2"><a class="reference internal" href="about.html#conventions">Conventions</a></li> |
| 72 | <li class="toctree-l2"><a class="reference internal" href="about.html#pseudocode-descriptions">Pseudocode descriptions</a></li> |
| 73 | <li class="toctree-l2"><a class="reference internal" href="about.html#assembler-syntax-descriptions">Assembler syntax descriptions</a></li> |
| 74 | <li class="toctree-l2"><a class="reference internal" href="about.html#feedback">Feedback</a></li> |
| 75 | </ul> |
| 76 | </li> |
| 77 | </ul> |
| 78 | </div> |
| 79 | <div class="toctree-wrapper compound"> |
| 80 | <ul> |
| 81 | <li class="toctree-l1"><a class="reference internal" href="overview/intro.html">1. Introduction</a></li> |
| 82 | <li class="toctree-l1"><a class="reference internal" href="overview/goals.html">2. Design goals</a><ul> |
| 83 | <li class="toctree-l2"><a class="reference internal" href="overview/goals.html#suitable-for-constrained-devices">2.1. Suitable for constrained devices</a></li> |
| 84 | <li class="toctree-l2"><a class="reference internal" href="overview/goals.html#a-keystore-interface">2.2. A keystore interface</a></li> |
| 85 | <li class="toctree-l2"><a class="reference internal" href="overview/goals.html#optional-isolation">2.3. Optional isolation</a></li> |
| 86 | <li class="toctree-l2"><a class="reference internal" href="overview/goals.html#choice-of-algorithms">2.4. Choice of algorithms</a></li> |
| 87 | <li class="toctree-l2"><a class="reference internal" href="overview/goals.html#ease-of-use">2.5. Ease of use</a></li> |
| 88 | <li class="toctree-l2"><a class="reference internal" href="overview/goals.html#example-use-cases">2.6. Example use cases</a><ul> |
| 89 | <li class="toctree-l3"><a class="reference internal" href="overview/goals.html#network-security-tls">2.6.1. Network Security (TLS)</a></li> |
| 90 | <li class="toctree-l3"><a class="reference internal" href="overview/goals.html#secure-storage">2.6.2. Secure Storage</a></li> |
| 91 | <li class="toctree-l3"><a class="reference internal" href="overview/goals.html#network-credentials">2.6.3. Network Credentials</a></li> |
| 92 | <li class="toctree-l3"><a class="reference internal" href="overview/goals.html#device-pairing">2.6.4. Device Pairing</a></li> |
| 93 | <li class="toctree-l3"><a class="reference internal" href="overview/goals.html#secure-boot">2.6.5. Secure Boot</a></li> |
| 94 | <li class="toctree-l3"><a class="reference internal" href="overview/goals.html#attestation">2.6.6. Attestation</a></li> |
| 95 | <li class="toctree-l3"><a class="reference internal" href="overview/goals.html#factory-provisioning">2.6.7. Factory Provisioning</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 96 | </ul> |
| 97 | </li> |
| 98 | </ul> |
| 99 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 100 | <li class="toctree-l1"><a class="reference internal" href="overview/functionality.html">3. Functionality overview</a><ul> |
| 101 | <li class="toctree-l2"><a class="reference internal" href="overview/functionality.html#library-management">3.1. Library management</a></li> |
| 102 | <li class="toctree-l2"><a class="reference internal" href="overview/functionality.html#key-management">3.2. Key management</a><ul> |
| 103 | <li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#key-identifiers">3.2.1. Key identifiers</a></li> |
| 104 | <li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#key-lifetimes">3.2.2. Key lifetimes</a></li> |
| 105 | <li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#key-policies">3.2.3. Key policies</a></li> |
| 106 | <li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#recommendations-of-minimum-standards-for-key-management">3.2.4. Recommendations of minimum standards for key management</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 107 | </ul> |
| 108 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 109 | <li class="toctree-l2"><a class="reference internal" href="overview/functionality.html#symmetric-cryptography">3.3. Symmetric cryptography</a><ul> |
| 110 | <li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#single-part-functions">3.3.1. Single-part Functions</a></li> |
| 111 | <li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#multi-part-operations">3.3.2. Multi-part operations</a></li> |
| 112 | <li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#message-digests-hashes">3.3.3. Message digests (Hashes)</a></li> |
| 113 | <li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#message-authentication-codes-macs">3.3.4. Message authentication codes (MACs)</a></li> |
| 114 | <li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#encryption-and-decryption">3.3.5. Encryption and decryption</a></li> |
| 115 | <li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#authenticated-encryption-aead">3.3.6. Authenticated encryption (AEAD)</a></li> |
| 116 | <li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#key-derivation">3.3.7. Key derivation</a></li> |
| 117 | <li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#example-of-the-symmetric-cryptography-api">3.3.8. Example of the symmetric cryptography API</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 118 | </ul> |
| 119 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 120 | <li class="toctree-l2"><a class="reference internal" href="overview/functionality.html#asymmetric-cryptography">3.4. Asymmetric cryptography</a><ul> |
| 121 | <li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#asymmetric-encryption">3.4.1. Asymmetric encryption</a></li> |
| 122 | <li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#hash-and-sign">3.4.2. Hash-and-sign</a></li> |
| 123 | <li class="toctree-l3"><a class="reference internal" href="overview/functionality.html#key-agreement">3.4.3. Key agreement</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 124 | </ul> |
| 125 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 126 | <li class="toctree-l2"><a class="reference internal" href="overview/functionality.html#randomness-and-key-generation">3.5. Randomness and key generation</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 127 | </ul> |
| 128 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 129 | <li class="toctree-l1"><a class="reference internal" href="overview/sample-arch.html">4. Sample architectures</a><ul> |
| 130 | <li class="toctree-l2"><a class="reference internal" href="overview/sample-arch.html#single-partition-architecture">4.1. Single-partition architecture</a></li> |
| 131 | <li class="toctree-l2"><a class="reference internal" href="overview/sample-arch.html#cryptographic-token-and-single-application-processor">4.2. Cryptographic token and single-application processor</a></li> |
| 132 | <li class="toctree-l2"><a class="reference internal" href="overview/sample-arch.html#cryptoprocessor-with-no-key-storage">4.3. Cryptoprocessor with no key storage</a></li> |
| 133 | <li class="toctree-l2"><a class="reference internal" href="overview/sample-arch.html#multi-client-cryptoprocessor">4.4. Multi-client cryptoprocessor</a></li> |
| 134 | <li class="toctree-l2"><a class="reference internal" href="overview/sample-arch.html#multi-cryptoprocessor-architecture">4.5. Multi-cryptoprocessor architecture</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 135 | </ul> |
| 136 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 137 | <li class="toctree-l1"><a class="reference internal" href="overview/conventions.html">5. Library conventions</a><ul> |
| 138 | <li class="toctree-l2"><a class="reference internal" href="overview/conventions.html#error-handling">5.1. Error handling</a><ul> |
| 139 | <li class="toctree-l3"><a class="reference internal" href="overview/conventions.html#return-status">5.1.1. Return status</a></li> |
| 140 | <li class="toctree-l3"><a class="reference internal" href="overview/conventions.html#behavior-on-error">5.1.2. Behavior on error</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 141 | </ul> |
| 142 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 143 | <li class="toctree-l2"><a class="reference internal" href="overview/conventions.html#parameter-conventions">5.2. Parameter conventions</a><ul> |
| 144 | <li class="toctree-l3"><a class="reference internal" href="overview/conventions.html#pointer-conventions">5.2.1. Pointer conventions</a></li> |
| 145 | <li class="toctree-l3"><a class="reference internal" href="overview/conventions.html#input-buffer-sizes">5.2.2. Input buffer sizes</a></li> |
| 146 | <li class="toctree-l3"><a class="reference internal" href="overview/conventions.html#output-buffer-sizes">5.2.3. Output buffer sizes</a></li> |
| 147 | <li class="toctree-l3"><a class="reference internal" href="overview/conventions.html#overlap-between-parameters">5.2.4. Overlap between parameters</a></li> |
| 148 | <li class="toctree-l3"><a class="reference internal" href="overview/conventions.html#stability-of-parameters">5.2.5. Stability of parameters</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 149 | </ul> |
| 150 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 151 | <li class="toctree-l2"><a class="reference internal" href="overview/conventions.html#key-types-and-algorithms">5.3. Key types and algorithms</a><ul> |
| 152 | <li class="toctree-l3"><a class="reference internal" href="overview/conventions.html#structure-of-key-and-algorithm-types">5.3.1. Structure of key and algorithm types</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 153 | </ul> |
| 154 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 155 | <li class="toctree-l2"><a class="reference internal" href="overview/conventions.html#concurrent-calls">5.4. Concurrent calls</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 156 | </ul> |
| 157 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 158 | <li class="toctree-l1"><a class="reference internal" href="overview/implementation.html">6. Implementation considerations</a><ul> |
| 159 | <li class="toctree-l2"><a class="reference internal" href="overview/implementation.html#implementation-specific-aspects-of-the-interface">6.1. Implementation-specific aspects of the interface</a><ul> |
| 160 | <li class="toctree-l3"><a class="reference internal" href="overview/implementation.html#implementation-profile">6.1.1. Implementation profile</a></li> |
| 161 | <li class="toctree-l3"><a class="reference internal" href="overview/implementation.html#implementation-specific-types">6.1.2. Implementation-specific types</a></li> |
| 162 | <li class="toctree-l3"><a class="reference internal" href="overview/implementation.html#implementation-specific-macros">6.1.3. Implementation-specific macros</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 163 | </ul> |
| 164 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 165 | <li class="toctree-l2"><a class="reference internal" href="overview/implementation.html#porting-to-a-platform">6.2. Porting to a platform</a><ul> |
| 166 | <li class="toctree-l3"><a class="reference internal" href="overview/implementation.html#platform-assumptions">6.2.1. Platform assumptions</a></li> |
| 167 | <li class="toctree-l3"><a class="reference internal" href="overview/implementation.html#platform-specific-types">6.2.2. Platform-specific types</a></li> |
| 168 | <li class="toctree-l3"><a class="reference internal" href="overview/implementation.html#cryptographic-hardware-support">6.2.3. Cryptographic hardware support</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 169 | </ul> |
| 170 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 171 | <li class="toctree-l2"><a class="reference internal" href="overview/implementation.html#security-requirements-and-recommendations">6.3. Security requirements and recommendations</a><ul> |
| 172 | <li class="toctree-l3"><a class="reference internal" href="overview/implementation.html#error-detection">6.3.1. Error detection</a></li> |
| 173 | <li class="toctree-l3"><a class="reference internal" href="overview/implementation.html#indirect-object-references">6.3.2. Indirect object references</a></li> |
| 174 | <li class="toctree-l3"><a class="reference internal" href="overview/implementation.html#memory-cleanup">6.3.3. Memory cleanup</a></li> |
| 175 | <li class="toctree-l3"><a class="reference internal" href="overview/implementation.html#managing-key-material">6.3.4. Managing key material</a></li> |
| 176 | <li class="toctree-l3"><a class="reference internal" href="overview/implementation.html#safe-outputs-on-error">6.3.5. Safe outputs on error</a></li> |
| 177 | <li class="toctree-l3"><a class="reference internal" href="overview/implementation.html#attack-resistance">6.3.6. Attack resistance</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 178 | </ul> |
| 179 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 180 | <li class="toctree-l2"><a class="reference internal" href="overview/implementation.html#other-implementation-considerations">6.4. Other implementation considerations</a><ul> |
| 181 | <li class="toctree-l3"><a class="reference internal" href="overview/implementation.html#philosophy-of-resource-management">6.4.1. Philosophy of resource management</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 182 | </ul> |
| 183 | </li> |
| 184 | </ul> |
| 185 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 186 | <li class="toctree-l1"><a class="reference internal" href="overview/usage.html">7. Usage considerations</a><ul> |
| 187 | <li class="toctree-l2"><a class="reference internal" href="overview/usage.html#security-recommendations">7.1. Security recommendations</a><ul> |
| 188 | <li class="toctree-l3"><a class="reference internal" href="overview/usage.html#always-check-for-errors">7.1.1. Always check for errors</a></li> |
| 189 | <li class="toctree-l3"><a class="reference internal" href="overview/usage.html#shared-memory-and-concurrency">7.1.2. Shared memory and concurrency</a></li> |
| 190 | <li class="toctree-l3"><a class="reference internal" href="overview/usage.html#cleaning-up-after-use">7.1.3. Cleaning up after use</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 191 | </ul> |
| 192 | </li> |
| 193 | </ul> |
| 194 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 195 | <li class="toctree-l1"><a class="reference internal" href="api/library/index.html">8. Library management reference</a><ul> |
| 196 | <li class="toctree-l2"><a class="reference internal" href="api/library/status.html">8.1. PSA status codes</a><ul> |
| 197 | <li class="toctree-l3"><a class="reference internal" href="api/library/status.html#status-type">8.1.1. Status type</a></li> |
| 198 | <li class="toctree-l3"><a class="reference internal" href="api/library/status.html#success-codes">8.1.2. Success codes</a></li> |
| 199 | <li class="toctree-l3"><a class="reference internal" href="api/library/status.html#error-codes">8.1.3. Error codes</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 200 | </ul> |
| 201 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 202 | <li class="toctree-l2"><a class="reference internal" href="api/library/library.html">8.2. PSA Crypto library</a><ul> |
| 203 | <li class="toctree-l3"><a class="reference internal" href="api/library/library.html#api-version">8.2.1. API version</a></li> |
| 204 | <li class="toctree-l3"><a class="reference internal" href="api/library/library.html#library-initialization">8.2.2. Library initialization</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 205 | </ul> |
| 206 | </li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 207 | </ul> |
| 208 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 209 | <li class="toctree-l1"><a class="reference internal" href="api/keys/index.html">9. Key management reference</a><ul> |
| 210 | <li class="toctree-l2"><a class="reference internal" href="api/keys/attributes.html">9.1. Key attributes</a><ul> |
| 211 | <li class="toctree-l3"><a class="reference internal" href="api/keys/attributes.html#managing-key-attributes">9.1.1. Managing key attributes</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 212 | </ul> |
| 213 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 214 | <li class="toctree-l2"><a class="reference internal" href="api/keys/types.html">9.2. Key types</a><ul> |
| 215 | <li class="toctree-l3"><a class="reference internal" href="api/keys/types.html#key-type-encoding">9.2.1. Key type encoding</a></li> |
| 216 | <li class="toctree-l3"><a class="reference internal" href="api/keys/types.html#key-categories">9.2.2. Key categories</a></li> |
| 217 | <li class="toctree-l3"><a class="reference internal" href="api/keys/types.html#symmetric-keys">9.2.3. Symmetric keys</a></li> |
| 218 | <li class="toctree-l3"><a class="reference internal" href="api/keys/types.html#rsa-keys">9.2.4. RSA keys</a></li> |
| 219 | <li class="toctree-l3"><a class="reference internal" href="api/keys/types.html#elliptic-curve-keys">9.2.5. Elliptic Curve keys</a></li> |
| 220 | <li class="toctree-l3"><a class="reference internal" href="api/keys/types.html#diffie-hellman-keys">9.2.6. Diffie Hellman keys</a></li> |
| 221 | <li class="toctree-l3"><a class="reference internal" href="api/keys/types.html#attribute-accessors">9.2.7. Attribute accessors</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 222 | </ul> |
| 223 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 224 | <li class="toctree-l2"><a class="reference internal" href="api/keys/lifetimes.html">9.3. Key lifetimes</a><ul> |
| 225 | <li class="toctree-l3"><a class="reference internal" href="api/keys/lifetimes.html#volatile-keys">9.3.1. Volatile keys</a></li> |
| 226 | <li class="toctree-l3"><a class="reference internal" href="api/keys/lifetimes.html#persistent-keys">9.3.2. Persistent keys</a></li> |
| 227 | <li class="toctree-l3"><a class="reference internal" href="api/keys/lifetimes.html#lifetime-encodings">9.3.3. Lifetime encodings</a></li> |
| 228 | <li class="toctree-l3"><a class="reference internal" href="api/keys/lifetimes.html#lifetime-values">9.3.4. Lifetime values</a></li> |
| 229 | <li class="toctree-l3"><a class="reference internal" href="api/keys/lifetimes.html#attribute-accessors">9.3.5. Attribute accessors</a></li> |
| 230 | <li class="toctree-l3"><a class="reference internal" href="api/keys/lifetimes.html#support-macros">9.3.6. Support macros</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 231 | </ul> |
| 232 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 233 | <li class="toctree-l2"><a class="reference internal" href="api/keys/ids.html">9.4. Key identifiers</a><ul> |
| 234 | <li class="toctree-l3"><a class="reference internal" href="api/keys/ids.html#key-identifier-type">9.4.1. Key identifier type</a></li> |
| 235 | <li class="toctree-l3"><a class="reference internal" href="api/keys/ids.html#attribute-accessors">9.4.2. Attribute accessors</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 236 | </ul> |
| 237 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 238 | <li class="toctree-l2"><a class="reference internal" href="api/keys/policy.html">9.5. Key policies</a><ul> |
| 239 | <li class="toctree-l3"><a class="reference internal" href="api/keys/policy.html#permitted-algorithms">9.5.1. Permitted algorithms</a></li> |
| 240 | <li class="toctree-l3"><a class="reference internal" href="api/keys/policy.html#key-usage-flags">9.5.2. Key usage flags</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 241 | </ul> |
| 242 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 243 | <li class="toctree-l2"><a class="reference internal" href="api/keys/management.html">9.6. Key management functions</a><ul> |
| 244 | <li class="toctree-l3"><a class="reference internal" href="api/keys/management.html#key-creation">9.6.1. Key creation</a></li> |
| 245 | <li class="toctree-l3"><a class="reference internal" href="api/keys/management.html#key-destruction">9.6.2. Key destruction</a></li> |
| 246 | <li class="toctree-l3"><a class="reference internal" href="api/keys/management.html#key-export">9.6.3. Key export</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 247 | </ul> |
| 248 | </li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 249 | </ul> |
| 250 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 251 | <li class="toctree-l1"><a class="reference internal" href="api/ops/index.html">10. Cryptographic operation reference</a><ul> |
| 252 | <li class="toctree-l2"><a class="reference internal" href="api/ops/algorithms.html">10.1. Algorithms</a><ul> |
| 253 | <li class="toctree-l3"><a class="reference internal" href="api/ops/algorithms.html#algorithm-encoding">10.1.1. Algorithm encoding</a></li> |
| 254 | <li class="toctree-l3"><a class="reference internal" href="api/ops/algorithms.html#algorithm-categories">10.1.2. Algorithm categories</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 255 | </ul> |
| 256 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 257 | <li class="toctree-l2"><a class="reference internal" href="api/ops/hashes.html">10.2. Message digests</a><ul> |
| 258 | <li class="toctree-l3"><a class="reference internal" href="api/ops/hashes.html#hash-algorithms">10.2.1. Hash algorithms</a></li> |
| 259 | <li class="toctree-l3"><a class="reference internal" href="api/ops/hashes.html#single-part-hashing-functions">10.2.2. Single-part hashing functions</a></li> |
| 260 | <li class="toctree-l3"><a class="reference internal" href="api/ops/hashes.html#multi-part-hashing-operations">10.2.3. Multi-part hashing operations</a></li> |
| 261 | <li class="toctree-l3"><a class="reference internal" href="api/ops/hashes.html#support-macros">10.2.4. Support macros</a></li> |
| 262 | <li class="toctree-l3"><a class="reference internal" href="api/ops/hashes.html#hash-suspend-state">10.2.5. Hash suspend state</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 263 | </ul> |
| 264 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 265 | <li class="toctree-l2"><a class="reference internal" href="api/ops/macs.html">10.3. Message authentication codes (MAC)</a><ul> |
| 266 | <li class="toctree-l3"><a class="reference internal" href="api/ops/macs.html#mac-algorithms">10.3.1. MAC algorithms</a></li> |
| 267 | <li class="toctree-l3"><a class="reference internal" href="api/ops/macs.html#single-part-mac-functions">10.3.2. Single-part MAC functions</a></li> |
| 268 | <li class="toctree-l3"><a class="reference internal" href="api/ops/macs.html#multi-part-mac-operations">10.3.3. Multi-part MAC operations</a></li> |
| 269 | <li class="toctree-l3"><a class="reference internal" href="api/ops/macs.html#support-macros">10.3.4. Support macros</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 270 | </ul> |
| 271 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 272 | <li class="toctree-l2"><a class="reference internal" href="api/ops/ciphers.html">10.4. Unauthenticated ciphers</a><ul> |
| 273 | <li class="toctree-l3"><a class="reference internal" href="api/ops/ciphers.html#cipher-algorithms">10.4.1. Cipher algorithms</a></li> |
| 274 | <li class="toctree-l3"><a class="reference internal" href="api/ops/ciphers.html#single-part-cipher-functions">10.4.2. Single-part cipher functions</a></li> |
| 275 | <li class="toctree-l3"><a class="reference internal" href="api/ops/ciphers.html#multi-part-cipher-operations">10.4.3. Multi-part cipher operations</a></li> |
| 276 | <li class="toctree-l3"><a class="reference internal" href="api/ops/ciphers.html#support-macros">10.4.4. Support macros</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 277 | </ul> |
| 278 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 279 | <li class="toctree-l2"><a class="reference internal" href="api/ops/aead.html">10.5. Authenticated encryption with associated data (AEAD)</a><ul> |
| 280 | <li class="toctree-l3"><a class="reference internal" href="api/ops/aead.html#aead-algorithms">10.5.1. AEAD algorithms</a></li> |
| 281 | <li class="toctree-l3"><a class="reference internal" href="api/ops/aead.html#single-part-aead-functions">10.5.2. Single-part AEAD functions</a></li> |
| 282 | <li class="toctree-l3"><a class="reference internal" href="api/ops/aead.html#multi-part-aead-operations">10.5.3. Multi-part AEAD operations</a></li> |
| 283 | <li class="toctree-l3"><a class="reference internal" href="api/ops/aead.html#support-macros">10.5.4. Support macros</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 284 | </ul> |
| 285 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 286 | <li class="toctree-l2"><a class="reference internal" href="api/ops/kdf.html">10.6. Key derivation</a><ul> |
| 287 | <li class="toctree-l3"><a class="reference internal" href="api/ops/kdf.html#key-derivation-algorithms">10.6.1. Key derivation algorithms</a></li> |
| 288 | <li class="toctree-l3"><a class="reference internal" href="api/ops/kdf.html#input-step-types">10.6.2. Input step types</a></li> |
| 289 | <li class="toctree-l3"><a class="reference internal" href="api/ops/kdf.html#key-derivation-functions">10.6.3. Key derivation functions</a></li> |
| 290 | <li class="toctree-l3"><a class="reference internal" href="api/ops/kdf.html#support-macros">10.6.4. Support macros</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 291 | </ul> |
| 292 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 293 | <li class="toctree-l2"><a class="reference internal" href="api/ops/sign.html">10.7. Asymmetric signature</a><ul> |
| 294 | <li class="toctree-l3"><a class="reference internal" href="api/ops/sign.html#asymmetric-signature-algorithms">10.7.1. Asymmetric signature algorithms</a></li> |
| 295 | <li class="toctree-l3"><a class="reference internal" href="api/ops/sign.html#asymmetric-signature-functions">10.7.2. Asymmetric signature functions</a></li> |
| 296 | <li class="toctree-l3"><a class="reference internal" href="api/ops/sign.html#support-macros">10.7.3. Support macros</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 297 | </ul> |
| 298 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 299 | <li class="toctree-l2"><a class="reference internal" href="api/ops/pke.html">10.8. Asymmetric encryption</a><ul> |
| 300 | <li class="toctree-l3"><a class="reference internal" href="api/ops/pke.html#asymmetric-encryption-algorithms">10.8.1. Asymmetric encryption algorithms</a></li> |
| 301 | <li class="toctree-l3"><a class="reference internal" href="api/ops/pke.html#asymmetric-encryption-functions">10.8.2. Asymmetric encryption functions</a></li> |
| 302 | <li class="toctree-l3"><a class="reference internal" href="api/ops/pke.html#support-macros">10.8.3. Support macros</a></li> |
Gilles Peskine | 6c723a2 | 2020-04-17 16:57:52 +0200 | [diff] [blame] | 303 | </ul> |
| 304 | </li> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 305 | <li class="toctree-l2"><a class="reference internal" href="api/ops/ka.html">10.9. Key agreement</a><ul> |
| 306 | <li class="toctree-l3"><a class="reference internal" href="api/ops/ka.html#key-agreement-algorithms">10.9.1. Key agreement algorithms</a></li> |
| 307 | <li class="toctree-l3"><a class="reference internal" href="api/ops/ka.html#standalone-key-agreement">10.9.2. Standalone key agreement</a></li> |
| 308 | <li class="toctree-l3"><a class="reference internal" href="api/ops/ka.html#combining-key-agreement-and-key-derivation">10.9.3. Combining key agreement and key derivation</a></li> |
| 309 | <li class="toctree-l3"><a class="reference internal" href="api/ops/ka.html#support-macros">10.9.4. Support macros</a></li> |
| 310 | </ul> |
| 311 | </li> |
| 312 | <li class="toctree-l2"><a class="reference internal" href="api/ops/rng.html">10.10. Other cryptographic services</a><ul> |
| 313 | <li class="toctree-l3"><a class="reference internal" href="api/ops/rng.html#random-number-generation">10.10.1. Random number generation</a></li> |
Gilles Peskine | 6c723a2 | 2020-04-17 16:57:52 +0200 | [diff] [blame] | 314 | </ul> |
| 315 | </li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 316 | </ul> |
| 317 | </li> |
| 318 | </ul> |
| 319 | </div> |
Gilles Peskine | 6c723a2 | 2020-04-17 16:57:52 +0200 | [diff] [blame] | 320 | <div class="toctree-wrapper compound"> |
| 321 | <ul> |
| 322 | <li class="toctree-l1"><a class="reference internal" href="appendix/example_header.html">Example header file</a><ul> |
| 323 | <li class="toctree-l2"><a class="reference internal" href="appendix/example_header.html#psa-crypto-h">psa/crypto.h</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 324 | </ul> |
Gilles Peskine | 6c723a2 | 2020-04-17 16:57:52 +0200 | [diff] [blame] | 325 | </li> |
| 326 | <li class="toctree-l1"><a class="reference internal" href="appendix/specdef_values.html">Example macro implementations</a><ul> |
| 327 | <li class="toctree-l2"><a class="reference internal" href="appendix/specdef_values.html#algorithm-macros">Algorithm macros</a></li> |
| 328 | <li class="toctree-l2"><a class="reference internal" href="appendix/specdef_values.html#key-type-macros">Key type macros</a></li> |
| 329 | <li class="toctree-l2"><a class="reference internal" href="appendix/specdef_values.html#hash-suspend-state-macros">Hash suspend state macros</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 330 | </ul> |
Gilles Peskine | 6c723a2 | 2020-04-17 16:57:52 +0200 | [diff] [blame] | 331 | </li> |
| 332 | <li class="toctree-l1"><a class="reference internal" href="appendix/history.html">Changes to the API</a><ul> |
Gilles Peskine | 6c723a2 | 2020-04-17 16:57:52 +0200 | [diff] [blame] | 333 | <li class="toctree-l2"><a class="reference internal" href="appendix/history.html#document-change-history">Document change history</a><ul> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 334 | <li class="toctree-l3"><a class="reference internal" href="appendix/history.html#changes-between-1-0-0-and-1-0-1">Changes between <em>1.0.0</em> and <em>1.0.1</em></a></li> |
Gilles Peskine | 6c723a2 | 2020-04-17 16:57:52 +0200 | [diff] [blame] | 335 | <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 Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 336 | <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> |
| 337 | <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> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 338 | </ul> |
Gilles Peskine | 6c723a2 | 2020-04-17 16:57:52 +0200 | [diff] [blame] | 339 | </li> |
| 340 | <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> |
| 341 | <li class="toctree-l2"><a class="reference internal" href="appendix/history.html#future-additions">Future additions</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 342 | </ul> |
Gilles Peskine | 6c723a2 | 2020-04-17 16:57:52 +0200 | [diff] [blame] | 343 | </li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 344 | </ul> |
Gilles Peskine | 89f0a53 | 2019-01-31 11:47:57 +0100 | [diff] [blame] | 345 | </div> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 346 | </div> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 347 | |
| 348 | |
| 349 | </div> |
Bence Szépkúti | e26ccad | 2021-02-01 14:26:11 +0100 | [diff] [blame] | 350 | |
Gilles Peskine | 89f0a53 | 2019-01-31 11:47:57 +0100 | [diff] [blame] | 351 | </div> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 352 | </div> |
| 353 | <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 354 | <div class="sphinxsidebarwrapper"><h3><a href="#"><b>PSA Crypto API</b></a></h3> |
| 355 | IHI 0086<br/> |
| 356 | Non-confidential<br/> |
| 357 | Version 1.0.1 |
| 358 | <span style="color: red; font-weight: bold;"></span> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 359 | <ul> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 360 | <li class="toctree-l1"><a class="reference internal" href="about.html">About this document</a></li> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 361 | </ul> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 362 | <ul> |
| 363 | <li class="toctree-l1"><a class="reference internal" href="overview/intro.html">1. Introduction</a></li> |
| 364 | <li class="toctree-l1"><a class="reference internal" href="overview/goals.html">2. Design goals</a></li> |
| 365 | <li class="toctree-l1"><a class="reference internal" href="overview/functionality.html">3. Functionality overview</a></li> |
| 366 | <li class="toctree-l1"><a class="reference internal" href="overview/sample-arch.html">4. Sample architectures</a></li> |
| 367 | <li class="toctree-l1"><a class="reference internal" href="overview/conventions.html">5. Library conventions</a></li> |
| 368 | <li class="toctree-l1"><a class="reference internal" href="overview/implementation.html">6. Implementation considerations</a></li> |
| 369 | <li class="toctree-l1"><a class="reference internal" href="overview/usage.html">7. Usage considerations</a></li> |
| 370 | <li class="toctree-l1"><a class="reference internal" href="api/library/index.html">8. Library management reference</a></li> |
| 371 | <li class="toctree-l1"><a class="reference internal" href="api/keys/index.html">9. Key management reference</a></li> |
| 372 | <li class="toctree-l1"><a class="reference internal" href="api/ops/index.html">10. Cryptographic operation reference</a></li> |
| 373 | </ul> |
| 374 | <ul> |
| 375 | <li class="toctree-l1"><a class="reference internal" href="appendix/example_header.html">Example header file</a></li> |
| 376 | <li class="toctree-l1"><a class="reference internal" href="appendix/specdef_values.html">Example macro implementations</a></li> |
| 377 | <li class="toctree-l1"><a class="reference internal" href="appendix/history.html">Changes to the API</a></li> |
| 378 | </ul> |
| 379 | <ul> |
| 380 | <li class="toctree-l1"><a class="reference internal" href="psa_c-identifiers.html">Index of API elements</a></li> |
| 381 | </ul> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 382 | <div id="searchbox" style="display: none" role="search"> |
Bence Szépkúti | e26ccad | 2021-02-01 14:26:11 +0100 | [diff] [blame] | 383 | <h3 id="searchlabel">Quick search</h3> |
| 384 | <div class="searchformwrapper"> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 385 | <form class="search" action="search.html" method="get"> |
Bence Szépkúti | e26ccad | 2021-02-01 14:26:11 +0100 | [diff] [blame] | 386 | <input type="text" name="q" aria-labelledby="searchlabel" /> |
| 387 | <input type="submit" value="Go" /> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 388 | </form> |
Bence Szépkúti | e26ccad | 2021-02-01 14:26:11 +0100 | [diff] [blame] | 389 | </div> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 390 | </div> |
| 391 | <script type="text/javascript">$('#searchbox').show(0);</script> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 392 | </div> |
| 393 | </div> |
| 394 | <div class="clearer"></div> |
| 395 | </div> |
| 396 | <div class="footer"> |
Gilles Peskine | c2db5f0 | 2021-01-18 20:36:53 +0100 | [diff] [blame] | 397 | © 2018-2020, Arm Limited or its affiliates. All rights reserved. |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 398 | |
| 399 | | |
Bence Szépkúti | e26ccad | 2021-02-01 14:26:11 +0100 | [diff] [blame] | 400 | Powered by <a href="http://sphinx-doc.org/">Sphinx 2.1.2</a> |
| 401 | & <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a> |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 402 | |
Gilles Peskine | 06995ff | 2019-05-21 19:50:19 +0200 | [diff] [blame] | 403 | </div> |
| 404 | |
| 405 | |
| 406 | |
| 407 | |
| 408 | </body> |
| 409 | </html> |