background image

33

Οι Εξισώσεις επέκτασης (2.8)-(2.10) περιγράϕουν το συγκεκριµένο βήµα, όπου κάθε

νέα λέξη που παράγεται βασίζεται τόσο στις τιµές προηγούµενων λέξεων όσο και

στις αρχικές λέξεις του µηνύµατος. Η διαδικασία αυτή ενισχύει την ανθεκτικότητα

του αλγορίθµου έναντι κρυπτογραϕικών επιθέσεων, καθώς αυξάνει την εντροπία

και

συµβάλλει

ουσιαστικά

στη

διασϕάλιση

της

ασϕάλειας

της

τελικής

τιµής

κατακερµατισµού [100].

σ

0

= ROT R

r1

(W

t−15

) XOR ROT R

r2

(W

t−15

) XOR SHR

r3

(W

t−15

)

(2.8)

σ

1

= ROT R

q1

(W

t−2

) XOR ROT R

q2

(W

t−2

) XOR SHR

q3

(W

t−2

)

(2.9)

W

t

= W

t−16

+ σ

0

+ W

t−7

+ σ

1

,

16 ≤ t ≤ n

(2.10)

οπου

t = 16 εως n, ROT R

n

(X) περιστρέϕει τη λέξη X προς τα δεξιά κατά n bit, και

SHR

n

(X) µετατοπίζει δεξιά τη λέξη X κατά n bit. Οι σταθερές n, r

1

, r

2

, r

3

, q

1

, q

2

,

και

q

3

χρησιµοποιούνται στις λειτουργίες

ROT R και SHR οι οποιες ποικίλλουν

ανάλογα µε την έκδοση του

SHA-2 που εϕαρµόζεται.

Για

n = 63 στους SHA-224 και SHA-256 οι τιµές αυτές έχουν οριστεί ως:

r

1

= 7, r

2

= 18, r

3

= 3, q

1

= 7, q

2

= 19, q

3

= 10

ενώ για

n = 79 στους SHA-384 και SHA-512:

r

1

= 1, r

2

= 8, r

3

= 7, q

1

= 19, q

2

= 61, q

3

= 6

Οι τιµές αυτές είναι προκαθορισµένες και συνδέονται άµεσα µε την αρχιτεκτονική

και

τις

απαιτήσεις

ασϕαλείας

της

κάθε

εκδόσης

του

SHA-2,

επιτρέποντας

τον

εντοπισµό και την αντιµετώπιση διαϕορετικών τύπων κρυπτογραϕικών απειλών και

επιθέσεων.

∆ύο θεµελιώδεις λογικές συναρτήσεις [101] παίζουν κεντρικό ρόλο στη διαδικασία

δηµιουργίας

του

κατακερµατισµού:

η

συνάρτηση

Choose και η συνάρτηση

M ajority. Η συνάρτηση Choose επιλέγει µεταξύ δύο εισόδων µε βάση µια τρίτη:

για κάθε θέση

bit, αν το αντίστοιχο bit της τρίτης εισόδου είναι 1, τότε επιλέγεται