Bachelor-Arbeit

Parallelisierung kryptografischer Algorithmen auf der Raspberry-Pi GPU

Der Raspberry-Pi ist ein 2012 erschienener Single-Board Computer mit großem aber kaum genutztem GPU Potential. Eine beispielhafte Nutzung der von der Raspberry-Pi GPU bereitgestellten Leistung von theoretischen 24 GFLOPS ist die Parallelisierung geeigneter Verschlüsselungs- und Signaturalgorithmen.

Es existiert bereits eine Vorarbeit des Lehrstuhls zu diesem Thema (Parallelization of AES on Raspberry Pi GPU in Assembly). In dieser Arbeit erfolgt die Parallellisierung von AES unter direkter Ansteuerung der 12 QPUs mithilfe von Assemblercode. Da die GPU des Raspberry-Pis ursprünglich als proprietäre Hardware veroeffentlicht wurde - und Broadcom 2014 nur den Architecture Reference Guide veröffentlichte - ist ein offizieller Assembler oder sonstige Hilfsmittel nicht verfügbar.

Allerdings existiert inzwischen eine C++ Bibliothek QPULib, die eine Domain Specific Embedded Language für die GPU des Rapberry-Pis darstellt. Diese Biblothek ermöglicht es, Code für die GPU des Raspberry-Pis in C++ zu schreiben statt, wie in der Vorarbeit, direkt mit Assembler arbeiten zu müssen. Um mit der QPULib kryptografische Algorithmen implementieren zu können, muss diese allerdings noch um weitere Datentypen erweitert werden. Aktuell sind nur die Typen Int, Ptr(Int), Float und Ptr(Float) implementiert.

Ziel dieser Bachelorarbeit ist es, die QPULib zu erweitern, so dass verschiedene kryptografische Algorithmen damit implementiert werden können. Anschließend soll die erweiterte Implementierung der QPULib genutzt werden, ausgewählte kryptografische Algorithmen für die GPU des Raspberry-Pis zu parallelisieren und zu implementieren. Abschließend sollen die Implementierungen durch ausführliche Benchmarks mit Referenzimplementierungen auf der CPU verglichen werden.

Für das Benchmarking wurde die genannte Vorarbeit bereits prototypisch in die openssl-Bibliothek integriert. Dieser Ansatz soll nach Möglichkeit fortgeführt werden um die Vergleichbarkeit der Ergebnisse zu gewährleisten.

Voraussetzungen

Überblick der Aufgaben:

  1. Einarbeitung GPU Architektur
  2. Erweiterung der QPULib
  3. Parallelisierung und Implementierung kryptografischer Algorithmen mittels der QPULib
  4. Benchmarking der Implementierung mit Hilfe der OpenSSL-Bibliothek

Aufgabensteller:
Prof. Dr. D. Kranzlmüller

Dauer der Bachelor-Arbeit: 3 Monate

Anzahl Bearbeiter: Mehrere Bearbeiter möglich

Betreuer:



Last Change: Sat, 18 Aug 2018 04:05:33 +0200 - Viewed on: Tue, 23 Apr 2019 20:40:17 +0200
Copyright © MNM-Team http://www.mnm-team.org - Impressum / Legal Info  - Datenschutz / Privacy