Skip to content

Commit e82985c

Browse files
committed
Update with latest aes.S
From commit 6e6c8ee
1 parent 9f1578b commit e82985c

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

enc_bootloader/aes.S

+13-4
Original file line numberDiff line numberDiff line change
@@ -1663,14 +1663,23 @@ ctr_crypt_s:
16631663
pop {r1}
16641664
ldmia r1,{r8-r11} @ r8-r11 = IVshareB
16651665
clear03 32
1666-
bl gen_rand_sha_nonpres; eors r4,r4,r0; mov r8, r8, ror#16; eor r8, r8, r0,ror#16
1667-
bl gen_rand_sha_nonpres; eors r5,r5,r0; mov r9, r9, ror#16; eor r9, r9, r0,ror#16
1668-
bl gen_rand_sha_nonpres; eors r6,r6,r0; mov r10,r10,ror#16; eor r10,r10,r0,ror#16
1669-
bl gen_rand_sha_nonpres; eors r7,r7,r0; mov r11,r11,ror#16; eor r11,r11,r0,ror#16
1666+
bl gen_rand_sha_nonpres; eors r4,r4,r0; movs r1,#0; mov r8, r8, ror#16; eor r8, r8, r0,ror#16 @ Barriers between shares to prevent implicit r4^r8 etc
1667+
bl gen_rand_sha_nonpres; eors r5,r5,r0; movs r1,#0; mov r9, r9, ror#16; eor r9, r9, r0,ror#16
1668+
bl gen_rand_sha_nonpres; eors r6,r6,r0; movs r1,#0; mov r10,r10,ror#16; eor r10,r10,r0,ror#16
1669+
bl gen_rand_sha_nonpres; eors r7,r7,r0; movs r1,#0; mov r11,r11,ror#16; eor r11,r11,r0,ror#16
16701670
ldr r0,=IV0
16711671
stmia r0,{r4-r7}
16721672
adds r0,r0,#20
16731673
stmia r0,{r8-r11}
1674+
@ "Decommission" IV0 so that it doesn't get stacked
1675+
bl gen_rand_sha_nonpres; movs r4,r0
1676+
bl gen_rand_sha_nonpres; movs r5,r0
1677+
bl gen_rand_sha_nonpres; movs r6,r0
1678+
bl gen_rand_sha_nonpres; movs r7,r0
1679+
bl gen_rand_sha_nonpres; mov r8,r0
1680+
bl gen_rand_sha_nonpres; mov r9,r0
1681+
bl gen_rand_sha_nonpres; mov r10,r0
1682+
bl gen_rand_sha_nonpres; mov r11,r0
16741683
pop {r1,r2}
16751684
@ r1=cipher/plaintext buffer, r2=number of blocks
16761685

enc_bootloader/config.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
#endif
5252

5353
#ifndef CK_JITTER
54-
#define CK_JITTER 1 // occasionally switch CPU clock to ROSC for extra timing variability
54+
#define CK_JITTER 1 // Use the ROSC clock to make ARM timings unpredictable
5555
#endif
5656

5757

0 commit comments

Comments
 (0)