SchlĂĽssel generieren mit Quantencomputern, Teil 2: die Azure-Integration
In Azure lassen sich hybride Umgebungen mit Serverless-Funktionen aufbauen, die klassische Rechner mit Quantenhardware koppeln und damit kommunizieren.
- Armin Berberovic
Derzeit sind Quantenrechner nicht in der Lage, vollständige Anwendungen oder längere Algorithmen auszuführen. Sehr wohl aber können sie aufgrund ihrer nicht deterministischen Natur hervorragend echte Zufallszahlen generieren. Dazu greift man auf eine hybride Architektur zurück, bei der klassische Rechner den Kontrollfluss übernehmen und die Arbeit der Quantenhardware dirigieren. Derartige Anwendungen erlauben es, eine spezielle Klasse von Algorithmen zu implementieren, die sich Variational Quantum Algorithms (VQA) nennen.
Dieser Artikel zeigt anhand eines quantenbasierten Zufallszahlengenerators die Implementierung einer solchen hybriden Anwendung. Dazu werden in Azure Serverless-Dienste mit einem Quantencomputer verbunden, der die Zufallszahlen erzeugt. Die klassischen Komponenten dieser Anwendungen sind in C#, der Quantenalgorithmus ist in Q# verfasst und die gesamte Infrastruktur wird mit Terraform bereitgestellt. Eine gewisse Erfahrung mit C#, Terraform und Azure sollte der Leser mitbringen.
- Moderne Quantenanwendungen kombinieren klassische Rechner mit Quantenhardware.
- Eine Implementierung einer solch hybriden Anwendung ist der quantenbasierte Zufallszahlengenerator in C# und Q#.
- In Azure können Serverless-Compute-Dienste auf einen Quantencomputer zugreifen, der die Zufallszahlen erzeugt.
- Terraform stellt die gesamte Infrastruktur bereit.
Sämtlicher Code zu diesem Artikel findet sich auf GitHub. Den Algorithmus und den Q#-Code, die die Zufallszahlen auf dem Quantencomputer generieren, zeigte bereits der Artikel "Schlüssel generieren mit Quantencomputern, Teil 1: der Zufallszahlengenerator".
Das war die Leseprobe unseres heise-Plus-Artikels "Schlüssel generieren mit Quantencomputern, Teil 2: die Azure-Integration". Mit einem heise-Plus-Abo können Sie den ganzen Artikel lesen.