Skip to content

Commit 35216fa

Browse files
authored
Merge pull request #414 from danielinux/ecc521
Added support for SIGN=ECC521
2 parents dff83a8 + 5ba777c commit 35216fa

14 files changed

+92
-22
lines changed

.github/workflows/test-renode-fastmath-smallstack.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ jobs:
3131
- name: Renode Tests ECC384
3232
run: ./tools/renode/docker-test.sh "SIGN=ECC384 WOLFBOOT_SMALL_STACK=1 SPMATH=0"
3333

34+
# ECC521 TEST
35+
- name: Renode Tests ECC521
36+
run: ./tools/renode/docker-test.sh "SIGN=ECC521 WOLFBOOT_SMALL_STACK=1 SPMATH=0"
3437

3538
# RSA2048 TEST
3639
- name: Renode Tests RSA2048

.github/workflows/test-renode-fastmath.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ jobs:
3030
- name: Renode Tests ECC384
3131
run: ./tools/renode/docker-test.sh "SIGN=ECC384 SPMATH=0"
3232

33+
# ECC521 TEST
34+
- name: Renode Tests ECC521
35+
run: ./tools/renode/docker-test.sh "SIGN=ECC521 SPMATH=0"
36+
3337

3438
# RSA2048 TEST
3539
- name: Renode Tests RSA2048

.github/workflows/test-renode-noasm-smallstack.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ jobs:
3131
- name: Renode Tests ECC384
3232
run: ./tools/renode/docker-test.sh "SIGN=ECC384 WOLFBOOT_SMALL_STACK=1 NO_ASM=1"
3333

34+
# ECC521 TEST
35+
- name: Renode Tests ECC521
36+
run: ./tools/renode/docker-test.sh "SIGN=ECC521 WOLFBOOT_SMALL_STACK=1 NO_ASM=1"
3437

3538
# RSA2048 TEST
3639
- name: Renode Tests RSA2048

.github/workflows/test-renode-noasm.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ jobs:
3030
- name: Renode Tests ECC384
3131
run: ./tools/renode/docker-test.sh "SIGN=ECC384 NO_ASM=1"
3232

33+
# ECC521 TEST
34+
- name: Renode Tests ECC521
35+
run: ./tools/renode/docker-test.sh "SIGN=ECC521 NO_ASM=1"
3336

3437
# ED25519 TEST
3538
- name: Renode Tests ED25519

.github/workflows/test-renode-nrf52.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ jobs:
3434
- name: Renode Tests ECC384
3535
run: ./tools/renode/docker-test.sh "SIGN=ECC384"
3636

37+
# ECC521 TEST
38+
- name: Renode Tests ECC521
39+
run: ./tools/renode/docker-test.sh "SIGN=ECC521"
40+
3741
# ED25519 TEST
3842
- name: Renode Tests ED25519
3943
run: ./tools/renode/docker-test.sh "SIGN=ED25519"

.github/workflows/test-renode-sha3.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ jobs:
3434
- name: Renode Tests ECC384
3535
run: ./tools/renode/docker-test.sh "SIGN=ECC384 HASH=SHA3"
3636

37+
# ECC521 TEST
38+
- name: Renode Tests ECC521
39+
run: ./tools/renode/docker-test.sh "SIGN=ECC521 HASH=SHA3"
3740

3841
# ED25519 TEST
3942
- name: Renode Tests ED25519

.github/workflows/test-renode-sha384.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ jobs:
3333
- name: Renode Tests ECC384
3434
run: ./tools/renode/docker-test.sh "SIGN=ECC384 HASH=SHA384"
3535

36+
# ECC521 TEST
37+
- name: Renode Tests ECC521
38+
run: ./tools/renode/docker-test.sh "SIGN=ECC521 HASH=SHA384"
3639

3740
# ED25519 TEST
3841
- name: Renode Tests ED25519

.github/workflows/test-renode-smallstack.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@ jobs:
3535
- name: Renode Tests ECC384
3636
run: ./tools/renode/docker-test.sh "SIGN=ECC384 WOLFBOOT_SMALL_STACK=1"
3737

38+
# ECC521 TEST
39+
- name: Renode Tests ECC521
40+
run: ./tools/renode/docker-test.sh "SIGN=ECC521 WOLFBOOT_SMALL_STACK=1"
41+
3842

3943
# ED25519 TEST
4044
- name: Renode Tests ED25519

docs/Signing.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,9 @@ file is in this format.
9292
* `--ecc384` Use ecc384 for signing the firmware. Assume that the given KEY.DER
9393
file is in this format.
9494

95+
* `--ecc521` Use ecc521 for signing the firmware. Assume that the given KEY.DER
96+
file is in this format.
97+
9598
* `--rsa2048` Use rsa2048 for signing the firmware. Assume that the given KEY.DER
9699
file is in this format.
97100

docs/compile.md

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -90,21 +90,17 @@ performance and activated features are affected by compile-time flags.
9090
By default, wolfBoot is compiled to use Ed25519 DSA. The implementation of ed25519 is smaller,
9191
while giving a good compromise in terms of boot-up time.
9292

93-
Better performance can be achieved using ECDSA with curve p-256. To activate ECC256 support, use
93+
Better performance can be achieved using ECDSA with curve p-256.
94+
To activate ECC256, ECC384 or ECC521 support, use:
9495

95-
`SIGN=ECC256`
96+
`SIGN=ECC256` or `SIGN=ECC384` or `SIGN=ECC521` respectively.
9697

9798
when invoking `make`.
9899

99-
RSA is also supported, with different key length. To activate RSA2048 or RSA4096, use:
100+
RSA is also supported, with different key length.
101+
To activate RSA2048, RSA3072 or RSA4096, use:
100102

101-
`SIGN=RSA2048`
102-
103-
or
104-
105-
`SIGN=RSA4096`
106-
107-
respectively.
103+
`SIGN=RSA2048` or `SIGN=RSA3072` or `SIGN=RSA4096` respectively.
108104

109105
Ed448 is also supported via `SIGN=ED448`.
110106

@@ -135,7 +131,7 @@ For more information and examples, see the [firmware update](firmware_update.md)
135131

136132
### Enable debug symbols
137133

138-
To debug the bootloader, simply compile with `DEBUG=1`. The size of the bootloade will increase
134+
To debug the bootloader, simply compile with `DEBUG=1`. The size of the bootloader will increase
139135
consistently, so ensure that you have enough space at the beginning of the flash before
140136
`WOLFBOOT_PARTITION_BOOT_ADDRESS`.
141137

@@ -168,7 +164,7 @@ Some combinations of authentication algorithms, key sizes and math configuration
168164
a large amount of memory to be allocated in the stack at runtime. By default, if your configuration
169165
falls in one of these cases, wolfBoot compilation will terminate with an explicit error.
170166

171-
In some cases you might have enough memory available to allow large stack allocations.
167+
In some cases you might have enough memory available to allow large stack allocations.
172168
To circumvent the compile-time checks on the maximum allowed stack size, use `WOLFBOOT_HUGE_STACK=1`.
173169

174170
### Disable Backup of current running firmware

0 commit comments

Comments
 (0)