background image

84

περιλαµβάνει

την

προσθήκη

ενός

αρχικού

"1"

bit,

ακολουθούµενου

από

τον

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

µία θέση πριν το αµέσως επόµενο πολλαπλάσιο του

r (576, 832, 1088 ή 1152 bits).

Τέλος, προστίθεται ένα ακόµη "1" bit ώστε το τελικό µήκος του µηνύµατος να είναι

ακριβώς πολλαπλάσιο του

r. Αυτή η διαδικασία εξασϕαλίζει τη σωστή διαµόρϕωση

του µηνύµατος, όπως ορίζουν οι προδιαγραϕές του αλγορίθµου, προετοιµάζοντάς το

για την επεξεργασία από τον αλγόριθµο κατακερµατισµού [154].

Σχήµα 4.2: Η µονάδα συµπλήρωσης του αλγόριθµου κατακερµατισµού SHA-3.

Σχήµα 4.3: ∆ιάγραµµα του µπλοκ συµπλήρωσης του SHA-3.

Το βασικό δοµικό διάγραµµα του αλγορίθµου SHA-3 παρουσιάζεται στο Σχήµα 4.3

και περιλαµβάνει τη χρήση πολυπλεκτών 2 προς 1 για την επεξεργασία µηνυµάτων

εισόδου

µεγέθους

64

bits.

Η

µονάδα

συµπλήρωσης

υλοποιείται

µέσω

ενός

πολυπλέκτη 4 προς 1, ο οποίος επιτρέπει την επιλογή του κατάλληλου σχήµατος

συµπλήρωσης,

ανάλογα

µε

το

επιθυµητό

µήκος

εξόδου.

Για

παράδειγµα,

όταν

επιλέγονται 224 bits ως µήκος εξόδου, εϕαρµόζεται το σχήµα συµπλήρωσης που

αντιστοιχεί σε

r = 1152. Τα r bits του συµπληρωµένου µηνύµατος (Pad) εισάγονται

στη µονάδα χαρτογράϕησης και υποβάλλονται σε πράξη XOR µε τα αρχικά

r bits.

Στη συνέχεια, το αποτέλεσµα αυτής της πράξης προσαρτάται µε τα αρχικά

c bits,

σύµϕωνα µε τις προδιαγραϕές του αλγορίθµου [30].