blob: 59fbe080109f683d2519e1a299b8af205b416b1e [file] [log] [blame]
Gilles Peskine882f7c72022-04-07 13:44:55 +02001
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
5<html xmlns="http://www.w3.org/1999/xhtml">
6 <head>
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8 <title>1. Introduction &#8212; PSA Crypto API 1.1.0 documentation</title>
9 <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
10 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
11 <script type="text/javascript">
12 var DOCUMENTATION_OPTIONS = {
13 URL_ROOT: '../',
14 VERSION: '1.1.0',
15 COLLAPSE_INDEX: false,
16 FILE_SUFFIX: '.html',
17 HAS_SOURCE: false,
18 SOURCELINK_SUFFIX: '.txt'
19 };
20 </script>
21 <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>
24 <link rel="author" title="About these documents" href="../about.html" />
25 <link rel="index" title="Index" href="../genindex.html" />
26 <link rel="search" title="Search" href="../search.html" />
27 <link rel="next" title="2. Design goals" href="goals.html" />
28 <link rel="prev" title="About this document" href="../about.html" />
29
30 <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
31
32 <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
33
34 </head>
35 <body>
36
37
38 <div class="document">
39 <div class="documentwrapper">
40 <div class="bodywrapper">
41 <div class="body" role="main">
42
43 <div class="section" id="introduction">
44<h1>1. Introduction</h1>
45<p>Arm’s Platform Security Architecture (PSA) is a holistic set of threat models,
46security analyses, hardware and firmware architecture specifications, an
47open source firmware reference implementation, and an independent evaluation
48and certification scheme. PSA provides a recipe, based on
49industry best practice, that allows security to be consistently designed in, at
50both a hardware and firmware level.</p>
51<p>The PSA Cryptographic API (Crypto API) described in this document is an
52important PSA component that provides a portable interface to cryptographic operations
53on a wide range of hardware. The interface is user-friendly, while still
54providing access to the low-level primitives used in modern cryptography. It
55does not require that the user has access to the key material. Instead, it uses
56opaque key identifiers.</p>
57<p>This document is part of the PSA family of specifications. It defines an
58interface for cryptographic services, including cryptography primitives and a
59key storage functionality.</p>
60<p>This document includes:</p>
61<ul class="simple">
62<li>A rationale for the design. See <a class="reference internal" href="goals.html#design-goals"><span class="secref">Design goals</span></a>.</li>
63<li>A high-level overview of the functionality provided by the interface. See <a class="reference internal" href="functionality.html#functionality-overview"><span class="secref">Functionality overview</span></a>.</li>
64<li>A description of typical architectures of implementations for this specification. See <a class="reference internal" href="sample-arch.html#architectures"><span class="secref">Sample architectures</span></a>.</li>
65<li>General considerations for implementers of this specification, and for applications that use the interface defined in this specification. See <a class="reference internal" href="implementation.html#implementation-considerations"><span class="secref">Implementation considerations</span></a> and <a class="reference internal" href="usage.html#usage-considerations"><span class="secref">Usage considerations</span></a>.</li>
66<li>A detailed definition of the API. See <a class="reference internal" href="../api/library/index.html#library-management"><span class="secref">Library management reference</span></a>, <a class="reference internal" href="../api/keys/index.html#key-management"><span class="secref">Key management reference</span></a>, and <a class="reference internal" href="../api/ops/index.html#crypto-operations"><span class="secref">Cryptographic operation reference</span></a>.</li>
67</ul>
68<p><span><em>PSA Cryptographic API 1.1 PAKE Extension</em> <a class="reference internal" href="../about.html#citation-psa-pake"><span class="cite">[PSA-PAKE]</span></a></span> is a companion document for version 1.1 of this specification. <a class="reference internal" href="../about.html#citation-psa-pake"><span class="cite">[PSA-PAKE]</span></a> defines a new API for Password Authenticated Key Establishment (PAKE) algorithms. The PAKE API is an initial proposal at BETA status. The API defined by <a class="reference internal" href="../about.html#citation-psa-pake"><span class="cite">[PSA-PAKE]</span></a> is provided in a separate specification to reflect the different status of this API, and indicate that a future version can include incompatible changes to the PAKE API. When the PAKE API is stable, it will be included in a future version of the PSA Cryptographic API specification.</p>
69<p>In future, other companion documents will define <em>profiles</em> for this specification. A profile is
70a minimum mandatory subset of the interface that a compliant implementation must
71provide.</p>
72</div>
73
74
75 </div>
76 </div>
77 </div>
78 <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
79 <div class="sphinxsidebarwrapper"><h3><a href="../index.html"><b>PSA Crypto API</b></a></h3>
80IHI 0086<br/>
81Non-confidential<br/>
82Version 1.1.0
83<span style="color: red; font-weight: bold;"></span>
84<ul>
85<li class="toctree-l1"><a class="reference internal" href="../about.html">About this document</a></li>
86</ul>
87<ul class="current">
88<li class="toctree-l1 current"><a class="current reference internal" href="#">1. Introduction</a></li>
89<li class="toctree-l1"><a class="reference internal" href="goals.html">2. Design goals</a></li>
90<li class="toctree-l1"><a class="reference internal" href="functionality.html">3. Functionality overview</a></li>
91<li class="toctree-l1"><a class="reference internal" href="sample-arch.html">4. Sample architectures</a></li>
92<li class="toctree-l1"><a class="reference internal" href="conventions.html">5. Library conventions</a></li>
93<li class="toctree-l1"><a class="reference internal" href="implementation.html">6. Implementation considerations</a></li>
94<li class="toctree-l1"><a class="reference internal" href="usage.html">7. Usage considerations</a></li>
95<li class="toctree-l1"><a class="reference internal" href="../api/library/index.html">8. Library management reference</a></li>
96<li class="toctree-l1"><a class="reference internal" href="../api/keys/index.html">9. Key management reference</a></li>
97<li class="toctree-l1"><a class="reference internal" href="../api/ops/index.html">10. Cryptographic operation reference</a></li>
98</ul>
99<ul>
100<li class="toctree-l1"><a class="reference internal" href="../appendix/example_header.html">Example header file</a></li>
101<li class="toctree-l1"><a class="reference internal" href="../appendix/encodings.html">Algorithm and key type encoding</a></li>
102<li class="toctree-l1"><a class="reference internal" href="../appendix/specdef_values.html">Example macro implementations</a></li>
103<li class="toctree-l1"><a class="reference internal" href="../appendix/sra.html">Security Risk Assessment</a></li>
104<li class="toctree-l1"><a class="reference internal" href="../appendix/history.html">Changes to the API</a></li>
105</ul>
106<ul>
107<li class="toctree-l1"><a class="reference internal" href="../psa_c-identifiers.html">Index of API elements</a></li>
108</ul>
109<div id="searchbox" style="display: none" role="search">
110 <h3>Quick search</h3>
111 <form class="search" action="../search.html" method="get">
112 <div><input type="text" name="q" /></div>
113 <div><input type="submit" value="Go" /></div>
114 <input type="hidden" name="check_keywords" value="yes" />
115 <input type="hidden" name="area" value="default" />
116 </form>
117</div>
118<script type="text/javascript">$('#searchbox').show(0);</script>
119 </div>
120 </div>
121 <div class="clearer"></div>
122 </div>
123 <div class="footer">
124 &copy; 2018-2022, Arm Limited or its affiliates. All rights reserved.
125
126 |
127 Powered by <a href="http://sphinx-doc.org/">Sphinx 1.6.7</a>
128 &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
129
130 </div>
131
132
133
134
135 </body>
136</html>