<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Quantum Computing on kenji.blog</title><link>http://kenji.blog/de/categories/quantum-computing/</link><description>Recent content in Quantum Computing on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>de</language><copyright>kenjinote</copyright><lastBuildDate>Fri, 11 Sep 2026 20:00:00 +0900</lastBuildDate><atom:link href="http://kenji.blog/de/categories/quantum-computing/index.xml" rel="self" type="application/rss+xml"/><item><title>Der ultimative Einstieg in die Quantenprogrammierung mit Qiskit</title><link>http://kenji.blog/de/p/qiskit-quantum-programming-intro/</link><pubDate>Fri, 11 Sep 2026 20:00:00 +0900</pubDate><guid>http://kenji.blog/de/p/qiskit-quantum-programming-intro/</guid><description>&lt;img src="http://kenji.blog/p/qiskit-quantum-programming-intro/img/eyecatch.jpg" alt="Featured image of post Der ultimative Einstieg in die Quantenprogrammierung mit Qiskit" />&lt;h2 id="1-einführung">1. Einführung
&lt;/h2>&lt;p>Moderne Computer (klassische Computer) haben unser Leben dramatisch verändert und unterstützen mit ihrer hohen Rechenleistung alle Aspekte der Gesellschaft. Es ist jedoch bekannt, dass für bestimmte, spezifische Probleme (z.B. die Primfaktorzerlegung riesiger Zahlen, die Simulation komplexer Molekularstrukturen, Optimierungsprobleme etc.) selbst die modernsten Supercomputer unserer Zeit mehr Zeit benötigen würden, als das Universum alt ist.&lt;/p>
&lt;p>Der &lt;strong>Quantencomputer (Quantum Computer)&lt;/strong> birgt das Potenzial, diese „Grenzen klassischer Computer“ zu durchbrechen. Man geht davon aus, dass er durch die Nutzung der faszinierenden Eigenschaften der Quantenmechanik (Superposition und Quantenverschränkung) als Rechenressource in der Lage ist, bestimmte Probleme drastisch zu beschleunigen.&lt;/p>
&lt;p>In diesem Artikel machen wir die ersten Schritte in die Welt der Quantenprogrammierung, indem wir das von IBM als Open Source bereitgestellte Quantencomputing-Framework &lt;strong>Qiskit&lt;/strong> verwenden. Dies ist ein sehr detaillierter Einstiegsguide, der von den physikalischen und mathematischen Grundlagen über das Schreiben von Code in Python bis hin zur Ausführung von Quantenschaltungen auf einem Simulator alles sorgfältig erklärt.&lt;/p>
&lt;hr>
&lt;h2 id="2-physikalische-und-mathematische-grundlagen-des-quantenrechnens">2. Physikalische und mathematische Grundlagen des Quantenrechnens
&lt;/h2>&lt;p>Um die Quantenprogrammierung zu verstehen, müssen Sie zunächst die grundlegenden Konzepte der Quantenmechanik begreifen. Hier erklären wir die drei wichtigen Säulen: Quantenbits, Superposition und Quantenverschränkung.&lt;/p>
&lt;h3 id="21-das-klassische-bit-und-das-quantenbit-qubit">2.1 Das klassische Bit und das Quantenbit (Qubit)
&lt;/h3>&lt;p>Die Informationseinheit klassischer Computer ist das „Bit“. Ein Bit nimmt immer genau einen von zwei Zuständen ein: entweder &lt;code>0&lt;/code> oder &lt;code>1&lt;/code>.&lt;/p>
&lt;p>Andererseits wird die kleinste Informationseinheit eines Quantencomputers als &lt;strong>Quantenbit (Qubit: Quantum bit)&lt;/strong> bezeichnet. Ein Qubit kann nicht nur die Zustände &lt;code>0&lt;/code> und &lt;code>1&lt;/code> annehmen, sondern ist auch in der Lage, &lt;strong>beide Zustände gleichzeitig beizubehalten&lt;/strong>.&lt;/p>
&lt;p>Mathematisch wird der Zustand eines Qubits $|\psi\rangle$ als Linearkombination (Superposition) der Basiszustände $|0\rangle$ und $|1\rangle$ ausgedrückt.&lt;/p>
$$
|\psi\rangle = \alpha|0\rangle + \beta|1\rangle
$$
&lt;p>Hierbei sind $\alpha$ und $\beta$ komplexe Zahlen, die die Wahrscheinlichkeitsamplituden dafür darstellen, dass die Zustände $|0\rangle$ bzw. $|1\rangle$ beobachtet werden. Basierend auf den Grundprinzipien der Quantenmechanik muss die Summe der Wahrscheinlichkeiten 1 ergeben, weshalb die folgende Normierungsbedingung erfüllt sein muss:&lt;/p>
$$
|\alpha|^2 + |\beta|^2 = 1
$$
&lt;p>Das bedeutet, wenn wir dieses Qubit „messen (beobachten)“, ist die Wahrscheinlichkeit, $|0\rangle$ zu erhalten, $|\alpha|^2$, und die Wahrscheinlichkeit, $|1\rangle$ zu erhalten, $|\beta|^2$. Der entscheidende Unterschied zum klassischen Bit besteht darin, dass der Zustand vor der Messung nur probabilistisch bestimmt ist.&lt;/p>
&lt;div class="mermaid">graph LR
A["Klassisches Bit (Classical Bit)"] --> B["Bestimmter Zustand: 0 oder 1"]
C["Quantenbit (Qubit)"] --> D["Superposition: Sowohl 0 als auch 1"]
D --> E["Zustand wird durch Messung probabilistisch bestimmt"]&lt;/div>
&lt;h3 id="22-superposition-überlagerung">2.2 Superposition (Überlagerung)
&lt;/h3>&lt;p>Wie bereits erwähnt, wird der Zustand, in dem die Zustände $|0\rangle$ und $|1\rangle$ vermischt sind, als &lt;strong>Superposition&lt;/strong> bezeichnet.&lt;/p>
&lt;p>Wenn sich beispielsweise ein einzelnes Qubit in einem Zustand der vollkommen gleichmäßigen Superposition befindet, gilt $\alpha = \frac{1}{\sqrt{2}}$ und $\beta = \frac{1}{\sqrt{2}}$.&lt;/p>
$$
|\psi\rangle = \frac{1}{\sqrt{2}}|0\rangle + \frac{1}{\sqrt{2}}|1\rangle
$$
&lt;p>Wenn dieser Zustand gemessen wird, werden $|0\rangle$ und $|1\rangle$ jeweils mit einer Wahrscheinlichkeit von 50% beobachtet.
Wenn zwei Qubits vorhanden sind, können wir eine Superposition der vier Zustände $|00\rangle, |01\rangle, |10\rangle, |11\rangle$ erstellen. Mit $n$ Qubits können wir $2^n$ Zustände gleichzeitig repräsentieren, was eine der Hauptquellen für die parallele Verarbeitungsfähigkeit von Quantencomputern darstellt.&lt;/p>
&lt;h3 id="23-quantenverschränkung-entanglement">2.3 Quantenverschränkung (Entanglement)
&lt;/h3>&lt;p>Die stärkste und mysteriöseste Eigenschaft im Quantencomputing ist die &lt;strong>Quantenverschränkung (Entanglement)&lt;/strong>. Dieses Phänomen, das Einstein als &amp;ldquo;spukhafte Fernwirkung&amp;rdquo; bezeichnete, beschreibt die Eigenschaft, dass zwei oder mehr Qubits so stark miteinander verbunden sind, dass die Bestimmung des Zustands des einen Qubits sofort auch den Zustand des anderen bestimmt, ganz gleich, wie weit sie physisch voneinander entfernt sind.&lt;/p>
&lt;p>Einer der bekanntesten verschränkten Quantenzustände, der „Bell-Zustand (Bell State)“, der $\Phi^+$-Zustand, wird wie folgt ausgedrückt:&lt;/p>
$$
|\Phi^+\rangle = \frac{|00\rangle + |11\rangle}{\sqrt{2}}
$$
&lt;p>In diesem Zustand existieren die Zustände $|01\rangle$ und $|10\rangle$ nicht. Wenn wir also das erste Qubit messen und es sich im Zustand $|0\rangle$ befindet, ist es sicher, dass das zweite Qubit sich ebenfalls im Zustand $|0\rangle$ befindet, noch bevor wir es gemessen haben. Umgekehrt, wenn das erste Qubit $|1\rangle$ ist, wird das zweite definitiv auch $|1\rangle$ sein.&lt;/p>
&lt;hr>
&lt;h2 id="3-quantenlogikgatter-quantum-logic-gates">3. Quantenlogikgatter (Quantum Logic Gates)
&lt;/h2>&lt;p>So wie klassische Computer Logikgatter wie AND, OR und NOT verwenden, um Berechnungen durchzuführen, verwenden Quantencomputer &lt;strong>Quantengatter&lt;/strong>, um den Zustand von Qubits zu manipulieren. Da ein Quantenzustand ein Vektor ist, wird ein Quantengatter als &amp;ldquo;unitäre Matrix&amp;rdquo; ausgedrückt, die auf diesen Vektor wirkt.&lt;/p>
&lt;h3 id="31-pauli-gatter-pauli-x-y-z">3.1 Pauli-Gatter (Pauli-X, Y, Z)
&lt;/h3>&lt;p>Pauli-Gatter sind grundlegende Operationen für ein einzelnes Qubit.&lt;/p>
&lt;p>&lt;strong>・Pauli-X Gatter (NOT-Gatter)&lt;/strong>
Es entspricht dem klassischen NOT-Gatter. Es invertiert $|0\rangle$ zu $|1\rangle$ und $|1\rangle$ zu $|0\rangle$. (Eine 180-Grad-Drehung um die X-Achse auf der Bloch-Kugel)&lt;/p>
$$
X = \begin{pmatrix} 0 &amp; 1 \\ 1 &amp; 0 \end{pmatrix}
$$
&lt;p>&lt;strong>・Pauli-Y Gatter&lt;/strong>
Führt eine 180-Grad-Drehung um die Y-Achse aus. Es hat den Effekt, sowohl die Phase als auch das Bit zu invertieren.&lt;/p>
$$
Y = \begin{pmatrix} 0 &amp; -i \\ i &amp; 0 \end{pmatrix}
$$
&lt;p>&lt;strong>・Pauli-Z Gatter (Phaseninversionsgatter)&lt;/strong>
Es belässt den Zustand von $|0\rangle$ unverändert und invertiert die Phase (multipliziert mit $-1$) des Zustands $|1\rangle$. (Eine 180-Grad-Drehung um die Z-Achse)&lt;/p>
$$
Z = \begin{pmatrix} 1 &amp; 0 \\ 0 &amp; -1 \end{pmatrix}
$$
&lt;h3 id="32-hadamard-gatter-hadamard-gate">3.2 Hadamard-Gatter (Hadamard Gate)
&lt;/h3>&lt;p>Das Hadamard-Gatter (H-Gatter) ist ein sehr wichtiges Gatter, das einen bestimmten Zustand ($|0\rangle$ oder $|1\rangle$) in einen Superpositionszustand überführt.&lt;/p>
$$
H = \frac{1}{\sqrt{2}}
\begin{pmatrix}
1 &amp; 1 \\
1 &amp; -1
\end{pmatrix}
$$
&lt;p>Die Anwendung des H-Gatters auf $|0\rangle$ führt zu $|+\rangle$, was einem gleichmäßigen Superpositionszustand entspricht.&lt;/p>
$$
H|0\rangle = \frac{1}{\sqrt{2}}|0\rangle + \frac{1}{\sqrt{2}}|1\rangle = |+\rangle
$$
&lt;h3 id="33-phasengatter-phase-gates">3.3 Phasengatter (Phase Gates)
&lt;/h3>&lt;p>Phasengatter sind eine Verallgemeinerung des Z-Gatters; sie rotieren die Phase des Zustands $|1\rangle$ um einen angegebenen Winkel $\theta$.&lt;/p>
$$
P(\theta) = \begin{pmatrix} 1 &amp; 0 \\ 0 &amp; e^{i\theta} \end{pmatrix}
$$
&lt;p>Typische Beispiele sind das S-Gatter ($\theta = \pi/2$) und das T-Gatter ($\theta = \pi/4$).&lt;/p>
&lt;h3 id="34-cnot-gatter-controlled-not-gate">3.4 CNOT-Gatter (Controlled-NOT Gate)
&lt;/h3>&lt;p>Das CNOT-Gatter (CX-Gatter) führt Operationen zwischen zwei Qubits durch und ist unerlässlich für die Erzeugung von Quantenverschränkung. Es besteht aus einem &amp;ldquo;Kontroll-Bit (Control)&amp;rdquo; und einem &amp;ldquo;Ziel-Bit (Target)&amp;rdquo;.&lt;/p>
&lt;p>Nur wenn das Kontrollbit $|1\rangle$ ist, wird das X-Gatter (NOT-Operation) auf das Zielbit angewendet; wenn das Kontrollbit $|0\rangle$ ist, passiert nichts.&lt;/p>
$$
CNOT = \begin{pmatrix}
1 &amp; 0 &amp; 0 &amp; 0 \\
0 &amp; 1 &amp; 0 &amp; 0 \\
0 &amp; 0 &amp; 0 &amp; 1 \\
0 &amp; 0 &amp; 1 &amp; 0
\end{pmatrix}
$$
&lt;hr>
&lt;h2 id="4-grundlagen-und-umgebungseinrichtung-von-qiskit">4. Grundlagen und Umgebungseinrichtung von Qiskit
&lt;/h2>&lt;p>Von hier an werden wir Quantenprogramme mithilfe von Python und Qiskit schreiben.&lt;/p>
&lt;h3 id="41-was-ist-qiskit">4.1 Was ist Qiskit?
&lt;/h3>&lt;p>&lt;strong>Qiskit&lt;/strong> ist ein Open-Source Software Development Kit (SDK) für Quantencomputing, das von IBM Quantum entwickelt wurde. Es ermöglicht die intuitive Erstellung von Quantenschaltungen in Python und deren Ausführung auf lokalen Simulatoren oder über die Cloud auf echten Quantencomputern von IBM.&lt;/p>
&lt;h3 id="42-installationsmethode">4.2 Installationsmethode
&lt;/h3>&lt;p>Um Qiskit zu verwenden, ist eine Python-Umgebung erforderlich. Installieren Sie Qiskit und die zugehörigen Pakete (Simulator und Zeichnungsbibliotheken) mit dem folgenden Befehl:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">pip install qiskit qiskit-aer qiskit-ibm-runtime matplotlib pylatexenc
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="43-grundlegender-ablauf-der-programmierung">4.3 Grundlegender Ablauf der Programmierung
&lt;/h3>&lt;p>Die Quantenprogrammierung mit Qiskit erfolgt hauptsächlich in den folgenden Schritten:&lt;/p>
&lt;div class="mermaid">graph TD
A["1. Schaltungsaufbau (Build)"] --> B["2. Kompilieren/Transpilieren (Compile)"]
B --> C["3. Ausführung (Execute)"]
C --> D["4. Analyse und Visualisierung der Ergebnisse (Analyze)"]&lt;/div>
&lt;ol>
&lt;li>&lt;strong>Schaltungsaufbau&lt;/strong>: Erstellen eines &lt;code>QuantumCircuit&lt;/code>-Objekts und Hinzufügen von Gattern.&lt;/li>
&lt;li>&lt;strong>Kompilieren&lt;/strong>: Optimierung der Schaltung für das ausführende Backend (echte Maschine oder Simulator).&lt;/li>
&lt;li>&lt;strong>Ausführung&lt;/strong>: Senden von Jobs an das Backend und Abrufen der Ergebnisse.&lt;/li>
&lt;li>&lt;strong>Analyse&lt;/strong>: Zeichnen von Histogrammen der Messergebnisse usw.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="5-praxis-aufbau-einer-schaltung-zur-erzeugung-eines-bell-zustands-quantenverschränkung">5. Praxis: Aufbau einer Schaltung zur Erzeugung eines Bell-Zustands (Quantenverschränkung)
&lt;/h2>&lt;p>Lassen Sie uns die &amp;ldquo;Quantenverschränkung (den Bell-Zustand)&amp;rdquo;, die wir in der Theorie gelernt haben, nun tatsächlich mit Qiskit erzeugen. Unser Zielzustand ist $|\Phi^+\rangle = \frac{|00\rangle + |11\rangle}{\sqrt{2}}$.&lt;/p>
&lt;h3 id="51-schaltungsentwurf">5.1 Schaltungsentwurf
&lt;/h3>&lt;p>Um einen Bell-Zustand zu erzeugen, gehen wir wie folgt vor:&lt;/p>
&lt;ol>
&lt;li>Bereiten Sie zwei Qubits vor (beide haben als Anfangszustand $|0\rangle$).&lt;/li>
&lt;li>Wenden Sie das Hadamard-Gatter (H) auf das erste Qubit an, um es in einen Superpositionszustand zu versetzen.&lt;/li>
&lt;li>Wenden Sie das CNOT-Gatter an, wobei das erste Qubit das &amp;ldquo;Kontrollbit&amp;rdquo; und das zweite das &amp;ldquo;Zielbit&amp;rdquo; ist.&lt;/li>
&lt;li>Führen Sie eine Messung (Measure) durch, um die Ergebnisse auszulesen.&lt;/li>
&lt;/ol>
&lt;h3 id="52-pythonqiskit-code-implementierung">5.2 Python/Qiskit Code-Implementierung
&lt;/h3>&lt;p>Schauen wir uns nun den tatsächlichen Code an.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">numpy&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">np&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">qiskit&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">QuantumCircuit&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">transpile&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">qiskit_aer&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">Aer&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">qiskit.visualization&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">plot_histogram&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">matplotlib.pyplot&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">plt&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 1. Initialisierung der Schaltung&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Erstellen einer Quantenschaltung mit 2 Quantenbits und 2 klassischen Bits&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">qc&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">QuantumCircuit&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 2. Anwendung des H-Gates&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Hadamard-Gate auf das Quantenbit 0 (q0) anwenden&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">h&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 3. Anwendung des CNOT-Gates&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># CNOT anwenden mit q0 als Steuerbit und q1 als Zielbit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">cx&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 4. Messung&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Quantenbits 0 und 1 messen und in die klassischen Bits 0 und 1 schreiben&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">measure&lt;/span>&lt;span class="p">([&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">])&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Schaltungsdiagramm zeichnen (mit matplotlib)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># qc.draw(&amp;#39;mpl&amp;#39;)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">draw&lt;/span>&lt;span class="p">())&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Wenn Sie diesen Code ausführen, wird in der Konsole als ASCII-Art das folgende Quantenschaltungsdiagramm angezeigt:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> ┌───┐ ┌─┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">q_0: ┤ H ├──■──┤M├───
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └───┘┌─┴─┐└╥┘┌─┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">q_1: ─────┤ X ├─╫─┤M├
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └───┘ ║ └╥┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">c: 2/═══════════╩══╩═
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> 0 1
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;code>H&lt;/code> stellt das Hadamard-Gatter dar, die Kombination aus &lt;code>■&lt;/code> und &lt;code>X&lt;/code> ist das CNOT-Gatter, und &lt;code>M&lt;/code> repräsentiert die Messung.&lt;/p>
&lt;h3 id="53-ausführung-auf-dem-simulator-und-interpretation-der-ergebnisse">5.3 Ausführung auf dem Simulator und Interpretation der Ergebnisse
&lt;/h3>&lt;p>Als Nächstes führen wir diese Schaltung auf IBMs Hochleistungs-Simulator &lt;code>Aer&lt;/code> aus und überprüfen die Ergebnisse.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Das Backend des Aer-Simulators abrufen&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">simulator&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">Aer&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">get_backend&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;qasm_simulator&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Schaltung für den Simulator transpilieren (optimieren)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">compiled_circuit&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">transpile&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">qc&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">simulator&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Schaltung ausführen (hier 1000 Shots ausführen)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">job&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">simulator&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">run&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">compiled_circuit&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">shots&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1000&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Ergebnisse abrufen&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">result&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">job&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">result&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Anzahl der Beobachtungen der Zustände (Counts) abrufen&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">counts&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">result&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">get_counts&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">compiled_circuit&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s2">Messergebnis:&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">counts&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Histogramm plotten&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># plot_histogram(counts)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># plt.show()&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;strong>Interpretation der Ergebnisse&lt;/strong>&lt;/p>
&lt;p>Die Konsolenausgabe sollte in etwa wie folgt aussehen:
&lt;code>Messergebnis: {'00': 495, '11': 505}&lt;/code>
(*Da die Wahrscheinlichkeiten zufällig sind, schwanken die genauen Werte bei jeder Ausführung leicht)&lt;/p>
&lt;p>In einer idealen Simulationsumgebung werden als Messergebnisse zu etwa 50% &lt;code>00&lt;/code> und zu 50% &lt;code>11&lt;/code> beobachtet, und &lt;code>01&lt;/code> oder &lt;code>10&lt;/code> werden gar nicht beobachtet.
Dies stimmt exakt mit der theoretischen Vorhersage unseres generierten Bell-Zustands $|\Phi^+\rangle = \frac{|00\rangle + |11\rangle}{\sqrt{2}}$ überein. Wenn das erste Qubit 0 ist, ist das zweite notwendigerweise 0; wenn es 1 ist, ist das zweite notwendigerweise 1. Diese „Quantenverschränkung“ wurde somit exakt simuliert.&lt;/p>
&lt;p>Wenn Sie dies jedoch auf einer echten Quantencomputer-Hardware (IBM Quantum Hardware) ausführen, können aufgrund der Auswirkungen von Rauschen (Quantendekohärenz und Gatterfehler) geringfügig Zustände wie &lt;code>01&lt;/code> und &lt;code>10&lt;/code> beobachtet werden. Wie dieses Rauschen minimiert werden kann (Quantenfehlerkorrektur), ist eine der größten Herausforderungen in der aktuellen Entwicklung von Quantencomputern.&lt;/p>
&lt;hr>
&lt;h2 id="6-hochskalierung-zu-fortgeschritteneren-algorithmen">6. Hochskalierung zu fortgeschritteneren Algorithmen
&lt;/h2>&lt;p>Die Erzeugung eines Bell-Zustands kann man als das „Hello World“ der Quantenprogrammierung bezeichnen. Indem wir darauf aufbauen, können wir leistungsstarke Algorithmen konstruieren, die klassische Computer übertreffen.&lt;/p>
&lt;h3 id="61-der-deutsch-jozsa-algorithmus-deutsch-jozsa-algorithm">6.1 Der Deutsch-Jozsa-Algorithmus (Deutsch-Jozsa Algorithm)
&lt;/h3>&lt;p>Bei diesem Problem geht es darum zu bestimmen, ob eine gegebene Funktion $f(x)$ eine „konstante Funktion“ (sie gibt immer 0 oder immer 1 aus, unabhängig von der Eingabe) oder eine „balancierte Funktion“ (sie gibt für die Hälfte der Eingaben 0 und für die andere Hälfte 1 aus) ist.
Ein klassischer Computer würde im ungünstigsten Fall $2^{n-1} + 1$ Funktionsauswertungen erfordern, aber der Deutsch-Jozsa-Algorithmus kann mithilfe der Quantenparallelität diese Bestimmung mit &lt;strong>nur einer einzigen Auswertung&lt;/strong> vornehmen. Dies veranschaulicht das Grundmuster von Quantenalgorithmen: Einen Superpositionszustand als Eingabe bereitzustellen und Interferenz (Interference) zu nutzen, um unerwünschte Zustände auszulöschen und die gewünschte Antwort zu verstärken.&lt;/p>
&lt;h3 id="62-der-grover-algorithmus-grovers-algorithm">6.2 Der Grover-Algorithmus (Grover&amp;rsquo;s Algorithm)
&lt;/h3>&lt;p>Bei Suchproblemen, in denen eine unsortierte Datenbank mit $N$ Elementen nach spezifischen Daten durchsucht wird, benötigt ein klassischer Algorithmus im Durchschnitt $N/2$ Rechenschritte. Der Grover-Algorithmus hingegen kann die Zieldaten in nur $\sqrt{N}$ Schritten finden.
Dieser Algorithmus verwendet eine Blackbox, die als „Orakel (Oracle)“ bezeichnet wird, um die Phase der Ziellösung zu invertieren, und führt dann eine „Amplitudenverstärkung (Amplitude Amplification)“ durch, um die Wahrscheinlichkeit drastisch zu erhöhen, dass die Ziellösung gemessen wird.&lt;/p>
&lt;div class="mermaid">graph TD
A["Initialisierung (Superposition aller Zustände)"] --> B["Orakel (Invertiert die Phase der richtigen Lösung)"]
B --> C["Diffusionsoperator (Amplitudenverstärkung durch Inversion um den Mittelwert)"]
C --> D{"Ausreichende Wahrscheinlichkeit erreicht?"}
D -- "No" --> B
D -- "Yes" --> E["Messung"]&lt;/div>
&lt;hr>
&lt;h2 id="7-zusammenfassung-und-zukünftiges-lernen">7. Zusammenfassung und zukünftiges Lernen
&lt;/h2>&lt;p>In diesem Artikel haben wir detailliert die Reise erläutert – angefangen bei den grundlegenden Konzepten des Quantencomputings wie Superposition und Quantenverschränkung, über die Manipulation von Quantenlogikgattern mittels Qiskit, bis hin zum tatsächlichen Aufbau, zur Simulation eines Bell-Zustands und der Interpretation der Ergebnisse.&lt;/p>
&lt;p>Da Qiskit in der zugänglichen Programmiersprache Python geschrieben werden kann, ist es ein leistungsstarkes Werkzeug, das es Ihnen ermöglicht, mathematische und physikalische Barrieren zu überwinden und sich auf die Konstruktion von Algorithmen zu konzentrieren. Quantencomputer befinden sich derzeit in der Ära rauschanfälliger Quantengeräte mittlerer Größe (NISQ: Noisy Intermediate-Scale Quantum), aber angewandte Forschungen in vielen Bereichen wie maschinelles Quantenlernen (Quantum Machine Learning), chemische Simulationen (Quantum Chemistry) und Kryptanalyse schreiten weltweit rasant voran.&lt;/p>
&lt;p>Nutzen Sie diese Gelegenheit, um verschiedene Quantenschaltungen mit Qiskit selbst zu erstellen und auf realen IBM Quantum-Prozessoren auszuführen. Sie sollten in der Lage sein, das Computer-Paradigma der Zukunft aus erster Hand zu erleben.&lt;/p>
&lt;h3 id="referenzen">Referenzen
&lt;/h3>&lt;ul>
&lt;li>&lt;a class="link" href="https://qiskit.org/documentation/" target="_blank" rel="noopener"
>Offizielle Qiskit-Dokumentation&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://qiskit.org/textbook/ja/preface.html" target="_blank" rel="noopener"
>Qiskit Textbook&lt;/a> - Das empfohlene offizielle Lehrbuch für alle, die tiefer in die mathematischen Hintergründe und Algorithmen eintauchen möchten&lt;/li>
&lt;li>IBM Quantum Learning&lt;/li>
&lt;/ul>
&lt;p>Willkommen in der Quantenwelt!&lt;/p></description></item><item><title>Was ist Quantenüberlegenheit? Neueste Trends von Google und IBM</title><link>http://kenji.blog/de/p/what-is-quantum-supremacy-google-ibm/</link><pubDate>Fri, 11 Sep 2026 18:00:00 +0900</pubDate><guid>http://kenji.blog/de/p/what-is-quantum-supremacy-google-ibm/</guid><description>&lt;img src="http://kenji.blog/p/what-is-quantum-supremacy-google-ibm/img/eyecatch.jpg" alt="Featured image of post Was ist Quantenüberlegenheit? Neueste Trends von Google und IBM" />&lt;h2 id="1-einleitung-die-morgendämmerung-des-quantencomputings-und-die-quantenüberlegenheit">1. Einleitung: Die Morgendämmerung des Quantencomputings und die &amp;ldquo;Quantenüberlegenheit&amp;rdquo;
&lt;/h2>&lt;p>Quantencomputing birgt das Potenzial, komplexe Probleme in realistischer Zeit zu lösen, die für klassische Computer (die PCs und Supercomputer, die wir derzeit täglich nutzen) unlösbar sind, indem es die Quantenmechanik, ein Grundprinzip der Physik, auf die Informationsverarbeitung anwendet. Dieses Feld wurde lange Zeit hauptsächlich theoretisch erforscht, aber in den letzten Jahren hat sich der Wettbewerb um die praktische Anwendung durch rasante Fortschritte bei der Hardware intensiviert.&lt;/p>
&lt;p>Eines der Schlüsselworte, das dabei die meiste Aufmerksamkeit erregt hat, ist &amp;ldquo;Quantenüberlegenheit&amp;rdquo; (Quantum Supremacy). Dies bezeichnet den Moment, in dem ein Quantencomputer bei einer bestimmten Berechnungsaufgabe eine Rechenleistung zeigt, die die eines klassischen Computers überwältigt. Dieser Artikel beginnt mit der genauen Definition der Quantenüberlegenheit, erläutert die Details des Experiments von Googles &amp;ldquo;Sycamore&amp;rdquo;-Prozessor, der 2019 bekannt gab, als Erster weltweit diesen Meilenstein erreicht zu haben, die Gegenargumente und den eigenen Ansatz von IBM daraufhin und geht schließlich technisch und mathematisch auf die &amp;ldquo;Quantenfehlerkorrektur&amp;rdquo; (Quantum Error Correction: QEC) und das &amp;ldquo;fehlertolerante Quantencomputing&amp;rdquo; (Fault-Tolerant Quantum Computing: FTQC) ein, welche die größten Hürden für eine echte praktische Anwendung darstellen.&lt;/p>
&lt;hr>
&lt;h2 id="2-theoretischer-hintergrund-grundlagen-der-quantenberechnung-und-komplexitätsklassen">2. Theoretischer Hintergrund: Grundlagen der Quantenberechnung und Komplexitätsklassen
&lt;/h2>&lt;p>Um die Quantenüberlegenheit zu verstehen, muss man zunächst die mathematischen Grundlagen der Quantenberechnung und ihre Stellung in der rechnerischen Komplexitätstheorie verstehen.&lt;/p>
&lt;h3 id="qubits-und-superposition">Qubits und Superposition
&lt;/h3>&lt;p>Während die kleinste Informationseinheit in einem klassischen Computer das Bit (0 oder 1) ist, verwenden Quantencomputer Quantenbits (Qubits). Der Zustand $|\psi\rangle$ eines Qubits wird als komplexe Linearkombination der Basiszustände $|0\rangle$ und $|1\rangle$ dargestellt.&lt;/p>
$$
|\psi\rangle = \alpha|0\rangle + \beta|1\rangle
$$
&lt;p>Hierbei sind $\alpha, \beta \in \mathbb{C}$ und erfüllen die Normierungsbedingung $|\alpha|^2 + |\beta|^2 = 1$. Diese Eigenschaft wird als &amp;ldquo;Superposition&amp;rdquo; (Überlagerung) bezeichnet.&lt;/p>
&lt;h3 id="verschränkung-entanglement-und-tensorprodukt">Verschränkung (Entanglement) und Tensorprodukt
&lt;/h3>&lt;p>Wenn mehrere Qubits vorhanden sind, wird der Zustand des gesamten Systems durch das Tensorprodukt der Zustandsräume der einzelnen Qubits dargestellt. Ein System aus $n$ Qubits ist ein Vektor im $2^n$-dimensionalen Hilbertraum $\mathcal{H}^{\otimes n}$.&lt;/p>
$$
|\Psi\rangle = \sum_{x \in \{0, 1\}^n} c_x |x\rangle
$$
&lt;p>Hierbei ist $\sum |c_x|^2 = 1$. Der Zustand, in dem Qubits nicht unabhängig sind, sondern der Zustand des einen von dem des anderen abhängt, wird als &amp;ldquo;Quantenverschränkung&amp;rdquo; (Quantum Entanglement) bezeichnet. Dadurch hat ein Quantencomputer das Potenzial, einen exponentiell großen Zustandsraum gleichzeitig zu verarbeiten.&lt;/p>
&lt;h3 id="komplexitätstheoretische-definition-der-quantenüberlegenheit">Komplexitätstheoretische Definition der Quantenüberlegenheit
&lt;/h3>&lt;p>In der rechnerischen Komplexitätstheorie wird die Klasse der Probleme, die von einem klassischen Computer effizient (in polynomieller Zeit) gelöst werden können, als &lt;strong>BPP&lt;/strong> (Bounded-error Probabilistic Polynomial time) bezeichnet. Andererseits ist die Klasse der Probleme, die von einem Quantencomputer effizient gelöst werden können, &lt;strong>BQP&lt;/strong> (Bounded-error Quantum Polynomial time).&lt;/p>
&lt;p>Der Nachweis der Quantenüberlegenheit bedeutet, &amp;ldquo;eine spezifische Aufgabe, die in BQP, aber nicht in BPP enthalten ist (oder bei der die Wahrscheinlichkeit dafür extrem hoch ist), auf tatsächlicher Quantenhardware auszuführen und klassische Supercomputer in Bezug auf Zeit und Ressourcen bei der Simulation zu übertreffen&amp;rdquo;. Man kann dies als historischen Versuch bezeichnen, die erweiterte Church-Turing-These (&amp;ldquo;Jedes physikalisch realisierbare Berechnungsmodell kann durch eine probabilistische Turingmaschine in polynomieller Zeit simuliert werden&amp;rdquo;) durch physikalische Experimente zu widerlegen.&lt;/p>
&lt;hr>
&lt;h2 id="3-2019-demonstration-der-quantenüberlegenheit-durch-google">3. 2019: Demonstration der Quantenüberlegenheit durch Google
&lt;/h2>&lt;p>Im Oktober 2019 gab das Google Quantum AI-Team in der Fachzeitschrift &amp;ldquo;Nature&amp;rdquo; bekannt, dass sie mit dem 53-Qubit-Supraleiter-Prozessor &amp;ldquo;Sycamore&amp;rdquo; die Quantenüberlegenheit erreicht hätten.&lt;/p>
&lt;h3 id="architektur-des-sycamore-prozessors">Architektur des Sycamore-Prozessors
&lt;/h3>&lt;p>Der Sycamore-Prozessor besteht aus 54 supraleitenden Transmon-Qubits, die in einem zweidimensionalen Gitter angeordnet sind (im Experiment wurden 53 verwendet, da eines defekt war). Zwischen benachbarten Qubits sind variable Koppler (Tunable Couplers) angeordnet, um schnelle und hochpräzise 2-Qubit-Gatter (einen Hybrid aus iSWAP-Gatter und kontrolliertem Z-Gatter) zu realisieren.&lt;/p>
&lt;div class="mermaid">graph TD
A["Quantenalgorithmus-Eingabe"] --> B["Sycamore-Prozessor (53 Qubits)"]
B --> C["Zufällige Quantengatter anwenden"]
C --> D["Quantenzustände messen (Bitstrings)"]
D --> E["Kreuzentropie-Benchmarking (XEB)"]
E --> F["Quantenüberlegenheit verifizieren"]&lt;/div>
&lt;h3 id="zufälliges-quantenschaltkreis-sampling-random-circuit-sampling-rcs">Zufälliges Quantenschaltkreis-Sampling (Random Circuit Sampling: RCS)
&lt;/h3>&lt;p>Die von Google gewählte Aufgabe war das &amp;ldquo;zufällige Quantenschaltkreis-Sampling&amp;rdquo;. Dabei werden zufällig ausgewählte 1-Qubit-Gatter und 2-Qubit-Gatter über mehrere Zyklen (Tiefe $m$) angewendet, der Endzustand wird gemessen, und aus der resultierenden Wahrscheinlichkeitsverteilung der Bitstrings wird ein Sampling durchgeführt.&lt;/p>
&lt;p>Die Wahrscheinlichkeit eines Bitstrings $x$, der von einem idealen (rauschfreien) zufälligen Quantenschaltkreis ausgegeben wird, ist keine Gleichverteilung, sondern zeigt ein Interferenzmuster-ähnliches Muster, das als Porter-Thomas-Verteilung bezeichnet wird. Um aus dieser Verteilung mit einem klassischen Computer abzutasten, ist eine Simulation des gesamten Zustandsvektors erforderlich, und der Rechenaufwand steigt exponentiell mit der Anzahl der Qubits $n$ und der Schaltkreistiefe $m$.&lt;/p>
&lt;h3 id="bewertung-der-genauigkeit-fidelity-lineares-kreuzentropie-benchmarking-xeb">Bewertung der Genauigkeit (Fidelity): Lineares Kreuzentropie-Benchmarking (XEB)
&lt;/h3>&lt;p>Um zu beweisen, dass die experimentellen Ergebnisse nicht nur Rauschen waren, sondern tatsächlich das Ergebnis einer Quantenberechnung, verwendete Google das lineare Kreuzentropie-Benchmarking (Linear Cross-Entropy Benchmarking: XEB). Die ideale Wahrscheinlichkeit $P(x_i)$ des Schaltkreises für die im Experiment erhaltenen Bitstrings $x_i$ wird auf einem klassischen Computer berechnet, und die Genauigkeit (Fidelity) $\mathcal{F}_{\text{XEB}}$ wird mit der folgenden Formel ermittelt:&lt;/p>
$$
\mathcal{F}_{\text{XEB}} = 2^n \langle P(x_i) \rangle_{i} - 1
$$
&lt;p>Wenn $\mathcal{F}_{\text{XEB}}$ 0 ist, bedeutet dies vollständiges Rauschen, bei 1 einen idealen Quantenprozessor ohne Rauschen. Der Sycamore-Prozessor erreichte bei einem Schaltkreis der Tiefe 20 ein $\mathcal{F}_{\text{XEB}} \approx 0.002$ (0,2%). Dies scheint auf den ersten Blick gering, ist aber ein statistisch signifikanter Wert über null und stellte einen erstaunlichen Erfolg dar, bei dem ein Zustandsraum von $2^{53} \approx 9 \times 10^{15}$ kontrolliert wurde.&lt;/p>
&lt;p>Die Gesamtfehlerrate wurde näherungsweise als Produkt einzelner Gatterfehler, Messfehler usw. modelliert.&lt;/p>
$$
\mathcal{F} \approx (1 - e_1)^{N_1}(1 - e_2)^{N_2} \cdots \approx \prod_{g \in 1Q} (1 - e_g) \prod_{g \in 2Q} (1 - e_g) \prod_{q} (1 - e_{RO})
$$
&lt;p>（※ $e_g$ ist der Gatterfehler, $e_{RO}$ ist der Messfehler）&lt;/p>
&lt;p>Google behauptete, dass die Simulation dieses Schaltkreises auf einem klassischen Supercomputer (Summit) etwa 10.000 Jahre dauern würde. Im Gegensatz dazu schloss Sycamore das Sampling in nur 200 Sekunden ab.&lt;/p>
&lt;hr>
&lt;h2 id="4-gegenargument-von-ibm-von-der-überlegenheit-zur-nützlichkeit-utility">4. Gegenargument von IBM: Von der &amp;ldquo;Überlegenheit&amp;rdquo; zur &amp;ldquo;Nützlichkeit&amp;rdquo; (Utility)
&lt;/h2>&lt;p>Die Ankündigung von Google schockierte die Welt, aber IBM, Entwickler des weltweit größten Supercomputers &amp;ldquo;Summit&amp;rdquo; und selbst treibende Kraft in der Quantencomputerentwicklung, veröffentlichte umgehend ein Paper, das dieser Behauptung widersprach.&lt;/p>
&lt;h3 id="verbesserung-der-klassischen-simulation-durch-tensornetzwerk-kontraktion">Verbesserung der klassischen Simulation durch Tensornetzwerk-Kontraktion
&lt;/h3>&lt;p>Der Kern von IBMs Gegenargument war, dass &amp;ldquo;die Algorithmen und die Ressourcenoptimierung auf Seiten des klassischen Computers unzureichend sind&amp;rdquo;. Google stützte seine Schätzung von 10.000 Jahren auf einen Zustandsvektor-Simulator, der die Zeitentwicklung der Schrödinger-Gleichung direkt berechnet. IBM wies jedoch darauf hin, dass die Simulationszeit durch eine Methode namens &amp;ldquo;Tensornetzwerk&amp;rdquo; (Tensor Network) drastisch verkürzt werden könnte.&lt;/p>
&lt;p>In einem Tensornetzwerk werden die Gatteroperationen des Quantenschaltkreises als Operationen auf mehrdimensionalen Arrays (Tensoren) dargestellt und die Reihenfolge der &amp;ldquo;Kontraktion&amp;rdquo; (Contraction) des Netzwerks optimiert. Wenn man zudem den riesigen Speicherplatz von Summit in Höhe von 250 PB (Hierarchisierung von Festplatte und Speicher) voll ausnutzt, so IBM, könne man den gesamten Zustandsvektor im Speicher halten und eine präzisere Simulation in nur &amp;ldquo;zweieinhalb Tagen&amp;rdquo; durchführen.&lt;/p>
&lt;h3 id="quantum-advantage-und-quantum-utility">Quantum Advantage und Quantum Utility
&lt;/h3>&lt;p>Durch diese Debatte verlagerte sich der Trend in der gesamten Branche von dem Beharren darauf, &amp;ldquo;eine künstliche Aufgabe auszuführen, die klassisch unmöglich ist (Supremacy)&amp;rdquo;, hin zum Nachweis, &amp;ldquo;bei nützlichen Problemen der realen Welt einen substanziellen Vorteil gegenüber klassischen Ansätzen zu zeigen (Quantum Advantage)&amp;rdquo; und weiter zu der Phase, in der &amp;ldquo;Quantencomputer als neues Werkzeug für wissenschaftliche Entdeckungen fungieren (Quantum Utility)&amp;rdquo;.&lt;/p>
&lt;p>IBM selbst vermeidet den Begriff &amp;ldquo;Überlegenheit&amp;rdquo; und schlägt Indikatoren wie das &amp;ldquo;Quantenvolumen&amp;rdquo; (Quantum Volume) und &amp;ldquo;CLOPS (Circuit Layer Operations Per Second)&amp;rdquo; als umfassende Leistungskennzahlen für Quantenprozessoren vor, wobei eine Entwicklung verfolgt wird, die das Gleichgewicht zwischen der Größe und der Qualität der Hardware betont.&lt;/p>
&lt;div class="mermaid">timeline
title "Die Evolution der Quantenmeilensteine"
2019 : "Google Sycamore (53Q)" : "Ankündigung der Quantenüberlegenheit"
2019 : "IBM Gegenargument" : "Simulation mit Summit Supercomputer in 2,5 Tagen"
2021 : "IBM Eagle (127Q)" : "Durchbruch der 100-Qubit-Barriere"
2022 : "IBM Osprey (433Q)" : "Fortschritte bei der Prozessorgröße"
2023 : "Google Surface Code" : "Skalierung der Fehlerkorrektur (d=3 auf d=5)"
2023 : "IBM Quantum Utility" : "Simulation eines komplexen Spinmodells auf 127Q"
2024 : "Darüber hinaus" : "Ära der logischen Qubits und Fehlerminderung"&lt;/div>
&lt;hr>
&lt;h2 id="5-die-nächste-grenze-fehlerminderung-error-mitigation-und-quantenfehlerkorrektur-qec">5. Die nächste Grenze: Fehlerminderung (Error Mitigation) und Quantenfehlerkorrektur (QEC)
&lt;/h2>&lt;p>Heutige Quantencomputer werden als &amp;ldquo;NISQ&amp;rdquo; (Noisy Intermediate-Scale Quantum) bezeichnet und sind anfällig für Rauschen (Fehler aufgrund von Wechselwirkungen mit der äußeren Umgebung oder unvollständiger Kontrolle), sodass bei langen Berechnungen die Ergebnisse im Rauschen untergehen. Ansätze zur Überwindung dieses Problems lassen sich grob in &amp;ldquo;Fehlerminderung&amp;rdquo; (Error Mitigation) und &amp;ldquo;Quantenfehlerkorrektur&amp;rdquo; (Quantum Error Correction) unterteilen.&lt;/p>
&lt;h3 id="fehlerminderung-error-mitigation">Fehlerminderung (Error Mitigation)
&lt;/h3>&lt;p>Fehlerminderung ist eine Methode, bei der die Auswirkungen von Rauschen durch klassische Nachbearbeitung aus den Erwartungswerten der Berechnungsergebnisse entfernt werden, ohne die Quantenhardware zu verändern. Im Jahr 2023 demonstrierte IBM durch die Kombination des 127-Qubit-&amp;ldquo;Eagle&amp;rdquo;-Prozessors mit Fehlerminderungstechniken wie der &amp;ldquo;Zero-Noise Extrapolation&amp;rdquo; (ZNE) eine Präzision bei der Zeitentwicklungs-Simulation komplexer Ising-Modelle, die modernste approximative Tensornetzwerk-Methoden übertraf, und bewies damit die &amp;ldquo;Quantum Utility&amp;rdquo; (Quantennützlichkeit).&lt;/p>
&lt;h3 id="quantenfehlerkorrektur-qec-und-logische-qubits">Quantenfehlerkorrektur (QEC) und logische Qubits
&lt;/h3>&lt;p>Um jedoch letztendlich beliebig komplexe Algorithmen (z. B. Shors Faktorisierungsalgorithmus oder komplexe quantenchemische Berechnungen) auszuführen, reicht Fehlerminderung allein nicht aus; eine &amp;ldquo;Quantenfehlerkorrektur&amp;rdquo; (QEC), die Fehler dynamisch erkennt und korrigiert, ist unerlässlich.&lt;/p>
&lt;p>Der Mainstream-Ansatz für QEC ist der &amp;ldquo;Oberflächencode&amp;rdquo; (Surface Code). Hierbei werden mehrere physikalische Qubits (Daten-Qubits) in einem zweidimensionalen Gitter angeordnet, und dazwischen werden Mess-Qubits (Ancilla-Qubits) platziert, um kontinuierlich Paritätsprüfungen, sogenannte &amp;ldquo;Stabilisatoren&amp;rdquo; (Stabilizers), durchzuführen.&lt;/p>
&lt;div class="mermaid">graph LR
Q1["Daten-Qubit (Data)"] --- M1["X-Stabilisator messen (Ancilla)"]
Q2["Daten-Qubit (Data)"] --- M1
Q3["Daten-Qubit (Data)"] --- M2["Z-Stabilisator messen (Ancilla)"]
Q4["Daten-Qubit (Data)"] --- M2
M1 --> EC["Fehlersyndrom-Dekodierung (Klassisch)"]
M2 --> EC
EC --> LQ["Statusaktualisierung des logischen Qubits"]&lt;/div>
&lt;h4 id="schwellenwertsatz-threshold-theorem-und-distanz-d">Schwellenwertsatz (Threshold Theorem) und Distanz $d$
&lt;/h4>&lt;p>In der Quantenfehlerkorrektur gibt es den &amp;ldquo;Schwellenwertsatz&amp;rdquo;. Wenn die Fehlerrate $p$ der physikalischen Qubits unter einem bestimmten Schwellenwert $p_{th}$ (beim Oberflächencode etwa um die 1%) liegt, kann die logische Fehlerrate $p_L$ exponentiell gesenkt werden, indem die Code-Distanz $d$ vergrößert wird (indem mehr physikalische Qubits einem logischen Qubit zugewiesen werden).&lt;/p>
&lt;p>Eine Näherungsgleichung für die logische Fehlerrate wird wie folgt dargestellt:&lt;/p>
$$
p_L \approx \Lambda \left( \frac{p}{p_{th}} \right)^{\frac{d+1}{2}}
$$
&lt;p>Hierbei ist $\Lambda$ eine Konstante. Solange $p &lt; p_{th}$ ist, wird $p_L$ umso kleiner, je größer $d$ wird. Wenn jedoch $p > p_{th}$ ist, sammelt sich umso mehr Rauschen an, je mehr physikalische Qubits hinzugefügt werden, und die logische Fehlerrate verschlechtert sich.&lt;/p>
&lt;h4 id="googles-meilenstein-2023-demonstration-der-fehlerreduktion-durch-vergrößerung-der-distanz">Googles Meilenstein 2023: Demonstration der Fehlerreduktion durch Vergrößerung der Distanz
&lt;/h4>&lt;p>Im Februar 2023 veröffentlichte Google ein bahnbrechendes Paper in &amp;ldquo;Nature&amp;rdquo;. Mit dem Sycamore-Prozessor der dritten Generation demonstrierten sie weltweit zum ersten Mal, dass bei einer Erweiterung der Distanz des Oberflächencodes von $d=3$ (unter Verwendung von 17 physikalischen Qubits) auf $d=5$ (unter Verwendung von 49 physikalischen Qubits) die logische Fehlerrate leicht von 3,028% auf 2,914% sank.&lt;/p>
&lt;p>Dies bedeutet den Eintritt in den Bereich $p &lt; p_{th}$ und zeigt, dass der wichtigste Proof of Concept (Prinzipnachweis) auf dem Weg zum FTQC abgeschlossen wurde: Die Leistung verbessert sich, je mehr physikalische Qubits hinzugefügt werden.&lt;/p>
&lt;hr>
&lt;h2 id="6-roadmap-und-ausblick-auf-ftqc-fehlertolerantes-quantencomputing">6. Roadmap und Ausblick auf FTQC (Fehlertolerantes Quantencomputing)
&lt;/h2>&lt;p>Google und IBM liefern sich einen harten Entwicklungswettbewerb in Richtung ihres ultimativen Ziels, dem FTQC (Fault-Tolerant Quantum Computing), wenn auch mit unterschiedlichen Architekturen und Ansätzen.&lt;/p>
&lt;h3 id="der-ansatz-von-ibm-modularisierung-und-heavy-hex-gitter">Der Ansatz von IBM: Modularisierung und Heavy-Hex-Gitter
&lt;/h3>&lt;p>IBM konzentriert sich darauf, die Prozessorgröße zu skalieren und gleichzeitig die Fehlerraten drastisch zu senken. Während sie mit &amp;ldquo;Eagle (127Q)&amp;rdquo;, &amp;ldquo;Osprey (433Q)&amp;rdquo; und &amp;ldquo;Condor (1121Q)&amp;rdquo; die Grenzen einzelner Chips ausreizen, kündigten sie eine modulare Architektur namens &amp;ldquo;Quantum System Two&amp;rdquo; an. Für die Kopplungstopologie der Qubits verwenden sie zudem ein &amp;ldquo;Heavy-Hex-Gitter&amp;rdquo;, das unnötiges Übersprechen (Crosstalk) reduziert und die Stabilität erhöht. IBMs Strategie ist ein hybrider Ansatz, der kurzfristig Nützlichkeit durch fortschrittliche Fehlerminderung anstrebt und schrittweise QEC einführt.&lt;/p>
&lt;h3 id="der-ansatz-von-google-qualitätsverbesserung-logischer-qubits">Der Ansatz von Google: Qualitätsverbesserung logischer Qubits
&lt;/h3>&lt;p>Die Strategie von Google legt weniger Wert auf eine rasante Erhöhung der Anzahl physikalischer Qubits, sondern konzentriert sich darauf, die Fehlerrate eines einzigen logischen Qubits bis zum Äußersten zu minimieren (z. B. auf $10^{-6}$). Darauf aufbauend streben sie die Etablierung von Technologien zum Transfer von Quantenzuständen zwischen Modulen (Quantum Interconnects) an, um ein groß angelegtes System zu schaffen, das Tausende bis Zehntausende physikalische Qubits parallel betreibt.&lt;/p>
&lt;p>Die fehlertolerante Implementierung von Protokollen für Nicht-Clifford-Gatter, wie etwa die Destillation magischer Zustände (Magic State Distillation), stellt ebenfalls eine große zukünftige technische Hürde dar. Es wird geschätzt, dass für die Ausführung eines praktischen Shor-Algorithmus zum Knacken einer 2048-Bit-RSA-Verschlüsselung Tausende logischer Qubits mit einer Fehlerrate von unter $10^{-8}$ erforderlich sind, was in Millionen bis zig Millionen physikalischer Qubits resultiert. Der Weg dorthin ist noch lang.&lt;/p>
&lt;hr>
&lt;h2 id="7-fazit">7. Fazit
&lt;/h2>&lt;p>Die &amp;ldquo;Quantenüberlegenheit&amp;rdquo; war ein wichtiger Meilenstein in der Geschichte des Quantencomputers, der das theoretische Potenzial von Computern physikalisch bewies. Die Demonstration von Google im Jahr 2019 und die konstruktiven Gegenargumente von IBM haben die gesamte Branche von bloßen theoretischen Beweisen in eine Ära echten Engineerings geführt, in der die tatsächliche Nützlichkeit (Utility) und schließlich das fehlertolerante Quantencomputing (FTQC) angestrebt werden.&lt;/p>
&lt;p>Wir erleben derzeit die Übergangsphase von stark verrauschten NISQ-Geräten hin zu logischen Qubit-Geräten, die mit Fehlerkorrektur ausgestattet sind. In den nächsten Jahren bis hin zu einem Jahrzehnt werden mit dieser Evolution der Quantenhardware neue Entdeckungen in den Materialwissenschaften, Revolutionen in der Medikamentenentwicklung und Durchbrüche bei Optimierungsproblemen Realität werden.&lt;/p>
&lt;p>Die künftigen Entwicklungen von Google, IBM und Forschern auf der ganzen Welt, welche die Informatik der Zukunft prägen werden, bleiben weiterhin höchst spannend.&lt;/p></description></item><item><title>Wie verändern sich Blockchain und Kryptowährungen im Post-Quanten-Zeitalter?</title><link>http://kenji.blog/de/p/post-quantum-blockchain-and-crypto/</link><pubDate>Fri, 11 Sep 2026 17:00:00 +0900</pubDate><guid>http://kenji.blog/de/p/post-quantum-blockchain-and-crypto/</guid><description>&lt;img src="http://kenji.blog/p/post-quantum-blockchain-and-crypto/img/eyecatch.jpg" alt="Featured image of post Wie verändern sich Blockchain und Kryptowährungen im Post-Quanten-Zeitalter?" />&lt;h2 id="1-einführung-die-schritte-des-post-quanten-zeitalters-und-die-krise-der-blockchain">1. Einführung: Die Schritte des Post-Quanten-Zeitalters und die Krise der Blockchain
&lt;/h2>&lt;p>Seit der Erfindung von Bitcoin durch Satoshi Nakamoto im Jahr 2009 hat sich die Blockchain-Technologie als &amp;ldquo;dezentrales und manipulationssicheres Hauptbuch&amp;rdquo; zur Grundlage von Finanzsystemen und Anwendungen weltweit entwickelt. Diese robuste Sicherheit wird durch moderne kryptografische Technologien wie die &lt;strong>Public-Key-Kryptografie (Public Key Cryptography)&lt;/strong> und &lt;strong>kryptografische Hashfunktionen (Cryptographic Hash Functions)&lt;/strong> aufrechterhalten.&lt;/p>
&lt;p>Diese kryptografischen Technologien garantieren Sicherheit basierend auf mathematischer &amp;ldquo;Rechenschwierigkeit&amp;rdquo;, was bedeutet, dass selbst mit klassischen Computern (den PCs oder Supercomputern, die wir heute verwenden) eine Entschlüsselung unmöglich ist, selbst wenn man die Lebensdauer des Universums dafür aufwenden würde.&lt;/p>
&lt;p>Diese Prämisse wird jedoch durch die rasche Entwicklung und praktische Anwendung von &lt;strong>Quantencomputern (Quantum Computers)&lt;/strong>, der Grenze von Physik und Informatik, grundlegend umgestoßen. Quantencomputer, die quantenmechanische Phänomene wie &amp;ldquo;Superposition&amp;rdquo; und &amp;ldquo;Quantenverschränkung (Entanglement)&amp;rdquo; nutzen, weisen bei bestimmten mathematischen Problemen eine Rechenleistung auf, die klassische Computer bei weitem übertrifft – die sogenannte &amp;ldquo;Quantenüberlegenheit (Quantum Supremacy)&amp;rdquo;.&lt;/p>
&lt;p>In diesem Artikel werden wir eingehend und aus einer technischen und mathematischen Perspektive untersuchen, welchen spezifischen Bedrohungen die Blockchain-Technologie durch Quantencomputer ausgesetzt ist. Wir werden die neuesten Entwicklungen der &lt;strong>Post-Quanten-Kryptografie (PQC: Post-Quantum Cryptography)&lt;/strong> als Lösung und die Migrationsszenarien für Krypto-Asset-Netzwerke detailliert erläutern.&lt;/p>
&lt;hr>
&lt;h2 id="2-grundlagen-von-quantencomputern-und-zwei-große-bedrohungen-für-die-blockchain">2. Grundlagen von Quantencomputern und zwei große Bedrohungen für die Blockchain
&lt;/h2>&lt;p>Aktuelle Blockchain-Systeme bestehen hauptsächlich aus den folgenden zwei kryptografischen Elementen, die jeweils unterschiedlichen Bedrohungen durch Quantenalgorithmen ausgesetzt sind.&lt;/p>
&lt;div class="mermaid">graph TD
A["Erstaunliche Rechenleistung von Quantencomputern"] --> B["Shors Algorithmus (Shor's Algorithm)"]
A --> C["Grovers Algorithmus (Grover's Algorithm)"]
B --> D["Zusammenbruch der Public-Key-Kryptografie (ECDSA/RSA/DSA)"]
C --> E["Auswirkungen auf kryptografische Hashfunktionen (SHA-256)"]
D --> F["Identifizierung fremder privater Schlüssel und Fälschung von Transaktionen"]
E --> G["Überlegenheit beim PoW-Mining und Angriffe auf einige Adressen"]
F --> H["Fatale und direkte Bedrohung in der Blockchain"]
G --> I["Bedrohung, die durch Anpassung des Algorithmus (z. B. Erweiterung der Schlüssellänge) bewältigt werden kann"]
style H fill:#ff9999,stroke:#cc0000,stroke-width:2px;
style I fill:#ffff99,stroke:#cccc00,stroke-width:2px;&lt;/div>
&lt;h3 id="21-grundlagen-der-elliptic-curve-cryptography-ecdsa-und-rechenschwierigkeit">2.1. Grundlagen der Elliptic Curve Cryptography (ECDSA) und Rechenschwierigkeit
&lt;/h3>&lt;p>Viele Blockchains wie Bitcoin und Ethereum verwenden den &lt;strong>Elliptic Curve Digital Signature Algorithm (ECDSA)&lt;/strong> als ihren digitalen Signaturalgorithmus. Insbesondere nutzt Bitcoin eine elliptische Kurve mit den Parametern &lt;code>secp256k1&lt;/code>.&lt;/p>
&lt;p>Die Sicherheit der Elliptic Curve Cryptography beruht auf der Rechenschwierigkeit des &lt;strong>Elliptic Curve Discrete Logarithm Problem (ECDLP)&lt;/strong>.
Eine elliptische Kurve wird durch eine Gleichung in der folgenden Weierstraß-Normalform definiert.&lt;/p>
$$
y^2 \equiv x^3 + ax + b \pmod{p}
$$
&lt;p>Bei Bitcoins &lt;code>secp256k1&lt;/code> gilt $a = 0, b = 7$ und $p$ ist eine sehr große Primzahl.
Sei $G$ ein Basispunkt auf dieser Kurve und $k$ ein zufällig gewählter privater Schlüssel, der eine riesige 256-Bit-Zahl ist. Dann wird der öffentliche Schlüssel $K$ durch $k$-malige Addition (Skalarmultiplikation) des Basispunktes berechnet.&lt;/p>
$$
K = k \times G = \underbrace{G + G + \dots + G}_{k \text{ times}}
$$
&lt;p>Die umgekehrte Berechnung des privaten Schlüssels $k$ aus dem veröffentlichten öffentlichen Schlüssel $K$ und dem Basispunkt $G$ (Berechnung des diskreten Logarithmus) mit einem klassischen Computer erfordert selbst mit den besten klassischen Algorithmen wie der Pollard-Rho-Methode eine exponentielle Rechenzeit von $\mathcal{O}(\sqrt{p})$. Bei einem 256-Bit-Schlüssel sind etwa $2^{128}$ Operationen erforderlich, was auf einem Niveau liegt, das selbst bei Milliarden Jahren Betrieb aktueller Supercomputer nicht gelöst werden kann.&lt;/p>
&lt;h3 id="22-der-zusammenbruch-durch-shors-algorithmus-shors-algorithm">2.2. Der Zusammenbruch durch Shors Algorithmus (Shor&amp;rsquo;s Algorithm)
&lt;/h3>&lt;p>Dieser Ansatz wurde jedoch 1994 durch &lt;strong>Shors Algorithmus&lt;/strong>, der von Peter Shor veröffentlicht wurde, vollständig zerstört. Shors Algorithmus wurde ursprünglich vorgeschlagen, um das Primfaktorzerlegungsproblem (die Basis der RSA-Kryptografie) in polynomieller Zeit zu lösen, er kann jedoch auch auf das Problem des diskreten Logarithmus und das Problem des diskreten Logarithmus auf elliptischen Kurven angewendet werden.&lt;/p>
&lt;p>Der Kern von Shors Algorithmus liegt in der Verwendung der &lt;strong>Quanten-Fourier-Transformation (QFT: Quantum Fourier Transform)&lt;/strong>, um die &amp;ldquo;Periode (Period)&amp;rdquo; einer Funktion schnell zu finden.&lt;/p>
$$
\text{Klassische Berechnungskomplexität} = \mathcal{O}(2^{n/2}) \quad (n\text{ ist die Bitlänge})
$$
$$
\text{Berechnungskomplexität des Quantenalgorithmus} = \mathcal{O}(n^3)
$$
&lt;p>Auf diese Weise reduziert Shors Algorithmus die exponentielle Zeit drastisch auf &lt;strong>polynomielle Zeit (Polynomial Time)&lt;/strong>. Sobald ein Quantencomputer mit ausreichend logischen Qubits fertiggestellt ist, wird es möglich sein, den privaten Schlüssel $k$ innerhalb von Minuten oder Sekunden aus einem im Netzwerk veröffentlichten öffentlichen Schlüssel $K$ zu identifizieren. Dies würde es einem Angreifer ermöglichen, leicht an den privaten Schlüssel der Wallet einer anderen Person zu gelangen und die vollständige Kontrolle über die Gelder zu übernehmen.&lt;/p>
&lt;h4 id="221-schritt-für-schritt-erklärung-der-ecdlp-entschlüsselung-durch-shors-algorithmus">2.2.1 Schritt-für-Schritt-Erklärung der ECDLP-Entschlüsselung durch Shors Algorithmus
&lt;/h4>&lt;p>Lassen Sie uns den internen Prozess Schritt für Schritt betrachten, wie ein Quantencomputer das Elliptic Curve Discrete Logarithm Problem (ECDLP) löst.&lt;/p>
&lt;p>Problemstellung: In $K = k \times G$ sind $G$ und $K$ bekannt, und wir möchten die unbekannte ganze Zahl $k$ (den privaten Schlüssel) finden. Sei die Ordnung der elliptischen Kurve $N$.&lt;/p>
&lt;p>&lt;strong>Schritt 1: Erzeugung des Superpositionszustands&lt;/strong>
Zunächst werden zwei Quantenregister vorbereitet, und auf jedes wird ein Hadamard-Gatter (Hadamard Gate) angewendet, um einen Superpositionszustand aller möglichen Kombinationen ganzer Zahlen zu erzeugen.
&lt;/p>
$$
|\psi_1\rangle = \frac{1}{N} \sum_{x=0}^{N-1} \sum_{y=0}^{N-1} |x\rangle |y\rangle |0\rangle
$$
&lt;p>&lt;strong>Schritt 2: Anwendung des Quantenorakels (Auswertung der Funktion)&lt;/strong>
Als nächstes wird unter Verwendung eines Quantenschaltkreises (Orakel), der Punkte auf einer elliptischen Kurve addiert, die Funktion $f(x, y) = x \times G + y \times K$ in einem dritten Register berechnet.
&lt;/p>
$$
|\psi_2\rangle = \frac{1}{N} \sum_{x=0}^{N-1} \sum_{y=0}^{N-1} |x\rangle |y\rangle |x \times G + y \times K\rangle
$$
&lt;p>
Wichtig hierbei ist, da $K = k \times G$ gilt, kann dies als $f(x, y) = (x + y \cdot k) \times G$ umgeschrieben werden.&lt;/p>
&lt;p>&lt;strong>Schritt 3: Messung des dritten Registers&lt;/strong>
Wenn das dritte Register gemessen wird, kollabiert es zu einem Punkt $R$ auf der elliptischen Kurve. Dadurch kollabieren das erste und zweite Register in einen Superpositionszustand von Paaren $(x, y)$, die $x + y \cdot k \equiv c \pmod{N}$ ($c$ ist eine Konstante) erfüllen.
&lt;/p>
$$
|\psi_3\rangle = \frac{1}{\sqrt{N}} \sum_{y=0}^{N-1} |c - y \cdot k \pmod{N}\rangle |y\rangle
$$
&lt;p>&lt;strong>Schritt 4: Anwendung der Quanten-Fourier-Transformation (QFT)&lt;/strong>
Dieser Zustand hat eine Periodizität, die mit der Periode $k$ zusammenhängt. Durch Anwendung der inversen Quanten-Fourier-Transformation (Inverse QFT) auf diesen Zustand wird eine Phaseninterferenz ausgelöst, die die Periodeninformationen in Amplituden umwandelt.&lt;/p>
&lt;p>&lt;strong>Schritt 5: Messung und klassische Nachbearbeitung&lt;/strong>
Wenn das erste und zweite Register gemessen werden, erhält man mit hoher Wahrscheinlichkeit einen Wert, der Informationen über $k$ enthält. Durch die Anwendung klassischer zahlentheoretischer Algorithmen wie der Kettenbruchentwicklung (Continued Fractions) auf den gemessenen Wert kann der unbekannte private Schlüssel $k$ vollständig identifiziert werden.&lt;/p>
&lt;p>Die Anzahl der für diesen gesamten Prozess benötigten Quantengatter beträgt $\mathcal{O}(\log^3 N)$, und der private Schlüssel wird mit einer extremen Geschwindigkeit aufgedeckt, die nicht mit der Suche in $\mathcal{O}(\sqrt{N})$ durch klassische Computer vergleichbar ist.&lt;/p>
&lt;h3 id="23-grovers-algorithmus-grovers-algorithm-und-auswirkungen-auf-hashfunktionen">2.3. Grovers Algorithmus (Grover&amp;rsquo;s Algorithm) und Auswirkungen auf Hashfunktionen
&lt;/h3>&lt;p>Eine weitere Bedrohung ist &lt;strong>Grovers Algorithmus&lt;/strong>, der 1996 von Lov Grover vorgeschlagen wurde. Dieser hat große Auswirkungen auf Hashfunktionen (z. B. SHA-256).&lt;/p>
&lt;p>In der Blockchain werden Hashfunktionen zur Gewährleistung der Datenintegrität, zur Generierung von Adressen und als Grundlage für das &lt;strong>PoW-Mining (Proof of Work)&lt;/strong> in Bitcoin verwendet. Die Rückrechnung (Urbildberechnung) einer Hashfunktion kann als &amp;ldquo;Problem der Suche in unstrukturierten Datenbanken&amp;rdquo; betrachtet werden, bei dem nach einem Eingabewert $x$ gesucht wird, für den $H(x) = y$ für einen bestimmten Ausgabewert $y$ gilt.&lt;/p>
&lt;p>Mit einem klassischen Computer sind im Durchschnitt $\frac{N}{2}$ und im schlimmsten Fall $N$ Versuche erforderlich, um die richtige Antwort unter $N$ Möglichkeiten zu finden. Die Berechnungskomplexität beträgt also $\mathcal{O}(N)$.
Grovers Algorithmus verwendet jedoch eine Quantentechnologie namens &amp;ldquo;Amplitudenverstärkung (Amplitude Amplification)&amp;rdquo;. Durch iteratives Verstärken der Wahrscheinlichkeitsamplitude des Zustands, der die richtige Antwort darstellt, aus allen Möglichkeiten im Superpositionszustand, wird die Suchzeit auf die Quadratwurzel reduziert.&lt;/p>
$$
\text{Berechnungskomplexität von Grovers Algorithmus} = \mathcal{O}(\sqrt{N})
$$
&lt;p>Im Fall von SHA-256 ist $N = 2^{256}$, sodass eine klassische Brute-Force-Suche etwa $2^{256}$ Versuche erfordert. Wenn jedoch Grovers Algorithmus verwendet wird, sind nur $\sqrt{2^{256}} = 2^{128}$ Versuche erforderlich. Dies bedeutet, dass eine 256-Bit-Hashfunktion gegenüber Quantencomputern &lt;strong>praktisch auf eine Sicherheitsstärke von 128 Bit halbiert wird&lt;/strong>.&lt;/p>
&lt;h4 id="231-wird-sha-256-überleben-quantum-supremacy-in-hashing">2.3.1. Wird SHA-256 überleben? (Quantum Supremacy in Hashing)
&lt;/h4>&lt;p>Obwohl sich die Sicherheit halbiert, ist eine &amp;ldquo;128-Bit-Sicherheit&amp;rdquo; immer noch extrem stark. $2^{128}$ Operationen sind selbst nach heutigem Stand der Technik eine astronomische Zahl und würden die Lebensdauer des Universums erfordern.
Daher ist die Ansicht weit verbreitet, dass &lt;strong>&amp;ldquo;SHA-256 auch gegenüber Quantencomputern eine praktische Sicherheit beibehält&amp;rdquo;&lt;/strong>. Wenn es in Zukunft erforderlich sein sollte, die Sicherheitsmarge zu erhöhen, kann die klassische 256-Bit-Sicherheit auch in der Quantenwelt aufrechterhalten werden, indem einfach die Ausgabelänge des Hashs verdoppelt wird (z. B. Migration von SHA-256 zu SHA-512).&lt;/p>
&lt;p>Zusammenfassend lässt sich sagen, dass die Quantenbedrohung für Hashfunktionen &amp;ldquo;gering und handhabbar&amp;rdquo; ist, während die Bedrohung für Public-Key-Kryptografie (ECDSA) &amp;ldquo;fatal&amp;rdquo; ist.&lt;/p>
&lt;hr>
&lt;h2 id="3-analyse-der-konkreten-auswirkungen-auf-aktuelle-krypto-assets-bitcoin-ethereum">3. Analyse der konkreten Auswirkungen auf aktuelle Krypto-Assets (Bitcoin, Ethereum)
&lt;/h2>&lt;p>Welchen spezifischen Schwachstellen werden Krypto-Asset-Netzwerke in einer Welt ausgesetzt sein, in der ECDSA durch Quantencomputer entschlüsselt werden kann? Hier werden wir am Beispiel der Funktionsweise von Bitcoin eine detaillierte Analyse aus der Perspektive des &lt;strong>&amp;ldquo;Zeitpunkts der Offenlegung des öffentlichen Schlüssels&amp;rdquo;&lt;/strong> durchführen.&lt;/p>
&lt;h3 id="31-generierung-von-adressen-und-die-nicht-öffentlichkeit-des-öffentlichen-schlüssels">3.1. Generierung von Adressen und die &amp;ldquo;Nicht-Öffentlichkeit&amp;rdquo; des öffentlichen Schlüssels
&lt;/h3>&lt;p>Bitcoin-Adressen (P2PKH: Pay-to-Public-Key-Hash und P2WPKH: Pay-to-Witness-Public-Key-Hash) verwenden nicht den öffentlichen Schlüssel selbst, sondern einen mehrfach gehashten öffentlichen Schlüssel.&lt;/p>
$$
\text{Bitcoin Address} = \text{Base58Check}(\text{RIPEMD160}(\text{SHA256}(\text{Public Key})))
$$
&lt;p>Wie bereits erwähnt, sind Hashfunktionen resistent gegen Quantenangriffe (Grovers Algorithmus), sodass es selbst für Quantencomputer unmöglich ist, den ursprünglichen &amp;ldquo;öffentlichen Schlüssel&amp;rdquo; aus der &amp;ldquo;Adresse&amp;rdquo;, die ein Hashwert ist, rückzurechnen.
Das bedeutet, dass für &lt;strong>&amp;ldquo;unbenutzte Adressen (solche, von denen noch nie Gelder gesendet wurden)&amp;rdquo;&lt;/strong> der öffentliche Schlüssel überhaupt nicht auf der Blockchain offengelegt ist und nur der Hashwert aufgezeichnet wird. Da der öffentliche Schlüssel unbekannt ist, gibt es daher kein Ziel für die Ausführung von Shors Algorithmus, und der private Schlüssel kann nicht identifiziert werden. Es kann gesagt werden, dass Wallets in diesem Zustand quantensicher (Quantum-safe) sind.&lt;/p>
&lt;h3 id="32-fatale-schwachstelle-beim-senden-von-transaktionen-front-running-angriff">3.2. Fatale Schwachstelle beim Senden von Transaktionen (Front-Running-Angriff)
&lt;/h3>&lt;p>Das Problem tritt auf, wenn der Benutzer Gelder überweist.
Beim Übertragen (Senden) einer Transaktion an das Netzwerk muss der Benutzer zusammen mit der digitalen Signatur &lt;strong>seinen öffentlichen Schlüssel in die Transaktionsdaten aufnehmen und ihn dem gesamten Netzwerk zur Überprüfung offenlegen&lt;/strong>.&lt;/p>
&lt;div class="mermaid">sequenceDiagram
participant User as "Benutzer (Alice)"
participant Mempool as "Mempool (Pool für unbestätigte Transaktionen)"
participant QuantumAttacker as "Quanten-Angreifer"
participant Miner as "Miner (Blockgenerierung)"
User->>Mempool: Senden der Transaktion (inklusive öffentlichem Schlüssel + Signatur)
Mempool-->>QuantumAttacker: Abfangen des öffentlichen Schlüssels im Netzwerk
note right of QuantumAttacker: Ausführung von Shors Algorithmus in Minuten&lt;br/>(Berechnung des privaten Schlüssels aus dem öffentlichen Schlüssel)
QuantumAttacker->>QuantumAttacker: Generierung einer neuen Signatur mit Alices privatem Schlüssel
QuantumAttacker->>Mempool: Senden (Broadcast) der betrügerischen Überweisung mit höherer Miner-Gebühr
Miner->>Miner: Priorisierung der betrügerischen Transaktion mit hoher Gebühr (Gas) für die Aufnahme in den Block
Miner-->>User: Aufzeichnung auf der Blockchain (Verlust von Alices Geldern)&lt;/div>
&lt;p>Sobald der öffentliche Schlüssel an den Mempool (den Wartebereich für unbestätigte Transaktionen) gesendet wurde, werden diese Daten mit Nodes weltweit geteilt. Wenn ein Angreifer über einen ultraschnellen Quantencomputer verfügt, könnte er mit folgendem Prozess Gelder stehlen:&lt;/p>
&lt;ol>
&lt;li>Eine legitime Benutzertransaktion (Alice) aus dem Mempool abfangen und &lt;strong>den öffentlichen Schlüssel extrahieren&lt;/strong>.&lt;/li>
&lt;li>Shors Algorithmus ausführen und &lt;strong>den privaten Schlüssel aus dem öffentlichen Schlüssel innerhalb von Minuten (bevor der Block bestätigt wird) berechnen&lt;/strong>.&lt;/li>
&lt;li>Den erhaltenen privaten Schlüssel verwenden, um &lt;strong>eine gefälschte Transaktion zu erstellen&lt;/strong>, die Alices Gelder an die Adresse des Angreifers sendet.&lt;/li>
&lt;li>Diese gefälschte Transaktion mit einer &lt;strong>viel höheren Miner-Gebühr (Fee)&lt;/strong> als Alices ursprüngliche Transaktion an das Netzwerk senden.&lt;/li>
&lt;/ol>
&lt;p>Miner folgen wirtschaftlichen Anreizen und priorisieren Transaktionen mit hohen Gebühren für die Aufnahme in Blöcke. Infolgedessen wird die betrügerische Überweisung des Angreifers zuerst bestätigt (Confirm), und Alices legitime Überweisung wird als &amp;ldquo;unzureichendes Guthaben (Double Spend)&amp;rdquo; verworfen.
Diese Abfolge von Ereignissen wird als &lt;strong>Front-Running-Angriff (Front-running Attack)&lt;/strong> bezeichnet. In einer Welt, in der Quantencomputer praktisch einsetzbar sind, würde dies zu der erschreckenden Situation führen, dass in dem Moment, in dem jemand auf den Senden-Button drückt, seine Gelder von Hackern gestohlen werden.&lt;/p>
&lt;h3 id="33-die-krise-wiederverwendeter-adressen-und-alter-adressen-p2pk">3.3. Die Krise wiederverwendeter Adressen und alter Adressen (P2PK)
&lt;/h3>&lt;p>Ein noch größeres Problem ist, dass bei Adressen, von denen in der Vergangenheit bereits Gelder gesendet wurden (z. B. wenn sie als Wechselgeldadressen wiederverwendet werden), der öffentliche Schlüssel bereits dauerhaft auf der Blockchain aufgezeichnet ist. Bei diesen Adressen besteht jederzeit die Gefahr, dass der private Schlüssel berechnet und das Guthaben gestohlen wird, ohne dass auf das Senden einer Transaktion gewartet werden muss.&lt;/p>
&lt;p>Darüber hinaus wurde beim &lt;strong>P2PK-Format (Pay-to-Public-Key)&lt;/strong>, das von 2009 bis etwa 2010 vorherrschte und die frühen Mining-Belohnungen von Satoshi Nakamoto (über 1 Million BTC) enthält, der öffentliche Schlüssel selbst direkt als Adresse auf der Blockchain aufgezeichnet, nicht als Hash. Diese massiven Mengen an ruhenden Bitcoins wären das leichteste Ziel für Quantencomputer, und wenn sie alle auf einmal gestohlen und auf den Markt geworfen werden, könnte dies einen massiven Preisverfall auslösen.&lt;/p>
&lt;hr>
&lt;h2 id="4-migrationsszenarien-zur-post-quanten-kryptografie-pqc-post-quantum-cryptography">4. Migrationsszenarien zur Post-Quanten-Kryptografie (PQC: Post-Quantum Cryptography)
&lt;/h2>&lt;p>Um eine solche Katastrophe am &amp;ldquo;Q-Day (dem Tag, an dem die Kryptografie durch Quantencomputer gebrochen wird)&amp;rdquo; zu vermeiden, planen die kryptografische Wissenschaft und die Blockchain-Community den Übergang zur &lt;strong>Post-Quanten-Kryptografie (PQC)&lt;/strong>, die auch von Quantenalgorithmen schwer zu knacken ist.
Das US National Institute of Standards and Technology (NIST) führt seit Jahren einen PQC-Standardisierungsprozess durch, und nach mehreren Runden strenger Evaluierung wurden einige vielversprechende kryptografische Methoden als endgültige Standards ausgewählt.&lt;/p>
&lt;p>Wir werden die wichtigsten PQC-Algorithmen, die als Alternativen für digitale Blockchain-Signaturen Beachtung finden, zusammen mit ihren mathematischen Mechanismen im Detail erläutern.&lt;/p>
&lt;h3 id="41-hash-basierte-signaturen-hash-based-signatures">4.1. Hash-basierte Signaturen (Hash-Based Signatures)
&lt;/h3>&lt;p>Hash-basierte Signaturen sind eine kryptografische Methode, deren Sicherheit ausschließlich auf einer sehr einfachen und starken Grundlage beruht: der &amp;ldquo;Kollisionsresistenz der Hashfunktion&amp;rdquo;. Da die Sicherheit von Hashfunktionen gegen Quantencomputer bereits nachgewiesen ist (wie oben erwähnt, ist eine Sicherheitsmarge von 128 Bit ausreichend), handelt es sich um einen äußerst zuverlässigen Ansatz.
Bemerkenswerte Beispiele sind &lt;strong>Lamport-Signaturen (Lamport Signatures)&lt;/strong>, das davon abgeleitete WOTS (Winternitz One-Time Signature) und der NIST-Standardisierungskandidat &lt;strong>SPHINCS+&lt;/strong> (jetzt als FIPS 205 unter dem Namen SLH-DSA bekannt).&lt;/p>
&lt;h4 id="411-mathematische-details-der-lamport-signatur-one-time-signature">4.1.1. Mathematische Details der Lamport-Signatur (One-Time Signature)
&lt;/h4>&lt;p>Lassen Sie uns den Mechanismus von Lamport-Signaturen in mathematischerem Detail betrachten.
Sei die Hashfunktion $H: \{0, 1\}^* \to \{0, 1\}^{256}$.&lt;/p>
&lt;p>&lt;strong>【Schlüsselerzeugung】&lt;/strong>
Alice (die Senderin) verwendet einen echten Zufallszahlengenerator (TRNG), um 256 Paare von privaten Schlüsseln zu generieren.
&lt;/p>
$$
\text{sk}_{i,0} \in \{0, 1\}^{256}, \quad \text{sk}_{i,1} \in \{0, 1\}^{256} \quad (1 \le i \le 256)
$$
&lt;p>
Der private Schlüssel $\text{sk}$ besteht somit aus insgesamt 512 256-Bit-Strings (Größe: $512 \times 32 = 16.384$ Byte).&lt;/p>
&lt;p>Als nächstes berechnet sie den öffentlichen Schlüssel $\text{pk}$. Jede Komponente des privaten Schlüssels wird individuell gehasht.
&lt;/p>
$$
\text{pk}_{i,0} = H(\text{sk}_{i,0}), \quad \text{pk}_{i,1} = H(\text{sk}_{i,1})
$$
&lt;p>
Der öffentliche Schlüssel ist ebenfalls $16.384$ Byte groß. Dieser wird im Blockchain-Netzwerk veröffentlicht.&lt;/p>
&lt;p>&lt;strong>【Signaturerstellung】&lt;/strong>
Um Transaktionsdaten $M$ zu signieren, berechnet Alice zunächst deren Hashwert.
&lt;/p>
$$
h = H(M) \in \{0, 1\}^{256}
$$
&lt;p>
Sei das $i$-te Bit des Hashwertes $h$ gleich $h_i \in \{0, 1\}$.
Alices Signatur $\sigma$ ist die Menge der privaten Schlüsselkomponenten, die jedem Bit $h_i$ entsprechen.
&lt;/p>
$$
\sigma = (\text{sk}_{1, h_1}, \text{sk}_{2, h_2}, \dots, \text{sk}_{256, h_{256}})
$$
&lt;p>
Mit anderen Worten, wenn das Bit des Nachrichtenhashs &lt;code>0&lt;/code> ist, wird $\text{sk}_{i,0}$ veröffentlicht, und wenn es &lt;code>1&lt;/code> ist, wird $\text{sk}_{i,1}$ veröffentlicht. Die Signaturgröße beträgt $256 \times 32 = 8.192$ Byte.&lt;/p>
&lt;p>&lt;strong>【Signaturprüfung】&lt;/strong>
Der Miner (Prüfer) verwendet die empfangene Transaktion $M$, die Signatur $\sigma = (s_1, s_2, \dots, s_{256})$ und den öffentlichen Schlüssel $\text{pk}$, um eine Überprüfung durchzuführen.
Der Hash der Transaktion $h = H(M)$ wird neu berechnet, und es wird geprüft, ob der Hash jedes $s_i$ mit dem entsprechenden Element $\text{pk}_{i, h_i}$ des öffentlichen Schlüssels übereinstimmt.
&lt;/p>
$$
H(s_i) \overset{?}{=} \text{pk}_{i, h_i} \quad (\text{für alle } 1 \le i \le 256)
$$
&lt;p>Dieser Prozess ist mathematisch extrem einfach, und solange ein Quantencomputer die Funktion $H$ nicht rückrechnen kann, ist es unmöglich, eine Signatur zu fälschen. Da jedoch bei einer Signatur die Hälfte des privaten Schlüssels dem Netzwerk offengelegt wird, führt das Signieren einer anderen Nachricht mit demselben Schlüsselpaar dazu, dass die offengelegten privaten Schlüssel kombiniert werden und dem Angreifer Raum für Fälschungen bieten. Dies führt zu der starken Einschränkung, dass sie nur &amp;ldquo;einmalig (One-Time)&amp;rdquo; verwendet werden können.
Um dies praktikabel zu machen, wurden Technologien wie &lt;strong>XMSS&lt;/strong>, die einen Merkle-Baum verwenden, um zahlreiche One-Time-Schlüssel in einem Stamm-Public-Key (Root Public Key) zu bündeln, und zustandslose (&lt;strong>stateless&lt;/strong>) Methoden wie &lt;strong>SPHINCS+&lt;/strong> entwickelt, die jedoch den Nachteil haben, dass die Signaturgrößen mehrere Dutzend Kilobyte erreichen.&lt;/p>
&lt;h3 id="42-gitterbasierte-kryptografie-lattice-based-cryptography">4.2. Gitterbasierte Kryptografie (Lattice-Based Cryptography)
&lt;/h3>&lt;p>Derzeit ist die &lt;strong>gitterbasierte Kryptografie&lt;/strong> als Mainstream der PQC am vielversprechendsten und wurde als Hauptstandard des NIST übernommen (FIPS 204: ML-DSA / ehemals CRYSTALS-Dilithium sowie Falcon usw.).&lt;/p>
&lt;p>Die Sicherheit der gitterbasierten Kryptografie beruht auf mathematisch bewiesenen schweren Problemen, wie dem &amp;ldquo;Kürzesten-Vektor-Problem (SVP: Shortest Vector Problem)&amp;rdquo; in mehrdimensionalen Gittern oder dem &amp;ldquo;Learning With Errors-Problem (LWE)&amp;rdquo;. Es wurden keine Algorithmen gefunden, die Gitterprobleme selbst mit Quantencomputern effizient lösen.&lt;/p>
&lt;p>&lt;strong>Mathematisches Modell von LWE (Learning With Errors):&lt;/strong>
Die Grundidee des LWE-Problems besteht darin, simultanen linearen Gleichungen absichtlich ein &amp;ldquo;kleines Rauschen (Fehler)&amp;rdquo; hinzuzufügen, um das Problem drastisch zu erschweren.
Sei der geheime Vektor $\mathbf{s} \in \mathbb{Z}_q^n$.
Es gibt eine zufällig ausgewählte große öffentliche Matrix $\mathbf{A} \in \mathbb{Z}_q^{m \times n}$ und einen absichtlich hinzugefügten kleinen Rauschvektor $\mathbf{e} \in \mathbb{Z}_q^m$.
Der öffentliche Schlüssel $\mathbf{b}$ wird wie folgt berechnet:&lt;/p>
$$
\mathbf{b} = \mathbf{A}\mathbf{s} + \mathbf{e} \pmod{q}
$$
&lt;p>Selbst wenn die Matrix $\mathbf{A}$ und der Vektor $\mathbf{b}$ (öffentlicher Schlüssel) öffentlich bekannt sind, ist die Rückrechnung des privaten Schlüssels $\mathbf{s}$ durch das Vorhandensein des Rauschens $\mathbf{e}$ sehr schwierig. Ohne das Rauschen könnte es einfach durch Gaußsche Elimination gelöst werden, aber das Hinzufügen von Rauschen führt zu einer explosiven Vergrößerung des Suchraums in allen Dimensionen, was eine robuste Sicherheit sowohl gegen klassische als auch gegen Quantencomputer bietet.
In tatsächlichen Algorithmen, die in Blockchains und ähnlichem verwendet werden (wie Dilithium), wird dies als &lt;strong>Ring-LWE (oder Module-LWE)&lt;/strong> auf einem Polynomring eingesetzt, um die Schlüsselgröße zu reduzieren und Berechnungen zu beschleunigen.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Vorteile&lt;/strong>: Im Vergleich zu Hash-basierten Signaturen sind der öffentliche Schlüssel und die Signaturgröße relativ klein (wenige Kilobyte), und die Rechengeschwindigkeit für die Signaturerstellung und -überprüfung ist extrem schnell (vergleichbar oder schneller als ECDSA).&lt;/li>
&lt;li>&lt;strong>Nachteile&lt;/strong>: Die mathematische Struktur ist komplex und der historische Bewertungszeitraum ist kurz, sodass das Risiko, dass in Zukunft neue Entschlüsselungsalgorithmen entdeckt werden, nicht Null ist.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="5-technische-herausforderungen-beim-pqc-übergang-in-blockchains">5. Technische Herausforderungen beim PQC-Übergang in Blockchains
&lt;/h2>&lt;p>Auch wenn es PQC-Algorithmen (wie Dilithium oder SPHINCS+) gibt, bedeutet das nicht, dass sie ab morgen in Bitcoin oder Ethereum eingeführt werden können. Es gibt mehrere große Herausforderungen, die spezifisch für dezentrale Systeme sind.&lt;/p>
&lt;h3 id="51-aufblähen-der-signaturgrößen-und-der-zusammenbruch-der-skalierbarkeit">5.1. Aufblähen der Signaturgrößen und der Zusammenbruch der Skalierbarkeit
&lt;/h3>&lt;p>Die größte Hürde bei der Einführung von PQC ist die massive Aufblähung der Datengrößen.
Während die aktuelle Signaturgröße von ECDSA etwa 70 Byte beträgt, beträgt die Signaturgröße von Dilithium (ML-DSA) etwa 2.420 bis 4.595 Byte (je nach Sicherheitsniveau) und die Größe des öffentlichen Schlüssels übersteigt 1.300 Byte. Bei Hash-basiertem SPHINCS+ erreicht allein die Signatur mehrere zehntausend Byte.&lt;/p>
&lt;p>Wenn Bitcoin PQC bei gleicher Blockgrößenbeschränkung (etwa 4 MB Gewicht einschließlich SegWit) einführen würde, würde die Anzahl der Transaktionen, die in einem Block gespeichert werden können, drastisch sinken. Der Durchsatz des Netzwerks (TPS: Transactions Per Second) würde katastrophal abnehmen, und Transaktionsstaus würden zur Norm werden.
Um dies zu beheben, wäre eine deutliche Erhöhung der Blockgröße erforderlich, was jedoch die Speicheranforderungen und Netzwerkbandbreitenanforderungen für Full Nodes erhöhen würde, was es für Einzelpersonen schwierig macht, Nodes zu betreiben, und letztendlich zum Dilemma einer &lt;strong>Zentralisierung des Netzwerks&lt;/strong> führt.&lt;/p>
&lt;div class="mermaid">pie title "Vergleich der Signaturdatengrößen in der Blockchain (Konzeptdiagramm)"
"ECDSA (ca. 70 Bytes)" : 2
"Dilithium ML-DSA (ca. 2.500 Bytes)" : 58
"SPHINCS+ (ca. 17.000 Bytes)" : 40&lt;/div>
&lt;p>&lt;em>(※ Die Datenaufblähung von Transaktionen bei der Einführung von PQC wird zu einem fatalen Engpass für die Skalierbarkeit werden)&lt;/em>&lt;/p>
&lt;h3 id="52-auswirkungen-auf-die-ethereum-virtual-machine-evm-und-vorkompilierte-smart-contracts">5.2. Auswirkungen auf die Ethereum Virtual Machine (EVM) und vorkompilierte Smart Contracts
&lt;/h3>&lt;p>In Turing-vollständigen Smart-Contract-Plattformen wie Ethereum erfordert die Einführung von PQC ein grundlegendes Upgrade der EVM (Ethereum Virtual Machine).
In der aktuellen EVM wird zur Überprüfung von ECDSA-Signaturen ein vorkompilierter Contract (Precompiled Contract) namens &lt;code>ecrecover&lt;/code> (Adresse: &lt;code>0x01&lt;/code>) bereitgestellt, der so optimiert ist, dass er Signaturprüfungen mit sehr niedrigen Gasgebühren (3000 Gas) durchführt.&lt;/p>
&lt;p>Die Verarbeitungslogik für neue Gitter-basierte Kryptoalgorithmen wie Dilithium oder Falcon beinhaltet jedoch komplexe Polynom- oder Matrixoperationen. Wenn sie nur mit bestehenden EVM-Opcodes (Opcode) implementiert würde, könnte eine einzige Signaturüberprüfung Millionen bis Zehnmillionen von Gas verbrauchen. Dies liegt auf einem Niveau, das das aktuelle Block-Gaslimit (etwa 30 Millionen Gas) mit einer einzigen Transaktion aufbrauchen würde.&lt;/p>
&lt;p>Um dies zu vermeiden, ist es notwendig, durch einen Hard Fork (Hard Fork) des Netzwerks einen neuen Precompiled Contract zur PQC-Überprüfung (z.B. Zuweisung von DilithiumVerify zu &lt;code>0x10&lt;/code>) in die EVM selbst aufzunehmen. Dies erfordert einen langfristigen Prozess, bei dem die Core-Entwickler jedes Ethereum-Clients (Geth, Nethermind, Erigon usw.) zusammenarbeiten, um die Logik der Gitterkryptografie-Überprüfung auf Sprachebene in C++, Go, Rust usw. optimiert zu implementieren und Sicherheitsaudits durchzuführen.&lt;/p>
&lt;h3 id="53-schwierigkeit-der-konsensfindung-durch-hard-forks">5.3. Schwierigkeit der Konsensfindung durch Hard Forks
&lt;/h3>&lt;p>Um den zugrunde liegenden Signaturalgorithmus zu ändern, ist ein &lt;strong>Hard Fork (Hard Fork)&lt;/strong> erforderlich, der das Protokoll des gesamten Netzwerks aktualisiert. Der Prozess zur Erzielung eines Konsenses ist jedoch in Gemeinschaften wie Bitcoin, die großen Wert auf &amp;ldquo;Keine Regeländerungen und Dezentralisierung&amp;rdquo; legen, politisch extrem schwierig. Von dem Moment an, in dem ein BIP (Bitcoin Improvement Proposal) für den Übergang zu PQC vorgeschlagen wird, bis zu seiner Umsetzung werden Jahre der Diskussion und Tests erforderlich sein.&lt;/p>
&lt;hr>
&lt;h2 id="6-wann-kommt-der-q-day-roadmap-für-die-migration">6. Wann kommt der &amp;ldquo;Q-Day&amp;rdquo;? Roadmap für die Migration
&lt;/h2>&lt;p>Wann wird der &amp;ldquo;Q-Day&amp;rdquo;, an dem Quantencomputer die 256-Bit Elliptic Curve Cryptography vollständig entschlüsseln, eintreten?
Obwohl die Meinungen unter Forschern auseinandergehen, prognostizieren viele Experten, dass groß angelegte Quantencomputer mit Tausenden bis Zehntausenden stabiler logischer Qubits (fehlerkorrigierte Qubits mit Rauschtoleranz) &lt;strong>&amp;ldquo;zwischen Mitte der 2030er und den 2040er Jahren&amp;rdquo;&lt;/strong> auf den Markt kommen werden. Je nach Durchbrüchen in der Hardware-Architektur oder der Entdeckung effizienterer Quantenalgorithmen kann jedoch nicht ausgeschlossen werden, dass dieser Zeitpunkt früher eintreten könnte (um 2030).&lt;/p>
&lt;p>Die Roadmap, die das Krypto-Asset-Ökosystem einschlagen sollte, bevor es zu spät ist, sieht wie folgt aus.&lt;/p>
&lt;h3 id="phase-1-hybride-signaturen-und-kontoabstraktion-account-abstraction-jetzt-bis-ca-2028">Phase 1: Hybride Signaturen und Kontoabstraktion (Account Abstraction) (Jetzt bis ca. 2028)
&lt;/h3>&lt;p>Die derzeitige Blockchain-Community, insbesondere das Ethereum-Entwicklungsteam (Vitalik Buterin usw.), erwägt &lt;strong>&amp;ldquo;hybride Signaturen&amp;rdquo;&lt;/strong>, die ECDSA und PQC (Hash-basierte Signaturen oder gitterbasierte Kryptografie) kombinieren. Dies ist ein Ansatz, bei dem einer Transaktion sowohl die bestehende sichere ECDSA-Signatur als auch eine PQC-Signatur hinzugefügt werden, wodurch die Sicherheit erhalten bleibt, selbst wenn eine davon gebrochen wird.
Darüber hinaus werden durch die Nutzung der Kontoabstraktion (Account Abstraction, ERC-4337) Bemühungen vorangetrieben, PQC-Signaturen auf Smart-Contract-Wallets auf Opt-in-Basis (nur für Benutzer, die dies wünschen) zu implementieren und zu unterstützen, ohne auf einen Protokoll-Hard-Fork zu warten.&lt;/p>
&lt;h3 id="phase-2-nutzung-von-zero-knowledge-proofs-zk-rollups-2025-">Phase 2: Nutzung von Zero-Knowledge Proofs (ZK-Rollups) (2025 ~)
&lt;/h3>&lt;p>Die Trumpfkarte zur Lösung des größten Schwachpunkts von PQC, der &amp;ldquo;Aufblähung von Signaturdaten&amp;rdquo;, ist die erwartete Nutzung der Layer-2-Technologie, &lt;strong>ZK-Rollups (Zero-Knowledge Proofs)&lt;/strong>.
Anstatt riesige PQC-Signaturdaten direkt in Layer 1 (die Mainchain) zu schreiben, werden zahlreiche PQC-Transaktionen auf Layer 2 verifiziert und aggregiert. Dann werden sie mithilfe von ZK-SNARKs oder ZK-STARKs in einen extrem kleinen, einzelnen &amp;ldquo;Beweis (Proof)&amp;rdquo; komprimiert und auf Layer 1 aufgezeichnet.
Es ist anzumerken, dass bestimmte SNARK-Konstruktionen (wie Groth16) selbst quanten-anfällig sind. Daher ist die Annahme von &lt;strong>ZK-STARKs&lt;/strong>, die sich ausschließlich auf quantenresistente Hashfunktionen stützen, der Schlüssel.&lt;/p>
&lt;h3 id="phase-3-protokoll-level-hard-fork-ca-2030">Phase 3: Protokoll-Level Hard Fork (ca. 2030)
&lt;/h3>&lt;p>Sobald die NIST-Standardisierung für PQC vollständig etabliert ist und branchenübliche Bibliotheken verfügbar und gründlich getestet sind, wird erwartet, dass große Chains wie Bitcoin und Ethereum einen Hard Fork durchführen, um die Standard-Signaturmethode vollständig auf PQC umzustellen. Während dieser Übergangsphase wird es groß angelegte Ankündigungen geben, die die Benutzer auffordern, &amp;ldquo;ihre Gelder von alten Wallets in neue PQC-kompatible Wallets zu verschieben&amp;rdquo;.&lt;/p>
&lt;h3 id="wegweisende-projektbeispiele">Wegweisende Projektbeispiele
&lt;/h3>&lt;p>Einige Blockchain-Projekte haben diese Quantenbedrohung antizipiert und wurden von Anfang an mit dem Anspruch auf Quantenresistenz entwickelt.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>QRL (Quantum Resistant Ledger)&lt;/strong>: Eine frühe Blockchain, die XMSS (eXtended Merkle Signature Scheme), eine Hash-basierte PQC, nativ auf Protokollebene implementiert hat.&lt;/li>
&lt;li>&lt;strong>Algorand / Cellframe&lt;/strong>: Projektgruppen, die über eine flexible modulare Architektur der Kryptografie-Schicht im Hinblick auf zukünftige PQC-Updates verfügen und aktiv nach der Integration von Gitterkryptografie suchen.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="7-fazit-die-zukunft-von-krypto-assets-und-der-schutz-unserer-vermögenswerte">7. Fazit: Die Zukunft von Krypto-Assets und der Schutz unserer Vermögenswerte
&lt;/h2>&lt;p>Die Ankunft des &amp;ldquo;Post-Quanten-Zeitalters&amp;rdquo; hat den Bereich der reinen Science-Fiction überschritten und steht uns bereits als konkretes technisches Problem für reale kryptografische Systeme unmittelbar bevor.&lt;/p>
&lt;p>Die beiden Schwerter des Quantencomputings, Shors Algorithmus und Grovers Algorithmus, bedrohen die Grundlage der heutigen Blockchains, nämlich die Public-Key-Kryptografie bzw. Hashfunktionen. Insbesondere die Verwundbarkeit von ECDSA ist fatal, und der Übergang zur Post-Quanten-Kryptografie (PQC) ist eine absolute Notwendigkeit, um das Risiko eines Diebstahls von Geldern durch Front-Running-Angriffe zu vermeiden.&lt;/p>
&lt;p>Die Tech-Welt und die Blockchain-Community warten jedoch nicht tatenlos auf den Weltuntergang. Die Auswahl und Standardisierung von PQC-Algorithmen wie der gitterbasierten Kryptografie und Hash-basierten Signaturen schreitet stetig voran, und durch den Einsatz von Zero-Knowledge-Proofs (ZK-STARKs) und Layer-2-Skalierungstechnologien zeichnet sich ein Weg ab, das größte Hindernis der PQC-Einführung, die &amp;ldquo;Aufblähung der Datengröße&amp;rdquo;, zu überwinden.&lt;/p>
&lt;p>Normale Krypto-Benutzer und Investoren wie wir müssen jetzt nicht in Panik geraten und alle unsere Gelder verkaufen. Es ist jedoch wichtig, ein grundlegendes Verständnis und Bewusstsein für den Selbstschutz wie folgt zu haben:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Vermeiden Sie die Wiederverwendung von Adressen&lt;/strong>: Vermeiden Sie es strikt, Gelder für lange Zeiträume an &amp;ldquo;verwendeten Adressen (Adressen, von denen mindestens einmal Gelder gesendet wurden und der öffentliche Schlüssel auf der Blockchain freigelegt ist)&amp;rdquo; zu speichern. Dies gilt nicht nur aus Gründen des Datenschutzes, sondern auch aus Sicherheitsgründen.&lt;/li>
&lt;li>&lt;strong>Behalten Sie Technologietrends im Auge&lt;/strong>: Verfolgen Sie Nachrichten über Diskussionen und Hard Forks im Zusammenhang mit der PQC-Migration auf großen Netzwerken wie Bitcoin-BIPs oder Ethereum-EIPs, damit Sie Ihre Wallets bei Bedarf rechtzeitig migrieren können.&lt;/li>
&lt;/ul>
&lt;p>Die Geschichte der Blockchain ist immer eine Geschichte von Upgrades und Widerstandsfähigkeit (Resilience) gegenüber neuen technologischen Bedrohungen. So wie sie Skalierbarkeitsprobleme und Umweltbedenken (wie den Übergang von PoW zu PoS) überwunden hat, wird das gesamte Ökosystem zweifellos nach Lösungen für diese beispiellose Quantenbedrohung suchen und sich anpassen.
Wir können auf eine Zukunft hoffen, in der die neue Weisheit der Menschheit in Form von Quantencomputern und die Vertrauenstechnologie dezentraler Ledger nicht durch eine Kollision zusammenbrechen, sondern auf einer höheren Ebene zu einem robusteren System verschmelzen.&lt;/p>
&lt;hr>
&lt;p>&lt;em>Referenzen und weiterführende Links:&lt;/em>&lt;/p>
&lt;ul>
&lt;li>National Institute of Standards and Technology (NIST) - Post-Quantum Cryptography Standardization Project&lt;/li>
&lt;li>Shor, P. W. (1994). Algorithms for quantum computation: discrete logarithms and factoring.&lt;/li>
&lt;li>Grover, L. K. (1996). A fast quantum mechanical algorithm for database search.&lt;/li>
&lt;li>Buterin, V. (2024). How to hard-fork to save most users&amp;rsquo; funds in a quantum emergency.&lt;/li>
&lt;/ul></description></item><item><title>Quanten-Annealing und Quantengatter-Modell im Vergleich leicht erklärt</title><link>http://kenji.blog/de/p/quantum-annealing-vs-gate-model-explained/</link><pubDate>Fri, 11 Sep 2026 12:00:00 +0900</pubDate><guid>http://kenji.blog/de/p/quantum-annealing-vs-gate-model-explained/</guid><description>&lt;img src="http://kenji.blog/p/quantum-annealing-vs-gate-model-explained/img/eyecatch.jpg" alt="Featured image of post Quanten-Annealing und Quantengatter-Modell im Vergleich leicht erklärt" />&lt;h1 id="quanten-annealing-und-quantengatter-modell-im-vergleich-leicht-erklärt">Quanten-Annealing und Quantengatter-Modell im Vergleich leicht erklärt
&lt;/h1>&lt;p>Quantencomputing ist eine Rechentechnologie der nächsten Generation mit dem Potenzial, bestimmte Probleme, für die moderne klassische Computer (einschließlich herkömmlicher Supercomputer) enorm viel Rechenzeit benötigen würden, mithilfe quantenmechanischer Prinzipien (Superposition und Quantenverschränkung) drastisch schneller zu lösen.&lt;/p>
&lt;p>Derzeit gibt es für die Realisierung von Quantencomputern im Wesentlichen zwei Mainstream-Paradigmen: &lt;strong>&amp;ldquo;Quanten-Annealing&amp;rdquo; (Quantum Annealing)&lt;/strong> und das &lt;strong>&amp;ldquo;Quantengatter-Modell&amp;rdquo; (Quantum Gate Model)&lt;/strong>. Diese beiden Ansätze unterscheiden sich grundlegend in den zugrunde liegenden physikalischen Prinzipien, den bevorzugten Rechenaufgaben und den Hardware-Herausforderungen bei der Implementierung.&lt;/p>
&lt;p>In diesem Artikel werden wir diese beiden Ansätze aus einer sehr detaillierten und technischen Perspektive umfassend vergleichen und erläutern – von den physikalischen Prinzipien und mathematischen Modellen (Ising-Modell, QUBO, unitäre Transformationen usw.) über die aktuellen technischen Grenzen bis hin zu konkreten Anwendungsfällen.&lt;/p>
&lt;hr>
&lt;h2 id="1-grundlagen-des-quantencomputings-der-fundamentale-unterschied-zu-klassischen-computern">1. Grundlagen des Quantencomputings: Der fundamentale Unterschied zu klassischen Computern
&lt;/h2>&lt;p>Klassische Computer verarbeiten Informationen als &amp;ldquo;Bits&amp;rdquo;, die den Zustand &amp;ldquo;0&amp;rdquo; oder &amp;ldquo;1&amp;rdquo; annehmen. Quantencomputer hingegen verwenden &amp;ldquo;Quantenbits (Qubits)&amp;rdquo;. Durch das quantenmechanische Prinzip der &amp;ldquo;Superposition&amp;rdquo; (Überlagerung) können Qubits mit bestimmten Wahrscheinlichkeiten gleichzeitig die Zustände 0 und 1 annehmen.&lt;/p>
&lt;p>Darüber hinaus sind durch das Phänomen der &amp;ldquo;Quantenverschränkung&amp;rdquo; (Entanglement) die Zustände mehrerer Qubits stark miteinander korreliert, sodass eine Operation an einem Qubit das gesamte System augenblicklich beeinflusst. Dies ermöglicht eine Art parallele Verarbeitung (Quantenparallelität).&lt;/p>
&lt;p>Quantenzustände sind jedoch extrem anfällig für externes Rauschen (wie Wärme oder elektromagnetische Strahlung). Das Phänomen der &amp;ldquo;Dekohärenz&amp;rdquo; (Decoherence), bei dem der Zustand zusammenbricht und in einen klassischen Zustand zurückfällt, stellt eine große Herausforderung dar. Die unterschiedlichen Herangehensweisen an dieses Rauschproblem führen zu den großen Unterschieden in der Designphilosophie zwischen Annealing und dem Gatter-Modell.&lt;/p>
&lt;hr>
&lt;h2 id="2-details-zum-quanten-annealing-quantum-annealing">2. Details zum Quanten-Annealing (Quantum Annealing)
&lt;/h2>&lt;p>Quanten-Annealing ist eine spezialisierte Rechenarchitektur, die hauptsächlich auf die Lösung von &lt;strong>&amp;ldquo;kombinatorischen Optimierungsproblemen&amp;rdquo;&lt;/strong> zugeschnitten ist. Sie basiert auf der 1998 von Hidetoshi Nishimori und Tadashi Kadowaki (Tokyo Institute of Technology) vorgeschlagenen Theorie und wurde durch die weltweit erste kommerzielle Umsetzung des kanadischen Unternehmens D-Wave Systems weithin bekannt.&lt;/p>
&lt;h3 id="21-physikalischer-mechanismus-transversalfeld-ising-modell-und-quantenfluktuation">2.1. Physikalischer Mechanismus: Transversalfeld-Ising-Modell und Quantenfluktuation
&lt;/h3>&lt;p>Das Quanten-Annealing macht sich die Eigenschaft natürlicher physikalischer Systeme zunutze, sich in den Zustand mit der niedrigsten Energie (Grundzustand) einzupendeln.&lt;/p>
&lt;p>Beim klassischen Ansatz, dem &amp;ldquo;Simulated Annealing&amp;rdquo;, werden thermische Fluktuationen genutzt, um aus lokalen Optima (lokalen Minima) zu entkommen. Das Quanten-Annealing nutzt stattdessen &amp;ldquo;Quantenfluktuationen&amp;rdquo; (Quantum Fluctuation) und durchdringt mittels des &amp;ldquo;Quanten-Tunneleffekts&amp;rdquo; (Quantum Tunneling) Energiebarrieren, um so effizienter nach dem globalen Optimum (globalen Minimum) zu suchen.&lt;/p>
&lt;p>Die zeitliche Entwicklung eines Quanten-Annealing-Systems wird durch den folgenden Hamiltonoperator (ein Operator, der die Gesamtenergie des Systems darstellt) $H(t)$ beschrieben:&lt;/p>
$$ H(t) = A(t) H_0 + B(t) H_P $$
&lt;p>Dabei ist $t$ die Zeit, $A(t)$ eine allmählich abnehmende Funktion und $B(t)$ eine allmählich zunehmende Funktion.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>$H_0$ (Anfangs-Hamiltonoperator)&lt;/strong>: Stellt das Transversalfeld (Transverse field) dar und erzeugt Quantenfluktuationen.
$$ H_0 = - \sum_{i} \sigma_i^x $$
($\sigma_i^x$ ist die Pauli-X-Matrix und repräsentiert einen Bit-Flip.)&lt;/li>
&lt;li>&lt;strong>$H_P$ (Problem-Hamiltonoperator)&lt;/strong>: Ein Ising-Modell, das das zu lösende Optimierungsproblem repräsentiert.&lt;/li>
&lt;/ul>
&lt;p>Im Anfangszustand ($t=0$) ist $A(0)$ maximal, und das System befindet sich im Grundzustand von $H_0$ (ein Zustand, in dem alle möglichen Zustände gleichmäßig überlagert sind). Im Laufe der Zeit wird das Transversalfeld langsam abgeschwächt, während gleichzeitig die Wechselwirkungen des Problem-Hamiltonoperators verstärkt werden.&lt;/p>
&lt;h3 id="22-adiabatisches-quantencomputing-adiabatic-quantum-computation">2.2. Adiabatisches Quantencomputing (Adiabatic Quantum Computation)
&lt;/h3>&lt;p>Wichtig bei diesem Prozess ist das &lt;strong>&amp;ldquo;Adiabatentheorem&amp;rdquo; (Adiabatic Theorem)&lt;/strong>. Nach diesem Theorem bleibt ein System, wenn es &amp;ldquo;langsam genug&amp;rdquo; (adiabatisch) verändert wird, stets im Grundzustand des jeweiligen momentanen Hamiltonoperators.&lt;/p>
&lt;p>Das bedeutet, dass das System, wenn schließlich $A(t) \to 0$ und $B(t) \to 1$ erreicht ist, den Grundzustand von $H_P$ erreicht hat, d. h. die &lt;strong>&amp;ldquo;exakte Lösung des Optimierungsproblems&amp;rdquo;&lt;/strong>.&lt;/p>
&lt;div class="mermaid">graph TD
A["Hamiltonoperator H_0 (Anfangszustand)"] -->|"Adiabatische Änderung (langsam genug)"| B["Bleibt stets im Grundzustand"]
A -->|"Nicht-adiabatische Änderung (zu schnell/thermisches Rauschen)"| C["Übergang in angeregte Zustände (Fehler)"]
B --> D["Hamiltonoperator H_P (Globales Optimum)"]
C --> E["Gefangen in lokalem Optimum"]
D --> F["Auslesen der Lösung"]
E --> F&lt;/div>
&lt;h3 id="23-mapping-von-qubo-auf-das-ising-modell">2.3. Mapping von QUBO auf das Ising-Modell
&lt;/h3>&lt;p>Um reale Probleme auf einem Quanten-Annealer zu lösen, muss das Problem in Form eines &lt;strong>QUBO (Quadratic Unconstrained Binary Optimization)&lt;/strong> formuliert werden.&lt;/p>
&lt;p>Die Zielfunktion eines QUBO ist wie folgt definiert:
&lt;/p>
$$ \min_{x \in \{0,1\}^n} \sum_{i} Q_{ii} x_i + \sum_{i &lt; j} Q_{ij} x_i x_j $$
&lt;p>
Hierbei ist $x_i \in \{0, 1\}$ eine binäre Variable und $Q$ eine Gewichtsmatrix.&lt;/p>
&lt;p>Da die Hardware (wie D-Wave) mit physikalischen Spins (Spin-Up/Spin-Down) arbeitet, müssen die Variablen in ein Ising-Modell mit $\sigma_i \in \{-1, +1\}$ transformiert werden. Die Transformationsgleichung lautet:
&lt;/p>
$$ x_i = \frac{1 - \sigma_i}{2} \quad \text{oder} \quad \sigma_i = 1 - 2x_i $$
&lt;p>Setzt man dies in die QUBO-Gleichung ein und vereinfacht, erhält man den Hamiltonoperator $H_P$ des Ising-Modells:
&lt;/p>
$$ H_P = - \sum_{i&lt;j} J_{ij} \sigma_i^z \sigma_j^z - \sum_{i} h_i \sigma_i^z $$
&lt;ul>
&lt;li>$J_{ij}$: Wechselwirkung zwischen Spins (Kopplungskoeffizient). Entspricht der Kopplungsstärke zwischen physikalischen Qubits.&lt;/li>
&lt;li>$h_i$: Lokales Magnetfeld (Bias) für jeden Spin.&lt;/li>
&lt;/ul>
&lt;h3 id="24-hardware-und-herausforderungen-des-quanten-annealings-beispiel-d-wave">2.4. Hardware und Herausforderungen des Quanten-Annealings (Beispiel D-Wave)
&lt;/h3>&lt;p>Die Quantenprozessoren von D-Wave werden mithilfe von supraleitenden Quanteninterferenz-Einheiten (SQUIDs) realisiert. Die physikalische Kopplung zwischen Qubits hängt von der Hardware-Verkabelung ab und ist nicht vollständig (nicht alle Qubits sind miteinander verbunden).
Ausgehend vom ursprünglichen &amp;ldquo;Chimera-Graphen&amp;rdquo; über den &amp;ldquo;Pegasus-Graphen&amp;rdquo; bis hin zum &amp;ldquo;Zephyr-Graphen&amp;rdquo; hat sich die Konnektivität zwar verbessert, bleibt aber eingeschränkt.&lt;/p>
&lt;p>Daher ist ein &lt;strong>&amp;ldquo;Minor Embedding&amp;rdquo;&lt;/strong> erforderlich, um Probleme mit komplexer Graphenstruktur auf den physikalischen Graphen abzubilden. Dabei wird eine logische Variable durch mehrere physikalische Qubits (Ketten) repräsentiert, was die Anzahl der nutzbaren effektiven Qubits verringert und zu einer Verringerung der Rechengenauigkeit führt.&lt;/p>
&lt;hr>
&lt;h2 id="3-details-zum-quantengatter-modell-quantum-gate-model">3. Details zum Quantengatter-Modell (Quantum Gate Model)
&lt;/h2>&lt;p>Das Quantengatter-Modell ist eine quantenmechanische Erweiterung klassischer Logikgatter (AND, OR, NOT usw.) und ermöglicht &lt;strong>&amp;ldquo;Universelles Quantencomputing&amp;rdquo; (Universal Quantum Computation)&lt;/strong>. Viele Unternehmen wie IBM, Google, Rigetti und IonQ verfolgen diesen Ansatz.&lt;/p>
&lt;h3 id="31-unitäre-transformationen-und-zustandsvektor">3.1. Unitäre Transformationen und Zustandsvektor
&lt;/h3>&lt;p>Beim Quantengatter-Modell wird der Gesamtzustand des Qubit-Systems als &amp;ldquo;Zustandsvektor&amp;rdquo; (State Vector) $|\psi\rangle$ dargestellt. Der Zustand eines einzelnen Qubits wird als Linearkombination der Basiszustände $|0\rangle$ und $|1\rangle$ wie folgt beschrieben:
&lt;/p>
$$ |\psi\rangle = \alpha |0\rangle + \beta |1\rangle $$
&lt;p>
Hierbei sind $\alpha$ und $\beta$ komplexe Wahrscheinlichkeitsamplituden, für die $|\alpha|^2 + |\beta|^2 = 1$ gilt. Dieser Zustand wird geometrisch oft als Punkt auf der &amp;ldquo;Bloch-Kugel&amp;rdquo; (Bloch Sphere) veranschaulicht.&lt;/p>
&lt;p>Rechenschritte im Quantencomputer werden als Anwendung eines &lt;strong>unitären Operators (Unitary Operator) $U$&lt;/strong> auf den Zustandsvektor beschrieben. Unitäre Matrizen haben die Eigenschaft $U^\dagger U = I$ (das Produkt mit der hermitesch konjugierten Matrix ergibt die Einheitsmatrix) und stellen umkehrbare Operationen dar, die der zeitlichen Entwicklung der Schrödingergleichung in der Quantenmechanik entsprechen:
&lt;/p>
$$ |\psi_{t+1}\rangle = U_t |\psi_t\rangle $$
&lt;h3 id="32-grundlegende-quantengatter-und-das-schaltkreismodell">3.2. Grundlegende Quantengatter und das Schaltkreismodell
&lt;/h3>&lt;p>Quantenalgorithmen werden als eine Abfolge von Quantengattern (Quantenschaltkreis) entworfen.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Pauli-Gatter (X, Y, Z)&lt;/strong>: 180-Grad-Rotationen um die jeweiligen Achsen der Bloch-Kugel. Das X-Gatter entspricht dem klassischen NOT-Gatter.&lt;/li>
&lt;li>&lt;strong>Hadamard-Gatter (H)&lt;/strong>: Überführt $|0\rangle$ in $\frac{|0\rangle + |1\rangle}{\sqrt{2}}$ und erzeugt so einen Superpositionszustand.
$$ H = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 &amp; 1 \\ 1 &amp; -1 \end{pmatrix} $$&lt;/li>
&lt;li>&lt;strong>CNOT-Gatter (Controlled-NOT)&lt;/strong>: Ein 2-Qubit-Gatter. Es wendet das X-Gatter nur dann auf das Ziel-Qubit an, wenn das Kontroll-Qubit $|1\rangle$ ist. Dadurch wird Quantenverschränkung (Entanglement) erzeugt.&lt;/li>
&lt;/ul>
&lt;p>Jeder Quantenalgorithmus kann näherungsweise durch eine Kombination aus wenigen Einzel-Qubit-Gattern und CNOT-Gattern dargestellt werden (universelles Gatter-Set).&lt;/p>
&lt;div class="mermaid">graph LR
Q0["Qubit 0: |0>"] --> H1["Hadamard-Gatter (H)"]
Q1["Qubit 1: |0>"] --> I1["Identitätsoperation (I)"]
H1 --> C1["Kontroll-Qubit (Control)"]
I1 --> T1["Ziel-Qubit (Target)"]
C1 -. "Verschränkung" .- T1
C1 --> M0["Messung (Measurement)"]
T1 --> M1["Messung (Measurement)"]
M0 --> Result["Klassisches Ergebnis (0 oder 1)"]
M1 --> Result&lt;/div>
&lt;h3 id="33-fehlerkorrektur-und-der-weg-von-nisq-zu-ftqc">3.3. Fehlerkorrektur und der Weg von NISQ zu FTQC
&lt;/h3>&lt;p>Die größte Herausforderung des Quantengatter-Modells ist die &amp;ldquo;Dekohärenz&amp;rdquo;, bei der der Quantenzustand durch Rauschen zerstört wird. Je tiefer die Rechenschritte (Gattertiefe), desto mehr Fehler akkumulieren sich.&lt;/p>
&lt;p>Für ideale Berechnungen ist eine &lt;strong>Quantenfehlerkorrektur (Quantum Error Correction)&lt;/strong> unerlässlich. Bei Methoden wie dem &amp;ldquo;Surface Code&amp;rdquo; werden beispielsweise mehrere physikalische Qubits gebündelt, um ein fehlerfreies &amp;ldquo;logisches Qubit&amp;rdquo; (Logical Qubit) zu bilden. Um jedoch ein einziges logisches Qubit zu erzeugen, werden Tausende bis Zehntausende physikalische Qubits benötigt, was zu einem enormen Overhead führt.&lt;/p>
&lt;p>Wir befinden uns derzeit in der Ära der &lt;strong>NISQ (Noisy Intermediate-Scale Quantum)&lt;/strong> Geräte, die über Dutzende bis Hunderte von Qubits ohne Fehlerkorrektur verfügen. Die Realisierung von &lt;strong>FTQC (Fault-Tolerant Quantum Computing)&lt;/strong>, das vollständige Fehlerkorrektur bietet, erfordert noch viele Durchbrüche.&lt;/p>
&lt;hr>
&lt;h2 id="4-zusammenfassung-des-technischen-und-mathematischen-vergleichs">4. Zusammenfassung des technischen und mathematischen Vergleichs
&lt;/h2>&lt;p>Vergleich der grundlegenden Unterschiede beider Architekturen:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">Vergleichsmerkmal&lt;/th>
&lt;th style="text-align:left">Quanten-Annealing (Quantum Annealing)&lt;/th>
&lt;th style="text-align:left">Quantengatter-Modell (Gate Model)&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Rechenmodell&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Adiabatisches Quantencomputing (Kontinuierliche zeitliche Entwicklung des Hamiltonoperators)&lt;/td>
&lt;td style="text-align:left">Unitäre Transformation (Diskrete Abfolge von Gatteroperationen)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Geeignete Probleme&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Kombinatorische Optimierungsprobleme (QUBO, Ising-Modell)&lt;/td>
&lt;td style="text-align:left">Universell (Quantenchemiesimulation, Primfaktorzerlegung, Suche usw.)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Ausdruckskraft&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Heuristische Optimierung (Näherungslösungen)&lt;/td>
&lt;td style="text-align:left">Äquivalent zu einer universellen Quantenturingmaschine (theoretisch alle Berechnungen möglich)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Implementierungsbeispiele&lt;/strong>&lt;/td>
&lt;td style="text-align:left">D-Wave Systems&lt;/td>
&lt;td style="text-align:left">IBM, Google, Quantinuum, IonQ usw.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Toleranz gegenüber Rauschen&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Relativ robust (da es nahe dem Grundzustand bleibt, ist ein gewisses Maß an thermischem Rauschen tolerierbar)&lt;/td>
&lt;td style="text-align:left">Sehr anfällig (geringes Rauschen verschiebt die Phase und zerstört das Rechenergebnis)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Skalierbarkeit&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Tausende bis Zehntausende Qubits (abhängig von der physikalischen Struktur; logische Qubits schwer umsetzbar)&lt;/td>
&lt;td style="text-align:left">Hunderte Qubits (für FTQC sind Millionen erforderlich)&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Das Quanten-Annealing eignet sich als &amp;ldquo;zweckspezifischer Coprozessor&amp;rdquo;, um kombinatorische Optimierungsprobleme zu lösen und so die Grenzen klassischer Computer zu ergänzen. Das Quantengatter-Modell hingegen ist die Quantenversion des &amp;ldquo;Allzweckrechners&amp;rdquo; und zielt darauf ab, die Rechenleistung klassischer Computer letztendlich zu übertreffen (Quantenüberlegenheit), jedoch ist der Bau der Hardware extrem schwierig.&lt;/p>
&lt;hr>
&lt;h2 id="5-aktuelle-grenzen-und-herausforderungen">5. Aktuelle Grenzen und Herausforderungen
&lt;/h2>&lt;h3 id="grenzen-des-quanten-annealings">Grenzen des Quanten-Annealings
&lt;/h3>&lt;ol>
&lt;li>&lt;strong>Eingeschränkte Konnektivität (Connectivity)&lt;/strong>: Durch das zuvor erwähnte Minor Embedding steigt die Anzahl der benötigten physikalischen Qubits mit der Problemgröße exponentiell an.&lt;/li>
&lt;li>&lt;strong>Präzision der Koeffizienten (Precision)&lt;/strong>: Physikalische Fehler beim Einstellen analoger Parameter wie $J_{ij}$ und $h_i$ auf der Hardware wirken sich direkt auf die Qualität der Lösung aus.&lt;/li>
&lt;li>&lt;strong>Temperatur und nicht-adiabatische Übergänge&lt;/strong>: Da die Systemtemperatur nicht am absoluten Nullpunkt liegt, besteht die Wahrscheinlichkeit, dass thermische Anregungen das System vom optimalen Zustand abbringen.&lt;/li>
&lt;/ol>
&lt;h3 id="grenzen-des-quantengatter-modells">Grenzen des Quantengatter-Modells
&lt;/h3>&lt;ol>
&lt;li>&lt;strong>Kohärenzzeit (Coherence Time)&lt;/strong>: Die Zeit, in der ein Quantenzustand aufrechterhalten werden kann, liegt nur im Bereich von Mikrosekunden bis Millisekunden, was die Anzahl der in dieser Zeit ausführbaren Gatter (Tiefe des Schaltkreises) stark begrenzt.&lt;/li>
&lt;li>&lt;strong>Gatter-Fidelität (Gate Fidelity)&lt;/strong>: Die Fehlerrate von 2-Qubit-Gattern (wie CNOT) ist noch nicht niedrig genug (im Allgemeinen etwa 99,x %). Für die Realisierung von FTQC muss diese auf über 99,99 % gesteigert werden.&lt;/li>
&lt;li>&lt;strong>Quantenvolumen (Quantum Volume)&lt;/strong>: Die Skalierung nicht nur der bloßen Qubit-Anzahl, sondern der effektiven Rechenleistung (Quantenvolumen) unter Berücksichtigung von Vernetzung und Fehlerraten ist derzeit die größte Herausforderung.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="6-konkrete-anwendungsfälle-und-algorithmen">6. Konkrete Anwendungsfälle und Algorithmen
&lt;/h2>&lt;p>Betrachten wir die spezifischen Anwendungsbereiche, in denen jede der beiden Methoden ihre Stärken hat.&lt;/p>
&lt;h3 id="61-anwendungsfälle-des-quanten-annealings">6.1. Anwendungsfälle des Quanten-Annealings
&lt;/h3>&lt;ul>
&lt;li>&lt;strong>Logistik und Routing&lt;/strong>: Routenoptimierung für Lieferfahrzeuge (Varianten des Problems des Handlungsreisenden). Echtzeit-Routenfindung unter Berücksichtigung von Verkehrsstaus.&lt;/li>
&lt;li>&lt;strong>Finanzmathematik&lt;/strong>: Portfoliooptimierung. Finden von Anlagekombinationen, die das Risiko minimieren und gleichzeitig die Rendite maximieren.&lt;/li>
&lt;li>&lt;strong>Maschinelles Lernen&lt;/strong>: Feature Selection. Auswahl der Variablenkombinationen aus riesigen Datensätzen, die am meisten zur Vorhersage beitragen.&lt;/li>
&lt;li>&lt;strong>Fertigungsindustrie&lt;/strong>: Job-Shop-Scheduling-Probleme in Fabriken (welches Bauteil soll auf welcher Maschine in welcher Reihenfolge am schnellsten bearbeitet werden).&lt;/li>
&lt;/ul>
&lt;h3 id="62-anwendungsfälle-des-quantengatter-modells">6.2. Anwendungsfälle des Quantengatter-Modells
&lt;/h3>&lt;ul>
&lt;li>&lt;strong>Quantenchemiesimulation&lt;/strong>: Hochpräzise Simulation von molekularen Energiezuständen und chemischen Reaktionen.&lt;/li>
&lt;li>&lt;strong>Primfaktorzerlegung (Shor-Algorithmus)&lt;/strong>: Ein Algorithmus zur Zerlegung riesiger zusammengesetzter Zahlen in Polynomzeit. Wenn dieser praxistauglich wird, könnte er heutige Public-Key-Infrastrukturen wie RSA brechen, weshalb der Übergang zur Post-Quanten-Kryptographie (PQC) dringlich ist.&lt;/li>
&lt;li>&lt;strong>Datenbanksuche (Grover-Algorithmus)&lt;/strong>: Bei der Suche nach bestimmten Daten in einer unsortierten Datenbank benötigen klassische Computer $O(N)$ Schritte, während der Grover-Algorithmus dies in $O(\sqrt{N})$ Schritten schafft.&lt;/li>
&lt;/ul>
&lt;h3 id="63-hybrid-algorithmen-der-nisq-ära-vqe-und-qaoa">6.3. Hybrid-Algorithmen der NISQ-Ära: VQE und QAOA
&lt;/h3>&lt;p>Um die Einschränkungen der flachen Quantenschaltkreise von NISQ-Geräten zu überwinden, gewinnen &amp;ldquo;Variationelle Quantenalgorithmen&amp;rdquo; (Variational Quantum Algorithms) an Bedeutung, die die Vorteile von Quanten- und klassischen Computern kombinieren.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>VQE (Variational Quantum Eigensolver)&lt;/strong>: Ein Algorithmus zur Bestimmung der Grundzustandsenergie von Molekülen. Er verwendet einen parametrisierten Quantenschaltkreis (Ansatz), um einen Quantenzustand vorzubereiten, und misst den Energieerwartungswert $\langle \psi(\theta) | H | \psi(\theta) \rangle$. Dieser Erwartungswert wird als Zielfunktion verwendet, um die Parameter $\theta$ mithilfe eines klassischen Optimierungsalgorithmus (wie Gradientenabstieg) zu aktualisieren. Durch Wiederholung bis zur Konvergenz wird der exakte Energiezustand des Moleküls ermittelt.&lt;/li>
&lt;li>&lt;strong>QAOA (Quantum Approximate Optimization Algorithm)&lt;/strong>: Ein Algorithmus zur Lösung von kombinatorischen Optimierungsproblemen mithilfe des Quantengatter-Modells. Er approximiert die adiabatische zeitliche Entwicklung des Quanten-Annealings durch diskrete Gatteroperationen mittels &amp;ldquo;Trotterisierung&amp;rdquo; (Trotterization) und wendet abwechselnd Hamiltonoperatoren an, um eine Näherungslösung zu erhalten. QAOA gilt als vielversprechender Ansatz zur Lösung von Optimierungsproblemen mit dem Gatter-Modell.&lt;/li>
&lt;/ul>
&lt;div class="mermaid">graph TD
User["Benutzerproblem"] --> Formulation{"Art des Problems"}
Formulation -- "Kombinatorische Optimierung" --> QA_Path["Quanten-Annealing / Ising-Maschine"]
QA_Path --> QUBO["QUBO-Formulierung"]
QUBO --> DWave["Ausführung auf D-Wave"]
Formulation -- "Chemieberechnungen / Universelle Berechnungen" --> Gate_Path["Quantengatter-Modell"]
Gate_Path --> Circuit["Schaltkreisentwurf (VQE / QAOA)"]
Circuit --> IBMGoogle["Ausführung auf IBM / Google Quantenhardware"]&lt;/div>
&lt;hr>
&lt;h2 id="7-fazit">7. Fazit
&lt;/h2>&lt;p>Obwohl Quanten-Annealing und das Quantengatter-Modell beide auf den faszinierenden Eigenschaften der Quantenmechanik als Rechenressource basieren, unterscheiden sie sich stark in ihrem Ansatz und ihren Zielen.&lt;/p>
&lt;ul>
&lt;li>Das &lt;strong>Quanten-Annealing&lt;/strong> ist eine &amp;ldquo;spezialisierte heuristische Engine&amp;rdquo;, die darauf abzielt, frühzeitig praktische Ergebnisse für spezifische reale Probleme wie die kombinatorische Optimierung zu liefern. Zahlreiche Unternehmen führen derzeit bereits Proof-of-Concept-Projekte (PoC) durch.&lt;/li>
&lt;li>Das &lt;strong>Quantengatter-Modell&lt;/strong> ist der &amp;ldquo;universelle Quantencomputer&amp;rdquo; mit dem Potenzial, Paradigmen der Informatik grundlegend zu verändern – von exakten physikalischen und chemischen Simulationen bis hin zur Entschlüsselung. Die Überwindung der gewaltigen Hürde der Fehlerkorrektur erfordert jedoch langfristige Forschung und Entwicklung.&lt;/li>
&lt;/ul>
&lt;p>Es wird erwartet, dass in Zukunft &lt;strong>&amp;ldquo;heterogene (Heterogeneous) Computing&amp;rdquo;&lt;/strong>-Umgebungen entstehen, in denen klassische Supercomputer (HPC) den Kern bilden und je nach Aufgabe Annealing-Maschinen für Optimierungen oder gatterbasierte Quantencomputer für quantenchemische Berechnungen hinzugezogen werden.&lt;/p>
&lt;p>Quantencomputer befinden sich noch in der Entwicklungsphase, doch sowohl bei der Hardware als auch bei den Algorithmen werden täglich schnelle Fortschritte erzielt. Das Verständnis der Mathematik von Ising-Modellen und der Grundlagen von Quantenschaltkreisen wird eine mächtige Waffe für die bevorstehende Quanten-Native-Ära sein.&lt;/p>
&lt;hr>
&lt;p>&lt;em>Dieser Artikel bietet einen umfassenden Überblick von den grundlegenden Konzepten des Quantencomputings bis hin zu den neuesten Hardwaretrends. Bitte verfolgen Sie auch in Zukunft die neuesten Forschungsentwicklungen.&lt;/em>&lt;/p></description></item><item><title>Schors Algorithmus mit Python simuliert</title><link>http://kenji.blog/de/p/shors-algorithm-simulation-python/</link><pubDate>Fri, 11 Sep 2026 08:00:00 +0900</pubDate><guid>http://kenji.blog/de/p/shors-algorithm-simulation-python/</guid><description>&lt;img src="http://kenji.blog/p/shors-algorithm-simulation-python/img/eyecatch.jpg" alt="Featured image of post Schors Algorithmus mit Python simuliert" />&lt;h1 id="1-einführung-die-kryptographische-krise-durch-quantencomputer">1. Einführung: Die kryptographische Krise durch Quantencomputer
&lt;/h1>&lt;p>Ein Großteil der Sicherheit in der modernen Internetgesellschaft hängt von &lt;strong>Public-Key-Kryptographie&lt;/strong> (insbesondere RSA-Verschlüsselung) ab. Wenn wir beim Online-Shopping Kreditkarteninformationen senden oder hochsensible Daten austauschen, wird der Inhalt dieser Kommunikation stark durch RSA-Kryptographie geschützt.&lt;/p>
&lt;p>Die Sicherheit der RSA-Verschlüsselung beruht auf der mathematischen Tatsache, dass &amp;ldquo;&lt;strong>die Primfaktorzerlegung riesiger ganzer Zahlen für klassische Computer (die PCs und Supercomputer, die wir normalerweise verwenden) extrem schwierig ist&lt;/strong>&amp;rdquo;. Der 1994 von Peter Shor vorgestellte &amp;ldquo;&lt;strong>Shor-Algorithmus (Shor&amp;rsquo;s Algorithm)&lt;/strong>&amp;rdquo; stellte diese Prämisse jedoch grundlegend in Frage. Es wurde mathematisch bewiesen, dass der Shor-Algorithmus, wenn er auf einem großen Quantencomputer ausgeführt wird, die Primfaktorzerlegung, für die klassische Computer länger als das Alter des Universums benötigen würden, in nur wenigen Minuten bis Stunden lösen kann.&lt;/p>
&lt;p>In diesem Artikel werden wir ausführlich im Detail erklären, wie dieser Shor-Algorithmus eine schnelle Primfaktorzerlegung durchführt, von seinem mathematischen Mechanismus bis hin zu einer konkreten Simulationsimplementierung mit Python und dem Quanten-Computing-Framework &lt;strong>Qiskit&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h1 id="2-dramatische-änderung-der-komplexität-von-exponentieller-zu-polynomieller-zeit">2. Dramatische Änderung der Komplexität: Von exponentieller zu polynomieller Zeit
&lt;/h1>&lt;p>Warum ist die Primfaktorzerlegung so schwierig? Selbst mit dem &amp;ldquo;Zahlkörpersieb (General Number Field Sieve, GNFS)&amp;rdquo;, das als bester Primfaktorzerlegungsalgorithmus für klassische Computer bekannt ist, ist die zeitliche Komplexität subexponentiell.&lt;/p>
&lt;p>Die Zeitkomplexität zur Primfaktorzerlegung einer zusammengesetzten Zahl mit $N$ Ziffern bei Verwendung klassischer Methoden ist wie folgt:&lt;/p>
$$ O\left(\exp\left( c (\log N)^{1/3} (\log \log N)^{2/3} \right)\right) $$
&lt;p>Daher würde allein durch die Verlängerung der Schlüssellänge (z. B. auf 2048 Bit oder 4096 Bit) die Entschlüsselung auf einem klassischen Computer eine unrealistische Zeit wie Jahrtausende oder Zehntausende von Jahren in Anspruch nehmen.&lt;/p>
&lt;p>Wenn jedoch der &lt;strong>Shor-Algorithmus&lt;/strong> auf einem Quantencomputer verwendet wird, reduziert sich die zeitliche Komplexität dramatisch auf polynomielle Zeit in Bezug auf die Anzahl der Eingabebits $\log N$.&lt;/p>
$$ O((\log N)^3) $$
&lt;p>Dies bedeutet, dass sich bei einer Verdoppelung der Bitzahl die Rechenzeit für einen klassischen Computer astronomisch erhöht, während sie für einen Quantencomputer höchstens um das Achtfache steigt. Diese &lt;strong>Reduzierung der Komplexitätsklasse von exponentieller auf polynomielle Zeit (Aufnahme in die BQP-Klasse)&lt;/strong> ist die wahre Genialität von Shors Algorithmus.&lt;/p>
&lt;div class="mermaid">graph TD
A["Erhöhung der Eingabegröße (Anzahl der Bits) N"] --> B{"Wahl des Algorithmus"}
B -->|Klassisch: Zahlkörpersieb| C["Subexponentielle Erhöhung O(exp(...))"]
B -->|Quanten: Shors Algorithmus| D["Polynomielle Zeit O((log N)^3)"]
C --> E["Jahrtausende bis Milliarden von Jahren (unentschlüsselbar)"]
D --> F["Wenige Minuten bis Stunden (Entschlüsselung in realistischer Zeit)"]&lt;/div>
&lt;hr>
&lt;h1 id="3-gesamtbild-des-algorithmus-und-mathematischer-hintergrund">3. Gesamtbild des Algorithmus und mathematischer Hintergrund
&lt;/h1>&lt;p>Beim Shor-Algorithmus wird nicht alles auf einem Quantencomputer ausgeführt. Er basiert auf der Zusammenarbeit zwischen Vorverarbeitung/Nachbearbeitung durch klassische Computer und dem Kernteil (Periodenfindungsalgorithmus) durch Quantencomputer.&lt;/p>
&lt;p>Der Gesamtablauf des Algorithmus ist wie folgt:&lt;/p>
&lt;div class="mermaid">graph TD
A["Eingabe: Zusammengesetzte Zahl N, die faktorisiert werden soll"] --> B["Wähle Zufallszahl a, sodass a &lt; N"]
B --> C{"gcd(a, N) > 1 ?"}
C -- "Yes" --> D["Gibt den trivialen Faktor gcd(a, N) aus und beendet"]
C -- "No" --> E["Finde Periode r von f(x) = a^x mod N mit Quantenalgorithmus"]
E --> F{"Ist r gerade und a^(r/2) ≢ -1 mod N ?"}
F -- "No" --> B
F -- "Yes" --> G["Berechne Faktoren p = gcd(a^(r/2) - 1, N), q = gcd(a^(r/2) + 1, N)"]
G --> H["Ausgabe: p, q"]&lt;/div>
&lt;h2 id="reduktion-der-primfaktorzerlegung-auf-das-periodenfindungsproblem">Reduktion der Primfaktorzerlegung auf das Periodenfindungsproblem
&lt;/h2>&lt;p>Shors geniale Idee bestand darin, das &amp;ldquo;&lt;strong>Primfaktorzerlegungsproblem&lt;/strong>&amp;rdquo; in das &amp;ldquo;&lt;strong>Periodenfindungsproblem (Order Finding Problem)&lt;/strong>&amp;rdquo; umzuwandeln.&lt;/p>
&lt;p>Betrachten wir die ganze Zahl $N$ (die zu faktorisierende Zahl) und eine teilerfremde ganze Zahl $a$ ($1 &lt; a &lt; N$). Wir definieren die folgende modulare Exponentialfunktion:&lt;/p>
$$ f(x) = a^x \bmod N $$
&lt;p>Diese Funktion hat eine bestimmte Periode $r$. Das heißt, für jedes $x$ gilt $f(x+r) = f(x)$. Insbesondere wenn $x=0$, nennt man die kleinste positive ganze Zahl $r$, die&lt;/p>
$$ a^r \equiv 1 \pmod N $$
&lt;p>erfüllt, die &amp;ldquo;Ordnung von $a$ modulo $N$ (Order)&amp;rdquo;. Wenn wir diese Periode $r$ finden können, können wir die Primfaktoren wie folgt ableiten.&lt;/p>
&lt;p>Wenn wir die Formel umstellen, erhalten wir:
&lt;/p>
$$ a^r - 1 \equiv 0 \pmod N $$
&lt;p>
Wenn $r$ gerade ist, kann dies mit der binomischen Formel (Differenz von Quadraten) faktorisiert werden.
&lt;/p>
$$ (a^{r/2} - 1)(a^{r/2} + 1) \equiv 0 \pmod N $$
&lt;p>Dies bedeutet, dass $N$ einen gemeinsamen Teiler mit entweder $(a^{r/2} - 1)$ oder $(a^{r/2} + 1)$ hat (unter der Bedingung, dass $a^{r/2} \not\equiv -1 \pmod N$). Durch Anwendung des euklidischen Algorithmus zur Berechnung von&lt;/p>
$$ p = \gcd(a^{r/2} - 1, N) $$
$$ q = \gcd(a^{r/2} + 1, N) $$
&lt;p>können wir die nichttrivialen Primfaktoren $p, q$ von $N$ finden. Diese Berechnungen (Berechnung des größten gemeinsamen Teilers und Generierung von Zufallszahlen) können von klassischen Computern sehr schnell durchgeführt werden. Das Problem beschränkt sich also auf die Frage, &lt;strong>wie man die Periode $r$ schnell finden kann&lt;/strong>. Auf klassischen Computern erfordert das Finden dieser Periode $r$ selbst exponentielle Zeit. Hier kommt der Quantencomputer ins Spiel.&lt;/p>
&lt;hr>
&lt;h1 id="4-quantenalgorithmus-teil-wie-die-periodenfindung-funktioniert">4. Quantenalgorithmus-Teil: Wie die Periodenfindung funktioniert
&lt;/h1>&lt;p>Die Subroutine zum Finden der Periode $r$ mithilfe eines Quantencomputers besteht aus den folgenden 4 Schritten:&lt;/p>
&lt;div class="mermaid">graph LR
subgraph "Übergänge der Quantenzustände"
S1["|0⟩|0⟩ (Initialisierung)"] --> S2["H-Gate: Superposition Σ|x⟩|0⟩"]
S2 --> S3["Orakel U: Σ|x⟩|a^x mod N⟩"]
S3 --> S4["QFT: Periodenextraktion durch Interferenz"]
S4 --> S5["Messung: Erhalt des Näherungswertes y"]
end&lt;/div>
&lt;h2 id="schritt-1-initialisierung-und-superposition-der-quantenregister">Schritt 1: Initialisierung und Superposition der Quantenregister
&lt;/h2>&lt;p>Zunächst bereiten wir zwei Quantenregister vor. Das erste Register dient zur Eingabe des Zustands und das zweite zur Speicherung der Ergebnisse der Funktionsberechnung.
Der Anfangszustand ist überall $|0\rangle$.&lt;/p>
$$ |\psi_0\rangle = |0\rangle_1 |0\rangle_2 $$
&lt;p>Wir wenden ein Hadamard-Gatter (Hadamard Gate) auf alle Qubits im ersten Register an, um einen Zustand gleicher Wahrscheinlichkeits-Superposition für alle möglichen Eingaben $x$ (von $0$ bis $Q-1$, mit $Q=2^n$) zu erzeugen.&lt;/p>
$$ |\psi_1\rangle = \frac{1}{\sqrt{Q}} \sum_{x=0}^{Q-1} |x\rangle_1 |0\rangle_2 $$
&lt;p>Dadurch kann der Quantencomputer mit einer einzigen Operation Zustände für alle $Q$ Eingaben gleichzeitig speichern. Dies ist die mächtige Quelle der &lt;strong>Quantenparallelität&lt;/strong>.&lt;/p>
&lt;h2 id="schritt-2-anwendung-der-orakelfunktion-modulare-exponentiation">Schritt 2: Anwendung der Orakelfunktion (Modulare Exponentiation)
&lt;/h2>&lt;p>Als Nächstes verwenden wir die Quantenschaltung $U_f$, um die Funktion $f(x) = a^x \bmod N$ zu berechnen und das Ergebnis im zweiten Register zu speichern.&lt;/p>
$$ |\psi_2\rangle = \frac{1}{\sqrt{Q}} \sum_{x=0}^{Q-1} |x\rangle_1 |a^x \bmod N\rangle_2 $$
&lt;p>Zu diesem Zeitpunkt befinden sich das erste und zweite Register in einem Zustand der &lt;strong>Quantenverschränkung (Entanglement)&lt;/strong>. Wenn wir (hypothetisch) das zweite Register beobachten und einen bestimmten Wert $k = a^{x_0} \bmod N$ erhalten, kollabiert der Zustand des ersten Registers in eine Superposition derjenigen $x$, die diesen Wert $k$ ergeben. Da die Funktion die Periode $r$ hat, sind die verbleibenden Zustände im Abstand $r$, wie $x_0, x_0+r, x_0+2r, \dots$.&lt;/p>
$$ |\psi_3\rangle = \sqrt{\frac{r}{Q}} \sum_{j=0}^{M-1} |x_0 + j r\rangle_1 |k\rangle_2 $$
&lt;p>Wir wollen jedoch nicht $x_0$ wissen, sondern die Periode $r$ selbst. Es ist unmöglich, $r$ direkt aus diesem Zustand zu beobachten. Daher verwenden wir die Quanten-Fouriertransformation.&lt;/p>
&lt;h2 id="schritt-3-phaseninterferenz-durch-quanten-fouriertransformation-qft">Schritt 3: Phaseninterferenz durch Quanten-Fouriertransformation (QFT)
&lt;/h2>&lt;p>Wir wenden die &lt;strong>Quanten-Fouriertransformation (Quantum Fourier Transform, QFT)&lt;/strong> auf das erste Register an. Die QFT ist die Quantenversion der klassischen diskreten Fouriertransformation und transformiert die Amplituden von Zustandsvektoren. Die Wirkung der QFT auf den Basiszustand $|x\rangle$ ist wie folgt definiert:&lt;/p>
$$ QFT |x\rangle = \frac{1}{\sqrt{Q}} \sum_{y=0}^{Q-1} \omega^{xy} |y\rangle $$
&lt;p>Wobei $\omega = e^{2\pi i / Q}$.&lt;/p>
&lt;p>Wenn die QFT angewendet wird, interferieren die Amplituden der Zustände. Ohne auf mathematische Details einzugehen: Wenn QFT auf einen Zustand mit Periode $r$ angewendet wird, verursachen die Wellen nur dann eine &lt;strong>konstruktive Interferenz (Constructive Interference)&lt;/strong>, wenn $y$ extrem nahe an einem ganzzahligen Vielfachen von $Q/r$ liegt. Für andere Zustände heben sich die Wahrscheinlichkeitsamplituden aufgrund von &lt;strong>destruktiver Interferenz (Destructive Interference)&lt;/strong> gegenseitig auf und nähern sich Null.&lt;/p>
&lt;h2 id="schritt-4-messung-und-kettenbruchentwicklung">Schritt 4: Messung und Kettenbruchentwicklung
&lt;/h2>&lt;p>Schließlich messen wir das erste Register. Der durch die Messung erhaltene Wert $y$ erfüllt mit hoher Wahrscheinlichkeit folgende Bedingung:&lt;/p>
$$ y \approx c \frac{Q}{r} \implies \frac{y}{Q} \approx \frac{c}{r} $$
&lt;p>($c$ ist eine unbekannte ganze Zahl mit $0 \le c &lt; r$)&lt;/p>
&lt;p>Durch Anwendung der &lt;strong>Kettenbruchentwicklung (Continued Fraction Expansion)&lt;/strong>, einem klassischen Algorithmus, auf die erhaltene rationale Zahl $y/Q$ berechnen wir den Näherungsbruch $c/r$ und extrahieren die Periode $r$ aus dem Nenner.&lt;/p>
&lt;hr>
&lt;h1 id="5-simulationsimplementierung-mit-python-und-qiskit">5. Simulationsimplementierung mit Python und Qiskit
&lt;/h1>&lt;p>Da Theorie allein schwer greifbar ist, simulieren wir Shors Algorithmus tatsächlich mit Python und &lt;strong>Qiskit&lt;/strong>, dem Quanten-Computing-Framework von IBM.&lt;/p>
&lt;p>Hier implementieren wir das klassischste und bekannteste Beispiel-Szenario: &amp;ldquo;&lt;strong>Faktorisierung von $N=15$ unter Verwendung von $a=7$&lt;/strong>&amp;rdquo;.&lt;/p>
&lt;h2 id="vorbereitung-der-ausführungsumgebung">Vorbereitung der Ausführungsumgebung
&lt;/h2>&lt;p>Bitte installieren Sie Qiskit im Voraus.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">pip install qiskit qiskit-aer numpy
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="übersicht-über-den-python-implementierungscode">Übersicht über den Python-Implementierungscode
&lt;/h2>&lt;p>Der folgende Code ist ein Implementierungsbeispiel von Shors Algorithmus, der auf $N=15, a=7$ spezialisiert ist. Da der Aufbau einer universellen modularen Exponentiationsschaltung auf aktuellen Simulatoren zu rechenintensiv ist, sind die Gatteroperationen für den spezifischen Fall von $a=7$ hartcodiert.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt"> 10
&lt;/span>&lt;span class="lnt"> 11
&lt;/span>&lt;span class="lnt"> 12
&lt;/span>&lt;span class="lnt"> 13
&lt;/span>&lt;span class="lnt"> 14
&lt;/span>&lt;span class="lnt"> 15
&lt;/span>&lt;span class="lnt"> 16
&lt;/span>&lt;span class="lnt"> 17
&lt;/span>&lt;span class="lnt"> 18
&lt;/span>&lt;span class="lnt"> 19
&lt;/span>&lt;span class="lnt"> 20
&lt;/span>&lt;span class="lnt"> 21
&lt;/span>&lt;span class="lnt"> 22
&lt;/span>&lt;span class="lnt"> 23
&lt;/span>&lt;span class="lnt"> 24
&lt;/span>&lt;span class="lnt"> 25
&lt;/span>&lt;span class="lnt"> 26
&lt;/span>&lt;span class="lnt"> 27
&lt;/span>&lt;span class="lnt"> 28
&lt;/span>&lt;span class="lnt"> 29
&lt;/span>&lt;span class="lnt"> 30
&lt;/span>&lt;span class="lnt"> 31
&lt;/span>&lt;span class="lnt"> 32
&lt;/span>&lt;span class="lnt"> 33
&lt;/span>&lt;span class="lnt"> 34
&lt;/span>&lt;span class="lnt"> 35
&lt;/span>&lt;span class="lnt"> 36
&lt;/span>&lt;span class="lnt"> 37
&lt;/span>&lt;span class="lnt"> 38
&lt;/span>&lt;span class="lnt"> 39
&lt;/span>&lt;span class="lnt"> 40
&lt;/span>&lt;span class="lnt"> 41
&lt;/span>&lt;span class="lnt"> 42
&lt;/span>&lt;span class="lnt"> 43
&lt;/span>&lt;span class="lnt"> 44
&lt;/span>&lt;span class="lnt"> 45
&lt;/span>&lt;span class="lnt"> 46
&lt;/span>&lt;span class="lnt"> 47
&lt;/span>&lt;span class="lnt"> 48
&lt;/span>&lt;span class="lnt"> 49
&lt;/span>&lt;span class="lnt"> 50
&lt;/span>&lt;span class="lnt"> 51
&lt;/span>&lt;span class="lnt"> 52
&lt;/span>&lt;span class="lnt"> 53
&lt;/span>&lt;span class="lnt"> 54
&lt;/span>&lt;span class="lnt"> 55
&lt;/span>&lt;span class="lnt"> 56
&lt;/span>&lt;span class="lnt"> 57
&lt;/span>&lt;span class="lnt"> 58
&lt;/span>&lt;span class="lnt"> 59
&lt;/span>&lt;span class="lnt"> 60
&lt;/span>&lt;span class="lnt"> 61
&lt;/span>&lt;span class="lnt"> 62
&lt;/span>&lt;span class="lnt"> 63
&lt;/span>&lt;span class="lnt"> 64
&lt;/span>&lt;span class="lnt"> 65
&lt;/span>&lt;span class="lnt"> 66
&lt;/span>&lt;span class="lnt"> 67
&lt;/span>&lt;span class="lnt"> 68
&lt;/span>&lt;span class="lnt"> 69
&lt;/span>&lt;span class="lnt"> 70
&lt;/span>&lt;span class="lnt"> 71
&lt;/span>&lt;span class="lnt"> 72
&lt;/span>&lt;span class="lnt"> 73
&lt;/span>&lt;span class="lnt"> 74
&lt;/span>&lt;span class="lnt"> 75
&lt;/span>&lt;span class="lnt"> 76
&lt;/span>&lt;span class="lnt"> 77
&lt;/span>&lt;span class="lnt"> 78
&lt;/span>&lt;span class="lnt"> 79
&lt;/span>&lt;span class="lnt"> 80
&lt;/span>&lt;span class="lnt"> 81
&lt;/span>&lt;span class="lnt"> 82
&lt;/span>&lt;span class="lnt"> 83
&lt;/span>&lt;span class="lnt"> 84
&lt;/span>&lt;span class="lnt"> 85
&lt;/span>&lt;span class="lnt"> 86
&lt;/span>&lt;span class="lnt"> 87
&lt;/span>&lt;span class="lnt"> 88
&lt;/span>&lt;span class="lnt"> 89
&lt;/span>&lt;span class="lnt"> 90
&lt;/span>&lt;span class="lnt"> 91
&lt;/span>&lt;span class="lnt"> 92
&lt;/span>&lt;span class="lnt"> 93
&lt;/span>&lt;span class="lnt"> 94
&lt;/span>&lt;span class="lnt"> 95
&lt;/span>&lt;span class="lnt"> 96
&lt;/span>&lt;span class="lnt"> 97
&lt;/span>&lt;span class="lnt"> 98
&lt;/span>&lt;span class="lnt"> 99
&lt;/span>&lt;span class="lnt">100
&lt;/span>&lt;span class="lnt">101
&lt;/span>&lt;span class="lnt">102
&lt;/span>&lt;span class="lnt">103
&lt;/span>&lt;span class="lnt">104
&lt;/span>&lt;span class="lnt">105
&lt;/span>&lt;span class="lnt">106
&lt;/span>&lt;span class="lnt">107
&lt;/span>&lt;span class="lnt">108
&lt;/span>&lt;span class="lnt">109
&lt;/span>&lt;span class="lnt">110
&lt;/span>&lt;span class="lnt">111
&lt;/span>&lt;span class="lnt">112
&lt;/span>&lt;span class="lnt">113
&lt;/span>&lt;span class="lnt">114
&lt;/span>&lt;span class="lnt">115
&lt;/span>&lt;span class="lnt">116
&lt;/span>&lt;span class="lnt">117
&lt;/span>&lt;span class="lnt">118
&lt;/span>&lt;span class="lnt">119
&lt;/span>&lt;span class="lnt">120
&lt;/span>&lt;span class="lnt">121
&lt;/span>&lt;span class="lnt">122
&lt;/span>&lt;span class="lnt">123
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">numpy&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">np&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">qiskit&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">QuantumCircuit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">qiskit_aer&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">AerSimulator&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">qiskit.visualization&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">plot_histogram&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">fractions&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">Fraction&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">math&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 1. Funktion zum Aufbau der inversen Quanten-Fouriertransformation (QFT†)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">qft_dagger&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;&amp;#34;&amp;#34;Generiert eine inverse Quanten-Fouriertransformationsschaltung für n Qubits&amp;#34;&amp;#34;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">qc&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">QuantumCircuit&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># SWAP-Gatter zur Umkehrung der Reihenfolge&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="n">qubit&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">swap&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">qubit&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">n&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">qubit&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Anwendung von kontrollierten Phasengattern und H-Gattern&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="n">j&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="n">m&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">j&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">cp&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">np&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">pi&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="nb">float&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">j&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="n">m&lt;/span>&lt;span class="p">)),&lt;/span> &lt;span class="n">m&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">j&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">h&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">j&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">name&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s2">&amp;#34;QFT_dagger&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">qc&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 2. Funktion zum Aufbau der kontrollierten modularen Exponentiation für 7^x mod 15&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">c_amod15&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">power&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s2">&amp;#34;&amp;#34;&amp;#34;Generiert ein kontrolliertes U-Gatter für ein spezifisches a und eine Potenz (nur für N=15)&amp;#34;&amp;#34;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">U&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">QuantumCircuit&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">4&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="n">_&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">power&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Hartcodierte Logik für 7^x mod 15, wenn a=7&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">13&lt;/span>&lt;span class="p">]:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">U&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">swap&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">3&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">U&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">swap&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">U&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">swap&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">7&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">8&lt;/span>&lt;span class="p">]:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">U&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">swap&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">U&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">swap&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">U&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">swap&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">3&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">4&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">11&lt;/span>&lt;span class="p">]:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">U&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">swap&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">3&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">U&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">swap&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">a&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">7&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">11&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mi">13&lt;/span>&lt;span class="p">]:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="n">q&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">4&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">U&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">x&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">q&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">U&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">U&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">to_gate&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">U&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">name&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">^&lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">power&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2"> mod 15&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">c_U&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">U&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">control&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">c_U&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 3. Aufbau der Haupt-Quantenschaltung&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">def&lt;/span> &lt;span class="nf">shor_circuit&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">n_count&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># n_count: Anzahl der Bits im Kontrollregister&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Das Zielregister hat 4 Bits, um 0 bis 15 darzustellen&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">qc&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">QuantumCircuit&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n_count&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">4&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">n_count&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Initialisierung des 1. Registers (Kontrollregister) (Erzeugung der Superposition)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="n">q&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n_count&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">h&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">q&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Initialisierung des 2. Registers (Zielregister) auf |1&amp;gt; (0001)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">x&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">3&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">n_count&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Anwendung der kontrollierten modularen Exponentiation (Orakel)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="n">q&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n_count&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Anwendung der 2^q-ten Potenz-Operation&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">append&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">c_amod15&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="n">q&lt;/span>&lt;span class="p">),&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">[&lt;/span>&lt;span class="n">q&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="n">n_count&lt;/span> &lt;span class="k">for&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">4&lt;/span>&lt;span class="p">)])&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Anwendung der inversen Quanten-Fouriertransformation auf das 1. Register&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">append&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">qft_dagger&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n_count&lt;/span>&lt;span class="p">),&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n_count&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Messung des 1. Registers&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">measure&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n_count&lt;/span>&lt;span class="p">),&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">n_count&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="n">qc&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># --- Ausführungsbereich ---&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">if&lt;/span> &lt;span class="vm">__name__&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="s2">&amp;#34;__main__&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">N&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">15&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">a&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">7&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">n_count&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="mi">8&lt;/span> &lt;span class="c1"># Verwendung von 8 Qubits für das Kontrollregister (Q=256)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;Sucheinstellungen: N=&lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">N&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">, a=&lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">, Anzahl Kontroll-Qubits=&lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">n_count&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Generierung der Schaltung&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">qc&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">shor_circuit&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">n_count&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Ausführung im Simulator&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">sim&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">AerSimulator&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># In der neuesten Version von Qiskit wird transpile empfohlen&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kn">from&lt;/span> &lt;span class="nn">qiskit&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">transpile&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">compiled_circuit&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">transpile&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">qc&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">sim&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">job&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">sim&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">run&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">compiled_circuit&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">shots&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1024&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">result&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">job&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">result&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">counts&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">result&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">get_counts&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s2">Messergebnis (Bitfolge: Anzahl der Beobachtungen):&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="n">bitstring&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">count&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">counts&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">items&lt;/span>&lt;span class="p">():&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34; &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">bitstring&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">: &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">count&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2"> Mal&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Klassische Nachbearbeitung: Identifizierung der Periode r durch Kettenbruchentwicklung&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s2">--- Berechnung der Periode und Primfaktorzerlegung ---&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">phases&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">for&lt;/span> &lt;span class="n">output&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="n">counts&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Umwandlung der Bitfolge in eine Dezimalzahl&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">decimal&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nb">int&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">output&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Phase = Messwert / 2^n_count&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">phase&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">decimal&lt;/span> &lt;span class="o">/&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="n">n_count&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">phases&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">append&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">phase&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Erhalt des Näherungsbruchs durch Kettenbruchentwicklung. Die Obergrenze des Nenners ist N=15&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">frac&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">Fraction&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">phase&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">limit_denominator&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">15&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">r&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">frac&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">denominator&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34;Beobachteter Wert: &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">decimal&lt;/span>&lt;span class="si">:&lt;/span>&lt;span class="s2">3d&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2"> | Phase: &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">phase&lt;/span>&lt;span class="si">:&lt;/span>&lt;span class="s2">.4f&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2"> | Kettenbruch: &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">frac&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2"> | Geschätzte Periode r = &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">r&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Überprüfen, ob Periode r gerade ist und ein gültiges Ergebnis liefert&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">r&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">2&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">guess1&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">math&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">gcd&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">r&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">-&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">N&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">guess2&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">math&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">gcd&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">a&lt;/span>&lt;span class="o">**&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">r&lt;/span>&lt;span class="o">//&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">N&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">guess1&lt;/span> &lt;span class="ow">not&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">N&lt;/span>&lt;span class="p">]&lt;/span> &lt;span class="ow">or&lt;/span> &lt;span class="n">guess2&lt;/span> &lt;span class="ow">not&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">N&lt;/span>&lt;span class="p">]:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34; =&amp;gt; Erfolgreich! Die Primfaktoren von &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">N&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2"> sind &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">guess1&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2"> und &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">guess2&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">.&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">else&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34; =&amp;gt; Nur triviale Faktoren. Noch einmal versuchen.&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">else&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="sa">f&lt;/span>&lt;span class="s2">&amp;#34; =&amp;gt; Fehlgeschlagen, da die Periode ungerade ist.&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h2 id="code-erklärung-und-analyse-der-ausführungsergebnisse">Code-Erklärung und Analyse der Ausführungsergebnisse
&lt;/h2>&lt;p>Wenn Sie den obigen Code ausführen, erhalten Sie mit hoher Wahrscheinlichkeit bestimmte Peaks (Beobachtungswerte) als Messergebnis des Kontrollregisters. Für &lt;code>n_count=8&lt;/code> ($Q=256$) treten bei einem idealen Quantencomputer (oder Simulator) Werte wie &lt;code>0&lt;/code>, &lt;code>64&lt;/code>, &lt;code>128&lt;/code>, &lt;code>192&lt;/code> mit überwältigender Wahrscheinlichkeit auf.&lt;/p>
&lt;p>Teilt man diese durch $Q=256$, erhält man die Phasen $y/Q$ als $0.0$, $0.25$, $0.5$, bzw. $0.75$.
Wendet man auf diese Phasen die Kettenbruchentwicklung an:&lt;/p>
&lt;ul>
&lt;li>$0.25 \to 1/4$ (Geschätzte Periode $r=4$)&lt;/li>
&lt;li>$0.50 \to 1/2$ (Geschätzte Periode $r=2$)&lt;/li>
&lt;li>$0.75 \to 3/4$ (Geschätzte Periode $r=4$)&lt;/li>
&lt;/ul>
&lt;p>Mit der hier erhaltenen Periode $r=4$ berechnen wir die Primfaktoren.
Da $a=7, r=4$, gilt:
$p = \gcd(7^2 - 1, 15) = \gcd(48, 15) = 3$
$q = \gcd(7^2 + 1, 15) = \gcd(50, 15) = 5$&lt;/p>
&lt;p>Wir haben erfolgreich die Primfaktorzerlegung $15 = 3 \times 5$ durchgeführt.&lt;/p>
&lt;blockquote>
&lt;p>[!TIP]
Wenn der Messwert $y=128$ (Phase $0.5$) erhalten wird, ist der Nenner $2$, und wir erhalten einen Teiler anstelle der wahren Periode $r=4$. In solchen Fällen können wir die wahre Periode finden, indem wir den Algorithmus mehrmals ausführen oder Vielfache der erhaltenen $r$ untersuchen.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="6-herausforderungen-für-die-praktische-anwendung-und-die-grenzen-der-nisq-ära">6. Herausforderungen für die praktische Anwendung und die Grenzen der NISQ-Ära
&lt;/h1>&lt;p>Obwohl es einfach war, $N=15$ auf einem Simulator zu faktorisieren, gibt es für reale Quantencomputer noch viele Hürden, um RSA-2048 (eine 617-stellige Dezimalzahl), wie es in der realen Welt verwendet wird, zu faktorisieren.&lt;/p>
&lt;p>Die Ära, in der wir derzeit leben, wird als &lt;strong>NISQ-Ära (Noisy Intermediate-Scale Quantum: verrauschtes, mittelgroßes Quanten-Computing)&lt;/strong> bezeichnet. Qubits sind extrem anfällig für Umgebungsrauschen und unterliegen während der Berechnungen der &amp;ldquo;Dekohärenz&amp;rdquo;, wodurch ihre Zustände zerstört werden.&lt;/p>
&lt;p>Um tiefe Schaltungen (mit vielen Gattern) wie Shors Algorithmus fehlerfrei auszuführen, ist eine &lt;strong>Quantenfehlerkorrektur (Quantum Error Correction)&lt;/strong> unerlässlich, um das Rauschen zu korrigieren. Um ein rauschfreies &amp;ldquo;logisches Qubit&amp;rdquo; zu erzeugen, müssen Tausende von &amp;ldquo;physischen Qubits&amp;rdquo; mit Verfahren wie dem Surface Code codiert werden.&lt;/p>
&lt;p>Um eine 2048-Bit-RSA-Verschlüsselung zu knacken, werden Tausende von perfekten logischen Qubits benötigt. Schätzungen zufolge ist dafür ein fehlertoleranter Quantencomputer mit &lt;strong>Millionen bis zig Millionen physischen Qubits&lt;/strong> erforderlich. Da selbst die modernsten heutigen Quantenprozessoren nur über einige Hundert bis Tausend physische Qubits verfügen, werden die Verschlüsselungen der Welt nicht unmittelbar morgen geknackt.&lt;/p>
&lt;blockquote>
&lt;p>[!WARNING]
Es gibt jedoch ein Bedrohungsmodell namens &amp;ldquo;Store Now, Decrypt Later (Jetzt speichern, später entschlüsseln)&amp;rdquo;. Angreifer könnten große Mengen der aktuell verschlüsselten vertraulichen Kommunikation in verschlüsselter Form speichern und die Strategie verfolgen, alles zu entschlüsseln, sobald in 10 bis 20 Jahren ein leistungsstarker Quantencomputer gebaut ist.&lt;/p>
&lt;/blockquote>
&lt;hr>
&lt;h1 id="7-übergang-zur-post-quanten-kryptographie-pqc">7. Übergang zur Post-Quanten-Kryptographie (PQC)
&lt;/h1>&lt;p>In Vorbereitung auf die Ankunft eines solchen &amp;ldquo;Q-Day (der Tag, an dem Quantencomputer Verschlüsselungen knacken)&amp;rdquo; standardisieren Kryptographen weltweit, allen voran das amerikanische National Institute of Standards and Technology (NIST), die &lt;strong>Post-Quanten-Kryptographie (Post-Quantum Cryptography, PQC)&lt;/strong>.&lt;/p>
&lt;p>PQC basiert auf neuen mathematischen Problemen (Gitterprobleme, multivariate Polynome, hashbasiert usw.), von denen mathematisch angenommen wird, dass sie selbst mit Shors Algorithmus (oder Grovers Algorithmus) nicht effizient lösbar sind. Algorithmen wie &amp;ldquo;CRYSTALS-Kyber&amp;rdquo; und &amp;ldquo;CRYSTALS-Dilithium&amp;rdquo; wurden bereits als Standard ausgewählt und schrittweise in Apples iMessage und verschiedene Webbrowser-Kommunikationsprotokolle eingeführt.&lt;/p>
&lt;p>Für Ingenieure, die IT-Infrastrukturen verwalten, wird der Einbau von &amp;ldquo;Crypto-Agility (Krypto-Agilität: das Design zum schnellen Wechseln von Verschlüsselungsmethoden)&amp;rdquo; von bestehenden RSA- oder elliptischen Kurven zu PQC eine wichtige zukünftige Aufgabe sein.&lt;/p>
&lt;hr>
&lt;h1 id="8-fazit">8. Fazit
&lt;/h1>&lt;p>In diesem Artikel haben wir eine umfassende Erklärung im Umfang von etwa 10.000 Zeichen geliefert, beginnend mit dem theoretischen mathematischen Hintergrund des Shor-Algorithmus, über den Mechanismus der Periodenextraktion mittels der Quanten-Fouriertransformation, bis hin zu spezifischem Simulationscode mit Python und Qiskit.&lt;/p>
&lt;p>Die Tatsache, dass die physikalischen Gesetze der mikroskopischen Welt der Quantenmechanik die Grundlagen der Komplexitätstheorie und der Kryptographietheorie, die die Grundlagen der makroskopischen Informationswissenschaft bilden, komplett umstürzen können, ist einer der aufregendsten Paradigmenwechsel in der Geschichte der Wissenschaft. Es bleibt spannend, die anhaltende technologische Entwicklung der Quantencomputer und die Abwehrschlacht durch neue Verschlüsselungstechnologien weiter zu beobachten.&lt;/p>
&lt;p>Wir ermutigen Sie, den hier vorgestellten Python-Code in Ihrer eigenen Umgebung auszuführen und die &amp;ldquo;Magie der Berechnung&amp;rdquo; zu erleben, die durch die Superposition und Interferenz von Quantenzuständen entsteht.&lt;/p>
&lt;hr>
&lt;p>&lt;strong>Referenzen&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Shor, P. W. (1994). &amp;ldquo;Algorithms for quantum computation: discrete logarithms and factoring&amp;rdquo;. Proceedings 35th Annual Symposium on Foundations of Computer Science.&lt;/li>
&lt;li>Nielsen, M. A., &amp;amp; Chuang, I. L. (2010). &amp;ldquo;Quantum Computation and Quantum Information&amp;rdquo;. Cambridge University Press.&lt;/li>
&lt;li>Qiskit Documentation: &lt;a class="link" href="https://qiskit.org/documentation/" target="_blank" rel="noopener"
>https://qiskit.org/documentation/&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>【Grafik PQC】Vergleich der wichtigsten Algorithmen für die Post-Quanten-Kryptographie</title><link>http://kenji.blog/de/p/post-quantum-cryptography-algorithms-comparison/</link><pubDate>Fri, 11 Sep 2026 07:00:00 +0900</pubDate><guid>http://kenji.blog/de/p/post-quantum-cryptography-algorithms-comparison/</guid><description>&lt;img src="http://kenji.blog/p/post-quantum-cryptography-algorithms-comparison/img/eyecatch.jpg" alt="Featured image of post 【Grafik PQC】Vergleich der wichtigsten Algorithmen für die Post-Quanten-Kryptographie" />&lt;h2 id="1-einleitung-die-krise-der-kryptographie-durch-quantencomputer">1. Einleitung: Die &amp;ldquo;Krise der Kryptographie&amp;rdquo; durch Quantencomputer
&lt;/h2>&lt;p>In der modernen Internetgesellschaft ist die Public-Key-Kryptographie eine unverzichtbare Infrastruktur zum Schutz der Vertraulichkeit von Kommunikation und der Datenintegrität. Die derzeit weit verbreiteten RSA- und Elliptische-Kurven-Kryptographie (ECC) stützen sich für ihre Sicherheit auf mathematische Hürden, nämlich die &amp;ldquo;Schwierigkeit der Primfaktorzerlegung riesiger zusammengesetzter Zahlen&amp;rdquo; und die &amp;ldquo;Schwierigkeit des diskreten Logarithmusproblems auf elliptischen Kurven&amp;rdquo;. Es wurde bewiesen, dass klassische Computer (die Computer, die wir heute benutzen, einschließlich Supercomputern) länger als das Alter des Universums bräuchten, um diese mathematischen Probleme zu lösen, was die Grundlage für ihre Sicherheit darstellte.&lt;/p>
&lt;p>Diese robuste Annahme wird jedoch durch Fortschritte in der Theorie und praktischen Anwendung von &lt;strong>Quantencomputern&lt;/strong> grundlegend auf den Kopf gestellt. Der &amp;ldquo;&lt;strong>Shor-Algorithmus&lt;/strong>&amp;rdquo;, der 1994 von dem Kryptographen Peter Shor vorgestellt wurde, bewies theoretisch, dass sowohl das Primfaktorzerlegungsproblem als auch das Problem des diskreten Logarithmus in &amp;ldquo;polynomieller Zeit&amp;rdquo; entschlüsselt werden können, wenn er auf einem ausreichend leistungsfähigen, fehlertoleranten universellen Quantencomputer (CRQC: Cryptographically Relevant Quantum Computer) ausgeführt wird. Das bedeutet, dass alle derzeit verwendeten Public-Key-Kryptographien unwirksam werden.&lt;/p>
&lt;div class="mermaid">graph TD
A["Großer Quantencomputer (CRQC)"] -->|Ausführung| B["Shor-Algorithmus"]
B -->|Entschlüsselung in polynomieller Zeit| C["Primfaktorzerlegungsproblem (RSA)"]
B -->|Entschlüsselung in polynomieller Zeit| D["Diskretes Logarithmusproblem (ECC / ECDSA)"]
C --> E["Abhören verschlüsselter Kommunikation, Datenmanipulation, Spoofing"]
D --> E
F["Store Now, Decrypt Later (SNDL)"] --> E&lt;/div>
&lt;p>Es ist sehr gefährlich zu denken: &amp;ldquo;Die vollständige Fertigstellung von Quantencomputern liegt noch Jahrzehnte in der Zukunft, also ist es kein Problem&amp;rdquo;. Denn eine Angriffsmethode namens &lt;strong>Store Now, Decrypt Later (SNDL)&lt;/strong> stellt bereits eine reale Bedrohung dar. Bei diesem Angriff speichern böswillige Staaten oder Hackerorganisationen große Mengen der derzeit verschlüsselten Kommunikationsdaten (wie TLS-Traffic) und entschlüsseln sie alle in dem Moment, in dem in Zukunft ein leistungsstarker Quantencomputer verfügbar wird. Staatsgeheimnisse, Infrastrukturinformationen und medizinische Daten, die über lange Zeiträume geschützt werden müssen, sind dieser Bedrohung bereits ausgesetzt.&lt;/p>
&lt;p>Für symmetrische Schlüsselkryptographie (wie AES) und Hash-Funktionen (wie SHA-256) existiert zudem der 1996 entdeckte &lt;strong>Grover-Algorithmus&lt;/strong>. Dieser reduziert den Rechenaufwand für Brute-Force-Angriffe auf die Quadratwurzel. Mit anderen Worten, das Sicherheitsniveau von AES-128 wird effektiv auf 2 hoch 64 halbiert. Im Quantenzeitalter wird daher die Verwendung längerer Schlüssel und Hash-Längen wie AES-256 und SHA-384 empfohlen.&lt;/p>
&lt;p>Um dieser beispiellosen Kryptographie-Krise zu begegnen, wurde die &lt;strong>Post-Quanten-Kryptographie (Post-Quantum Cryptography: PQC)&lt;/strong> entwickelt, die auf neuen mathematischen Problemen basiert, welche auch mit Quantencomputern schwer zu lösen sind. Basierend auf den Ergebnissen des vom National Institute of Standards and Technology (NIST) der USA geleiteten PQC-Standardisierungsprozesses erläutert dieser Artikel detailliert die wichtigsten PQC-Algorithmen, von ihren mathematischen Hintergründen über ihre Mechanismen bis hin zu Architekturvergleichen.&lt;/p>
&lt;hr>
&lt;h2 id="2-der-pqc-standardisierungsprozess-von-nist-gesamtbild-und-geschichte">2. Der PQC-Standardisierungsprozess von NIST: Gesamtbild und Geschichte
&lt;/h2>&lt;p>Der Übergang zu neuen Kryptographietechnologien, der die Neugestaltung von Protokollen, Systemaktualisierungen und den Austausch von Hardware umfasst, dauert Jahre bis Jahrzehnte. Daher haben Kryptographen auf der ganzen Welt frühzeitig die Erforschung von PQC vorangetrieben. Eine zentrale Rolle hat dabei das US-amerikanische NIST (National Institute of Standards and Technology) gespielt. Im Jahr 2016 rief NIST den PQC-Standardisierungsprozess aus und nahm Vorschläge für völlig neue kryptographische Algorithmen aus der weltweiten Kryptographie-Community entgegen.&lt;/p>
&lt;p>Gegenstand der Standardisierung waren die folgenden zwei Hauptkategorien:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Public-Key-Kryptographie / Schlüsselkapselungsmechanismen (KEM: Key Encapsulation Mechanism)&lt;/strong>: Ein Mechanismus zum sicheren Teilen (Verteilen) von symmetrischen Schlüsseln für die Verschlüsselung von Kommunikationskanälen, z. B. in TLS-Verbindungen.&lt;/li>
&lt;li>&lt;strong>Digitale Signaturen (Digital Signatures)&lt;/strong>: Ein Mechanismus für Software-Updates und digitale Zertifikate, um zu beweisen, dass Daten nicht manipuliert wurden und kein Spoofing des Absenders vorliegt (Authentizität).&lt;/li>
&lt;/ol>
&lt;p>Nach etwa sechs Jahren intensiver Evaluation, Analyse und kryptanalytischem Wettbewerb (Runde 1 bis Runde 3) sowie einer zusätzlichen Evaluierung (Runde 4) für einige Algorithmen, wurden im Jahr 2024 die folgenden Algorithmen offiziell als Federal Information Processing Standards (FIPS) veröffentlicht und somit als künftige weltweite Standards festgelegt:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>FIPS 203 (ML-KEM)&lt;/strong>: KEM basierend auf CRYSTALS-Kyber&lt;/li>
&lt;li>&lt;strong>FIPS 204 (ML-DSA)&lt;/strong>: Digitale Signatur basierend auf CRYSTALS-Dilithium&lt;/li>
&lt;li>&lt;strong>FIPS 205 (SLH-DSA)&lt;/strong>: Zustandlose Hash-basierte Signatur basierend auf SPHINCS+&lt;/li>
&lt;li>&lt;strong>(In zukünftiger Planung) FN-DSA&lt;/strong>: Digitale Signatur basierend auf FALCON&lt;/li>
&lt;/ul>
&lt;p>Die ausgewählten Algorithmen stützen sich auf jeweils unterschiedliche mathematische &amp;ldquo;Schwierigkeitsprobleme&amp;rdquo;, sodass eine Vielfalt (Crypto Agility) gewährleistet ist. Sollte in Zukunft eine fatale Schwachstelle in einem Algorithmus entdeckt werden, wird so verhindert, dass das gesamte System zusammenbricht. Im Standardisierungsprozess nahm die gitterbasierte Kryptographie (Lattice-based cryptography) aufgrund ihrer Leistung die Hauptrolle ein, jedoch wurden hashbasierte und codebasierte Kryptographien als starke Backups übernommen.&lt;/p>
&lt;hr>
&lt;h2 id="3-klassifizierung-der-wichtigsten-mathematischen-ansätze-in-pqc">3. Klassifizierung der wichtigsten mathematischen Ansätze in PQC
&lt;/h2>&lt;p>PQC-Algorithmen lassen sich nach den mathematischen Problemen, die ihre Sicherheit begründen, in die folgenden fünf Hauptkategorien einteilen. In diesem Artikel gehen wir speziell auf die ersten drei näher ein.&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Gitterbasierte Kryptographie (Lattice-based Cryptography)&lt;/strong>:
Basiert auf dem Problem des kürzesten Vektors (Shortest Vector Problem, SVP), dem Problem des nächsten Vektors (Closest Vector Problem, CVP) in mehrdimensionalen Gitterräumen sowie dem davon abgeleiteten LWE-Problem. Dies ist das Herzstück der NIST-Standardisierung; Kyber, Dilithium und FALCON gehören dazu. Es bietet die beste Balance aus Verarbeitungsgeschwindigkeit, Public-Key-Größe und Chiffretextgröße und eignet sich daher für allgemeine Anwendungen.&lt;/li>
&lt;li>&lt;strong>Hash-basierte Kryptographie (Hash-based Cryptography)&lt;/strong>:
Stützt sich für ihre Sicherheit ausschließlich auf die &amp;ldquo;Kollisionsresistenz&amp;rdquo; und die &amp;ldquo;Einweg-Eigenschaft&amp;rdquo; von kryptographischen Hash-Funktionen (wie SHA-2 und SHAKE). Sie ist nur auf digitale Signaturen (wie SPHINCS+) anwendbar, bietet jedoch die stärksten Sicherheitsbeweise und zeichnet sich durch extrem hohe Resistenz gegen unbekannte mathematische Angriffe aus.&lt;/li>
&lt;li>&lt;strong>Code-basierte Kryptographie (Code-based Cryptography)&lt;/strong>:
Basiert auf der Theorie der Fehlerkorrekturcodes und stützt sich auf die Schwierigkeit des Syndrom-Decodierungsproblems (Syndrome Decoding Problem). Ein typisches Beispiel ist das in den 1970er Jahren vorgeschlagene Classic McEliece, das eine lange Geschichte und bewährte Sicherheit aufweist, aber den Nachteil extrem großer Public-Key-Größen im Megabyte-Bereich hat.&lt;/li>
&lt;li>&lt;strong>Multivariate polynomische Kryptographie (Multivariate Polynomial Cryptography)&lt;/strong>:
Basiert auf der Schwierigkeit, Lösungen für Systeme von multivariaten quadratischen Gleichungen über endlichen Körpern zu finden (MQ-Problem). Sie wurde hauptsächlich für digitale Signaturen (wie Rainbow) vorgeschlagen, jedoch wurde während der finalen NIST-Runde eine leistungsstarke Angriffsmethode entdeckt, die es ermöglichte, sie auf einem einzigen PC in wenigen Tagen zu knacken, weshalb viele dieser Algorithmen aus der Standardisierung herausfielen.&lt;/li>
&lt;li>&lt;strong>Isogenie-basierte Kryptographie (Isogeny-based Cryptography)&lt;/strong>:
Basiert auf dem Problem der Wegfindung auf Isogenie-Graphen elliptischer Kurven. Sie hatte sehr kleine Schlüsselgrößen und galt als legitimer Nachfolger von ECC. Der finale Kandidat &amp;ldquo;SIKE&amp;rdquo; wurde jedoch 2022 mithilfe klassischer Mathematik (z.B. Castryck-Decru-Angriff) auf einem normalen PC in nur wenigen Stunden vollständig geknackt, was ein dramatisches Ende darstellte und die Schwierigkeit und Gefahr des PQC-Designs symbolisiert.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="4-die-tiefen-der-gitterkryptographie-lwe-problem-und-die-mathematischen-grundlagen-von-module-lwe">4. Die Tiefen der Gitterkryptographie: LWE-Problem und die mathematischen Grundlagen von Module-LWE
&lt;/h2>&lt;p>Die &lt;strong>Gitterkryptographie&lt;/strong>, die derzeit als vielversprechendster Ansatz gilt und im Zentrum der Standardisierung steht. Die Grundlage ihrer Sicherheit ist das &lt;strong>LWE-Problem (Learning with Errors: Lernen mit Fehlern)&lt;/strong>. Es wurde 2005 von Oded Regev vorgestellt, eine bahnbrechende Leistung, für die er den Gödel-Preis erhielt. Ohne das Verständnis des LWE-Problems kann man die moderne PQC nicht diskutieren.&lt;/p>
&lt;h3 id="41-was-ist-das-lwe-problem-learning-with-errors">4.1. Was ist das LWE-Problem (Learning with Errors)?
&lt;/h3>&lt;p>Betrachten wir zunächst ein einfaches lineares Gleichungssystem. Angenommen, es gibt unter einem Modul $q$ eine bekannte zufällige Matrix $A$ und einen unbekannten geheimen Vektor $\vec{s}$, und ihr Produkt $\vec{b}$ sei gegeben.&lt;/p>
$$ \vec{b} = A\vec{s} \pmod q $$
&lt;p>In diesem Fall ist es einfach, das unbekannte $\vec{s}$ aus den öffentlichen Informationen $A$ und $\vec{b}$ zu ermitteln. Mit dem klassischen &amp;ldquo;Gaußschen Eliminationsverfahren&amp;rdquo; kann $\vec{s}$ leicht in polynomieller Zeit berechnet werden.&lt;/p>
&lt;p>Wenn wir dieser Gleichung jedoch einen &amp;ldquo;kleinen absichtlichen Fehler (Rauschen)&amp;rdquo; hinzufügen, steigt der Schwierigkeitsgrad des Problems dramatisch an. Das ist das &lt;strong>LWE-Problem&lt;/strong>.&lt;/p>
&lt;p>Wir bereiten einen unbekannten geheimen Vektor $\vec{s} \in \mathbb{Z}_q^n$ und eine zufällig gewählte Matrix $A \in \mathbb{Z}_q^{m \times n}$ vor. Darüber hinaus bereiten wir einen Fehlervektor $\vec{e} \in \mathbb{Z}_q^m$ vor, dessen Werte nach einer Normal- oder Binomialverteilung ausgewählt wurden und &amp;ldquo;ausreichend klein&amp;rdquo; sind, und berechnen $\vec{b}$ wie folgt:&lt;/p>
$$ \vec{b} = A\vec{s} + \vec{e} \pmod q $$
&lt;p>Das &lt;strong>Search-LWE-Problem&lt;/strong> besteht darin, &amp;ldquo;die geheimen Informationen $\vec{s}$ aus den öffentlichen Informationen $(A, \vec{b})$ zu ermitteln&amp;rdquo;. Durch die Anwesenheit dieses Fehlers $\vec{e}$ werden algebraische Lösungsmethoden wie die Gaußsche Elimination scheitern, da der Fehler $\vec{e}$ durch die Addition und Subtraktion von Gleichungen schneeballartig anwächst, bis er schließlich von zufälligen Werten nicht mehr zu unterscheiden ist.&lt;/p>
&lt;p>Das Großartige am LWE-Problem ist, dass es einen starken theoretischen Beweis (Reduktion) gibt: Sofern kein Quantenalgorithmus existiert, der &amp;ldquo;Worst-Case-Probleme auf Gittern&amp;rdquo; wie GapSVP (Entscheidungsproblem des kürzesten Vektors) oder SIVP (Problem der kürzesten unabhängigen Vektoren) lösen kann, kann das LWE-Problem auch im Durchschnittsfall (Average-case) nicht gelöst werden. Das bedeutet, dass selbst zufällig generierte kryptographische Schlüssel eine robuste, durch theoretische Obergrenzen untermauerte Sicherheit garantieren.&lt;/p>
&lt;h3 id="42-dramatische-effizienzsteigerung-durch-ring-lwe-und-module-lwe">4.2. Dramatische Effizienzsteigerung durch Ring-LWE und Module-LWE
&lt;/h3>&lt;p>Das gewöhnliche LWE-Problem (Standard-LWE) hat eine sehr klare Sicherheitsbasis, ist jedoch unpraktisch, da die Größe der Matrix $A$ extrem anwächst und Schlüsselgrößen im Megabyte-Bereich entstehen. Daher wurde ein Ansatz vorgeschlagen, Polynomringe (Polynomial Rings) zu nutzen, um eine algebraische Struktur einzuführen.&lt;/p>
&lt;p>Beim &lt;strong>Ring-LWE-Problem&lt;/strong> werden anstelle einfacher Vektoren oder Matrizen Elemente (Polynome) eines bestimmten Polynomrings $R_q$ verwendet. Die in den NIST-Standards am häufigsten verwendeten sind Kreisteilungs-Polynomringe wie:&lt;/p>
$$ R_q = \mathbb{Z}_q[X]/(X^n + 1) $$
&lt;p>Hier ist $n$ eine Potenz von 2 (z. B. 256) und $q$ eine geeignete Primzahl. Auf diesem Ring werden Elemente $a, s, e \in R_q$ verwendet, um $b = a \cdot s + e \pmod q$ zu berechnen. Da ein einziges Polynom $a$ über $n$ Koeffizienten verfügt, können Daten erheblich komprimiert werden. Darüber hinaus ermöglicht die Verwendung der &lt;strong>NTT (Number Theoretic Transform: Zahlentheoretische Transformation)&lt;/strong>, einer Endliche-Körper-Version der schnellen Fourier-Transformation (FFT), extrem schnelle Polynommultiplikationen in $O(n \log n)$ Rechenschritten.&lt;/p>
&lt;p>Bei Ring-LWE bestand jedoch die Sorge, dass &amp;ldquo;aufgrund der speziellen algebraischen Ringstruktur unbekannte Schwachstellen existieren könnten&amp;rdquo;. Ein weiteres technisches Problem war, dass bei der Änderung des Sicherheitsniveaus (z.B. äquivalent zu AES-128, 192, 256) der Polynomgrad $n$ selbst geändert werden musste, wodurch die gesamte Implementierung, wie etwa der NTT-Algorithmus, umgeschrieben werden musste.&lt;/p>
&lt;p>Deshalb haben die standardisierten Algorithmen Kyber und Dilithium das &lt;strong>Module-LWE (M-LWE) Problem&lt;/strong> übernommen. Module-LWE ist ein Kompromiss, der genau in der Mitte zwischen dem strukturlosen Standard-LWE und dem zu stark strukturierten Ring-LWE liegt, indem es $k \times k$ Matrizen (Module) verwendet, deren Komponenten Elemente des Polynomrings $R_q$ sind:&lt;/p>
$$ \vec{b} = A\vec{s} + \vec{e} \pmod{R_q} \quad (A \in R_q^{k \times k}, \vec{s}, \vec{e} \in R_q^k) $$
&lt;p>Der größte Vorteil von Module-LWE ist, dass das Sicherheitsniveau leicht skaliert werden kann, indem lediglich die Matrixdimension $k$ geändert wird, während der Polynomgrad $n$ ($n=256$ in den NIST-Standards) konstant bleibt.
Zum Beispiel wird bei Kyber die Dimension $k$ wie folgt angepasst:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Kyber512 (Level 1)&lt;/strong>: $k = 2$ (entspricht AES-128)&lt;/li>
&lt;li>&lt;strong>Kyber768 (Level 3)&lt;/strong>: $k = 3$ (entspricht AES-192)&lt;/li>
&lt;li>&lt;strong>Kyber1024 (Level 5)&lt;/strong>: $k = 4$ (entspricht AES-256)&lt;/li>
&lt;/ul>
&lt;p>Dies machte es möglich, den zugrunde liegenden NTT-Code und Hardware-Schaltungen für Polynomoperationen über alle Sicherheitsstufen hinweg zu 100% wiederzuverwenden, was die Sicherheit und Effizienz der Implementierung drastisch verbesserte.&lt;/p>
&lt;hr>
&lt;h2 id="5-crystals-kyber-ml-kem-der-schlüsselkapselungsmechanismus-der-nächsten-generation">5. CRYSTALS-Kyber (ML-KEM): Der Schlüsselkapselungsmechanismus der nächsten Generation
&lt;/h2>&lt;p>CRYSTALS-Kyber, offiziell als &lt;strong>FIPS 203 (ML-KEM)&lt;/strong> standardisiert, ist ein Schlüsselkapselungsmechanismus (KEM), der auf dem oben erwähnten Module-LWE-Problem basiert. Er wird de facto der künftige weltweite Standard für das sichere Teilen von Sitzungsschlüsseln in Protokollen wie TLS 1.3 und SSH sein.&lt;/p>
&lt;h3 id="51-architektur-des-kem-key-encapsulation-mechanism">5.1. Architektur des KEM (Key Encapsulation Mechanism)
&lt;/h3>&lt;p>In der PQC-Ära wird anstelle des direkten Ansatzes von RSA, bei dem &amp;ldquo;der Client einen symmetrischen Schlüssel erstellt, ihn mit dem öffentlichen Schlüssel des Servers verschlüsselt und sendet&amp;rdquo;, das Kapselungs-Framework KEM zum Standard.&lt;/p>
&lt;div class="mermaid">sequenceDiagram
participant Client as "Client (Alice)"
participant Server as "Server (Bob)"
Note over Client: "ML-KEM KeyGen()"
Client->>Client: "Erzeugt privaten (sk) und öffentlichen Schlüssel (pk)"
Client->>Server: "Sendet öffentlichen Schlüssel (pk)"
Note over Server: "ML-KEM Encaps()"
Server->>Server: "Erzeugt zufälligen symmetrischen Schlüssel (K)"
Server->>Server: "Kapselt K mit pk, erstellt Chiffretext (c)"
Server->>Client: "Sendet Chiffretext (c)"
Note over Client: "ML-KEM Decaps()"
Client->>Client: "Entschlüsselt Chiffretext (c) mit privatem Schlüssel (sk)"
Client->>Client: "Entkapselt und extrahiert den symmetrischen Schlüssel (K)"
Note over Client, Server: "Start der verschlüsselten Kommunikation (z. B. AES) mit dem geteilten Schlüssel (K)"&lt;/div>
&lt;h3 id="52-der-interne-algorithmus-von-kyber-und-die-fujisaki-okamoto-transformation">5.2. Der interne Algorithmus von Kyber und die Fujisaki-Okamoto-Transformation
&lt;/h3>&lt;p>Das Design von Kyber ist sehr raffiniert. Zunächst wird ein Public-Key-Kryptosystem (Kyber.CPAPKE) konstruiert, das nur gegen CPA (Chosen-Plaintext Attacks) sicher ist. Durch die Anwendung einer kryptographisch sehr mächtigen Methode namens &lt;strong>Fujisaki-Okamoto-Transformation (Fujisaki-Okamoto Transform)&lt;/strong> wird dieses System zu einem vollständigen KEM aufgerüstet, das auch gegen CCA (Adaptive Chosen-Ciphertext Attacks) sicher ist.&lt;/p>
&lt;p>Der zentrale Verschlüsselungs- und Entschlüsselungsmechanismus von CPAPKE funktioniert wie folgt:&lt;/p>
&lt;ol>
&lt;li>
&lt;p>&lt;strong>Schlüsselerzeugung (Key Generation)&lt;/strong>:&lt;/p>
&lt;ul>
&lt;li>Eine Matrix $A \in R_q^{k \times k}$ im NTT-Bereich wird aus einem zufälligen Seed generiert. Der Modul $q$ ist $3329$.&lt;/li>
&lt;li>Der geheime Vektor $\vec{s}$ und der Fehlervektor $\vec{e}$ mit kleinen Koeffizienten werden aus einer zentrierten Binomialverteilung (CBD) abgetastet.&lt;/li>
&lt;li>Es wird $\vec{t} = A\vec{s} + \vec{e}$ berechnet. Der öffentliche Schlüssel ist $(A, \vec{t})$, der private Schlüssel ist $\vec{s}$. (In der Praxis wird $A$ als Seed veröffentlicht, um Bandbreite zu sparen).&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Verschlüsselung (Encryption)&lt;/strong>:&lt;/p>
&lt;ul>
&lt;li>Die zu teilende 32-Byte-Nachricht (Schlüsselmaterial) $m$ wird in ein Polynom kodiert.&lt;/li>
&lt;li>Ein neuer zufälliger Vektor $\vec{r}$ und kleine Fehler $\vec{e_1}, e_2$ werden generiert.&lt;/li>
&lt;li>$\vec{u} = A^T\vec{r} + \vec{e_1}$&lt;/li>
&lt;li>$v = \vec{t}^T\vec{r} + e_2 + \lfloor q/2 \rceil \cdot m$&lt;/li>
&lt;li>Der Chiffretext ist $(\vec{u}, v)$.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Entschlüsselung (Decryption)&lt;/strong>:&lt;/p>
&lt;ul>
&lt;li>Der Empfänger berechnet $v - \vec{s}^T\vec{u}$.&lt;/li>
&lt;li>Wenn wir diese Gleichung ausklappen, erhalten wir:
$v - \vec{s}^T\vec{u} = (\vec{t}^T\vec{r} + e_2 + \lfloor q/2 \rceil \cdot m) - \vec{s}^T(A^T\vec{r} + \vec{e_1})$&lt;/li>
&lt;li>Setzen wir hier $\vec{t} = A\vec{s} + \vec{e}$ ein, heben sich die Hauptterme $\vec{s}^TA^T\vec{r}$ auf.&lt;/li>
&lt;li>Übrig bleibt $\lfloor q/2 \rceil \cdot m + (\vec{e}^T\vec{r} + e_2 - \vec{s}^T\vec{e_1})$.&lt;/li>
&lt;li>Da die Terme in den Klammern &amp;ldquo;Produkte und Summen kleiner Fehler&amp;rdquo; sind, bleibt das Ganze ein ausreichend kleiner Wert (Rauschen). Daher kann durch Schwellenwertbestimmung, ob jeder Koeffizient näher an $0$ oder $q/2$ liegt, das Bit der ursprünglichen Nachricht $m$ (0 oder 1) völlig fehlerfrei wiederhergestellt werden.&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;p>Die größte Stärke von Kyber liegt in seiner enormen &lt;strong>Verarbeitungsgeschwindigkeit&lt;/strong> und der &lt;strong>moderaten Schlüsselgröße&lt;/strong>. Bei Kyber768 beträgt die Public-Key-Größe 1.184 Bytes und die Chiffretextgröße 1.088 Bytes. Auch wenn dies im Vergleich zu RSA-3072 (Schlüsselgröße ca. 384 Bytes) größer ist, passt es ohne Paketfragmentierung in die MTU (Maximum Transmission Unit) moderner Internetkommunikation und hat kaum negative Auswirkungen auf die Netzwerklatenz.&lt;/p>
&lt;hr>
&lt;h2 id="6-crystals-dilithium-ml-dsa-gitterbasierte-universelle-digitale-signatur">6. CRYSTALS-Dilithium (ML-DSA): Gitterbasierte universelle digitale Signatur
&lt;/h2>&lt;p>Bei der Standardisierung digitaler Signaturen konkurrierten Algorithmen mit unterschiedlichen Designphilosophien innerhalb desselben gitterbasierten Ansatzes. Unter diesen wurde &lt;strong>CRYSTALS-Dilithium&lt;/strong> als universelle digitale Signatur &lt;strong>FIPS 204 (ML-DSA)&lt;/strong> ausgewählt.&lt;/p>
&lt;h3 id="61-das-fiat-shamir-with-aborts-paradigma">6.1. Das &amp;ldquo;Fiat-Shamir with Aborts&amp;rdquo;-Paradigma
&lt;/h3>&lt;p>Dilithium ist, wie Kyber, ein digitales Signaturschema, das auf Module-LWE (und dem Module-SIS-Problem) basiert. Die Grundlage seines Designs ist das extrem wichtige Paradigma der &lt;strong>&amp;ldquo;Fiat-Shamir-Transformation mit Abbrüchen (Fiat-Shamir with Aborts)&amp;rdquo;&lt;/strong>.&lt;/p>
&lt;p>Die Fiat-Shamir-Transformation an sich ist eine Standardmethode zur Umwandlung interaktiver Zero-Knowledge-Beweisprotokolle in nicht-interaktive digitale Signaturen. Der Beweiser (Signierende) erzeugt ein Commitment $y$, berechnet $w = Ay$ und leitet es durch eine Hash-Funktion, um eine zufällige Challenge $c$ zu erhalten, und berechnet die Antwort $z = y + cs$.&lt;/p>
&lt;p>Wenn dies jedoch einfach in der Gitterkryptographie angewendet wird, verzerrt sich die Verteilung der Antwort $z$ abhängig vom Wert des privaten Schlüssels $s$. Dies führte zu dem fatalen Problem, dass ein Angreifer, der viele Signaturen beobachtet, nach und nach Informationen über den privaten Schlüssel $s$ erlangen konnte (ein mathematisches Leck, das Seitenkanalangriffen ähnelt).&lt;/p>
&lt;p>Das Dilithium-Designteam (Lyubashevsky et al.) führte eine Methode namens &lt;strong>&amp;ldquo;Rejection Sampling (Verwerfungsmethode)&amp;rdquo;&lt;/strong> ein. Dabei wird der gesamte Signaturprozess abgebrochen (Abort), wenn die Koeffizienten des berechneten Ergebnisses $z$ nicht in einen voreingestellten sicheren Schwellenwertbereich fallen, und die Berechnung mit einer neuen Zufallszahl $y$ von vorn begonnen.&lt;/p>
&lt;p>Dadurch folgt die letztendlich ausgegebene Signatur $z$ einer vollkommen gleichmäßigen Verteilung, die völlig unabhängig vom privaten Schlüssel ist, wodurch Informationslecks mathematisch vollständig verhindert werden konnten.&lt;/p>
&lt;h3 id="62-vorteile-von-dilithium-und-einfache-implementierung">6.2. Vorteile von Dilithium und einfache Implementierung
&lt;/h3>&lt;p>Ein großer Designvorteil von Dilithium besteht darin, dass es im Signaturerzeugungsprozess &lt;strong>überhaupt kein&lt;/strong> komplexes &amp;ldquo;Sampling aus Gauß-Verteilungen&amp;rdquo; oder &amp;ldquo;Fließkommaoperationen&amp;rdquo; verwendet. Da es nur mit Sampling aus einer Gleichverteilung, einfachen ganzzahligen Modulo-Operationen, NTT und Hash-Funktionen (SHAKE) implementiert werden kann, ist es in einer Vielzahl von Umgebungen – vom eingebetteten Mikrocontroller bis zum Cloud-Server – einfach sicher und in konstanter Zeit (Constant-time) zu implementieren. Dies macht es sehr widerstandsfähig gegen physische Seitenkanalangriffe wie Timing-Angriffe.&lt;/p>
&lt;hr>
&lt;h2 id="7-falcon-fn-dsa-die-ultimativ-kompakte-gittersignatur">7. FALCON (FN-DSA): Die ultimativ kompakte Gittersignatur
&lt;/h2>&lt;p>Das NIST hat als eine weitere gitterbasierte Signatur mit anderen Eigenschaften als Dilithium &lt;strong>FALCON (Fast-Fourier Lattice-based Compact Signatures over NTRU)&lt;/strong> als Standardisierungskandidaten ausgewählt (derzeit als FN-DSA im Entwurfsstadium).&lt;/p>
&lt;h3 id="71-ntru-gitter-und-gauß-sampling">7.1. NTRU-Gitter und Gauß-Sampling
&lt;/h3>&lt;p>Das Hauptmerkmal von FALCON ist, dass es nicht das LWE-Problem, sondern das seit 1996 existierende und historische &lt;strong>NTRU-Gitter (N-th degree Truncated polynomial Ring Units)&lt;/strong> verwendet. Darüber hinaus nutzt es das &lt;strong>&amp;ldquo;Hash-and-Sign&amp;rdquo;&lt;/strong>-Paradigma, das auf dem GPV-Framework (Gentry-Peikert-Vaikuntanathan) basiert.&lt;/p>
&lt;p>Bei Hash-and-Sign wird der Hash-Wert der Nachricht als Zielpunkt im Raum betrachtet und der diesem Punkt am nächsten liegende Gitterpunkt (eine ungefähre Lösung des Problems des nächsten Vektors) als Signatur gefunden. Hierfür müssen Punkte nach einer diskreten Gauß-Verteilung abgetastet werden, wofür die &amp;ldquo;kurze Basis guter Qualität&amp;rdquo;, der private Schlüssel, verwendet wird.&lt;/p>
&lt;p>FALCON beschleunigt diese rechenintensive Aufgabe drastisch durch eine Technik namens &lt;strong>&amp;ldquo;Fast Fourier Orthogonalization (FFO)&amp;rdquo;&lt;/strong>.&lt;/p>
&lt;h3 id="72-vor--und-nachteile-von-falcon">7.2. Vor- und Nachteile von FALCON
&lt;/h3>&lt;p>Der überwältigende Vorteil von FALCON ist, dass &lt;strong>seine Signaturgröße und Public-Key-Größe extrem klein (kompakt)&lt;/strong> sind. Während die Signaturgröße von Dilithium3 etwa 3.309 Bytes beträgt, liegt sie bei FALCON-512 bei nur ca. 666 Bytes. Auch der öffentliche Schlüssel ist mit 897 Bytes sehr klein, was es zum Retter in Umgebungen mit extrem eingeschränkter Bandbreite, für IoT-Geräte oder bestimmte Netzwerkprotokolle macht.&lt;/p>
&lt;p>Allerdings gibt es einen gravierenden Nachteil. Da die Signaturerzeugung zwangsläufig komplexes diskretes Gauß-Sampling mit &lt;strong>Fließkommaoperationen (64-Bit IEEE 754)&lt;/strong> erfordert, ist eine Constant-Time-Implementierung zur Vermeidung von Timing-Leaks äußerst schwierig, und der Code bläht sich auf. Aus diesem Grund positioniert sich FALCON im Gegensatz zur allgemeinen Nutzung (Dilithium) als leistungsstarker, spezialisierter Algorithmus für spezifische Anwendungen.&lt;/p>
&lt;div class="mermaid">graph LR
A["Anforderungen an digitale Signaturen"] --> B{"Was ist die oberste Priorität?"}
B -->|"Einfachheit der Implementierung, Vielseitigkeit, leichte Constant-Time-Implementierung"| C["Dilithium (ML-DSA)"]
B -->|"Minimierung der Bandbreite, kompakte Datengröße"| D["FALCON (FN-DSA)"]
C --> E["Allgemeine TLS-Zertifikate, elektronische Signaturen für Software"]
D --> F["Protokolle mit strengen Paketgrößenlimits, spezielle Umgebungen"]&lt;/div>
&lt;hr>
&lt;h2 id="8-sphincs-slh-dsa-hash-basierte-signatur-mit-der-stärksten-sicherheit">8. SPHINCS+ (SLH-DSA): Hash-basierte Signatur mit der stärksten Sicherheit
&lt;/h2>&lt;p>Für den Worst-Case, dass die Sicherheit der Gitterkryptographie in Zukunft durch den Durchbruch eines genialen Mathematikers gebrochen wird, hat NIST &lt;strong>FIPS 205 (SLH-DSA)&lt;/strong>, sprich &lt;strong>SPHINCS+&lt;/strong>, als Standard mit einem völlig anderen Ansatz als die Gitterkryptographie festgelegt.&lt;/p>
&lt;p>SPHINCS+ wird als &lt;strong>hash-basierte Signatur&lt;/strong> klassifiziert. Die Basis seiner Sicherheit stützt sich nur auf einen einzigen Punkt: &amp;ldquo;Die verwendete kryptographische Hash-Funktion (wie SHA-2 oder SHAKE256) muss kollisionsresistent und eine Einwegfunktion sein&amp;rdquo;. Da es nicht von mathematischen Problemen mit spezifischen algebraischen Strukturen wie LWE oder Primfaktorzerlegung abhängt, bietet es eine extrem robuste Sicherheit (die konservativste Sicherheit). Egal, wie mächtige Quantenalgorithmen in Zukunft erscheinen mögen, es kann abgewehrt werden, indem man einfach die Ausgabelänge der Hash-Funktion erhöht.&lt;/p>
&lt;h3 id="81-zustandslose-architektur-mit-wots-und-fors">8.1. Zustandslose Architektur mit WOTS+ und FORS
&lt;/h3>&lt;p>Die Geschichte der hash-basierten Signaturen reicht weit in die 1970er Jahre zu Lamport-Signaturen und Winternitz-Einmal-Signaturen (WOTS) zurück. Dabei handelte es sich um Wegwerfschlüssel, mit denen &amp;ldquo;nur einmal sicher signiert&amp;rdquo; werden konnte. Um diese mehrfach verwendbar zu machen, wurden Algorithmen wie XMSS (eXtended Merkle Signature Scheme) oder LMS entwickelt, die einen Merkle-Baum kombinieren, um unzählige Einmalschlüssel mit einem einzigen Root-Hash zu verwalten.&lt;/p>
&lt;p>XMSS und LMS wiesen jedoch den großen Nachteil auf, dass sie &lt;strong>&amp;ldquo;zustandsbehaftet (stateful)&amp;rdquo;&lt;/strong> waren. Bei jeder Signatur musste der Index-Status (&amp;ldquo;der wievielte Einmalschlüssel wurde verwendet&amp;rdquo;) strikt im nichtflüchtigen Speicher mitgeschrieben werden. Wenn der Zustand z. B. durch das Wiederherstellen eines VM-Snapshots zurückgesetzt wird und derselbe Einmalschlüssel ein zweites Mal verwendet wird, ist der private Schlüssel sofort kompromittiert und das System bricht zusammen.&lt;/p>
&lt;p>SPHINCS+ ist eine &lt;strong>&amp;ldquo;zustandslose (stateless)&amp;rdquo;&lt;/strong> hash-basierte Signatur, die dieses lästige Zustandsmanagement gelöst hat.
Seine Kerntechnologie besteht aus folgender Kombination:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>WOTS+ (Winternitz One-Time Signature Plus)&lt;/strong>: Eine grundlegende Einmal-Signatur.&lt;/li>
&lt;li>&lt;strong>FORS (Forest of Random Subsets)&lt;/strong>: Eine Few-Time-Signature-Technologie. Sie gewährleistet die Sicherheit, auch wenn derselbe Schlüssel ein paar Mal wiederverwendet wird.&lt;/li>
&lt;li>&lt;strong>Hyper-Tree (Riesige Baumstruktur)&lt;/strong>: Eine gigantische Struktur, bei der Merkle-Bäume mehrschichtig übereinandergelegt werden.&lt;/li>
&lt;/ol>
&lt;p>Bei der Signierung mit SPHINCS+ wird, anstatt Zustände zu verwalten, mittels Pseudozufallszahlen zufällig einer der unzähligen FORS-Schlüssel an der Basis des Hyper-Trees ausgewählt. Da die Anzahl der Blätter am Baum astronomisch hoch ist, wird die Wahrscheinlichkeit (Kollision), denselben Schlüssel zufällig zweimal zu wählen, verschwindend gering, was letztlich zur Zustandslosigkeit führt.&lt;/p>
&lt;p>Die einzige und größte Schwäche von SPHINCS+ ist die &lt;strong>extrem große Signaturgröße&lt;/strong>. Je nach Parametern erreicht die Signaturgröße 17 bis 49 Kilobytes, und die Signaturerzeugung ist im Vergleich zur Gitterkryptographie überwältigend langsam. Daher wird sie eher nicht für das alltägliche Webbrowsing eingesetzt, sondern für Anwendungen wie Software-Update-Signaturen oder Root-Zertifikate (CA), bei denen nicht häufig signiert wird, aber langfristige absolute Sicherheit zwingend erforderlich ist.&lt;/p>
&lt;hr>
&lt;h2 id="9-code-basierte-kryptographie-der-gute-alte-riese-classic-mceliece">9. Code-basierte Kryptographie: Der gute alte Riese Classic McEliece
&lt;/h2>&lt;p>Ein wichtiger Ansatz, der als Finalist in Runde 4 des NIST-Standardisierungsprozesses weiterhin evaluiert wird, ist &lt;strong>Classic McEliece&lt;/strong>, das auf &lt;strong>code-basierter Kryptographie&lt;/strong> beruht.&lt;/p>
&lt;p>Dieser Algorithmus wurde 1978 von Robert McEliece vorgeschlagen und ist neben RSA einer der ältesten in der Geschichte der Public-Key-Kryptographie. Er verwendet algebraisch-geometrische Codes, sogenannte &amp;ldquo;Goppa-Codes&amp;rdquo;. Dabei wird eine Nachricht durch absichtliches Hinzufügen von Fehlern (Rauschvektoren) verschlüsselt. Nur wer die Paritätsprüfmatrix des Goppa-Codes als privaten Schlüssel besitzt, kann die starke Fehlerkorrekturfähigkeit nutzen, um die Fehler zu entfernen und die ursprüngliche Nachricht zu entschlüsseln. Dies basiert auf dem &lt;strong>&amp;ldquo;Syndrom-Decodierungsproblem (Syndrome Decoding Problem)&amp;rdquo;&lt;/strong>.&lt;/p>
$$ \vec{c} = \vec{m} G + \vec{e} $$
&lt;p>
(Wobei $G$ die verschlüsselte Generatormatrix als öffentlicher Schlüssel und $\vec{e}$ der Fehlervektor vom Gewicht $t$ ist)&lt;/p>
&lt;p>Das Erstaunliche an Classic McEliece ist seine überwältigende Erfolgsbilanz: &lt;strong>Obwohl es seit seinem Entwurf vor über 40 Jahren intensiver kryptanalytischer Forschung von Kryptographen auf der ganzen Welt ausgesetzt war, wurde nie eine grundlegende Schwachstelle entdeckt.&lt;/strong> Unter allen PQC-Ansätzen besitzt es die &amp;ldquo;durch die Zeit am besten bewiesene, robuste Sicherheit&amp;rdquo;.&lt;/p>
&lt;p>Darüber hinaus hat es den Vorteil, dass die Chiffretextgröße sehr klein ist (nur etwa 100 bis 200 Bytes). Es hat jedoch den fatalen Nachteil, dass &lt;strong>die Public-Key-Größe in den Megabyte-Bereich (MB) reicht&lt;/strong>. Selbst auf der niedrigsten Sicherheitsstufe (entsprechend AES-128) ist der öffentliche Schlüssel ca. 250 KB groß, auf höheren Stufen übersteigt er 1 MB.&lt;/p>
&lt;p>Aus diesem Grund eignet es sich überhaupt nicht für Anwendungsfälle wie den TLS-Handshake, bei denen der öffentliche Schlüssel bei jeder Kommunikation über das Netzwerk gesendet wird. In speziellen Anwendungsfällen jedoch, bei denen der öffentliche Schlüssel im Voraus im System platziert werden kann, wie etwa beim Schlüsselaustausch für VPNs, bei in Firmware hartkodierten öffentlichen Schlüsseln oder bei Satellitenkommunikation, wird er aufgrund seiner starken Sicherheit weiterhin als äußerst vielversprechende Option betrachtet.&lt;/p>
&lt;hr>
&lt;h2 id="10-leistungsvergleich-und-kompromisse-der-einzelnen-pqc-algorithmen">10. Leistungsvergleich und Kompromisse der einzelnen PQC-Algorithmen
&lt;/h2>&lt;p>Die Leistungsmerkmale der bisher diskutierten Hauptalgorithmen bei gängigen Sicherheitsniveaus (NIST Level 2 bis 3, entsprechend AES-128 bis 192) sind in der folgenden Tabelle zusammengefasst.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">Algorithmus (Standardname)&lt;/th>
&lt;th style="text-align:left">Kategorie&lt;/th>
&lt;th style="text-align:left">Mathematische Grundlage&lt;/th>
&lt;th style="text-align:left">Public-Key-Größe&lt;/th>
&lt;th style="text-align:left">Private-Key-Größe&lt;/th>
&lt;th style="text-align:left">Chiffretext-/Signaturgröße&lt;/th>
&lt;th style="text-align:left">Verarbeitungsgeschwindigkeit&lt;/th>
&lt;th style="text-align:left">Hauptmerkmale und Anwendungen&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Kyber768&lt;/strong>&lt;br>(ML-KEM)&lt;/td>
&lt;td style="text-align:left">KEM&lt;/td>
&lt;td style="text-align:left">Module-LWE&lt;/td>
&lt;td style="text-align:left">1.184 Bytes&lt;/td>
&lt;td style="text-align:left">2.400 Bytes&lt;/td>
&lt;td style="text-align:left">1.088 Bytes&lt;/td>
&lt;td style="text-align:left">Sehr schnell&lt;/td>
&lt;td style="text-align:left">Beste Balance aus Schlüsselgröße und Geschwindigkeit. Universeller KEM-Standard für z. B. TLS 1.3.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Dilithium3&lt;/strong>&lt;br>(ML-DSA)&lt;/td>
&lt;td style="text-align:left">Signatur&lt;/td>
&lt;td style="text-align:left">Module-LWE&lt;/td>
&lt;td style="text-align:left">1.952 Bytes&lt;/td>
&lt;td style="text-align:left">4.032 Bytes&lt;/td>
&lt;td style="text-align:left">3.309 Bytes&lt;/td>
&lt;td style="text-align:left">Erzeugung &amp;amp; Verifizierung schnell&lt;/td>
&lt;td style="text-align:left">Einfache Implementierung. Universeller Standard für digitale Signaturen.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>FALCON-512&lt;/strong>&lt;br>(FN-DSA)&lt;/td>
&lt;td style="text-align:left">Signatur&lt;/td>
&lt;td style="text-align:left">NTRU-Gitter&lt;/td>
&lt;td style="text-align:left">897 Bytes&lt;/td>
&lt;td style="text-align:left">1.281 Bytes&lt;/td>
&lt;td style="text-align:left">666 Bytes&lt;/td>
&lt;td style="text-align:left">Erzeugung eher langsam, Verifizierung ultraschnell&lt;/td>
&lt;td style="text-align:left">Minimale Signaturgröße. Erfordert jedoch Fließkommaoperationen. Für Embedded &amp;amp; IoT.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>SPHINCS+&lt;/strong>&lt;br>(SLH-DSA)&lt;/td>
&lt;td style="text-align:left">Signatur&lt;/td>
&lt;td style="text-align:left">Hash-Funktion&lt;/td>
&lt;td style="text-align:left">32 Bytes&lt;/td>
&lt;td style="text-align:left">64 Bytes&lt;/td>
&lt;td style="text-align:left">ca. 17.000 Bytes&lt;/td>
&lt;td style="text-align:left">Erzeugung sehr langsam&lt;/td>
&lt;td style="text-align:left">Mathematisches Ausfallrisiko fast null. Hochsicherheitsanwendungen wie Root-Zertifikate.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Classic McEliece&lt;/strong>&lt;/td>
&lt;td style="text-align:left">KEM&lt;/td>
&lt;td style="text-align:left">Goppa-Code&lt;/td>
&lt;td style="text-align:left">&lt;strong>ca. 1,04 MB&lt;/strong>&lt;/td>
&lt;td style="text-align:left">13.568 Bytes&lt;/td>
&lt;td style="text-align:left">&lt;strong>188 Bytes&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Kapselung ist schnell&lt;/td>
&lt;td style="text-align:left">40 Jahre bewiesene Sicherheit. Riesiger öffentlicher Schlüssel. Für Umgebungen mit Hartkodierung.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="kompromisse-verstehen">Kompromisse verstehen
&lt;/h3>&lt;p>In der Welt der PQC gibt es keinen einzigen magischen Algorithmus mit den Eigenschaften &amp;ldquo;kleine Größe, hohe Geschwindigkeit und perfekte mathematische Garantie&amp;rdquo;.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Internet-Standards (Kyber / Dilithium)&lt;/strong>: Bieten die beste Leistungsbalance und eignen sich am besten als Drop-In-Ersatz für heutiges RSA/ECC.&lt;/li>
&lt;li>&lt;strong>Ultimativer Konservativismus (SPHINCS+)&lt;/strong>: Wird gewählt, wenn man auf Kosten von Datengröße und Verarbeitungsgeschwindigkeit eine absolute Versicherung gegen zukünftige mathematische Durchbrüche haben möchte.&lt;/li>
&lt;li>&lt;strong>Für spezielle Umgebungen (FALCON / Classic McEliece)&lt;/strong>: Spezialwaffen, die je nach Umgebungsbeschränkungen ausgewählt werden, z. B. bei extrem geringer Bandbreite oder der Möglichkeit der Vorabverteilung.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="11-herausforderungen-bei-der-praktischen-anwendung-und-die-praktische-lösung-der-hybriden-kryptographie">11. Herausforderungen bei der praktischen Anwendung und die praktische Lösung der &amp;ldquo;hybriden Kryptographie&amp;rdquo;
&lt;/h2>&lt;p>Mit dem Abschluss der NIST-Standardisierung und der offiziellen Veröffentlichung der FIPS-Standards hat die PQC-Migration (&lt;strong>PQC Migration&lt;/strong>) der IT-Infrastruktur weltweit ernsthaft begonnen. Googles Chrome-Browser, Apples iMessage (PQ3-Protokoll) und Netzwerkanbieter wie Cloudflare haben die PQC-Unterstützung bereits in ihre Protokolle implementiert und mit dem praktischen Einsatz begonnen.&lt;/p>
&lt;p>Ein abrupter und vollständiger Wechsel zu neuen kryptographischen Algorithmen ist jedoch mit sehr hohen Risiken verbunden. Angenommen, ein brillanter Mathematiker entdeckt in einigen Jahren eine fatale Angriffsmethode auf Gitterkryptographien wie Kyber (einen mathematischen Fehler, der auch mit klassischen Computern gelöst werden könnte), dann würde das gesamte davon abhängige System in einem Augenblick schutzlos sein.&lt;/p>
&lt;p>Der realistische und empfohlene Ansatz, um dieses Unsicherheitsrisiko zu mindern, ist die &lt;strong>&amp;ldquo;hybride Kryptographie (Hybrid Cryptography)&amp;rdquo;&lt;/strong>.&lt;/p>
&lt;p>In der hybriden Kryptographie werden sowohl bestehende klassische Kryptographien mit jahrelanger Erfolgsgeschichte (z.B. elliptische Kurven wie X25519) als auch neue PQC (z.B. Kyber768) gleichzeitig für den Schlüsselaustausch verwendet. Jeder Algorithmus generiert unabhängig voneinander symmetrische Schlüsselkomponenten. Schließlich werden beide Komponenten mithilfe einer sicheren Schlüsselableitungsfunktion (Key Derivation Function, KDF) gemischt, um das endgültige Master-Secret zu generieren.&lt;/p>
&lt;div class="mermaid">graph TD
A["Client"] -->|① Sendet öffentlichen Schlüssel von X25519 + öffentlichen Schlüssel von Kyber| B["Server"]
B -->|② Antwortet mit geteiltem Schlüssel von X25519 + gekapseltem Chiffretext von Kyber| A
A --> C{"Ableitung des Master-Secrets (KDF)"}
B --> C
C -->|Eingabe: (X25519 gemeinsamer Schlüssel) || (Kyber gemeinsamer Schlüssel)| D["Sicherer Kommunikationsschlüssel (AES-256 / ChaCha20)"]
D -->|"Widerstandsfähig gegen Quantenbedrohungen UND klassische Schwachstellen"| E["Sichere hybride verschlüsselte Kommunikation (TLS 1.3)"]&lt;/div>
&lt;p>Dadurch entsteht eine robuste zweischichtige Sicherheit: &amp;ldquo;Selbst wenn Quantencomputer realisiert und ECC geknackt werden, schützt Kyber die Kommunikation&amp;rdquo;, und umgekehrt &amp;ldquo;Sollte ein unbekannter mathematischer Fehler in Kyber gefunden werden, schützt ECC die Kommunikation&amp;rdquo;. Ein prominentes Beispiel ist der IETF-Standardisierungsentwurf &lt;strong>X25519MLKEM768 (früher X25519Kyber768)&lt;/strong>. Die heutige Kommunikation zwischen Webbrowsern und modernsten Servern nutzt genau diese hybride Methode.&lt;/p>
&lt;p>Darüber hinaus wird im Systemdesign das Konzept der &lt;strong>Crypto Agility (Kryptographische Agilität)&lt;/strong> zu einer zwingenden Anforderung für die zukünftige Systementwicklung. Dies bedeutet, eine Architektur aufzubauen, &amp;ldquo;die nicht übermäßig von einem bestimmten kryptographischen Algorithmus abhängt und schnell auf einen anderen Algorithmus umstellen kann (z.B. von Kyber auf McEliece, von Dilithium auf SPHINCS+), sollte ein Algorithmus scheitern&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h2 id="12-fazit-ein-neuer-horizont-der-kryptographie">12. Fazit: Ein neuer Horizont der Kryptographie
&lt;/h2>&lt;p>Die Menschheitstraum-Technologie des Quantencomputers ist ironischerweise zur größten Bedrohung geworden, um unsere lange als vertrauenswürdig erachteten mathematischen Verteidigungslinien wie &amp;ldquo;Primfaktorzerlegung&amp;rdquo; und das &amp;ldquo;diskrete Logarithmusproblem&amp;rdquo; zu durchbrechen. Dennoch haben Kryptographen auf der ganzen Welt nicht aufgegeben. Stattdessen haben sie komplexere und tiefgründigere mehrdimensionale mathematische Gebiete wie Gittertheorie, Hash-Funktions-Bäume und Fehlerkorrekturcodes erschlossen, um mit der Post-Quanten-Kryptographie (PQC) ein neues Bollwerk zu errichten.&lt;/p>
&lt;p>Der Abschluss der NIST-Standardisierung mit FIPS 203 (ML-KEM), FIPS 204 (ML-DSA) und FIPS 205 (SLH-DSA) ist nicht das Ziel. Es ist nur der erste Schritt einer epischen PQC-Migration, die noch Jahrzehnte dauern wird. Für Softwareentwickler und Systemarchitekten wird es die große technische Herausforderung der Zukunft sein, herauszufinden, wie man die &amp;ldquo;Zunahme der Schlüsselgrößen&amp;rdquo; und &amp;ldquo;Veränderungen bei den Berechnungskosten&amp;rdquo;, die diese neuen Algorithmen mit sich bringen, optimal an Netzwerkprotokolle und Systeme anpasst.&lt;/p>
&lt;p>Der Kampf zwischen Quantencomputern und Kryptographie ist ein spannendes Feld, in dem die menschliche Erforschung der Mathematik und die technologische Evolution am intensivsten aufeinandertreffen. Ich hoffe, dieser Artikel hat Ihnen ein tieferes Verständnis der wunderschönen mathematischen Theorie hinter der PQC sowie der erstaunlichen Mechanismen der einzelnen Algorithmen, die die Zukunft der Cybersicherheit prägen werden, vermittelt.&lt;/p>
&lt;hr>
&lt;p>&lt;em>References:&lt;/em>&lt;/p>
&lt;ul>
&lt;li>&lt;em>NIST Post-Quantum Cryptography Standardization Program&lt;/em>&lt;/li>
&lt;li>&lt;em>FIPS 203: Module-Lattice-Based Key-Encapsulation Mechanism Standard&lt;/em>&lt;/li>
&lt;li>&lt;em>FIPS 204: Module-Lattice-Based Digital Signature Standard&lt;/em>&lt;/li>
&lt;li>&lt;em>FIPS 205: Stateless Hash-Based Digital Signature Standard&lt;/em>&lt;/li>
&lt;/ul></description></item><item><title>Der Tag, an dem Quantencomputer praktisch werden: Der aktuelle Stand im Jahr 2026</title><link>http://kenji.blog/de/p/quantum-computing-2026-current-status/</link><pubDate>Fri, 11 Sep 2026 06:00:00 +0900</pubDate><guid>http://kenji.blog/de/p/quantum-computing-2026-current-status/</guid><description>&lt;img src="http://kenji.blog/p/quantum-computing-2026-current-status/img/eyecatch.jpg" alt="Featured image of post Der Tag, an dem Quantencomputer praktisch werden: Der aktuelle Stand im Jahr 2026" />&lt;h2 id="1-einführung-wie-weit-sind-quantencomputer-im-jahr-2026-gekommen">1. Einführung: Wie weit sind Quantencomputer im Jahr 2026 gekommen?
&lt;/h2>&lt;p>Im Jahr 2026 hat das Quantencomputing einen entscheidenden Wandel vom einstigen „theoretischen Traum“ zur „ingenieurstechnischen Realität“ vollzogen. Da die Grenzen der bis vor wenigen Jahren noch vorherrschenden &lt;strong>NISQ (Noisy Intermediate-Scale Quantum)&lt;/strong>-Geräte deutlich wurden, haben Forschungseinrichtungen und Tech-Giganten weltweit das Ruder in Richtung der Realisierung des „fehlertoleranten Quantencomputings (FTQC: Fault-Tolerant Quantum Computing)“ herumgerissen.&lt;/p>
&lt;p>In diesem Artikel werden wir den aktuellen Stand von Quantencomputern eingehend beleuchten und dabei die neuesten Durchbrüche des Jahres 2026 miteinbeziehen. Insbesondere werden wir die Quantenfehlerkorrektur (Oberflächencode), den Unterschied zwischen physischen und logischen Qubits, Fortschritte beim topologischen Quantencomputing sowie die neuesten Entwicklungen bei supraleitenden und Ionenfallen-Ansätzen im Detail erläutern.&lt;/p>
&lt;hr>
&lt;h2 id="2-grundlagen-von-quantenzuständen-und-fidelität-fidelity">2. Grundlagen von Quantenzuständen und Fidelität (Fidelity)
&lt;/h2>&lt;p>Das Qubit, die grundlegende Einheit eines Quantencomputers, kann sich im Gegensatz zu einem klassischen Bit (0 oder 1) in einem Überlagerungszustand (Superposition) von 0 und 1 befinden. Der Zustand eines einzelnen Qubits wird als Vektor in einem Hilbertraum wie folgt dargestellt:&lt;/p>
$$
|\psi\rangle = \alpha|0\rangle + \beta|1\rangle
$$
&lt;p>Hierbei sind $\alpha$ und $\beta$ komplexe Wahrscheinlichkeitsamplituden, die die folgende Normalisierungsbedingung erfüllen:&lt;/p>
$$
|\alpha|^2 + |\beta|^2 = 1
$$
&lt;p>Eine extrem wichtige Kennzahl zur Messung der Leistung von Quantenberechnungen ist die &lt;strong>Fidelität (Fidelity)&lt;/strong>. Die Fidelität $F$ zwischen einem idealen Quantenzustand $|\psi\rangle$ und einer durch Rauschen degradierten, zu einem gemischten Zustand gewordenen tatsächlichen Dichtematrix $\rho$ ist wie folgt definiert:&lt;/p>
$$
F(\rho, |\psi\rangle) = \langle \psi | \rho | \psi \rangle
$$
&lt;p>Heutzutage, im Jahr 2026, hat die Fidelität von 2-Qubit-Gattern (z. B. CNOT- oder CZ-Gattern) bei supraleitenden Systemen stabil die Hürde von &lt;strong>99,99 %&lt;/strong> (die sogenannten „vier Neunen“) überschritten. Dies liegt deutlich über dem Schwellenwert für die Fehlerkorrektur mit Oberflächencodes (ca. 99 %) und ist einer der größten Durchbrüche auf dem Weg zur praktischen Anwendung.&lt;/p>
&lt;hr>
&lt;h2 id="3-die-grenzen-der-nisq-ära-und-der-paradigmenwechsel-zu-ftqc">3. Die Grenzen der NISQ-Ära und der Paradigmenwechsel zu FTQC
&lt;/h2>&lt;p>Von den späten 2010er bis in die frühen 2020er Jahre hinein war die Ära von NISQ (Noisy Intermediate-Scale Quantum), also von Geräten mit zehn bis hunderten von Qubits ohne Fehlerkorrektur. NISQ hatte jedoch klare Grenzen.&lt;/p>
&lt;p>Mit zunehmender Schaltkreistiefe (Depth) häufen sich Fehler exponentiell an, was es unmöglich macht, aussagekräftige Berechnungsergebnisse zu erzielen. Die Gesamterfolgswahrscheinlichkeit $P_{success}$ bei einer Schaltkreistiefe $D$ nimmt in Bezug auf die Fidelität eines einzelnen Gatters $f$ und die Anzahl der Gatter $N$ wie folgt ab:&lt;/p>
$$
P_{success} \approx f^N
$$
&lt;p>Wenn man 1000 Gatter mit $f = 0,99$ anwendet, ergibt sich $0,99^{1000} \approx 4,3 \times 10^{-5}$, und das Ergebnis geht fast vollständig in zufälligem Rauschen unter. Daher konzentrieren sich die Ressourcen im Jahr 2026 weniger auf die direkte Skalierung von NISQ-Algorithmen (wie VQE oder QAOA), sondern auf die Erzeugung von &lt;strong>logischen Qubits (Logical Qubits)&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="4-quantenfehlerkorrektur-und-logische-qubits-die-vorderste-front-des-oberflächencodes">4. Quantenfehlerkorrektur und logische Qubits: Die vorderste Front des Oberflächencodes
&lt;/h2>&lt;p>Die Quantenfehlerkorrektur (QEC: Quantum Error Correction) ist eine Technologie, bei der mehrere „physische Qubits“ kodiert werden, um ein einzelnes „logisches Qubit“ zu erzeugen und Fehler zu erkennen und zu korrigieren. Derzeit gilt der &lt;strong>Oberflächencode (Surface Code)&lt;/strong> als am vielversprechendsten.&lt;/p>
&lt;h3 id="41-struktur-des-oberflächencodes-surface-code">4.1 Struktur des Oberflächencodes (Surface Code)
&lt;/h3>&lt;p>Beim Oberflächencode werden die Qubits in einem zweidimensionalen Gitter angeordnet. Daten-Qubits (die die eigentlichen Informationen speichern) und Mess-Qubits (für die Syndrommessung) sind schachbrettartig angeordnet.&lt;/p>
&lt;div class="mermaid">graph TD
A["Daten-Qubit (D1)"] --- B["Mess-Qubit (M1)"]
B --- C["Daten-Qubit (D2)"]
C --- D["Mess-Qubit (M2)"]
D --- E["Daten-Qubit (D3)"]
B --- F["Daten-Qubit (D4)"]
D --- G["Daten-Qubit (D5)"]
style A fill:#e1f5fe,stroke:#039be5
style C fill:#e1f5fe,stroke:#039be5
style E fill:#e1f5fe,stroke:#039be5
style F fill:#e1f5fe,stroke:#039be5
style G fill:#e1f5fe,stroke:#039be5
style B fill:#fff3e0,stroke:#fb8c00
style D fill:#fff3e0,stroke:#fb8c00&lt;/div>
&lt;p>Mithilfe der Stabilisator-Operatoren $S_x$ und $S_z$ werden Bitflips (X-Fehler) und Phasenflips (Z-Fehler) kontinuierlich überwacht.&lt;/p>
$$
S_x = \prod_{i \in \text{star}} X_i, \quad S_z = \prod_{j \in \text{plaquette}} Z_j
$$
&lt;p>Ein entscheidender Fortschritt im Jahr 2026 war das vollständige Durchbrechen des „Break-Even-Punkts (Break-even point)“. Das bedeutet, dass das durch die Fehlerkorrektur beseitigte Rauschen größer wurde als das zusätzliche Rauschen, das durch die für die Fehlerkorrektur erforderlichen Schaltkreise entsteht, sodass die Lebensdauer von logischen Qubits die von physischen Qubits um viele Größenordnungen übertrifft.&lt;/p>
&lt;h3 id="42-der-zyklus-der-quantenfehlerkorrektur">4.2 Der Zyklus der Quantenfehlerkorrektur
&lt;/h3>&lt;p>Die Fehlerkorrektur fungiert als kontinuierliche Feedbackschleife.&lt;/p>
&lt;div class="mermaid">sequenceDiagram
participant D as "Daten-Qubits"
participant M as "Ancilla-/Mess-Qubits"
participant C as "Klassischer Controller"
loop "Syndrom-Extraktionszyklus (ca. 1 Mikrosekunde)"
D->>M: "Verschränken (CNOT/CZ)"
M->>C: "Zustand messen (Syndrom)"
C->>C: "Syndrom decodieren (z. B. Minimum Weight Perfect Matching)"
C-->>D: "Pauli-Korrektur anwenden (falls erforderlich)"
end&lt;/div>
&lt;p>Mittlerweile hat sich die Technologie etabliert, diesen klassischen Dekodierungsprozess (Syndromanalyse) mit FPGAs oder dedizierten ASICs im Nanosekundenbereich durchzuführen, wodurch die Fehlerkorrektur in Echtzeit das Stadium der praktischen Anwendung erreicht hat.&lt;/p>
&lt;hr>
&lt;h2 id="5-die-evolution-der-hardware-architektur-ausgabe-2026">5. Die Evolution der Hardware-Architektur (Ausgabe 2026)
&lt;/h2>&lt;p>Die Quantenhardware im Jahr 2026 entwickelt sich hauptsächlich entlang dreier Achsen: „Supraleitender Ansatz“, „Ionenfallen-Ansatz“ und „Topologischer Ansatz“.&lt;/p>
&lt;h3 id="51-integration-von-supraleitenden-qubits">5.1 Integration von supraleitenden Qubits
&lt;/h3>&lt;p>Der supraleitende Ansatz ist ein Bereich, der von IBM und Google angeführt wird, wobei Transmon-Qubits (Transmon) mit Josephson-Kontakten vorherrschen. Im Jahr 2026 wurden Mega-Chips realisiert, die Tausende bis Zehntausende von physischen Qubits auf einem einzigen Chip integrieren.&lt;/p>
&lt;p>Besonders hervorzuheben ist die Etablierung von &lt;strong>quantenmechanischen Verbindungen zwischen Modulen (Quantum Interconnects)&lt;/strong>. Die Quantenteleportation zwischen Chips mithilfe von Mikrowellenphotonen wurde auf kommerziellem Niveau implementiert, wodurch die Größenbeschränkungen eines einzelnen Mischkryostaten (Verdünnungskühlschranks) umgangen werden können.&lt;/p>
&lt;h3 id="52-zweidimensionale-skalierung-von-ionenfallen-und-optische-interconnects">5.2 Zweidimensionale Skalierung von Ionenfallen und optische Interconnects
&lt;/h3>&lt;p>Beim Ionenfallen-Ansatz (vorangetrieben unter anderem von Quantinuum und IonQ) werden die internen Energiezustände von im Vakuum schwebenden Ionen als Qubits genutzt. Im Vergleich zum supraleitenden Ansatz haben sie den Vorteil extrem langer T1/T2-Kohärenzzeiten und ermöglichen eine All-to-All-Konnektivität (All-to-All Connectivity).&lt;/p>
&lt;p>Der Durchbruch des Jahres 2026 ist die zweidimensionale Ausrichtung der QCCD-Architektur (Quantum Charge Coupled Device) und die Hochgeschwindigkeits-Verschränkungserzeugung zwischen mehreren Fallen mithilfe von photonischen Interconnects. Dadurch wurden die Schwächen der Ionenfallen, nämlich „langsame Gatter-Geschwindigkeit“ und „mangelnde Skalierbarkeit“, dramatisch verbessert.&lt;/p>
&lt;h3 id="53-topologisches-quantencomputing-kontrolle-von-anyonen">5.3 Topologisches Quantencomputing: Kontrolle von Anyonen
&lt;/h3>&lt;p>Das &lt;strong>topologische Quantencomputing&lt;/strong>, das lange Zeit als rein theoretisch galt, hat im Jahr 2026 endlich die Phase der experimentellen Demonstration erreicht. Dieser Ansatz, der unter anderem von Microsoft vorangetrieben wird, nutzt nicht-abelsche Anyonen (Non-Abelian Anyons), die als „Majorana-Nullmoden (Majorana Zero Modes)“ bezeichnet werden.&lt;/p>
&lt;p>Quantengatter werden durch eine Operation namens „Braiding (Flechten)“ ausgeführt, bei der die Positionen der Anyon-Teilchen vertauscht werden.&lt;/p>
$$
|\psi_{final}\rangle = B_{ij} |\psi_{initial}\rangle
$$
&lt;p>Hierbei ist $B_{ij}$ der Braiding-Operator. Da beim topologischen Ansatz die Speicherung von Informationen nicht vom lokalen Zustand der Teilchen abhängt, sondern von der Topologie der gesamten „Knoten“, ist er von Natur aus widerstandsfähig gegen Umgebungsrauschen (Fehlertoleranz auf Hardware-Ebene). Im Jahr 2026 wurde weltweit zum ersten Mal die Erzeugung topologischer logischer Qubits mit hoher Fidelität bestätigt, was große Aufmerksamkeit als starke Abkürzung zu FTQC erregte.&lt;/p>
&lt;hr>
&lt;h2 id="6-roadmap-und-ausblick-auf-die-praktische-anwendung">6. Roadmap und Ausblick auf die praktische Anwendung
&lt;/h2>&lt;p>Damit Quantencomputer ihre &lt;strong>Quantenüberlegenheit (Quantum Advantage)&lt;/strong>, mit der sie klassische Computer (Supercomputer) in Bereichen wie „chemische Berechnungen“, „Materialwissenschaften“ und „Finanzmodellierung“ übertreffen, wirklich entfalten können, sind Tausende von logischen Qubits erforderlich.&lt;/p>
&lt;div class="mermaid">gantt
title "Quantencomputing-Roadmap (Überarbeitet 2026)"
dateFormat YYYY
axisFormat %Y
section "NISQ-Ära"
"Verrauschte Qubits (&lt;1000)" :done, 2018, 2024
section "Frühes FTQC"
"Demonstration des Break-Even-Punkts" :done, 2024, 2026
"Hunderte von logischen Qubits" :active, 2026, 2028
section "Vollwertiges FTQC"
"1000+ logische Qubits (Komm. Anwendung)" : 2028, 2030
"Universeller fehlertoleranter Quantencomputer" : 2030, 2035&lt;/div>
&lt;h3 id="61-aktuelle-herausforderungen-und-die-zukunft">6.1 Aktuelle Herausforderungen und die Zukunft
&lt;/h3>&lt;p>Die größte Herausforderung im Jahr 2026 ist die Kühlkapazität der riesigen Kryostate (Verdünnungskühlschränke) zur Aufrechterhaltung der extrem niedrigen Temperaturen sowie die Verkabelung (I/O-Flaschenhals), die die Steuergeräte bei Raumtemperatur mit den Quantenchips bei tiefen Temperaturen verbindet. Um dem zu begegnen, schreitet die Entwicklung von CMOS-Controller-Chips (Cryo-CMOS), die in kryogenen Umgebungen funktionieren, rasant voran.&lt;/p>
&lt;h3 id="fazit">Fazit
&lt;/h3>&lt;p>Das Jahr 2026 wird in die Geschichte der Quantencomputer als „das erste Jahr der Skalierung logischer Qubits“ eingehen. Dank der Demonstration von Fehlerkorrekturalgorithmen, der Modularisierung der Hardware und der rasanten Fortschritte beim topologischen Ansatz ist der „Tag der praktischen Anwendung“ keine ferne Zukunft mehr, sondern kann als konkreter Meilenstein für die nächsten Jahre angesehen werden. Für Entwickler von Quantenalgorithmen und Unternehmen ist jetzt genau der richtige Zeitpunkt, um ernsthaft in quantennative Problemlösungen zu investieren.&lt;/p>
&lt;hr>
&lt;p>&lt;em>Dieser Artikel basiert auf den neuesten Forschungsarbeiten und Branchentrends im Bereich des Quantencomputings mit Stand 2026.&lt;/em>&lt;/p></description></item></channel></rss>