|
1 | | -.. SPDX-FileCopyrightText: Copyright 2018-2023 Arm Limited and/or its affiliates <open-source-office@arm.com> |
| 1 | +.. SPDX-FileCopyrightText: Copyright 2018-2024 Arm Limited and/or its affiliates <open-source-office@arm.com> |
2 | 2 | .. SPDX-License-Identifier: CC-BY-SA-4.0 AND LicenseRef-Patent-license |
3 | 3 |
|
4 | 4 | .. header:: psa/crypto |
@@ -86,7 +86,16 @@ The usage flags are encoded in a bitmask, which has the type `psa_key_usage_t`. |
86 | 86 | * The extractable flag `PSA_KEY_USAGE_EXPORT` determines whether the key material can be extracted from the cryptoprocessor, or copied outside of its current security boundary. |
87 | 87 | * The copyable flag `PSA_KEY_USAGE_COPY` determines whether the key material can be copied into a new key, which can have a different lifetime or a more restrictive policy. |
88 | 88 | * The cacheable flag `PSA_KEY_USAGE_CACHE` determines whether the implementation is permitted to retain non-essential copies of the key material in RAM. This policy only applies to persistent keys. See also :secref:`key-material`. |
89 | | -* The other usage flags, for example, `PSA_KEY_USAGE_ENCRYPT` and `PSA_KEY_USAGE_SIGN_MESSAGE`, determine whether the corresponding operation is permitted on the key. |
| 89 | +* The following usage flags determine whether the corresponding operations are permitted with the key: |
| 90 | + |
| 91 | + - `PSA_KEY_USAGE_ENCRYPT` |
| 92 | + - `PSA_KEY_USAGE_DECRYPT` |
| 93 | + - `PSA_KEY_USAGE_SIGN_MESSAGE` |
| 94 | + - `PSA_KEY_USAGE_VERIFY_MESSAGE` |
| 95 | + - `PSA_KEY_USAGE_SIGN_HASH` |
| 96 | + - `PSA_KEY_USAGE_VERIFY_HASH` |
| 97 | + - `PSA_KEY_USAGE_DERIVE` |
| 98 | + - `PSA_KEY_USAGE_VERIFY_DERIVATION` |
90 | 99 |
|
91 | 100 | .. typedef:: uint32_t psa_key_usage_t |
92 | 101 |
|
@@ -142,31 +151,33 @@ The usage flags are encoded in a bitmask, which has the type `psa_key_usage_t`. |
142 | 151 | :definition: ((psa_key_usage_t)0x00000100) |
143 | 152 |
|
144 | 153 | .. summary:: |
145 | | - Permission to encrypt a message with the key. |
| 154 | + Permission to encrypt a message, or perform key encapsulation, with the key. |
146 | 155 |
|
147 | | - This flag is required to use the key in a symmetric encryption operation, in an AEAD encryption-and-authentication operation, or in an asymmetric encryption operation. The flag must be present on keys used with the following APIs: |
| 156 | + This flag is required to use the key in a symmetric encryption operation, in an AEAD encryption-and-authentication operation, in an asymmetric encryption operation, or in a key-encapsulation operation. The flag must be present on keys used with the following APIs: |
148 | 157 |
|
149 | 158 | * `psa_cipher_encrypt()` |
150 | 159 | * `psa_cipher_encrypt_setup()` |
151 | 160 | * `psa_aead_encrypt()` |
152 | 161 | * `psa_aead_encrypt_setup()` |
153 | 162 | * `psa_asymmetric_encrypt()` |
| 163 | + * `psa_encapsulate()` |
154 | 164 |
|
155 | 165 | For a key pair, this concerns the public key. |
156 | 166 |
|
157 | 167 | .. macro:: PSA_KEY_USAGE_DECRYPT |
158 | 168 | :definition: ((psa_key_usage_t)0x00000200) |
159 | 169 |
|
160 | 170 | .. summary:: |
161 | | - Permission to decrypt a message with the key. |
| 171 | + Permission to decrypt a message, or perform key decapsulation, with the key. |
162 | 172 |
|
163 | | - This flag is required to use the key in a symmetric decryption operation, in an AEAD decryption-and-verification operation, or in an asymmetric decryption operation. The flag must be present on keys used with the following APIs: |
| 173 | + This flag is required to use the key in a symmetric decryption operation, in an AEAD decryption-and-verification operation, in an asymmetric decryption operation, or in a key-decapsulation operation. The flag must be present on keys used with the following APIs: |
164 | 174 |
|
165 | 175 | * `psa_cipher_decrypt()` |
166 | 176 | * `psa_cipher_decrypt_setup()` |
167 | 177 | * `psa_aead_decrypt()` |
168 | 178 | * `psa_aead_decrypt_setup()` |
169 | 179 | * `psa_asymmetric_decrypt()` |
| 180 | + * `psa_decapsulate()` |
170 | 181 |
|
171 | 182 | For a key pair, this concerns the private key. |
172 | 183 |
|
|
0 commit comments