Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Define the driver interface for interruptible operations properly #9718

Open
gilles-peskine-arm opened this issue Oct 23, 2024 · 0 comments
Open
Labels
component-psa PSA keystore/dispatch layer (storage, drivers, …) size-m Estimated task size: medium (~1w)

Comments

@gilles-peskine-arm
Copy link
Contributor

We've implemented interruptible signature (3.x), key agreement (#9490), key generation (#9643) and export-public (#9648) for ECC. We've done a partial job of implementing a driver interface, but it isn't functional yet, and the design of the interface needs some polishing.

This is a design task. The goal is to go over the current ad hoc design, find out what's good and what isn't, and update the specification with a good interface. Then file issues to implement this interface (with corresponding tests).

Known issues:

  • How do we convey the presence of accelerator drivers (MBEDTLS_PSA_ACCEL_xxx)? Presumably mimics the interface-level macro(s) (PSA_WANT_xxx).
  • For sign/verify and key agreement, we end up with a num_ops field in both the generic operation structure and the driver operation structure. Given that this feature is intended for highly constrained devices, we shouldn't have this kind of duplication.
@gilles-peskine-arm gilles-peskine-arm added component-psa PSA keystore/dispatch layer (storage, drivers, …) size-m Estimated task size: medium (~1w) labels Oct 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component-psa PSA keystore/dispatch layer (storage, drivers, …) size-m Estimated task size: medium (~1w)
Projects
None yet
Development

No branches or pull requests

1 participant