Skip to content

Commit 6e7b20e

Browse files
authored
Proposed clarifying words for Zkt addressing #136
Proposed clarifying words for Zkt addressing #136
2 parents 537723e + ec97b9e commit 6e7b20e

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

doc/scalar/riscv-crypto-scalar-zkt.adoc

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,19 @@ instructions. There are no guarantees that even a bit-sliced cipher
5555
implementation (largely based on boolean logic instructions) is secure on a
5656
core without Zkt attestation.
5757

58+
Out-of-order implementations adhering to Zkt are still free to fuse, crack,
59+
change or even ignore sequences of instructions, so long as the optimisations
60+
are applied deterministically, and not based on operand data.
61+
The guiding principle should be that no information about the data being
62+
operated on should be leaked based on the execution latency.
63+
64+
[NOTE]
65+
====
66+
It is left to future extensions or other techniques to tackle the problem
67+
of data-independent execution in implementations which advanced out-of-order
68+
capabilities which use value prediction, or which are otherwise data-dependent.
69+
====
70+
5871
.Note to software developers
5972
[WARNING,caption="SH"]
6073
====
@@ -80,7 +93,7 @@ influences a branch or is used for a table lookup.
8093
* Architectural testing for Zkt can be pragmatic and semi-formal;
8194
_security by design_ against basic timing attacks can usually be achieved via
8295
conscious implementation (of relevant iterative multi-cycle instructions or
83-
instructions composed of micro-ops) in way that avoids data-dependant latency.
96+
instructions composed of micro-ops) in way that avoids data-dependent latency.
8497
* Laboratory testing may utilize statistical timing attack leakage analysis
8598
techniques such as those described in ISO/IEC 17825 cite:[IS16].
8699
* Binary executables should not contain secrets in the instruction encodings

0 commit comments

Comments
 (0)