AES algoritmi realiseerimine VHDL-is ning testimine FPGA riistvaral

Date

2015

Journal Title

Journal ISSN

Volume Title

Publisher

Tartu Ülikool

Abstract

Lõputöö eesmärgiks oli teha ettevalmistusi krüptokiirendi loomiseks, mis oleks realiseeritud FPGA riistvaral. Selleks tuli kõigepealt mõista krüptoloogia olemust ning teostada ülevaade levinumatest krüpteerimisalgoritmidest ja neid kasutatavatest krüptokiirenditest. Kogutud informatsiooni põhjal valiti edasiseks uurimiseks ülemaailmselt populaarne AES algoritm. Algoritmi tööpõhimõtte väljaselgitamise järel alustati bakalaureusetöö praktilise osaga, mille eesmärkideks seati AES-i rakendamine VHDL-is ning simulatsiooni- ja riistvaratestide tegemine. Töö tulemuste põhjal järeldati, kas bakalaureusetöö käigus valitud meetodil on mõistlik jätkata krüptokiirendi arendamist, ning millised oleksid edasised tegevused selle loomiseks. Praktiline osa jagunes töö käigus loodud simulatsiooniprogrammi testimiseks ning AES-i krüpteerimisalgoritmi rakendamiseks Basys 3 arendusplaadil. Dekrüpteerimise algoritmiga riistvarateste ei tehtud, kuna krüpteerimisel ja dekrüpteerimisel kasutatavad funktsioonid on võrdse keerukusega ning dekrüpteerimise realiseerimine riistvaral oleks järgmine samm koos väliskeskkonnaga suhtluse realiseerimisega. Simulatsiooni- ja riistvaraprogrammid valmisid Vivado programmeerimis- ja simuleerimiskeskkonnas. Simulatsiooniprogrammi testiti erinevate NIST-i poolt väljastatud ning töö autori poolt defineeritud juhuslike testvektoritega. Riistvaratestide tegemiseks valiti juhuslik NIST-i poolt väljastatud testvektor ja töö autori poolt defineeritud testvektorid piirjuhtumite jaoks. Riistvara- ja simulatsioonitestide analüüsist järeldus, et töö käigus valitud meetodil on võimalik luua välise keskkonnaga suhtlev seade, mis võimaldab andmeid krüpteerida ning dekrüpteerida. Kuna see on ka olemasolevate krüptokiirendite põhiliseks funktsiooniks, on mõistlik defineerida tegevused töö käigus valminud ja esialgsed testid läbinud AES-i krüpteerimisalgoritmi rakendamise programmi edasiseks arendamiseks. Basys 3 arendusplaadil testitud AES krüpteerimisalgoritmile tuleks edasise arendamise eesmärgil kõigepealt lisada dekrüpteerimine. Järgmisena oleks vajalik kiirus- ning andmeturbetestide tegemine võrguliikluse krüpteerimisel ja dekrüpteerimisel, kasutades võrguga ühendamiseks näiteks Digilenti PmodNIC moodulit. Saadud tulemusi peaks edasiste järelduste tegemiseks võrdlema integreeritud krüpteerimismooduleid või eraldiseisvaid krüptokiirendeid kasutavate netiseadmete tulemustega.

Description

Keywords

Citation