background image

32

2.3.1

Βασικά στοιχεία

Ο

SHA-2

χρησιµοποιεί

οκτώ

µεταβλητές

κατάστασης,

οι

οποίες

συµβολίζονται

µε

τα

γράµµατα

a,

b,

c,

d,

e,

f,

g

και

h.

Οι

µεταβλητές

αυτές

αποτελούν

τον

πυρήνα της διαδικασίας κατακερµατισµού, καθώς κάθε µία αποθηκεύει ενδιάµεσες

τιµές

κατά

τη

διάρκεια

των

διαδοχικών

ϕάσεων

του

αλγορίθµου.

Το

µέγεθος

κάθε

µεταβλητής

κατάστασης

αντιστοιχεί

στο

µέγεθος

της

λέξης

της

εκάστοτε

έκδοσης του SHA-2, προσαρµοζόµενο αναλόγως (32 ή 64 bits).

Η αρχικοποίηση

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

έχουν υπολογιστεί βάσει των δεκαδικών ψηϕίων των τετραγωνικών ή κυβικών ριζών

των πρώτων αριθµών.

Η πρακτική αυτή διασϕαλίζει ότι η αρχική κατάσταση του

αλγορίθµου είναι µοναδική και µη προβλέψιµη, προσθέτοντας έτσι ένα επιπλέον

επίπεδο ασϕάλειας στην κρυπτογραϕική διαδικασία [99].

Οι αλγόριθµοι SHA-1 και SHA-2 µοιράζονται κοινά χαρακτηριστικά όσον αϕορά

την

προετοιµασία

των

µηνυµάτων

πριν

από

τον

κατακερµατισµό.

Ένα

από

αυτά

είναι

η

διαδικασία

συµπλήρωσης

(padding),

η

οποία

διασϕαλίζει

ότι

το

µήκος του µηνύµατος γίνεται πολλαπλάσιο του µεγέθους µπλοκ του αλγορίθµου.

Συγκεκριµένα, η διαδικασία αρχίζει µε την προσθήκη ενός bit "1" στο τέλος του

πραγµατικού µηνύµατος, ακολουθούµενου από µια σειρά από bits "0" µέχρι το µήκος

να ϕτάσει το επιθυµητό µέγεθος, και ολοκληρώνεται µε την προσθήκη της δυαδικής

αναπαράστασης του µήκους του αρχικού µηνύµατος.

Για τον SHA-2, αυτή η διαδικασία διασϕαλίζει ότι το τελικό µήνυµα έχει µήκος που

είναι πολλαπλάσιο του µεγέθους µπλοκ εισόδου που απαιτεί ο αλγόριθµος: 512 bits

για τις εκδόσεις SHA-224 και SHA-256, ή 1024 bits για τις εκδόσεις SHA-384, SHA-512

και τις περικοµµένες παραλλαγές τους. Μετά το padding, το µήνυµα διασπάται σε

µπλοκ του αντίστοιχου µεγέθους, προετοιµάζοντας το για την επόµενη ϕάση της

επεξεργασίας.

Η επόµενη ϕάση, η διαδικασία επέκτασης του µηνύµατος, µετατρέπει τα αρχικά

µπλοκ σε

µια σειρά από

λέξεις που

θα χρησιµοποιηθούν

κατά

τη

διάρκεια

της

κατακερµατιστικής διαδικασίας. Για τον SHA-2, το αρχικό µήνυµα επεκτείνεται σε

64 λέξεις για τις εκδόσεις SHA-224 και SHA-256, ή σε 80 λέξεις για τις εκδόσεις

SHA-384 και SHA-512, µε τη χρήση λογικών και αριθµητικών πράξεων σε ειδικά

διαµορϕωµένες εξισώσεις. Αυτή η διαδικασία ενισχύει την πολυπλοκότητα και την

ασϕάλεια του παραγόµενου κατακερµατισµού.