FPGA-Based Evaluation of Cryptographic Algorithms

FPGA-Based Evaluation of Cryptographic Algorithms

FPGA-based Evaluation of Cryptographic Algorithms Dissertation zur Erlangung des Doktorgrades der Naturwissenschaften vorgelegt beim Fachbereich Informatik und Mathematik der Johann Wolfgang Goethe-Universität in Frankfurt am Main von Herr Bernhard Jungk aus Ulm Frankfurt 2015 (D 30) vom Fachbereich Informatik und Mathematik der Johann Wolfgang Goethe-Universität als Dissertation angenommen Dekan: Prof. Dr. Uwe Brinkschulte Gutachter: Prof. Dr. Steffen Reith Prof. Dr. Uwe Brinkschulte Dr. Guido Bertoni Datum der Disputation: 24.01.2016 Für Maike i Acknowledgements I would like to thank all the people, without whom, I might not have finished this thesis after all. Foremost, I would like to thank Steffen Reith for his support during all the years since I started this project and for not giving up hope, that I would finish eventually. Furthermore, I would like to thank the people, with whom I had long or short discussions on the technical or academical aspects of my thesis. This long list of people includes Steffen Reith, Marc Stöttinger, Guido Bertoni, Joan Daemen, Gilles van Assche, Jürgen Apfelbeck, Kris Gaj, Jens-Peter Kaps, Marcin Rogawski, Ekawat ’Ice’ Homsirikamol, Christian Wenzel-Benner and Axel Poschmann. I would also thank all the people, which I surely forgot – this is due to my bad memory, not intentional. A special thanks goes to Steffen Reith, Uwe Brinkschulte, and Guido Bertoni for agreeing to review my thesis, which is – of course – a very important and vital part of the process. Last but not least, I have to thank all my friends and my family, who supported me throughout all the years, but for whom I had too little time. ii Zusammenfassung Effiziente kryptographische Algorithmen sind ein wichtiger Grundstein für viele neue Anwendungen, wie zum Beispiel das Internet der Dinge (IoT), kooperati- ve intelligente Transportsysteme (C-ITS) oder kontaktlose Zahlungssysteme. Daher ist es wichtig, dass neue Algorithmen mit verbesserten Sicherheitseigen- schaften oder speziellen Leistungseigenschaften entwickelt und auch gründlich analysiert werden. Ein Beispiel ist der aktuelle Trend in der Krypto-Forschung zu leichtgewichtigen Algorithmen. Die neuen Entwicklungen erleichtern die Implementierung neuartiger Systeme und ermöglichen auch einen effektiven Schutz von bestehenden Systemen durch eine Anpassung auf den neuesten Stand der Technik. Neben der kryptologischen Analyse, ist die Bewertung von Implementierungs-Aspekten sehr wichtig, damit eine realistische Einschätzung der erzielbaren Leistung möglich ist. Daher müssen für jeden neuen Algorithmus unterschiedliche Software- und Hardwarearchitekturen entwickelt, implementiert und evaluiert werden. Die sys- tematische Bewertung von Software-Implementierungen von kryptographischen Algorithmen für unterschiedliche Hardware-Architekturen hat in den letzten Jahren große Fortschritte gemacht, zum Beispiel durch den SHA-3 Wettbewerb. Im Vergleich dazu ist die Evaluation für Hardware-Plattformen wie z.B. FPGAs weiterhin sehr zeitaufwendig und fehleranfällig. Dies liegt an vielen Faktoren. Beispielsweise benötigt man vergleichsweise viel Zeit, um die verschiedenen Mög- lichkeiten auf zahlreichen Zieltechnologien umzusetzen. Auch aufgrund einer Vielzahl an Optionen für die Synthese-Software der FPGA-Anbieter erhöht sich der Aufwand für eine faire Analyse. Ein möglicher Verbesserungsansatz besteht darin, die Bewertung mit einem abstrakteren und theoretischeren Ansatz zu beginnen, um interessante Architekturen und Implementierungen anhand von theoretischen Eigenschaften auszuwählen. Der erste Hauptbeitrag dieser Arbeit ist die Entwicklung einer neuen abstrak- ten Bewertungsmethodik, die auf einem theoretischen Modell von getakteten integrierten Schaltungen basiert. Das Modell verbessert das Verständnis von Grundeigenschaften dieser Schaltungen und erleichtert auch die abstrakte Mo- dellierung von Architekturen für einen spezifischen Algorithmus. Wenn mehrere verschiedene Architekturen für den gleichen Algorithmus ausgewertet werden, iii ist es auch möglich zu bestimmen, ob ein Algorithmus gut skaliert. Beispiels- weise können Auswirkungen einer Verkleinerung des Datenpfades auf die Größe des Speicherverbrauchs analysiert werden. Basierend auf der entwickelten Me- thodik können einige wichtige Eigenschaften, wie der minimal Speicherbedarf, die minimale Anzahl an Taktzyklen, die Pipeline-Tiefe und ein theoretischer Durchsatz einer spezifischen Architektur systematisch bewertet werden. Damit kann eine grobe Schätzung für die Effektivtät einer Implementierung einer Architektur abgeleitet werden. Die Performance-Schätzung wird auch durch ein theoretisches Konzept der Optimalität der Anzahl an Taktzyklen theoretisch untermauert. Das Optimalitäts-Kriterium wird in der vorliegenden Arbeit für eine Architek- tur, die eine Kompressionsfunktion einer Hash-Funktion umsetzt, wie folgt definiert: Definition 1 Es sei f eine Kompressionsfunktion f = rn ◦ · · · ◦ r2 ◦ r1. Dann ist eine Architektur für ri zur Implementierung von f optimal, wenn es keine Pipeline-Stalls bei der Berechnung von f gibt. Dieses Konzept kann man für runden-basierte Algorithmen weiter verfeinern, wenn für die Berechnung von f mehrere quasi identische Runden ri verwendet werden. Für eine solche Hash-Funktion ist die Anzahl an Taktzyklen einer optimalen Architektur dann wie folgt beschränkt: Lemma 2 Es sei b die Zustandsgröße, d die Datenpfadbreite, n die Anzahl der Runden, s die Serialisierungs-Metrik einer Architektur und c eine Konstante. Dann ist die Anzahl von Taktzyklen einer optimalen Architektur für f = rn ◦ · · · ◦ r2 ◦ r1 wie folgt beschränkt: s · b · n s · b · n ≤ cyc (s; b; n; d) ≤ + c; d f d wenn die Anzahl an Taktzyklen für eine Runde ri wie folgt beschränkt ist: s · b s · b ≤ cyc (s; b; d) ≤ + c: d ri d Darüber hinaus wird eine obere Schranke für die Konstanten c in einem Korollar bewiesen. Die Beweise für das Lemma und das Korollar basieren auf der Beob- achtung, dass die Datenabhängigkeiten zwischen den Runden eine maximale iv Anzahl an Taktzyklen pro Runde erlauben, da ansonsten die Berechnung der Runden-Funktion nicht alle Ausgangs-Bits produziert hat, wenn diese für die nächste Runde benötigt werden und somit würden Pipeline-Stalls entstehen. Der zweite Beitrag der Dissertation nutzt die Analysemethodik für mehrere Hash-Funktion. Es werden sechs Hash-Funktionen bewertet: BLAKE, Grøstl, Keccak, JH, Skein und Photon. Die ersten fünf Hash-Funktionen sind die Finalisten des SHA-3 Wettbewerb. Das Ziel des SHA-3 Wettbewerbs war es, eine Hash-Funktion mit mindestens der gleichen Sicherheit wie SHA-2 zu finden, die dazuhin eine ähnliche oder bessere Leistung aufweist. Daher haben diese Hash-Funktionen eine hohe Sicherheit als oberstes Design-Ziel und in zweiter Linie eine hohe Performance. Im Gegensatz dazu wurde Photon für leichtgewichtige Anwendungen konzipiert, z.B. RFID-Tags. Dazu wurde auch die Sicherheit reduziert. Photon ist in dieser Arbeit mit einbezogen, um zu analysieren, ob kleinere Varianten des Gewinners des SHA-3 Wettbewerbs – Keccak – auch mögliche Kandidaten für leichtgewichtige Anwendungen sind, wenn die Sicherheit an die von Photon angeglichen wird. Für jeden Algorithmus ist als erstes die Definition angegeben. Diese wird im nächsten Schritt genutzt, um eine generische Schätzung für den minimalen Speicherplatz abzuleiten, und auch um mögliche Organisationensformen des Speichers zu entwickeln. Die Speicher-Organisation basiert vor allem auf der Breite des Datenpfads, sowie auf einem zusätzlichen möglichen Serialisierung- Faktor. Als nächstes wird die Anzahl von Taktzyklen auf der Grundlage der generischen Speicherorganisation und des Serialisierung-Faktors ermittelt. Das generelle Ziel dabei ist die Entwicklung von Architekturen mit einer optimalen Anzahl von Taktzyklen. Dadurch ist die Ermittelung der nötigen Taktzy- klen zumeist nur eine weitere Einschränkung der generischen Grenzen für die Optimalität. Die Diskussion konzentriert sich als nächstes auf verschiedene Möglichkeiten die Runden-Funktion der Hash-Funktion oder von Teilen davon optimal umzusetzen. Auf Basis dieser Ergebnisse werden anschließend einige interessante Architekturen ausgewählt und weiter untersucht. Die Analyse der einzelnen Architekturen fängt mit einer detaillierten, aber abstrakten Beschreibung einer möglichen Implementierung an. Es wird aber kei- ne Implementierung auf der Registertransferebene entwickelt. Zusätzlich führt die detaillierte Analyse manchmal zu einer Verfeinerung der unteren Grenze der v Speicherabschätzung. Für gewöhnlich bedeutet dies eine Verringerung der Leis- tung für eine bestimmte Speicherorganisation. Die Ergebnisse der detaillierten Analyse sind am Ende für jeden Algorithmus zusammengefaßt. Dies umfasst mindestens die Schätzung der minimalen Speicheranforderung, die analysierte Pipeline-Tiefe und den theoretischen Durchsatz für lange Nachrichten mit einer festgelegten Taktfrequenz. Diese Ergebnisse lassen eine Einschätzung über die mögliche Leistung der jeweiligen Architekturen zu. Die Analyse der bewerteten Algorithmen kann wie folgt zusammengefasst werden. Für BLAKE basieren die Architekturen auf zwei großen Design- Paradigmen, Serialisierung von BLAKEs Rundenfunktion, sowie Serialisierung von BLAKEs Gi Funktion. Der theoretische Durchsatz bei 100 MHz reicht von 57 bis zu 3657 MBits/s, mit einer Datenpfadsbreite von 32 bis zu 512 Bit. Der minimale Speicherbedarf erhöht sich leicht für die 32 Bit und 64 Bit Varianten um 64 Bit vom Ausgangswert 1344 Bit auf 1408 Bit. Für einige Varianten ist zu- sätzlich

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    304 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us