An application specific instruction set processor for cryptographic applications based on RISC-V architecture
Nowadays, RISC-V instruction set architecture (ISA) is becoming increasingly popular in commercial CPU implementations. The benefits introduced by its open-source and simple design along with its ability to be customizable, make it a strong candidate, especially for inexpensive, low-power embedded d...
Κύριος συγγραφέας: | |
---|---|
Άλλοι συγγραφείς: | |
Γλώσσα: | English |
Έκδοση: |
2021
|
Θέματα: | |
Διαθέσιμο Online: | http://hdl.handle.net/10889/14991 |
id |
nemertes-10889-14991 |
---|---|
record_format |
dspace |
institution |
UPatras |
collection |
Nemertes |
language |
English |
topic |
Processors RISC-V Instruction set architecture VexRiscv SHA-256 FPGA Αρχιτεκτονική επεξεργαστών Αλγόριθμοι κρυπτογραφίας |
spellingShingle |
Processors RISC-V Instruction set architecture VexRiscv SHA-256 FPGA Αρχιτεκτονική επεξεργαστών Αλγόριθμοι κρυπτογραφίας Θεοδωρόπουλος, Νικόλαος An application specific instruction set processor for cryptographic applications based on RISC-V architecture |
description |
Nowadays, RISC-V instruction set architecture (ISA) is becoming increasingly popular in commercial CPU implementations. The benefits introduced by its open-source and simple design along with its ability to be customizable, make it a strong candidate, especially for inexpensive, low-power embedded devices. Implementations used in IoT applications can reap the benefits from an instruction set architecture like RISC-V, as energy efficiency is of paramount importance. Security and privacy of IoT networks have also been an ongoing debate and the most sought-after solutions are those achieving it with minimum performance requirements. There have been proposals that cryptographic hash functions and Blockchain technology could be parts of a potential solution to these problems. In this thesis, a RISC-V processor is presented and extended to make it suitable for cryptographic applications. Firstly, the RISC-V concept and architecture are introduced. Secondly, VexRiscv, the RISC-V core selected to host the cryptographic extensions, is studied. Subsequently, the cryptographic algorithm associated with this thesis and the technique used to accelerate its execution are thoroughly examined, with emphasis on details regarding the implementation. Finally, the design is implemented on a Field Programmable Gate Array, where its proper functioning is verified, initially via simulation and then through waveforms provided by an Integrated Logic Analyzer. |
author2 |
Theodoropoulos, Nikolaos |
author_facet |
Theodoropoulos, Nikolaos Θεοδωρόπουλος, Νικόλαος |
author |
Θεοδωρόπουλος, Νικόλαος |
author_sort |
Θεοδωρόπουλος, Νικόλαος |
title |
An application specific instruction set processor for cryptographic applications based on RISC-V architecture |
title_short |
An application specific instruction set processor for cryptographic applications based on RISC-V architecture |
title_full |
An application specific instruction set processor for cryptographic applications based on RISC-V architecture |
title_fullStr |
An application specific instruction set processor for cryptographic applications based on RISC-V architecture |
title_full_unstemmed |
An application specific instruction set processor for cryptographic applications based on RISC-V architecture |
title_sort |
application specific instruction set processor for cryptographic applications based on risc-v architecture |
publishDate |
2021 |
url |
http://hdl.handle.net/10889/14991 |
work_keys_str_mv |
AT theodōropoulosnikolaos anapplicationspecificinstructionsetprocessorforcryptographicapplicationsbasedonriscvarchitecture AT theodōropoulosnikolaos epexergastēseidikouskopouarchitektonikēsriscvmeemphasēsekryptographikesepharmoges AT theodōropoulosnikolaos applicationspecificinstructionsetprocessorforcryptographicapplicationsbasedonriscvarchitecture |
_version_ |
1771297273435652096 |
spelling |
nemertes-10889-149912022-09-05T20:33:49Z An application specific instruction set processor for cryptographic applications based on RISC-V architecture Επεξεργαστής ειδικού σκοπού αρχιτεκτονικής RISC-V με έμφαση σε κρυπτογραφικές εφαρμογές Θεοδωρόπουλος, Νικόλαος Theodoropoulos, Nikolaos Processors RISC-V Instruction set architecture VexRiscv SHA-256 FPGA Αρχιτεκτονική επεξεργαστών Αλγόριθμοι κρυπτογραφίας Nowadays, RISC-V instruction set architecture (ISA) is becoming increasingly popular in commercial CPU implementations. The benefits introduced by its open-source and simple design along with its ability to be customizable, make it a strong candidate, especially for inexpensive, low-power embedded devices. Implementations used in IoT applications can reap the benefits from an instruction set architecture like RISC-V, as energy efficiency is of paramount importance. Security and privacy of IoT networks have also been an ongoing debate and the most sought-after solutions are those achieving it with minimum performance requirements. There have been proposals that cryptographic hash functions and Blockchain technology could be parts of a potential solution to these problems. In this thesis, a RISC-V processor is presented and extended to make it suitable for cryptographic applications. Firstly, the RISC-V concept and architecture are introduced. Secondly, VexRiscv, the RISC-V core selected to host the cryptographic extensions, is studied. Subsequently, the cryptographic algorithm associated with this thesis and the technique used to accelerate its execution are thoroughly examined, with emphasis on details regarding the implementation. Finally, the design is implemented on a Field Programmable Gate Array, where its proper functioning is verified, initially via simulation and then through waveforms provided by an Integrated Logic Analyzer. Στον κόσμο της τεχνολογίας και της εξέλιξης, η καινοτομία και η δυνατότητα παραμετροποίησης ανάλογα με τις ανάγκες του κάθε προιόντος έχουν ιδιαίτερη σημασία. Ο κάθε κατασκευαστής θα προτιμούσε να χρησιμοποιεί μόνο ότι του είναι απαραίτητο σε μια σχεδίαση, αποφεύγοντας έτσι σπατάλη ενέργειας και υλικών πόρων. Οι δημοφιλείς επεξεργαστές που χρησιμοποιούνται στις περισσότερες εφαρμογές σήμερα, δεν προσφέρουν την δυνατότητα παραμετροποίησης καθώς πωλούνται αυτούσιοι σαν IP blocks και η αρχιτεκτονική τους είναι ιδιόκτητη, δηλαδή δεν είναι ανοιχτή στο επιστημονικό κοινό, παρά μόνο στις εταιρίες οι οποίες τις έχουν δημιουργήσει. Μια αρχιτεκτονική που είναι ανοιχτή και δωρεάν διαθέσιμη έχει μεγάλα οφέλη καθώς εξαλείφει τα προαναφερθέντα μειονεκτήματα. Μια τέτοια αρχιτεκτονική επεξεργαστών είναι η RISC-V, η οποία κερδίζει συνεχώς έδαφος, όχι μόνο στο επιστημονικό κοινό, αλλά και σε πολλές εμπορικές εφαρμογές. Παρόλο που δεν έχει φτάσει ακόμα την πολυπλοκότητα των αρχιτεκτονικών όπως x86 και ARM, η RISC-V εξελίσεται συνεχώς και θεωρείται από πολλους το μέλλον των επεξεργαστών. Ένας άλλο φαινόμενο στον τομέα της τεχνολογίας είναι η συνεχής αύξηση στη χρήση των αλγόριθμων κρυπτογραφίας. Αυτό οφείλεται κυρίως στα οφέλη που προσφέρει η τεχνολογία Blockchain και οι δυνατότητες χρησιμοποίησης της για την κατασκευή ενός ασφαλούς κατανεμημένου δικτύου στον κλάδο του Ίντερνετ των Πραγμάτων (IoT). Ο συνδιασμός αυτών των δύο καινοτόμων τεχνολογιών, που αναφέρθηκαν παραπάνω, είναι το αντικείμενο αυτής της εργασίας. Στην παρούσα εργασία υλοποιείται ενας επεξεργαστής αρχιτεκτονικής RISC-V και επεκτείνεται το σύνολο των εντολών του ώστε να εκτελεί εξειδικευμένες συναρτήσεις οι οποίες χρησιμοποιούνται στον αλγόριθμο κρυπτογραφίας SHA-256. Στα πλαίσια της ανάπτυξης αυτής της τεχνολογίας μελετάται διεξοδικά ο RISC-V επεξεργαστής που ονομάζεται VexRiscv ως προς την αρχιτεκτονική του καθώς και τον ιδιαίτερο τρόπο που έχει κατασκευαστεί. Στην συνέχεια αναλύεται ο αλγόριθμος κατακερματισμού SHA-256 και διευκρινύζεται πως μπορεί να επιταχυνθεί χρησιμοποιόντας έναν πλήρως λειτουργικό επεξεργαστή, ο οποίος είναι ικανός να εκτελέσει όλες τις εντολές της αρχιτεκτονικής RISCV. Τέλος, δίνεται έμφαση στον τρόπο υλοποίησης του επεξεργαστή σε υλικό όπως μια συστοιχία προγραμματιζόμενων πυλών (FPGA) και επιβεβαιώνεται η ορθή λειτουργεία των επεκτάσεων που δημιουργήθηκαν. 2021-07-13T05:23:04Z 2021-07-13T05:23:04Z 2021-07-08 http://hdl.handle.net/10889/14991 en application/pdf |