108
5.4.2
∆ιαδικασία χαρτογράϕησης
Η διαδικασία χαρτογράϕησης στη ϕάση προεπεξεργασίας του αλγόριθµου SHA-3
στοχεύει στη δηµιουργία δεδοµένων εισόδου σε τρεις διαστάσεις, προκειµένου να
καταστεί δυνατή η εσωτερική αναπαράσταση της κατάστασης (state array).
Αυτό
επιτυγχάνεται χρησιµοποιώντας την ακόλουθη Εξίσωση (5.1):
State
[x, y, z] = [((Data supplement r XOR r)||c)]
∗
[(z + 64
∗
(5
∗
y + x))]
(5.1)
Η εξίσωση αντιστοιχίζει τις τρισδιάστατες συντεταγµένες
(x, y, z) σε έναν γραµµικό
δείκτη
εντός
της
δοµής
κατάστασης,
µε
σκοπό
τη
διαµόρϕωση
των
δεδοµένων
εισόδου σε τρεις διαστάσεις. Η κατάσταση του αλγορίθµου έχει µέγεθος
5 × 5 × 64,
όπου
οι
δείκτες
x και y λαµβάνουν τιµές στο διάστηµα [0, 4], ενώ ο δείκτης z
κυµαίνεται στο διάστηµα
[0, 63].
Με την αντικατάσταση των επιµέρους τιµών των
x, y και z στην εξίσωση, καθίσταται
δυνατός ο υπολογισµός της αντίστοιχης τιµής κατάστασης
(x, y, z). Η διαδικασία
αυτή εξασϕαλίζει την ορθή απεικόνιση των δεδοµένων στο τρισδιάστατο πλέγµα της
εσωτερικής κατάστασης, επιτρέποντας την κατάλληλη προετοιµασία τους για τις
επόµενες ϕάσεις επεξεργασίας του αλγορίθµου SHA-3, όπως οι λειτουργίες διάχυσης
και µη-γραµµικού µετασχηµατισµού.
5.4.3
∆ιαδικασία SHA-3 - στρατηγική βελτιστοποίησης
Στην προτεινόµενη βελτιστοποίηση, όπως απεικονίζεται στο Σχήµα 5.2, υιοθετήθηκε
µια
προσέγγιση
διασωλήνωσης
δύο
σταδίων
εντός
του
µπλοκ
µετάθεσης
f
της συνάρτησης κατακερµατισµού SHA-3.
Παράλληλα,
η συνολική συνάρτηση
κατακερµατισµού ξετυλίχθηκε κατά δύο επαναλήψεις, ενώ εισήχθησαν δύο αγωγοί
µεταξύ των διαδοχικών γύρων, µε σκοπό την αύξηση του βαθµού παραλληλίας.
Η
διασωλήνωση
δύο
σταδίων
κατανέµει
τον
υπολογισµό
µεταξύ
του
βήµατος
θ και των υπόλοιπων τεσσάρων βηµάτων (ρ, π, χ και ι) που συγκροτούν το
µπλοκ µετάθεσης
f . Η συγκεκριµένη διάσπαση οδηγεί σε πιο αποδοτική εκτέλεση
των
επιµέρους
λειτουργιών,
µειώνοντας
την
κρίσιµη
διαδροµή
του
κυκλώµατος
και
καθιστώντας
δυνατή
την
επίτευξη
υψηλότερης
συχνότητας
ρολογιού.
Ως