Institute for Communication Technologies and Embedded Systems

Domain specific high-level synthesis of cryptographic workloads

Authors:
Khalid, A.
Ph. D. Dissertation
 
School:
RWTH Aachen Univeristy
Adress:
chair for Software for Systems on Silicon
Date:
Feb. 2017
Language:
English
Abstract:
Je mehr die Welt dem Paradigma des Internet der Dinge näher kommt, desto schwieriger wird es die Sicherheit für den enorm zunehmenden Informationsaustausch zu garantieren. Ein VLSI-Designer muss umsichtig verschiedene Ressourcenbeschränkungen in Betracht ziehen, während er zwischen mehreren möglichen Mikroarchitekturen im gesamten Designraumabwägt, bevor er eine optimale Lösung für eine geplante Anwendung erreicht. Darüber hinaus unterstützt die inhärent dynamische Natur derKryptographie neuere kryptographische Funktionen und bringt Angriffe zum Vorschein, die die Produkteinführungszeit weiter verkürzen. Mit demtraditionellen VLSI-Designzyklus, der erhebliche Arbeitszeit und genügend Designexpertise erfordert, ist ein optimales Design innerhalb eines vorgegebenen Zeitrahmens kaum möglich. Automatisierung kann den VLSI-Designzyklus beschleunigen. Ein Werkzeug zur schnellen Entwicklung von Prototypen, das automatische Software- und Hardwareimplementierungvon kryptographischen Operationen ermöglicht, ist das wichtigste Ergebnis dieser Arbeit. Das Tool (genannt CRYKET) stellt eine sprachunabhängige GUI-basierte Designerfassung dar, die die steile Lernkurve beseitigt, die oft von traditionellen High-Level-Synthesewerkzeugen gefordert werden. Die kryptographischen Operationen wurden analysiert, um einen funktional vollständigen Satz an Rechenkernen sowie architektonische Teilstrukturen, die für eine Klasse der Kryptographie repräsentativ sind, und deren optimierte Hardware- und Softwareimplementierung zu identifizieren. CRYKET ermöglicht eine schnelle Designexploration durch schnelle Rekonfiguration des Designs über eine flexible API. Eine große technische Herausforderung, die von CRYKET angesprochen wird, besteht darin, diese architektonischen Substrukturen und operativen Funktionen nahtlos in ein funktionierendes Verschlüsselungsmodell zu integrieren, ohne dabei die Performance der Implementierung auf Software- sowie Hardwareplattformen zu beeinträchtigen. Verschiedene symmetrische Verschlüsselungsverfahren wurden erfolgreich umgesetzt und erreichten in Messungen einevergleichbare Performanz wie bereits bekannte, handoptimierte HDL-Implementierungen. Anders als die bekannten mikroarchitektonischen Optimierungen werden andere Optimierungsstrategien diskutiert, die zu algorithmenspezifisch sind, um automatisch von CRYKET durchgeführt zu werden. Als Beispiel kann hier Flexibilität in kryptographischen Prozessoren angeführt werden, die aufkommende kryptanalytische Systeme und mehrere kryptographische Funktionen unterstützen. Darüber hinaus wird die Reorganisation von Speicherbänken im Kontext der Gestaltungeffizienter kryptografischer Kerne und die Skalierbarkeit von kryptographischen Funktionen auf modernen Mehrkern-GPUs aufgegriffen. Die Entwicklung einer kryptanalytischen Hardwarelösung, um SHA-1 in anzugreifen, wird ebenfalls durchgeführt. Diese Fallstudien können als Leitfaden für zukünftige Designexplorationen von effizienten kryptographischen Implementierungen dienen.

As the world is getting closer to the paradigm of Internet of Things, ensuring security for all the phenomenally increasing information exchange is becoming more challenging. The VLSI designer for security solutions must judiciously juggle various resource constraints by weighing multiple possible microarchitectures in the entire design space before reaching an optimal solution for an application in mind. Additionally, the inherently dynamic nature of cryptography leverages newer cryptographic functions and attacks to frequently surface, shortening further the time to market. With traditional VLSI design cycle requiring significant man hours and sufficient design expertise, reaching in-time design optimality is hardly possible. Automation can expedite the VLSI design cycle. A rapid prototyping tool facilitating the automatic software and hardware implementation of cryptographic workloads is the major outcome of this thesis. The tool (called CRYKET) presents a language independent GUI based design capture, eliminating the steep learning curve often requried by traditional high-level synthesis tools. The cryptographic workloads were analyzed to identify a functionally complete set of constructive computation kernels as well as architectural sub-structures that are representative of a class of cryptography and their optimized hardware/software implementation. CRYKET allows fast design exploration by quick reconfiguration of design through a flexible API. A major technical challenge addressed by CRYKET is to seamlessly integrate these architectural substructures and operational functions into a working cipher model, without sacrificing the performance of the implementation, both of software and hardware platforms. Various symmetric key ciphers were successfully implemented and their performance was benchmarked to be on-par with their already-known hand-optimized HDL implementations. Other than the known microarchitectural optimizations, optimization strategies, which are too algorithm specific to be undertaken automatically by CRYKET are discussed, for example, flexible cryptographic processors supporting multiple cryptographic functions and emerging cryptanalytic schemes. Moreover, memory bank reorganization in the context of designing efficient cryptographic cores, and the scalability of cryptographic functions on modern multi-core GPUs is taken up. Development of a cryptanalytic hardware solution for attacking SHA-1 is also undertaken. These case studies can serve as a guide for future design exploration of efficient cryptographic implementations.
Download:
BibTeX