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

Figure out whether we can use micro-ecc as a backend for our CryptoPal #8487

Open
bzbarsky-apple opened this issue Jul 19, 2021 · 9 comments

Comments

@bzbarsky-apple
Copy link
Contributor

Problem

We don't have a micro-ecc backend for our crypto PAL

Proposed Solution

Maybe we should.

@bzbarsky-apple
Copy link
Contributor Author

I should note that micro-ecc does not provide all the bits our crypto PAL needs (e.g. does not include hashing), so we would need to see what we do with that.

@tcarmelveilleux
Copy link
Contributor

Yes, micro-ecc is not enough. You need another library such as libsodium or tinycrypt that provides the missing primitives

@tcarmelveilleux
Copy link
Contributor

Note that many cryptographic primitives back-ends do not necessarily protect against side-channel attacks. Tinycrypt for instance, does not claim to be fully side-channel-attack-resistant on all platforms, for all algorithms, as this adds complexity.

I would argue that the easiest way to reduce size of the crypto library is to make it as straightforward as possible for an implementer to completely replace the implementation. This is mostly possible already, but BUILD.gn enforces using either the built-in backend of OpenSSL or mbedTLS and does not allow alternate choice (e.g. "custom back-end, irrespective of library used")

@emargolis
Copy link
Contributor

micro-ecc is sufficient to implement all the ECC functions in CryptoPal.
Other crypto primitives can be taken from libraries like libsodium or tinycrypt (which by the way uses micro-ecc).

The only component for which we may need a custom implementation is the CSRReq.

from Intel is also using micro-ecc and adds AES-CCM, HMAC and SHA256

@bzbarsky-apple
Copy link
Contributor Author

and does not allow alternate choice (e.g. "custom back-end, irrespective of library used")

Maybe we should just focus on this part, then.

And yes, I did also see some worries about how micro-ecc handles side-channel attacks....

@stale
Copy link

stale bot commented Jan 26, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

@stale stale bot added the stale Stale issue or PR label Jan 26, 2022
@stale stale bot removed the stale Stale issue or PR label Jan 26, 2022
@stale
Copy link

stale bot commented Aug 14, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

@stale stale bot added the stale Stale issue or PR label Aug 14, 2022
@bzbarsky-apple bzbarsky-apple removed the stale Stale issue or PR label Aug 26, 2022
@stale
Copy link

stale bot commented Mar 11, 2023

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

@stale stale bot added the stale Stale issue or PR label Mar 11, 2023
@bzbarsky-apple bzbarsky-apple removed the stale Stale issue or PR label Mar 13, 2023
@stale
Copy link

stale bot commented Sep 17, 2023

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants