Skip to content

Releases: dunknowcoding/ArduinoNRF-Crypto

v0.7.1

Choose a tag to compare

@dunknowcoding dunknowcoding released this 12 Jun 20:33

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.ps1

Or copy library.properties.onchip per docs/ONCHIP_BUILD.md.

Test plan

  • board1 CC310 CryptoSelfTest 23/23
  • board1 OnChip -DNIUS_FORCE_ONCHIP_SELFTEST 13 pass / 10 skip
  • Host KAT tools/test_soft_aead.cpp

NiusCrypto v0.7.0

Choose a tag to compare

@dunknowcoding dunknowcoding released this 12 Jun 20:10

Summary

  • OnChip-only link fixBuildProfile.h + tools/use_onchip_build.ps1 force CC310 stub when Nordic archives are present but not linked
  • Legacy RSA removal — dropped implicit slot-0 APIs; use explicit RsaKeyPair (rsaGenerate, rsaSign, …)
  • Hardware verifytools/hwverify/capture_serial.py with --no-jlink-reset and USB wait
  • DocsLIBRARY_MANAGER.md, consolidated ROADMAP / 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, ...) or rsaVerifyWithPubKey(&pub, ...)

OnChip-only builds

powershell -File tools/use_onchip_build.ps1

Restore CC310: powershell -File tools/use_cc310_build.ps1

NiusCrypto v0.6.0

Choose a tag to compare

@dunknowcoding dunknowcoding released this 12 Jun 19:51

Summary

Major usability and fallback release for the nRF52840 CC310 crypto library.

  • Crypto.supports() — runtime capability probing via CryptoCapability enum
  • Streaming hashsha256/384/512 Begin/Update/Finish contexts
  • OnChip fallbacks (v0.6+) — software HKDF, SHA-384/512, AES-CBC decrypt
  • Packet APIsX25519Message, HkdfMessage, Sha384Message, Sha512Message
  • UtilitiessecureEqual, wipe, PKCS#7 pad/unpad
  • RSA — key import + PSS sign/verify; legacy implicit-key APIs deprecated
  • Crypto.runSelfTest() — callable self-test with SelfTestReport
  • Crypto.lastBackendError() — CRYS error codes on CC310 failures
  • DocsAPI_REFERENCE.md, ONCHIP_BUILD.md
  • ExamplesX25519KeyExchange, 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/CryptoSelfTest on CC310 board → 23 passed, RESULT: OK
  • Compile with library.properties.onchip on a fresh clone (no vendored blobs)
  • Crypto.supports(CryptoCapability::AesGcm) returns true only with CC310 + Oberon

NiusCrypto v0.5.1

Choose a tag to compare

@dunknowcoding dunknowcoding released this 12 Jun 20:10

Packet structs (AesGcmMessage seal/open), Sha256Message/HmacMessage, rsaRelease.

NiusCrypto v0.5.0

Choose a tag to compare

@dunknowcoding dunknowcoding released this 12 Jun 20:10

RsaKeyPair explicit handle, NIUS_* buffer macros, ECDSA/Ed25519 message helpers.

NiusCrypto v0.4.0

Choose a tag to compare

@dunknowcoding dunknowcoding released this 12 Jun 20:10

Ed25519, RSA pub export/VerifyPub, BleCryptoStress NUS GATT.

NiusCrypto v0.3.2

Choose a tag to compare

@dunknowcoding dunknowcoding released this 12 Jun 20:10

Maintenance release between v0.3.1 and v0.4.0.

v0.3.1 — Library Manager

Choose a tag to compare

@dunknowcoding dunknowcoding released this 11 Jun 21:35

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

Choose a tag to compare

@dunknowcoding dunknowcoding released this 11 Jun 21:26

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

Choose a tag to compare

@dunknowcoding dunknowcoding released this 11 Jun 21:02

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)