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

Remove mentions of DSA from Mbed TLS #7990

Open
gilles-peskine-arm opened this issue Jul 26, 2023 · 0 comments
Open

Remove mentions of DSA from Mbed TLS #7990

gilles-peskine-arm opened this issue Jul 26, 2023 · 0 comments
Labels
api-break This issue/PR breaks the API and must wait for a new major version component-crypto Crypto primitives and low-level interfaces size-xs Estimated task size: extra small (a few hours at most)

Comments

@gilles-peskine-arm
Copy link
Contributor

The PSA headers and tests mention DSA (as in, finite-field DSA — not elliptic curves algorithms like ECDSA and EdDSA). In 2023 I can confidently state that we are not going to support it in Mbed TLS. Furthermore, supporting DSA in the PSA crypto API would require extensions to the API and not just an algorithm encoding, because DSA has unusual characteristics: it has partially independent sizes for the private key and the public key so key generation needs two bit-sizes and not just one; and it requires domain parameters for which we no longer plan to add an API (and in Mbed TLS we are going to remove the partial implementation of domain parameters).

The goal of this task is to remove the definitions of key types and algorithms for DSA as well as related macros and tests. However note these limitations:

  • Technically, it's an API break to remove the publicly documented macros, so we may need to keep them until 4.0. We can freeze the macros and remove associated tests though (as long as we don't run into some test completeness issue). We can also remove the handling of DSA in crypto_sizes.h.
  • The DSA definitions are just as useless in 2.28 as in 3.x. So we may want to do the same thing in 2.28 and 3.x. If we don't modify 2.28, we may want to keep the code to skip DSA in generate_psa_tests.py.
@gilles-peskine-arm gilles-peskine-arm added component-crypto Crypto primitives and low-level interfaces size-s Estimated task size: small (~2d) priority-medium Medium priority - this can be reviewed as time permits labels Jul 26, 2023
@gilles-peskine-arm gilles-peskine-arm moved this to Implementation needed in Mbed TLS 4.0 planning Jun 28, 2024
@gilles-peskine-arm gilles-peskine-arm added size-xs Estimated task size: extra small (a few hours at most) api-break This issue/PR breaks the API and must wait for a new major version and removed priority-medium Medium priority - this can be reviewed as time permits size-s Estimated task size: small (~2d) labels Jul 9, 2024
@yanesca yanesca moved this to 4.0 - Removals and deprecations in Mbed TLS Backlog Aug 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api-break This issue/PR breaks the API and must wait for a new major version component-crypto Crypto primitives and low-level interfaces size-xs Estimated task size: extra small (a few hours at most)
Projects
Status: No status
Status: Implementation needed
Status: No status
Development

No branches or pull requests

1 participant