Skip to content
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

fix: input length for ECCX08.ecSign() is 32 bytes #49

Merged
merged 1 commit into from
Sep 18, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 4 additions & 6 deletions examples/ECCX08Signing/ECCX08Signing.ino
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
is printed to the Serial Monitor. Then the signature is
verified using the public key of the slot.

NOTE: the input data must be 64 bytes in length!
NOTE: the input data must be 32 bytes in length!

Circuit:
- MKR board with ECC508 or ECC608 on board
Expand All @@ -17,11 +17,9 @@

#include <ArduinoECCX08.h>

const byte input[64] = {
const byte input[32] = {
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f
};

const int slot = 0;
Expand Down Expand Up @@ -57,7 +55,7 @@ void setup() {
Serial.print(" is: ");
printBufferHex(publicKey, sizeof(publicKey));

// calculate the signature, input MUST be 64-byte array
// calculate the signature, input MUST be 32-byte array
byte signature[64];
ECCX08.ecSign(slot, input, signature);

Expand Down