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].