You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implementations can define additional persistent key identifiers in this range, and must allocate any volatile key identifiers from this range.
16
+
Implementations can define additional persistent key identifiers in this range for :term:`built-in key`\ s, and must allocate any volatile key identifiers from this range.
17
17
18
18
Key identifiers outside these ranges are reserved for future use.
19
19
20
20
Key identifiers are output from a successful call to one of the key creation functions. For persistent keys, this is the same identifier as the one specified in the key attributes used to create the key. The key identifier remains valid until it is invalidated by passing it to `psa_destroy_key()`. A volatile key identifier must not be used after it has been invalidated.
21
21
22
22
If an invalid key identifier is provided as a parameter in any function, the function will return :code:`PSA_ERROR_INVALID_HANDLE`; except for the special case of calling :code:`psa_destroy_key(PSA_KEY_ID_NULL)`, which has no effect and always returns :code:`PSA_SUCCESS`.
23
23
24
-
Valid key identifiers must have distinct values within the same application. If the implementation provides :term:`caller isolation`, then key identifiers are local to each application. That is, the same key identifier in two applications corresponds to two different keys.
24
+
Valid key identifiers must have distinct values within the same application. If the implementation provides :term:`caller isolation`, then key identifiers are local to each application. That is, keys that are created by two applications with the same key identifier are two separate keys.
Copy file name to clipboardExpand all lines: doc/crypto/api/keys/lifetimes.rst
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -44,7 +44,7 @@ application specifies the key identifier when the key is created and when
44
44
using the key.
45
45
46
46
The lifetime attribute of a persistent key indicates how and where it is stored. The default lifetime value for a persistent key is `PSA_KEY_LIFETIME_PERSISTENT`, which corresponds to a default storage area. This specification defines how implementations can provide other lifetime values corresponding to
47
-
different storage areas with different retention policies, or to secure elements
47
+
different storage areas with different retention policies, or to :term:`secure element`\ s
Copy file name to clipboardExpand all lines: doc/crypto/api/keys/policy.rst
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -112,7 +112,7 @@ The usage flags are encoded in a bitmask, which has the type `psa_key_usage_t`.
112
112
113
113
* This flag is required to export a key from the cryptoprocessor using `psa_export_key()`. A public key or the public part of a key pair can always be exported regardless of the value of this permission flag.
114
114
115
-
* This flag can also be required to make a copy of a key outside of a secure element using `psa_copy_key()`. See also `PSA_KEY_USAGE_COPY`.
115
+
* This flag can also be required to make a copy of a key outside of a :term:`secure element` using `psa_copy_key()`. See also `PSA_KEY_USAGE_COPY`.
116
116
117
117
If a key does not have export permission, implementations must not permit the key to be exported in plain form from the cryptoprocessor, whether through `psa_export_key()` or through a proprietary interface. The key might still be exportable in a wrapped form, i.e. in a form where it is encrypted by another key.
Copy file name to clipboardExpand all lines: doc/crypto/api/library/library.rst
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -146,19 +146,19 @@ If the application calls any function that returns a :code:`psa_status_t` result
146
146
:definition: /* implementation-defined value */
147
147
148
148
.. summary::
149
-
Crypto subsystem identifier for accelerator drivers.
149
+
Crypto subsystem identifier for :term:`cryptographic accelerator`\ s.
150
150
151
-
Initializing this subsystem results in initialization of all registered accelerator drivers.
151
+
Initializing this subsystem results in initialization of cryptographic hardware accelerator interfaces.
152
152
153
-
Initializing this subsystem allows cryptographic operations that are implemented via an accelerator driver.
153
+
Initializing this subsystem allows cryptographic operations that are implemented in an accelerator.
154
154
155
155
.. macro:: PSA_CRYPTO_SUBSYSTEM_SECURE_ELEMENTS
156
156
:definition: /* implementation-defined value */
157
157
158
158
.. summary::
159
-
Crypto subsystem identifier for secure element drivers.
159
+
Crypto subsystem identifier for :term:`secure element`\ s.
160
160
161
-
Initializing this subsystem results in initialization of all registered secure element drivers.
161
+
Initializing this subsystem results in initialization of all cryptographic secure elements.
162
162
163
163
Initializing this subsystem as well as `PSA_CRYPTO_SUBSYSTEM_KEYS` allows creating, accessing, and destroying keys in a secure element. That is, keys whose location is not `PSA_KEY_LOCATION_LOCAL_STORAGE`.
164
164
@@ -168,7 +168,7 @@ If the application calls any function that returns a :code:`psa_status_t` result
168
168
.. summary::
169
169
Crypto subsystem identifier for the random generator.
170
170
171
-
Initializing this subsystem initializes all registered entropy drivers, and accesses the registered entropy sources.
171
+
Initializing this subsystem initializes all entropy providers, and access to entropy sources.
172
172
173
173
Initializing this subsystem is necessary for `psa_generate_random()`, `psa_generate_key()`, `psa_encapsulate()`, PAKE operations, and some operations using key pairs.
174
174
@@ -186,7 +186,7 @@ If the application calls any function that returns a :code:`psa_status_t` result
186
186
:definition: /* implementation-defined value */
187
187
188
188
.. summary::
189
-
Crypto subsystem identifier for access to built-in keys.
189
+
Crypto subsystem identifier for access to :term:`built-in key`\ s.
190
190
191
191
Initializing this subsystem as well as `PSA_CRYPTO_SUBSYSTEM_KEYS` allows access to built-in keys.
Copy file name to clipboardExpand all lines: doc/crypto/terms
+19-1Lines changed: 19 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
.. SPDX-FileCopyrightText: Copyright 2020-2022 Arm Limited and/or its affiliates <[email protected]>
1
+
.. SPDX-FileCopyrightText: Copyright 2020-2022, 2024 Arm Limited and/or its affiliates <[email protected]>
2
2
.. SPDX-License-Identifier: CC-BY-SA-4.0 AND LicenseRef-Patent-license
3
3
4
4
.. term:: Algorithm
@@ -191,3 +191,21 @@
191
191
:abbr: PQC
192
192
193
193
A cryptographic scheme that relies on mathematical problems that do not have efficient algorithms for either classical or quantum computing.
194
+
195
+
.. term:: Secure element
196
+
:abbr: SE
197
+
198
+
A hardware component or subsystem that is protected by design from unauthorized access, used to run a limited set of security services, and securely store confidential and cryptographic data.
199
+
200
+
.. term:: Cryptographic accelerator
201
+
202
+
A hardware component or subsystem that provides accelerated implementation of cryptographic functionality.
203
+
204
+
.. term:: Built-in key
205
+
206
+
A cryptographic key that is present in the implementation, which was not created by the application.
207
+
For example:
208
+
209
+
* An immutable system or platform key.
210
+
* A key derived from from a system secret.
211
+
* A key provisioned by another component in the system for use by the application.
0 commit comments