GithubHelp home page GithubHelp logo

Comments (3)

ronald-cron-arm avatar ronald-cron-arm commented on May 30, 2024

Hi, I am not completely familiar with that part of the MbedTLS code but it seems that rsa_sign_wrap supports both RSASSA-PKCS1-v1_5 and RSASSA-PSS signature schemes thus in a similar way it may be possible for the alternative function of type mbedtls_pk_rsa_alt_sign_func to support RSASSA-PSS signature as well. I can see that rsa_alt_can_do would need to be changed to indicate that it supports key of type MBEDTLS_PK_RSASSA_PSS though.

Otherwise please note that we are likely to deprecate the ALT interfaces in the next major release (4.0) and nowadays we rather advice to add support for hardware acceleration through the PSA driver interface, see docs/proposed/psa-driver-interface.md.

from mbedtls.

gilles-peskine-arm avatar gilles-peskine-arm commented on May 30, 2024

ALT interfaces are deprecated. The preferred way to accelerate crypto in Mbed TLS today is with PSA drivers.

If you prefer the old way (which, for RSA, does lead to reduced code size), you can define MBEDTLS_RSA_ALT and write a full replacement for rsa.c. This lets you use whatever accelerators are present on your platform.

The MBEDTLS_PK_RSA_ALT interface (intended for keys in external secure elements) does not support PSS or OAEP. It supports a single signature mechanism and a single decryption mechanism. mbedtls_pk_sign_ext rejects RSA_ALT keys when asked to calculate a PSS signature. You can β€œcheat” and make the alt functions calculate PSS/OAEP, and then mbedtls_pk_sign and mbedtls_pk_decrypt will calculate PSS/OAEP. But you can't use that key from X.509 or TLS code: that code assumes that mbedtls_pk_sign calculates a PKCS#1v1.5 signature and mbedtls_pk_sign_ext(MBEDTLS_PK_RSA_PSS, ...) calculates a PSS signature.

from mbedtls.

gilles-peskine-arm avatar gilles-peskine-arm commented on May 30, 2024

I am closing this issue because ALT interfaces are deprecated and will not be extended.

from mbedtls.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.