85
Για τη σωστή διαµόρϕωση της εξόδου, απαιτείται κατάλληλος µετασχηµατισµός των
δεδοµένων, όπως περιγράϕεται στην Εξίσωση (4.1). Η µονάδα αποκοπής, βασιζόµενη
στην εν λόγω εξίσωση, αποµονώνει τα απαραίτητα ψηϕία της κατάστασης ανάλογα
µε το επιλεγµένο µήκος εξόδου (576, 832, 1088 ή 1152 bits) και υλοποιείται µέσω
πολυπλέκτη 4 προς 1.
State
[x, y, z] = ((Pad r XOR r)|c) × [64 × (5y + x) + z]
(4.1)
Η
παραπάνω
εξίσωση
ορίζει
τον
τρόπο
µε
τον
οποίο
διαµορϕώνεται
η
τελική
κατάσταση εξόδου του συστήµατος, µε βάση το αποτέλεσµα της πράξης XOR µεταξύ
του συµπληρωµένου µηνύµατος και των
r bits, καθώς και την προσάρτηση των c
bits.
Η µονάδα αποκοπής διασϕαλίζει ότι η έξοδος ανταποκρίνεται ακριβώς στο
επιθυµητό µήκος, ανάλογα µε τις απαιτήσεις της εϕαρµογής.
4.4.3
Η αρχιτεκτονική του αλγορίθµου SHA-3
Στην παρούσα µελέτη,
ένας από τους βασικούς ερευνητικούς µας στόχους ήταν
η
επιτάχυνση
της
εκτέλεσης
µέσω
της
µείωσης
του
συνολικού
αριθµού
κύκλων
ρολογιού,
επιτυγχάνοντας
παράλληλα
τη
διατήρηση
της
ελάχιστης
δυνατής
επιϕάνειας
σε
(slices).
Η
βασική
αρχιτεκτονική
του
µπλοκ
γύρων
µετατροπής
παρουσιάζεται
στο
Σχήµα
όπου
ο
µετρητής
κυµαίνεται
από
0
έως
23,
υποδεικνύοντας ότι στην αρχική µορϕή δεν εϕαρµόζεται βελτιστοποίηση για µείωση
του συνολικού αριθµού των κύκλων ρολογιού.
Η στρατηγική ξετυλίγµατος (loop unrolling) αποτελεί µια τεχνική βελτιστοποίησης
που στοχεύει στη µείωση της επιβάρυνσης από βρόχους σε υλοποιήσεις αλγορίθµων,
αυξάνοντας
την
αποδοτικότητα
και
µειώνοντας
το
χρόνο
εκτέλεσης.
Στη
βασική
υλοποίηση
του
αλγορίθµου
SHA-3,
όπως
απεικονίζεται
στο
Σχήµα
ο
υπολογισµός
πραγµατοποιείται
µέσω
ενός
ενιαίου
µπλοκ
µετασχηµατισµών
ακολουθώντας τη σειρά των λειτουργιών
θ, ρ, π, χ, και ι. Η εϕαρµογή της τεχνικής
ξετυλίγµατος επιδιώκει την περαιτέρω βελτίωση της απόδοσης του αλγορίθµου,
επιτρέποντας την εκτέλεση πολλαπλών µπλοκ µετασχηµατισµών εντός ενός κύκλου
ρολογιού, µειώνοντας έτσι σηµαντικά τη συνολική καθυστέρηση.
Στην παρούσα εργασία εϕαρµόστηκε η στρατηγική ξετυλίγµατος δύο σταδίων (loop
unrolling by 2), όπως απεικονίζεται στο Σχήµα 4.5.
Συγκεκριµένα, ένα επιπλέον