Skip to content

nrf_security: cracen: Add support for multipart cmac to lm20 #22912

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
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

degjorva
Copy link
Contributor

Add software workaround to allow multipart cmac to work on lm20.
This is done by implementing CMAC using the hardware aes encryption primitives.
Split out cmac for lm20 into separate files

@degjorva degjorva requested review from a team as code owners June 23, 2025 08:40
@github-actions github-actions bot added the changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added. label Jun 23, 2025
@degjorva degjorva force-pushed the cmac-multipart-lm20-workaround branch 2 times, most recently from 43021e1 to 1472aab Compare June 23, 2025 08:46
@NordicBuilder
Copy link
Contributor

NordicBuilder commented Jun 23, 2025

CI Information

To view the history of this post, clich the 'edited' button above
Build number: 8

Inputs:

Sources:

sdk-nrf: PR head: 35ad3dad8a5139f45d13e010d998f5e7a15876b2

more details

sdk-nrf:

PR head: 35ad3dad8a5139f45d13e010d998f5e7a15876b2
merge base: 7af9c83cc028b8473ee551e1834f908b61b653da
target head (main): 7af9c83cc028b8473ee551e1834f908b61b653da
Diff

Github labels

Enabled Name Description
ci-disabled Disable the ci execution
ci-all-test Run all of ci, no test spec filtering will be done
ci-force-downstream Force execution of downstream even if twister fails
ci-run-twister Force run twister
ci-run-zephyr-twister Force run zephyr twister
List of changed files detected by CI (6)
subsys
│  ├── nrf_security
│  │  ├── src
│  │  │  ├── drivers
│  │  │  │  ├── cracen
│  │  │  │  │  ├── cracenpsa
│  │  │  │  │  │  ├── cracenpsa.cmake
│  │  │  │  │  │  ├── include
│  │  │  │  │  │  │  │ cracen_psa_primitives.h
│  │  │  │  │  │  ├── src
│  │  │  │  │  │  │  ├── cracen_lm20_mac_cmac.c
│  │  │  │  │  │  │  ├── cracen_lm20_mac_cmac.h
│  │  │  │  │  │  │  ├── cracen_mac_cmac.h
│  │  │  │  │  │  │  │ mac.c

Outputs:

Toolchain

Version: 3ae5dc3c63
Build docker image: docker-dtr.nordicsemi.no/sw-production/ncs-build:3ae5dc3c63_776d264d2e

Test Spec & Results: ✅ Success; ❌ Failure; 🟠 Queued; 🟡 Progress; ◻️ Skipped; ⚠️ Quarantine

  • ◻️ Toolchain - Skipped: existing toolchain is used
  • ✅ Build twister
    • sdk-nrf test count: 28
  • ✅ Integration tests
    • ✅ test-fw-nrfconnect-boot
    • ✅ test_ble_nrf_config
    • ✅ test-fw-nrfconnect-chip
    • ✅ test-fw-nrfconnect-nrf-iot_cloud
    • ✅ test-fw-nrfconnect-nrf_crypto
    • ✅ test-fw-nrfconnect-rs
    • ✅ test-fw-nrfconnect-tfm
    • ✅ test-sdk-find-my
    • ✅ test-sdk-mcuboot
    • ⚠️ test-sdk-dfu
Disabled integration tests
    • test-fw-nrfconnect-nrf_lrcs_mosh
    • test-fw-nrfconnect-nrf_lrcs_positioning
    • desktop52_verification
    • doc-internal
    • test-fw-nrfconnect-apps
    • test-fw-nrfconnect-ble_mesh
    • test-fw-nrfconnect-ble_samples
    • test-fw-nrfconnect-fem
    • test-fw-nrfconnect-nfc
    • test-fw-nrfconnect-nrf-iot_libmodem-nrf
    • test-fw-nrfconnect-nrf-iot_lwm2m
    • test-fw-nrfconnect-nrf-iot_samples
    • test-fw-nrfconnect-nrf-iot_serial_lte_modem
    • test-fw-nrfconnect-nrf-iot_thingy91
    • test-fw-nrfconnect-nrf-iot_zephyr_lwm2m
    • test-fw-nrfconnect-ps-main
    • test-fw-nrfconnect-rpc
    • test-fw-nrfconnect-thread-main
    • test-low-level
    • test-sdk-audio
    • test-sdk-pmic-samples
    • test-sdk-wifi
    • test-secdom-samples-public

Note: This message is automatically posted and updated by the CI

@degjorva degjorva force-pushed the cmac-multipart-lm20-workaround branch from 1472aab to 47f8759 Compare June 23, 2025 11:10
return PSA_ERROR_NOT_SUPPORTED;
}

/* lm20 does not support 192-bit keys */
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ignore this comment. Apparently we do and no one documented it. Will remove after ci

@degjorva degjorva force-pushed the cmac-multipart-lm20-workaround branch from 47f8759 to 5c5f9e4 Compare June 23, 2025 14:37
Add software workaround to allow multipart cmac to work on lm20
This is done by implementing CMAC using the hardware aes encryption
primitives.
Split out cmac for lm20 into separate files

Signed-off-by: Dag Erik Gjørvad <dag.erik.gjorvad@nordicsemi.no>
@degjorva degjorva force-pushed the cmac-multipart-lm20-workaround branch from 5c5f9e4 to 35ad3da Compare June 24, 2025 08:19
Copy link
Contributor

@frkv frkv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changelog-entry-required Update changelog before merge. Remove label if entry is not needed or already added.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants