arduino-libraries / ArduinoECCX08

76 stars 49 forks source link

Adding HMAC and nonce functionality for ATECC608 #45

Closed RLeclair closed 1 year ago

RLeclair commented 1 year ago

Addressing issue #42

Adding nonce functionality

Adding HMAC functionality

Adding HMAC and nonce example

CLAassistant commented 1 year ago

CLA assistant check
All committers have signed the CLA.

github-actions[bot] commented 1 year ago

Memory usage change @ 7a9b7c20646fed3e9fbf7b69574f1679f93fcb23

Board flash % RAM for global variables %
arduino:mbed:envie_m7 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:mbed_nano:nanorp2040connect 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:megaavr:uno2018 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkr1000 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrgsm1400 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrnb1500 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrvidor4000 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwan1300 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwan1310 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwifi1010 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:nano_33_iot 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
Click for full report table Board|examples/ECCX08HMAC
flash|%|examples/ECCX08HMAC
RAM for global variables|%|examples/ECCX08RandomNumber
flash|%|examples/ECCX08RandomNumber
RAM for global variables|%|examples/Tools/ECCX08CSR
flash|%|examples/Tools/ECCX08CSR
RAM for global variables|%|examples/Tools/ECCX08JWSPublicKey
flash|%|examples/Tools/ECCX08JWSPublicKey
RAM for global variables|%|examples/Tools/ECCX08SelfSignedCert
flash|%|examples/Tools/ECCX08SelfSignedCert
RAM for global variables|% -|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|- arduino:mbed:envie_m7|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:mbed_nano:nanorp2040connect|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:megaavr:uno2018|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:samd:mkr1000|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:samd:mkrgsm1400|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:samd:mkrnb1500|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:samd:mkrvidor4000|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:samd:mkrwan1300|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:samd:mkrwan1310|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:samd:mkrwifi1010|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:samd:nano_33_iot|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0
Click for full report CSV ``` Board,examples/ECCX08HMAC
flash,%,examples/ECCX08HMAC
RAM for global variables,%,examples/ECCX08RandomNumber
flash,%,examples/ECCX08RandomNumber
RAM for global variables,%,examples/Tools/ECCX08CSR
flash,%,examples/Tools/ECCX08CSR
RAM for global variables,%,examples/Tools/ECCX08JWSPublicKey
flash,%,examples/Tools/ECCX08JWSPublicKey
RAM for global variables,%,examples/Tools/ECCX08SelfSignedCert
flash,%,examples/Tools/ECCX08SelfSignedCert
RAM for global variables,% arduino:mbed:envie_m7,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:mbed_nano:nanorp2040connect,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:megaavr:uno2018,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:mkr1000,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:mkrgsm1400,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:mkrnb1500,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:mkrvidor4000,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:mkrwan1300,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:mkrwan1310,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:mkrwifi1010,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:nano_33_iot,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 ```
per1234 commented 1 year ago

Hi @RLeclair. Thanks so much for your pull request!

It looks like you have not yet signed the contributor license agreement, which we require of all contributors. Would you mind taking care of that so it doesn't act as a blocker on merging this PR?

It can be signed here:

https://cla-assistant.io/arduino-libraries/ArduinoECCX08?pullRequest=45

Please let me know if you have any questions or concerns.

RLeclair commented 1 year ago

Hi @per1234 just signed the contributor license agreement, apologies for the delay!

RLeclair commented 1 year ago

Hi @per1234, is there anything else needed for merging this PR? Let me know, thanks!

github-actions[bot] commented 1 year ago

Memory usage change @ 4562d7c3bb80e00d7cacfa8d1aca3d6be1b14f18

Board flash % RAM for global variables %
arduino:mbed:envie_m7 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:mbed_nano:nanorp2040connect 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:megaavr:uno2018 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkr1000 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrgsm1400 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrnb1500 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrvidor4000 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwan1300 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwan1310 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwifi1010 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:nano_33_iot 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
Click for full report table Board|examples/ECCX08HMAC
flash|%|examples/ECCX08HMAC
RAM for global variables|%|examples/ECCX08RandomNumber
flash|%|examples/ECCX08RandomNumber
RAM for global variables|%|examples/Tools/ECCX08CSR
flash|%|examples/Tools/ECCX08CSR
RAM for global variables|%|examples/Tools/ECCX08JWSPublicKey
flash|%|examples/Tools/ECCX08JWSPublicKey
RAM for global variables|%|examples/Tools/ECCX08SelfSignedCert
flash|%|examples/Tools/ECCX08SelfSignedCert
RAM for global variables|% -|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|- arduino:mbed:envie_m7|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:mbed_nano:nanorp2040connect|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:megaavr:uno2018|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:samd:mkr1000|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:samd:mkrgsm1400|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:samd:mkrnb1500|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:samd:mkrvidor4000|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:samd:mkrwan1300|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:samd:mkrwan1310|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:samd:mkrwifi1010|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:samd:nano_33_iot|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0
Click for full report CSV ``` Board,examples/ECCX08HMAC
flash,%,examples/ECCX08HMAC
RAM for global variables,%,examples/ECCX08RandomNumber
flash,%,examples/ECCX08RandomNumber
RAM for global variables,%,examples/Tools/ECCX08CSR
flash,%,examples/Tools/ECCX08CSR
RAM for global variables,%,examples/Tools/ECCX08JWSPublicKey
flash,%,examples/Tools/ECCX08JWSPublicKey
RAM for global variables,%,examples/Tools/ECCX08SelfSignedCert
flash,%,examples/Tools/ECCX08SelfSignedCert
RAM for global variables,% arduino:mbed:envie_m7,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:mbed_nano:nanorp2040connect,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:megaavr:uno2018,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:mkr1000,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:mkrgsm1400,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:mkrnb1500,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:mkrvidor4000,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:mkrwan1300,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:mkrwan1310,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:mkrwifi1010,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:nano_33_iot,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 ```
github-actions[bot] commented 1 year ago

Memory usage change @ eb93d9db9d408fb1aca5faf55c8a57c01274ca70

Board flash % RAM for global variables %
arduino:mbed:envie_m7 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:mbed_nano:nanorp2040connect 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:megaavr:uno2018 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkr1000 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrgsm1400 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrnb1500 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrvidor4000 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwan1300 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwan1310 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:mkrwifi1010 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:samd:nano_33_iot 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
Click for full report table Board|examples/ECCX08HMAC
flash|%|examples/ECCX08HMAC
RAM for global variables|%|examples/ECCX08RandomNumber
flash|%|examples/ECCX08RandomNumber
RAM for global variables|%|examples/Tools/ECCX08CSR
flash|%|examples/Tools/ECCX08CSR
RAM for global variables|%|examples/Tools/ECCX08JWSPublicKey
flash|%|examples/Tools/ECCX08JWSPublicKey
RAM for global variables|%|examples/Tools/ECCX08SelfSignedCert
flash|%|examples/Tools/ECCX08SelfSignedCert
RAM for global variables|% -|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|- arduino:mbed:envie_m7|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:mbed_nano:nanorp2040connect|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:megaavr:uno2018|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:samd:mkr1000|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:samd:mkrgsm1400|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:samd:mkrnb1500|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:samd:mkrvidor4000|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:samd:mkrwan1300|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:samd:mkrwan1310|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:samd:mkrwifi1010|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0 arduino:samd:nano_33_iot|N/A|N/A|N/A|N/A|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0|0|0.0
Click for full report CSV ``` Board,examples/ECCX08HMAC
flash,%,examples/ECCX08HMAC
RAM for global variables,%,examples/ECCX08RandomNumber
flash,%,examples/ECCX08RandomNumber
RAM for global variables,%,examples/Tools/ECCX08CSR
flash,%,examples/Tools/ECCX08CSR
RAM for global variables,%,examples/Tools/ECCX08JWSPublicKey
flash,%,examples/Tools/ECCX08JWSPublicKey
RAM for global variables,%,examples/Tools/ECCX08SelfSignedCert
flash,%,examples/Tools/ECCX08SelfSignedCert
RAM for global variables,% arduino:mbed:envie_m7,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:mbed_nano:nanorp2040connect,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:megaavr:uno2018,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:mkr1000,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:mkrgsm1400,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:mkrnb1500,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:mkrvidor4000,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:mkrwan1300,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:mkrwan1310,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:mkrwifi1010,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 arduino:samd:nano_33_iot,N/A,N/A,N/A,N/A,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0,0,0.0 ```
RLeclair commented 1 year ago

Hi @facchinm, thanks for reviewing the PR, wanted to know if there is anything left needed to merge this PR?

facchinm commented 1 year ago

LGTM! Squashing and merging!

RLeclair commented 1 year ago

@facchinm I saw that the latest release was in March, is there a planned release date for 1.3.7? Thanks for all the help!

facchinm commented 1 year ago

Releasing now :wink: