Releases: dunknowcoding/ArduinoNRF-Crypto
Release list
v0.7.1
Summary
- OnChip AEAD: software AES-128-GCM (
SoftAesGcm) and ChaCha20-Poly1305 (SoftChaChaPoly) on the no-blob fallback backend. - Self-test (board1): CC310 23/23 PASS; OnChip 13/13 PASS, 10 SKIP (ECC/RSA still CC310-only).
- Docs: README capability matrix, API reference, ONCHIP_BUILD, VALIDATION, ARCHITECTURE aligned with v0.7.1.
Library Manager
library.properties version=0.7.1 — the Arduino Library Registry bot should pick up tag v0.7.1 within ~24 h.
OnChip install (no Nordic blobs)
powershell -File tools/use_onchip_build.ps1Or copy library.properties.onchip per docs/ONCHIP_BUILD.md.
Test plan
- board1 CC310
CryptoSelfTest23/23 - board1 OnChip
-DNIUS_FORCE_ONCHIP_SELFTEST13 pass / 10 skip - Host KAT
tools/test_soft_aead.cpp
NiusCrypto v0.7.0
Summary
- OnChip-only link fix —
BuildProfile.h+tools/use_onchip_build.ps1force CC310 stub when Nordic archives are present but not linked - Legacy RSA removal — dropped implicit slot-0 APIs; use explicit
RsaKeyPair(rsaGenerate,rsaSign, …) - Hardware verify —
tools/hwverify/capture_serial.pywith--no-jlink-resetand USB wait - Docs —
LIBRARY_MANAGER.md, consolidatedROADMAP/ONCHIP_BUILD/VALIDATION
Hardware (board1)
| Backend | CryptoSelfTest |
|---|---|
| CC310 Auto | 23/23 PASS |
| OnChip | 9 PASS, 14 SKIP |
Migration (v0.6 → v0.7)
Replace:
rsa2048GenerateKey()→rsaGenerate(&key)rsaPkcs1Sha256Sign(...)→rsaSign(&key, ...)rsaPkcs1Sha256Verify(...)→rsaVerify(&key, ...)orrsaVerifyWithPubKey(&pub, ...)
OnChip-only builds
powershell -File tools/use_onchip_build.ps1Restore CC310: powershell -File tools/use_cc310_build.ps1
NiusCrypto v0.6.0
Summary
Major usability and fallback release for the nRF52840 CC310 crypto library.
Crypto.supports()— runtime capability probing viaCryptoCapabilityenum- Streaming hash —
sha256/384/512 Begin/Update/Finishcontexts - OnChip fallbacks (v0.6+) — software HKDF, SHA-384/512, AES-CBC decrypt
- Packet APIs —
X25519Message,HkdfMessage,Sha384Message,Sha512Message - Utilities —
secureEqual,wipe, PKCS#7 pad/unpad - RSA — key import + PSS sign/verify; legacy implicit-key APIs deprecated
Crypto.runSelfTest()— callable self-test withSelfTestReportCrypto.lastBackendError()— CRYS error codes on CC310 failures- Docs — API_REFERENCE.md, ONCHIP_BUILD.md
- Examples —
X25519KeyExchange,KeyStorage(16 sketches total)
Hardware validation (board1, ProMicro nRF52840 @ 0x1000)
| Backend | CryptoSelfTest |
|---|---|
| CC310 (Auto) | 23/23 PASS |
OnChip (Prefer::OnChip) |
9 PASS, 14 SKIP (expected) |
See docs/VALIDATION.md for reproduction steps.
Install
Requires ArduinoNRF board package. For CC310 acceleration, run python vendor/tools/setup_vendored.py locally (Nordic blobs are not redistributed). For OnChip-only builds, see library.properties.onchip and ONCHIP_BUILD.md.
Test plan
-
examples/CryptoSelfTeston CC310 board →23 passed,RESULT: OK - Compile with
library.properties.onchipon a fresh clone (no vendored blobs) -
Crypto.supports(CryptoCapability::AesGcm)returns true only with CC310 + Oberon
NiusCrypto v0.5.1
Packet structs (AesGcmMessage seal/open), Sha256Message/HmacMessage, rsaRelease.
NiusCrypto v0.5.0
RsaKeyPair explicit handle, NIUS_* buffer macros, ECDSA/Ed25519 message helpers.
NiusCrypto v0.4.0
Ed25519, RSA pub export/VerifyPub, BleCryptoStress NUS GATT.
NiusCrypto v0.3.2
Maintenance release between v0.3.1 and v0.4.0.
v0.3.1 — Library Manager
Indexed in Arduino Library Manager (arduino/library-registry #8517). Install via Manage Libraries → NiusCrypto or \�rduino-cli lib install NiusCrypto. CC310 hardware requires local \setup_vendored.py; on-chip fallback works out of the box.
v0.3.0 — SHA-512, SoftDevice smoke, multi-board CI
Summary
- SHA-512 on CC310 hardware (Crypto.sha512) with KAT in CryptoSelfTest (11/11 PASS on board1)
- SdCryptoSmoke example — CC310 crypto with S140 SoftDevice layout active
- Multi-board CI — compile matrix for ProMicro + XIAO nRF52840
- Docs — ROADMAP, SOFTDEVICE_COEXISTENCE, MULTI_BOARD
- verify_board1.ps1 now runs CC310Smoke, SdCryptoSmoke, and CryptoSelfTest
Board1 verification (ProMicro + J-Link)
- CryptoSelfTest: 11/11 PASS, backend CC310
- SdCryptoSmoke: RESULT: OK (__nrf_app_start=0x26000)
- CC310Smoke: RESULT: OK (from prior P5)
Nordic binaries still vendored locally via \setup_vendored.py.
NiusCrypto v0.2.0
Summary
- CC310 compatibility shim in ArduinoNRF forwards NrfCC310 to Crypto
- CRYS hardware HMAC-SHA-256 on CC310 backend
- One-shot vendoring: vendor/tools/setup_vendored.py
- GitHub Actions compile CI for all examples + CC310Smoke
- docs/VALIDATION.md with board1 ProMicro results (10/10 KAT + shim PASS)