blob: 416cde70f0d220ac426ab2cd48f6399291b02578 [file] [log] [blame]
Gilles Peskine6c723a22020-04-17 16:57:52 +02001Introduction
2------------
3
4Arms Platform Security Architecture (PSA) is a holistic set of threat models,
5security analyses, hardware and firmware architecture specifications, an
6open source firmware reference implementation, and an independent evaluation
7and certification scheme. PSA provides a recipe, based on
8industry best practice, that allows security to be consistently designed in, at
9both a hardware and firmware level.
10
11The PSA Cryptographic API (Crypto API) described in this document is an
12important PSA component that provides an interface to cryptographic operations
13on resource-constrained devices. The interface is user-friendly, while still
14providing access to the low-level primitives used in modern cryptography. It
15does not require that the user has access to the key material. Instead, it uses
16opaque key identifiers.
17
18This document is part of the PSA family of specifications. It defines an
19interface for cryptographic services, including cryptography primitives and a
20key storage functionality.
21
22This document includes:
23
24- A `rationale <design-goals>` for the design.
25- A `high-level overview of the functionality <functionality-overview>`
26 provided by the interface.
27- A `description of typical architectures <architectures>` of
28 implementations for this specification.
29- General considerations `for implementers <implementation-considerations>`
30 of this specification and `for applications <usage-considerations>` that
31 use the interface defined in this specification.
32- A `detailed definition <api-reference>` of the API.
33
34Companion documents will define *profiles* for this specification. A profile is
35a minimum mandatory subset of the interface that a compliant implementation must
36provide.