Whether keccak-256 is supported
Note: This is just a template, so feel free to use/remove the unnecessary things
Description
- Type: Bug | Enhancement\Feature Request | Question
- Priority: Blocker | Major | Minor
Bug
OS
Mbed OS|linux|windows|
mbed TLS build:
Version: x.x.x or git commit id
OS version: x.x.x
Configuration: please attach config.h file where possible
Compiler and options (if you used a pre-built binary, please indicate how you obtained it):
Additional environment information:
Peer device TLS stack and version
OpenSSL|GnuTls|Chrome|NSS(Firefox)|SecureChannel (IIS/Internet Explorer/Edge)|Other
Version:
Expected behavior
Actual behavior
Steps to reproduce
Enhancement\Feature Request
Justification - why does the library need this feature?
Suggested enhancement
Question
Please first check for answers in the Mbed TLS knowledge Base, and preferably file an issue in the Mbed TLS support forum
We're planning to add support for SHA-3, SHAKE and cSHAKE (and subsequently KMAC), thanks to Daniel King's contribution. It's been a long time (with several aborted attempts) but I personally hope we can finally get it in in 2020.
We currently have no plans to expose the original Keccak function without the NIST padding schemes. I'm a bit surprised to see a request for it after SHA-3 has been standardized. Why do you need it?
This is not an urgent ticket, but I definitely foresee us adding more crypto libraries. mbedTLS is pretty old-school, and we'd need more libraries to support new cryptography used in crypto/blockchain.
Hello! I just wanted to mention that this request is still relevant due to the increasing demand for "open" hardware wallets in the cryptocurrency world.
Mbed TLS now supports SHA-3. It took longer than I would have liked, but we've had it since version 3.5.0.
We're planning to add KMAC and SHAKE, probably cSHAKE as well, hopefully in 2025.
We still have no plans to expose Keccak itself. If you want some other Keccak-based mechanism, please let us know which one and where it's used. We'll likely support a Keccak-based AEAD once the standard crystallizes.. We'd add new mechanisms to the PSA crypto API. before (or at the same time) we add them in Mbed TLS.
blockchain hardware wallets, there is a great need to support this feature.
@zhang-wenchao What blockchain or wallet uses a nonstandard variant of Keccak?
99% of wallets are using Keccak, that’s for sure, because they support Ethereum.
Just a note - mbedtls/psa's lack of Keccak support represents a major missed opportunity in this trillion-dollar market.