Alpha

About this document

Release information

The change history table lists the changes that have been made to this document.

Table 1 Document revision history

Date

Version

Confidentiality

Change

2020-2024

N/A

Non-confidential

Developed as part of Mbed TLS.

September 2025

1.0 Alpha-1

Non-confidential

Republished as part of the PSA Certified APIs.

The detailed changes in each release are described in Document change history.

PSA Certified Crypto Driver Interface

Copyright © 2020-2025 Arm Limited and/or its affiliates. The copyright statement reflects the fact that some draft issues of this document have been released, to a limited circulation.

License

Text and illustrations

Text and illustrations in this work are licensed under Attribution-ShareAlike 4.0 International (CC BY-SA 4.0). To view a copy of the license, visit creativecommons.org/licenses/by-sa/4.0.

Grant of patent license. Subject to the terms and conditions of this license (both the CC BY-SA 4.0 Public License and this Patent License), each Licensor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Licensed Material, where such license applies only to those patent claims licensable by such Licensor that are necessarily infringed by their contribution(s) alone or by combination of their contribution(s) with the Licensed Material to which such contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Licensed Material or a contribution incorporated within the Licensed Material constitutes direct or contributory patent infringement, then any licenses granted to You under this license for that Licensed Material shall terminate as of the date such litigation is filed.

The Arm trademarks featured here are registered trademarks or trademarks of Arm Limited (or its subsidiaries) in the US and/or elsewhere. All rights reserved. Please visit arm.com/company/policies/trademarks for more information about Arm’s trademarks.

About the license

The language in the additional patent license is largely identical to that in section 3 of the Apache License, Version 2.0 (Apache 2.0), with two exceptions:

  1. Changes are made related to the defined terms, to align those defined terms with the terminology in CC BY-SA 4.0 rather than Apache 2.0 (for example, changing “Work” to “Licensed Material”).

  2. The scope of the defensive termination clause is changed from “any patent licenses granted to You” to “any licenses granted to You”. This change is intended to help maintain a healthy ecosystem by providing additional protection to the community against patent litigation claims.

To view the full text of the Apache 2.0 license, visit apache.org/licenses/LICENSE-2.0.

Source code

Source code samples in this work are licensed under the Apache License, Version 2.0 (the “License”); you may not use such samples except in compliance with the License. You may obtain a copy of the License at apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and limitations under the License.

References

This document refers to the following documents.

Table 2 Documents referenced by this document

Ref

Document Number

Title

[PSA-CRYPT]

IHI 0086

PSA Certified Crypto API. arm-software.github.io/psa-api/crypto

Potential for change

This document is in active, collaborative development.

Issues and changes are discussed in the project on Github, alongside the PSA Certified API specifications. See github.com/arm-software/psa-api.

A list of open questions can be found in Open questions.

.._conventions:

Current status and anticipated changes

This document is at Alpha quality. It is shared to support ongoing development and discussion of the architecture and interfaces for Crypto Drivers.

The current planned scope for v1.0 is found here at github.com/ARM-software/psa-api/discussions/306.

There are several projects currently implementing the Crypto Driver Interface, see github.com/arm-software/psa-api/blob/main/related-projects.md.

For a practical guide, with a description of the current state of drivers in Mbed TLS, see the examples in github.com/Mbed-TLS/TF-PSA-Crypto/blob/development/docs/psa-driver-example-and-guide.md.

Feedback

We welcome feedback on the PSA Certified API documentation.

If you have comments on the content of this book, visit github.com/arm-software/psa-api/issues to create a new issue at the PSA Certified API GitHub project. Give:

  • The title (Crypto Driver Interface).

  • The number and issue (111106 1.0 Alpha (Issue 1)).

  • The location in the document to which your comments apply.

  • A concise explanation of your comments.

We also welcome general suggestions for additions and improvements.