Mbed-TLS / mbedtls

An open source, portable, easy to use, readable and flexible TLS library, and reference implementation of the PSA Cryptography API. Releases are on a varying cadence, typically around 3 - 6 months between releases.
https://www.trustedfirmware.org/projects/mbed-tls/
Other
5.54k stars 2.6k forks source link

Whether keccak-256 is supported #3079

Open meixi1203 opened 4 years ago

meixi1203 commented 4 years ago

Note: This is just a template, so feel free to use/remove the unnecessary things

Description


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

gilles-peskine-arm commented 4 years ago

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?

yanofearth commented 2 years ago

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.

fastchain commented 1 month ago

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.

gilles-peskine-arm commented 1 month ago

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.