Funktionen

Print[PRINT]
.  Home  .  Lehre  .  Studentische Arbeiten  .  Ausschreibung  .  ba-raspberry-gpu-aes

Bachelor-Arbeit

Parallelisierung von AES auf 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 waere die Parallelisierung des Verschluesselungsalgorithmus AES (Advanced Encryption Standard).

AES ist in seinen 3 Variatonen AES-128, AES-192 und AES-256 der wohl meistgenutzte Algorithmus fuer symmetrische Verschluesselung, wird allgemeinhin als sehr sicher anerkannt und ist unter bestimmten 'Block-Cipher Modes of Operation' sehr gut parallelisierbar.

Die Parallellisierung von AES erfolgt unter direkter Ansteuerung der 12 QPU's mithilfe von Assemblercode. Da die GPU des Raspberry-Pi urspruenglich als proprietaere Hardware veroeffentlicht wurde - und Broadcom 2014 nur den Architecture Reference Guide veroeffentlichte - ist ein offizieller Assembler oder sonstige Hilfsmittel nicht verfuegbar; Stattdessen besteht die Aufgabe in dem Verstaendniss der GPU, der Implementierung eines Assemblers und Treibers fuer die GPU und schliesslich des Entwurfs eines parallelen Assemblercodes von AES fuer die GPU.

Voraussetzungen

  • Fähigkeit und Wille, sich tiefgehend mit der Architektur der Raspberry Pi GPU auseinanderzusetzen.
  • Gutes Verstaendnis der Programmiersprache C, GPU-Treibern, sowie der Assembly-Language
  • Gutes Verstaendnis der Einschraenkungen hinsichtlich GPU-Assembly und GPU-Memory
  • Gutes Verstaendnis der AES Implementation und dessen Parallelisierbarkeit

Überblick der Aufgaben:

  1. Einarbeitung GPU Architektur
  2. Entwurf und Implementierung eines GPU Treibers.
  3. Entwuf und Implementierung eines GPU Assemblers.
  4. Entwurf und Implementierung von parallelisiertem AES in GPU-Assembly.
  5. Benchmarking der Implementierung

Aufgabensteller:
Prof. Dr. D. Kranzlmüller

Dauer der Bachelor-Arbeit: 3 Monate

Anzahl Bearbeiter: 1

Betreuer: