From: Jamin Lin <jamin_lin@aspeedtech.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>,
"Cédric Le Goater" <clg@kaod.org>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Steven Lee" <steven_lee@aspeedtech.com>,
"Troy Lee" <leetroy@gmail.com>,
"Kane Chen" <kane_chen@aspeedtech.com>,
"Andrew Jeffery" <andrew@codeconstruct.com.au>,
"Joel Stanley" <joel@jms.id.au>, "Eric Blake" <eblake@redhat.com>,
"Markus Armbruster" <armbru@redhat.com>,
"Fabiano Rosas" <farosas@suse.de>,
"Laurent Vivier" <lvivier@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"open list:All patches CC here" <qemu-devel@nongnu.org>,
"open list:ASPEED BMCs" <qemu-arm@nongnu.org>
Cc: Jamin Lin <jamin_lin@aspeedtech.com>, Troy Lee <troy_lee@aspeedtech.com>
Subject: [PATCH v1 0/8] Add ECDSA akcipher support and the ASPEED SBC ECDSA engine for AST10x0
Date: Tue, 18 Aug 2026 09:22:51 +0000 [thread overview]
Message-ID: <20260818092249.602137-1-jamin_lin@aspeedtech.com> (raw)
This series adds ECDSA to the QEMU crypto akcipher framework and models the
ASPEED AST10x0 secure boot controller (SBC) ECDSA engine on top of it.
The crypto side adds ECDSA sign/verify for prime256v1 (NIST P-256) and
secp384r1 (NIST P-384) in both the gcrypt and nettle backends, using the raw
big-endian form (public key Qx || Qy, private key scalar d, signature r || s)
with a pre-computed digest as input.
Both the AST2600 and the AST1030/AST1060 have a Secure Boot Controller (SBC)
that supports RSA and ECDSA verification, but only the AST1030/AST1060 have an
ECDSA verify engine, so this series models ECDSA only. RSA verification is used
solely to verify the AST2600 SPL in ROM CODE, which ASPEED does not release,
so it is very unlikely to be used by end users.
v1:
1. Add ECDSA akcipher support with gcrypt backend
2. Add ECDSA akcipher support with nettle backend
3. Add ECDSA sign/verify unit tests
4. Support the ECDSA verify command for AST10x0
5. Add ASPEED SBC ECDSA engine qtest
Jamin Lin (8):
qapi/crypto: Add ECDSA algorithm and curve id
crypto/akcipher: Support ECDSA sign/verify with gcrypt
crypto/akcipher: Support ECDSA sign/verify with nettle
tests/crypto: Add ECDSA sign/verify tests
hw/misc/aspeed_sbc: Support the ECDSA verify command
hw/misc/aspeed_sbc: Increase register space to 0x1000
hw/arm/aspeed_ast10x0: Wire SEC SRAM to the SBC model
tests/qtest: Add ASPEED SBC ECDSA engine test
crypto/akcipher-gcrypt.c.inc | 328 +++++++++++++++++++++++++++++-
crypto/akcipher-nettle.c.inc | 267 ++++++++++++++++++++++++
hw/arm/aspeed_ast10x0.c | 4 +
hw/misc/aspeed_sbc.c | 158 +++++++++++++-
hw/misc/trace-events | 2 +
include/hw/misc/aspeed_sbc.h | 7 +-
qapi/crypto.json | 33 ++-
tests/qtest/aspeed-sbc-test.c | 190 +++++++++++++++++
tests/qtest/meson.build | 2 +
tests/unit/test-crypto-akcipher.c | 236 +++++++++++++++++++++
10 files changed, 1221 insertions(+), 6 deletions(-)
create mode 100644 tests/qtest/aspeed-sbc-test.c
--
2.53.0
next reply other threads:[~2026-08-18 9:23 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-18 9:22 Jamin Lin [this message]
2026-08-18 9:22 ` [PATCH v1 1/8] qapi/crypto: Add ECDSA algorithm and curve id Jamin Lin
2026-08-18 9:22 ` [PATCH v1 2/8] crypto/akcipher: Support ECDSA sign/verify with gcrypt Jamin Lin
2026-08-18 9:22 ` [PATCH v1 3/8] crypto/akcipher: Support ECDSA sign/verify with nettle Jamin Lin
2026-08-18 9:22 ` [PATCH v1 4/8] tests/crypto: Add ECDSA sign/verify tests Jamin Lin
2026-08-18 9:22 ` [PATCH v1 5/8] hw/misc/aspeed_sbc: Support the ECDSA verify command Jamin Lin
2026-08-18 9:23 ` [PATCH v1 6/8] hw/misc/aspeed_sbc: Increase register space to 0x1000 Jamin Lin
2026-08-18 9:23 ` [PATCH v1 7/8] hw/arm/aspeed_ast10x0: Wire SEC SRAM to the SBC model Jamin Lin
2026-08-18 9:23 ` [PATCH v1 8/8] tests/qtest: Add ASPEED SBC ECDSA engine test Jamin Lin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260818092249.602137-1-jamin_lin@aspeedtech.com \
--to=jamin_lin@aspeedtech.com \
--cc=andrew@codeconstruct.com.au \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=clg@kaod.org \
--cc=eblake@redhat.com \
--cc=farosas@suse.de \
--cc=joel@jms.id.au \
--cc=kane_chen@aspeedtech.com \
--cc=leetroy@gmail.com \
--cc=lvivier@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=steven_lee@aspeedtech.com \
--cc=troy_lee@aspeedtech.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.