BLAKE3-team / BLAKE3-specs

The BLAKE3 paper: specifications, analysis, and design rationale
https://blake3.io
Other
166 stars 10 forks source link

[Table 2] table of key schedule permutation might be not full: only first two rows noted. #2

Closed TheVice closed 4 years ago

TheVice commented 4 years ago

Hello.

Comparing to what I see at RFC for BLAKE2, where table with similar role called 'SIGMA', data for BLAKE3 not full at specification.

For another side, something might be missed by me, so addition description about this situation would be nice. That why no accompanying pull request for this issue exists at this moment.

If it was created it will contain rest of table that can be founded at Rust and C reference implementations.

-    2 & 6 & 3 & 10 & 7 & 0 & 4 & 13 & 1 & 11 & 12 & 5 & 9 & 14 & 15 & 8 \\
+    2 & 6 & 3 & 10 & 7 & 0 & 4 & 13 & 1 & 11 & 12 & 5 & 9 & 14 & 15 & 8 \\ \midrule
+    3 & 4 & 10 & 12 & 13 & 2 & 7 & 14 & 6 & 5 & 9 & 0 & 11 & 15 & 8 & 1 \\ \midrule
+    10 & 7 & 12 & 9 & 14 & 3 & 13 & 15 & 4 & 0 & 11 & 2 & 5 & 8 & 1 & 6 \\ \midrule
+    12 & 13 & 9 & 11 & 15 & 10 & 14 & 8 & 7 & 2 & 5 & 3 & 0 & 1 & 6 & 4 \\ \midrule
+    9 & 14 & 11 & 5 & 8 & 12 & 15 & 1 & 13 & 3 & 0 & 10 & 2 & 6 & 4 & 7 \\ \midrule
+    11 & 15 & 5 & 0 & 1 & 9 & 8 & 6 & 14 & 10 & 2 & 12 & 3 & 4 & 7 & 13 \\

BLAKE3 - Table 2

Thank you.

oconnor663 commented 4 years ago

Only two rows are included, because in BLAKE3 (unlike BLAKE and BLAKE2) all the subsequent rows are just repeated iterations of the same permutation.