background image

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)