Skip to content

Initial implementation#10584

Open
twcook86 wants to merge 2 commits into
wolfSSL:masterfrom
twcook86:lpc55s69_hwpuf
Open

Initial implementation#10584
twcook86 wants to merge 2 commits into
wolfSSL:masterfrom
twcook86:lpc55s69_hwpuf

Conversation

@twcook86
Copy link
Copy Markdown
Contributor

@twcook86 twcook86 commented Jun 3, 2026

This adds support for the lpc55s69 hw puf to wolfCrypt (WOLFSSL_HWPUF && WOLFSSL_NXP_PUF). An effort has been made to be as compatible with the sw puf (WOLFSSL_PUF) implementation as possible.

Not all features of the hw puf are supported yet. Specifically, this initial implementation supports...

  1. keys of size 16, 24, 32 bytes for use with aes
  2. ability to pass keys directly on the hw bus to the aes engine, thus never being exposed in ram

Testing

Tested with new test functionality added to wolfcrypt/test/test.c

Checklist

  • added tests
  • updated/added doxygen
  • updated appropriate READMEs
  • Updated manual and documentation

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

MemBrowse Memory Report

gcc-arm-cortex-m3

  • FLASH: .text +8 B (+0.0%, 120,133 B / 262,144 B, total: 46% used)

gcc-arm-cortex-m4-openssl-compat

  • FLASH: .rodata +40 B, .text +192 B (+0.0%, 763,124 B / 1,048,576 B, total: 73% used)

gcc-arm-cortex-m4-pq

  • FLASH: .text +64 B (+0.0%, 275,736 B / 1,048,576 B, total: 26% used)

gcc-arm-cortex-m4-tls12

@dgarske dgarske self-requested a review June 3, 2026 15:58
Comment thread wolfcrypt/src/puf.c
return 0;
}

int wc_PufDeinit(wc_PufCtx* ctx)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Shouldn't this entire file not be compiled when WOLFSSL_NXP_PUF is defined? Maybe add a !WOLFSSL_NXP_PUF around it? Also did you consider extending the crypto callbacks to support PUF? So have an init_ex with devId/heap and support registering a PUF handler for the NXP?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants