background image

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 του πίνακα