-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Crypto: export ecc software #18064
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
Open
ThePassionate
wants to merge
8
commits into
apache:master
Choose a base branch
from
ThePassionate:crypto-ecc-docs-only-20260121
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Crypto: export ecc software #18064
ThePassionate
wants to merge
8
commits into
apache:master
from
ThePassionate:crypto-ecc-docs-only-20260121
+2,029
−11
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
428a207 to
6cb5c28
Compare
Transplanting the ECC algorithm from https://github.com/jestan/easy-ecc which is BSD lisence Signed-off-by: makejian <makejian@xiaomi.com>
Export public keys as separate X and Y coordinates for uncompressed format. Signed-off-by: makejian <makejian@xiaomi.com>
Add ECDSA sign and verify operations support in cryptosoft backend. Signed-off-by: makejian <makejian@xiaomi.com>
typedef uint redefined and uint hash been defined in sys/types.h Signed-off-by: makejian <makejian@xiaomi.com>
1. p.x uninitialized in line 1643 2. l_public.y uninitialized in line 1579 3. l_public.y uninitialized in line 1533 Signed-off-by: makejian <makejian@xiaomi.com>
Add brief documentation for ECC/ECDSA software implementation in the crypto subsystem documentation. Signed-off-by: makejian <makejian@xiaomi.com>
6cb5c28 to
c764c99
Compare
xiaoxiang781216
previously approved these changes
Jan 21, 2026
Add BSD-2-Clause SPDX license identifier to ECC source and header files. Signed-off-by: makejian <makejian@xiaomi.com>
Add STRINGIFY and CONCATENATE macro definitions at the beginning of the file to ensure proper macro expansion. These macros use two-level expansion to handle cases where macro parameters themselves are macros. Also improve the EXPAND macro to use variadic macro syntax (x...) to properly handle multiple arguments, and reorganize macro definitions for better clarity. Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
c764c99 to
ae561e9
Compare
xiaoxiang781216
approved these changes
Jan 21, 2026
anchao
approved these changes
Jan 22, 2026
5121a49 to
ae561e9
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Area: Crypto
Area: Documentation
Improvements or additions to documentation
Area: OS Components
OS Components issues
Size: XL
The size of the change in this PR is very large. Consider breaking down the PR into smaller pieces.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
crypto: add ECC support and software ECDSA helpers
Summary
This PR adds a lightweight ECC implementation to the NuttX crypto subsystem, enables ECDSA operations in the software backend, and addresses related build/static-analysis issues. It also updates the Crypto API documentation with a brief ECC/ECDSA note.
Changes Made
crypto/ecc.c,include/crypto/ecc.h)crypto/Makefile,crypto/CMakeLists.txt)ECC_BYTES + 1) and uncompressed (X/Y) formscrypto/cryptosoft.cuint-related build warning and resolve static-analysis findings for uninitialized ECC parametersDocumentation/components/crypto.rstImpact
Testing
The change set is additive and self-contained; it does not alter existing behavior or core execution paths unless the new ECC/ECDSA interfaces are explicitly used.