87
µπλοκ µετασχηµατισµών ενσωµατώθηκε εντός της ενότητας SHA-3, µε αποτέλεσµα η
εκτέλεση δύο πλήρων γύρων µετασχηµατισµών, ακολουθώντας τη σειρά
θ → ρ →
π → χ → ι → θ → ρ → π → χ → ι, να πραγµατοποιείται εντός ενός µόνο
κύκλου ρολογιού. Η εϕαρµογή αυτής της τεχνικής επιτρέπει τη µείωση του συνολικού
αριθµού κύκλων ρολογιού που απαιτούνται για την ολοκλήρωση του αλγορίθµου
SHA-3 στο ήµισυ.
Η
εϕαρµογή
της
τεχνικής
επιτάχυνσης
µέσω
της
στρατηγικής
ξετυλίγµατος
δύο
σταδίων
επιϕέρει
µείωση
στο
συνολικό
αριθµό
κύκλων
ρολογιού
κατά
το
ήµισυ, επιτρέποντας την ολοκλήρωση των υπολογισµών σε 12 κύκλους ρολογιού.
Αυτή
η
µείωση
του
χρόνου
εκτέλεσης
συνεπάγεται
σηµαντική
βελτίωση
της
απόδοσης
της
υλοποίησης
του
αλγορίθµου
SHA-3,
καθιστώντας
την
ιδιαίτερα
κατάλληλη για εϕαρµογές σε πλακέτες FPGA όπου απαιτούνται υψηλές επιδόσεις
και αποδοτικότητα.
Η έρευνά µας προτείνει µια απλουστευµένη δοµή για τη γεννήτρια RC που βελτιώνει
σηµαντικά
την
απόδοση
του
αλγορίθµου
µειώνοντας
παράλληλα
τους
πόρους
υλικού στο ελάχιστο.
Η γεννήτρια RC είναι ένα κρίσιµο στοιχείο του αλγορίθµου
SHA-3.
Η κύρια λειτουργία της είναι να παράγει µια ακολουθία ψευδοτυχαίων
bits που χρησιµοποιούνται για την κρυπτογράϕηση των δεδοµένων εισόδου.
Η
υπάρχουσα γεννήτρια RC αποτελείται από 24 σύνολα των 64 bits,
γεγονός που
οδηγεί σε πολλούς υπολογισµούς στο βήµα
ι του αλγορίθµου SHA-3. Στο βήµα αυτό,
χρειάζεται να εκτελεστεί ένας µεγάλος αριθµός πράξεων XOR, γεγονός που µπορεί να
µειώσει την ρυθµαπόδοση και την αποδοτικότητα του αλγορίθµου, ιδίως σε συσκευές
FPGA µε περιορισµένες δυνατότητες.
Για να ξεπεράσουµε αυτό το πρόβληµα, χρησιµοποιούµε µια απλοποιηµένη δοµή
για τη γεννήτρια RC που αποτελείται µόνο από 7 bit [30, 103].
Μειώνοντας τον
αριθµό
των
bits
στη
γεννήτρια,
µειώνουµε
αποτελεσµατικά
τους
υπολογισµούς
που απαιτούνται στο βήµα
ι, µε αποτέλεσµα τη βελτίωση της ρυθµαπόδοσης και
της αποδοτικότητας.
Η µείωση του συνολικού αριθµού των bits µειώνει επίσης
τους πόρους υλικού που απαιτούνται για τη γεννήτρια RC, µε αποτέλεσµα µια πιο
συµπαγή σχεδίαση, ιδανική για συσκευές FPGA µε περιορισµένους πόρους.
Το βήµα
ι συνίσταται στην τροποποίηση ορισµένων από τα bits της συστοιχίας
καταστάσεων Α, όπως ϕαίνεται στην εξίσωση (4.2).
A
′
[x, y, z] = A[x, y, z] XOR RC [i
r
]
(4.2)