110
Πίνακας 5.3: Οι τυπικές τιµές RC 64-bit.
RC
0
0000000000000001
RC
1
0000000000008082
RC
2
800000000000808Α
RC
3
8000000080008000
RC
4
000000000000808Β
RC
5
0000000080000001
RC
6
8000000080008081
RC
7
8000000000008009
RC
8
000000000000008Α
RC
9
0000000000000088
RC
10
0000000080008009
RC
11
000000008000000Α
RC
12
000000008000808Β
RC
13
800000000000008Β
RC
14
8000000000008089
RC
15
8000000000008003
RC
16
8000000000008002
RC
17
8000000000000080
RC
18
000000000000800Α
RC
19
800000008000000Α
RC
20
8000000080008081
RC
21
8000000000008080
RC
22
0000000080000001
RC
23
8000000080008008
A
′
[x, y, z] = A[x, y, z] XOR RC [i
g
]
(5.2)
Σύµϕωνα
µε
τις
προδιαγραϕές
του
αλγόριθµου
SHA-3,
όπως
εµϕανίζεται
στην
Εξίσωση (5.3), κάθε τιµή RC έχει το πολύ επτά µη µηδενικά bits.
RC [i
g
] [0][0] 2
h
− 1 = gc [h + 7i
g
] for all 0 ≤ g ≤ n
(5.3)
Αυτές οι Εξισώσεις (5.2) και (5.3) υπογραµµίζουν τον τρόπο µε τον οποίο το µέγεθος
της γεννήτριας RC µειώνεται µέσω της διατήρησης µη µηδενικών bit εντός των τιµών
RC. Έτσι, εκµεταλλευτήκαµε αυτήν την παρατήρηση και απλοποιήσαµε τις τιµές στις
στρογγυλές σταθερές αναλόγως.
Οι απλουστευµένες τιµές της γεννήτριας RC των
επτά bit παρουσιάζονται στον Πίνακα 5.4.
Πίνακας 5.4: Οι απλοποιηµένες τιµές της γεννήτριας
RC
7
.
RC
0
1000000
RC
1
0101100
RC
2
0111101
RC
3
0000111
RC
4
1111100
RC
5
1000010
RC
6
1001111
RC
7
1010101
RC
8
0111000
RC
9
0011000
RC
10
1010110
RC
11
0110010
RC
12
1111110
RC
13
1111001
RC
14
1011101
RC
15
1100101
RC
16
0100101
RC
17
0001001
RC
18
0110100
RC
19
0110011
RC
20
1001111
RC
21
0001101
RC
22
1000010
RC
23
0010101
Αυτή η µείωση στο µέγεθος της γεννήτριας RC απλοποιεί τον υπολογισµό στο βήµα
ι
του αλγορίθµου SHA-3. Προηγουµένως, το βήµα
ι απαιτούσε 64 λογικές λειτουργίες
XOR. Ωστόσο, µε την απλοποιηµένη γεννήτρια RC, ο αριθµός των λειτουργιών XOR
που απαιτούνται στο βήµα
ι µειώνονται µόνο σε επτά. Συγκεκριµένα, η λειτουργία
XOR bitwise εκτελείται τώρα στις θέσεις bit 0, 1, 3, 7, 15, 31 και 63 του πίνακα