<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Homomorphic Encryption on kenji.blog</title><link>http://kenji.blog/de/tags/homomorphic-encryption/</link><description>Recent content in Homomorphic Encryption on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>de</language><copyright>kenjinote</copyright><lastBuildDate>Fri, 11 Sep 2026 11:00:00 +0900</lastBuildDate><atom:link href="http://kenji.blog/de/tags/homomorphic-encryption/index.xml" rel="self" type="application/rss+xml"/><item><title>Was ist die vollständig homomorphe Verschlüsselung (FHE)? Der Schlüssel zur Sicherheit der nächsten Generation</title><link>http://kenji.blog/de/p/fully-homomorphic-encryption-fhe-explained/</link><pubDate>Fri, 11 Sep 2026 11:00:00 +0900</pubDate><guid>http://kenji.blog/de/p/fully-homomorphic-encryption-fhe-explained/</guid><description>&lt;img src="http://kenji.blog/p/fully-homomorphic-encryption-fhe-explained/img/eyecatch.jpg" alt="Featured image of post Was ist die vollständig homomorphe Verschlüsselung (FHE)? Der Schlüssel zur Sicherheit der nächsten Generation" />&lt;p>Während Cloud-Computing und KI-Technologien als Grundlage unserer Gesellschaft fest etabliert sind, ist der Kompromiss zwischen &amp;ldquo;Datenschutz&amp;rdquo; und &amp;ldquo;Datennutzung&amp;rdquo; zu einer der wichtigsten Herausforderungen geworden. Es gibt eine wachsende Nachfrage danach, dass KI hochsensible Daten wie medizinische Daten, Finanzinformationen und persönliche biometrische Daten in der Cloud analysiert. Dennoch zögern viele Unternehmen aus Sicherheitsbedenken, Daten nach außen zu senden.&lt;/p>
&lt;p>Herkömmliche Verschlüsselungstechnologien (wie AES und RSA) eignen sich hervorragend zum Schutz von gespeicherten Daten (Data at Rest) oder Daten, die über ein Netzwerk übertragen werden (Data in Transit). &lt;strong>Wenn der Server jedoch Verarbeitungen (Berechnungen) wie Suchen oder maschinelles Lernen an den Daten durchführt (Data in Use), müssen die Daten zuerst entschlüsselt und wieder in Klartext umgewandelt werden.&lt;/strong> Wenn der Server in diesem Moment der Entschlüsselung gehackt wird oder ein böswilliger interner Administrator die Daten einsieht, führt dies direkt zu einem Informationsleck.&lt;/p>
&lt;p>Die &lt;strong>vollständig homomorphe Verschlüsselung (Fully Homomorphic Encryption: FHE)&lt;/strong> ist eine Traumtechnologie, die diese fundamentale Schwäche der &amp;ldquo;Entschlüsselung während der Verarbeitung&amp;rdquo; überwindet. Mit FHE ist es möglich, Berechnungen an Daten durchzuführen, während sie verschlüsselt bleiben, ohne sie jemals zu entschlüsseln, und nur das verschlüsselte Ergebnis an den Client zurückzusenden.&lt;/p>
&lt;p>In diesem Artikel werden wir FHE, den Schlüssel zur Sicherheit der nächsten Generation, detailliert untersuchen – von seinen Konzepten und seiner Geschichte über den bahnbrechenden Durchbruch von Craig Gentry, die mathematischen Grundlagen (wie Ring-LWE), die größte Herausforderung des &amp;ldquo;Rauschens&amp;rdquo; und deren Lösung (Bootstrapping) bis hin zu den neuesten Implementierungsbibliotheken.&lt;/p>
&lt;hr>
&lt;h2 id="1-was-ist-homomorphe-verschlüsselung-grundkonzepte">1. Was ist homomorphe Verschlüsselung? Grundkonzepte
&lt;/h2>&lt;p>&amp;ldquo;Homomorph&amp;rdquo; ist ein Begriff aus der Algebra, der sich auf die Eigenschaft bezieht, dass zwischen Mengen mit einer bestimmten Struktur Abbildungen vorgenommen werden können, während die Struktur der Operationen erhalten bleibt. In der Kryptographie bedeutet die &amp;ldquo;homomorphe&amp;rdquo; Eigenschaft, dass &lt;strong>Operationen im Klartextraum den Operationen im Geheimtextraum entsprechen&lt;/strong>.&lt;/p>
&lt;p>Ausgedrückt in einer einfachen Formel: Sei $E(\cdot)$ die Verschlüsselungsfunktion und $D(\cdot)$ die Entschlüsselungsfunktion für die Klartexte $m_1$ und $m_2$. Wenn wir die Operation auf dem Klartext (wie Addition oder Multiplikation) als $\circ$ und die Operation auf dem Geheimtext als $\diamond$ bezeichnen, gilt die folgende Beziehung:&lt;/p>
$$ D(E(m_1) \diamond E(m_2)) = m_1 \circ m_2 $$
&lt;p>Das bedeutet, wenn wir das Ergebnis einer Operation $\diamond$ auf die Geheimtexte $E(m_1)$ und $E(m_2)$ entschlüsseln, stimmt es mit dem Ergebnis der Operation $\circ$ auf die ursprünglichen Klartexte überein.&lt;/p>
&lt;h3 id="datenfluss-im-cloud-computing">Datenfluss im Cloud Computing
&lt;/h3>&lt;p>Die Architektur der Cloud-Verarbeitung mit FHE unterscheidet sich völlig von herkömmlichen Methoden. Das folgende Diagramm zeigt den Ablauf einer sicheren Datenverarbeitung unter Verwendung von FHE.&lt;/p>
&lt;div class="mermaid">graph TD
A["Client (hält privaten Schlüssel)"] -->|1. Klartext x verschlüsseln: E(x)| B["Cloud-Server (nur verschlüsselte Daten)"]
B -->|2. Funktion f auf Geheimtext anwenden: E(f(x))| B
B -->|3. Berechnetes Geheimtextergebnis E(y)| A
A -->|4. Mit privatem Schlüssel entschlüsseln: y = f(x)| A
style A fill:#d4edda,stroke:#28a745
style B fill:#f8d7da,stroke:#dc3545&lt;/div>
&lt;p>Der Server empfängt die verschlüsselten Daten $E(x)$, aber da er den privaten Schlüssel nicht besitzt, kann er unmöglich den Inhalt der Daten kennen. Durch Ausnutzung der Eigenschaften von FHE kann er jedoch eine Funktion $f$ (zum Beispiel ein maschinelles Lern-Inferenzmodell) auf den Geheimtext anwenden und $E(f(x))$ erzeugen. Der Client empfängt dies und entschlüsselt es mit seinem eigenen privaten Schlüssel, um das gewünschte Ergebnis $y = f(x)$ zu erhalten.&lt;/p>
&lt;hr>
&lt;h2 id="2-die-evolutionsgeschichte-der-homomorphen-verschlüsselung-phe-she-fhe">2. Die Evolutionsgeschichte der homomorphen Verschlüsselung: PHE, SHE, FHE
&lt;/h2>&lt;p>Die homomorphe Verschlüsselung hat ihre aktuelle &amp;ldquo;vollständige&amp;rdquo; Form nicht auf einmal erreicht. Sie wird je nach Art und Anzahl der durchführbaren Operationen grob in drei Phasen eingeteilt.&lt;/p>
&lt;h3 id="partially-homomorphic-encryption-phe-partiell-homomorphe-verschlüsselung">Partially Homomorphic Encryption (PHE: Partiell homomorphe Verschlüsselung)
&lt;/h3>&lt;p>PHE ist ein Verschlüsselungsschema, das es erlaubt, &lt;strong>entweder&lt;/strong> Addition oder Multiplikation unbegrenzt durchzuführen. Tatsächlich existieren Verschlüsselungen mit dieser Eigenschaft schon seit langer Zeit.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>RSA-Verschlüsselung (Homomorphismus bezüglich Multiplikation)&lt;/strong>
Die RSA-Verschlüsselung hatte unbeabsichtigt eine multiplikative homomorphe Eigenschaft. Seien $m_1, m_2$ Klartexte und $(e, N)$ der öffentliche Schlüssel:
$$ E(m_1) = m_1^e \pmod N $$
$$ E(m_2) = m_2^e \pmod N $$
Wenn wir diese multiplizieren:
$$ E(m_1) \times E(m_2) = (m_1 \cdot m_2)^e \pmod N = E(m_1 \times m_2) $$
Auf diese Weise entspricht die Multiplikation von Geheimtexten der Multiplikation von Klartexten.&lt;/li>
&lt;li>&lt;strong>Paillier-Verschlüsselung (Homomorphismus bezüglich Addition)&lt;/strong>
Die 1999 erfundene Paillier-Verschlüsselung besitzt eine additive homomorphe Eigenschaft. Sie wird in der Praxis für elektronische Wahlen (Zählen von verschlüsselten Stimmen und Entschlüsseln nur des Endergebnisses) verwendet.&lt;/li>
&lt;/ul>
&lt;h3 id="somewhat-homomorphic-encryption-she-etwas-homomorphe-verschlüsselung">Somewhat Homomorphic Encryption (SHE: Etwas homomorphe Verschlüsselung)
&lt;/h3>&lt;p>Dieses Schema kann &lt;strong>sowohl&lt;/strong> Addition als auch Multiplikation ausführen, aber es gibt &lt;strong>eine Grenze für die Anzahl der Operationen (die Tiefe der Schaltung)&lt;/strong>, die durchgeführt werden können. Aufgrund der Ansammlung von &amp;ldquo;Rauschen&amp;rdquo;, das später erläutert wird, wird die Entschlüsselung nach einer bestimmten Anzahl von Multiplikationen unmöglich. Die BGN (Boneh-Goh-Nissim)-Verschlüsselung von 2005 ist ein solches Beispiel, aber sie hatte Einschränkungen bei der Durchführung komplexer praktischer Berechnungen (wie Deep Learning).&lt;/p>
&lt;h3 id="fully-homomorphic-encryption-fhe-vollständig-homomorphe-verschlüsselung">Fully Homomorphic Encryption (FHE: Vollständig homomorphe Verschlüsselung)
&lt;/h3>&lt;p>Ein Verschlüsselungsschema, das sowohl Addition als auch Multiplikation &lt;strong>unbegrenzt oft&lt;/strong> ausführen kann. Ähnlich der Turing-Vollständigkeit in der Informationstheorie bedeutet dies: Wenn Addition (entspricht XOR) und Multiplikation (entspricht AND) unendlich oft kombiniert werden können, kann theoretisch jede berechenbare Funktion oder jeder Algorithmus in einem verschlüsselten Zustand ausgeführt werden.&lt;/p>
&lt;p>FHE wurde lange Zeit als der &amp;ldquo;Heilige Gral der Kryptographie&amp;rdquo; bezeichnet und man hielt es sogar für unmöglich, dies zu erreichen. Im Jahr 2009 schlug &lt;strong>Craig Gentry&lt;/strong>, der damals Doktorand an der Stanford University war, jedoch das erste FHE-Schema vor, das ideale Gitter (Ideal Lattices) nutzte und die Welt schockierte.&lt;/p>
&lt;hr>
&lt;h2 id="3-mathematische-grundlagen-von-fhe-das-lwe-problem-und-ring-lwe">3. Mathematische Grundlagen von FHE: Das LWE-Problem und Ring-LWE
&lt;/h2>&lt;p>Viele der heutigen Mainstream-FHE-Schemata basieren auf dem &lt;strong>LWE (Learning With Errors)-Problem&lt;/strong>, einer mathematischen Herausforderung der &amp;ldquo;gitterbasierten Kryptographie&amp;rdquo; (Lattice-based Cryptography), die auch als Post-Quanten-Kryptographie (Post-Quantum Cryptography) bekannt ist.&lt;/p>
&lt;h3 id="intuitives-verständnis-des-lwe-problems">Intuitives Verständnis des LWE-Problems
&lt;/h3>&lt;p>Das Lösen von linearen Gleichungssystemen ist mit Methoden wie der Gaußschen Elimination einfach.&lt;/p>
$$ \begin{cases} 3s_1 + 4s_2 + 2s_3 \equiv 12 \pmod{17} \\ 1s_1 + 9s_2 + 5s_3 \equiv 8 \pmod{17} \\ \vdots \end{cases} $$
&lt;p>Was passiert jedoch, wenn wir den Ergebnissen dieser Gleichungen einen sehr kleinen &amp;ldquo;zufälligen Fehler (Rauschen)&amp;rdquo; $e$ hinzufügen?&lt;/p>
$$ \begin{cases} 3s_1 + 4s_2 + 2s_3 + e_1 \equiv 13 \pmod{17} \\ 1s_1 + 9s_2 + 5s_3 + e_2 \equiv 7 \pmod{17} \\ \vdots \end{cases} $$
&lt;p>Nur durch Hinzufügen dieses Fehlers $e$ verwandelt sich das Problem, den geheimen Variablenvektor $\vec{s}$ zu finden, in ein NP-schweres Problem, das selbst mit aktuellen Supercomputern oder Quantencomputern schwer zu knacken ist. Dies ist das LWE-Problem.&lt;/p>
&lt;h3 id="das-ring-lwe-problem-rlwe">Das Ring-LWE-Problem (RLWE)
&lt;/h3>&lt;p>Das Standard-LWE-Problem beinhaltet Matrixoperationen, was zu dem Problem führt, dass die Schlüsselgrößen sehr groß sind (manchmal in der Größenordnung von Gigabyte) und die Berechnungseffizienz gering ist. Um dies zu lösen, wurde das &lt;strong>Ring-LWE (RLWE)-Problem&lt;/strong> eingeführt, welches Operationen über Polynomringen verwendet.&lt;/p>
&lt;p>In RLWE gehören die Elemente zum Polynomring $R_q = \mathbb{Z}_q[x] / (x^N + 1)$ (wobei $N$ eine Zweierpotenz und $q$ eine Primzahl als Modul ist).
Wenn der private Schlüssel ein Polynom $s(x)$, $a(x)$ ein zufälliges Polynom und $e(x)$ ein kleines Rauschpolynom ist, ist der öffentliche Schlüssel das folgende Paar:&lt;/p>
$$ (a(x), b(x)) \quad \text{where} \quad b(x) = -a(x) \cdot s(x) + e(x) \pmod q $$
&lt;p>Während der Verschlüsselung werden die Eigenschaften dieser Polynome genutzt, um den Klartext $m(x)$ zu kodieren und den Geheimtext zu erzeugen.&lt;/p>
&lt;hr>
&lt;h2 id="4-das-größte-hindernis-rauschen-und-gentrys-bootstrapping">4. Das größte Hindernis &amp;ldquo;Rauschen&amp;rdquo; und Gentrys Bootstrapping
&lt;/h2>&lt;p>Das wichtigste Konzept für das Verständnis von FHE ist das &lt;strong>&amp;ldquo;Rauschmanagement&amp;rdquo;&lt;/strong>.&lt;/p>
&lt;p>In LWE/RLWE-basierter Kryptographie wird absichtlich ein kleines &amp;ldquo;Rauschen (Fehler)&amp;rdquo; eingeschlossen, um die Sicherheit zu gewährleisten.
Der Prozess der Entschlüsselung des Geheimtextes $c$ eines Klartextes $m$ wird grob durch die folgende Formel ausgedrückt:&lt;/p>
$$ D(c) = (c \cdot s) \pmod q = m + \text{noise} $$
&lt;p>Bei der Entschlüsselung wird dieses &lt;code>noise&lt;/code> durch Prozesse wie Rundung entfernt, um den richtigen Klartext $m$ zu erhalten. Wenn Sie jedoch homomorphe Operationen (insbesondere Multiplikation) zwischen Geheimtexten durchführen, wird dieses Rauschen dramatisch verstärkt.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Homomorphe Addition&lt;/strong>: Rauschen nimmt additiv zu ($e_1 + e_2$). Dies ist eine relativ langsame Zunahme.&lt;/li>
&lt;li>&lt;strong>Mathematischer Ausdruck der homomorphen Eigenschaft für homomorphe Addition&lt;/strong>:
$$ E(m_1) \oplus E(m_2) = E(m_1 + m_2) $$&lt;/li>
&lt;li>&lt;strong>Homomorphe Multiplikation&lt;/strong>: Rauschen explodiert multiplikativ (weil es Ausdrücke wie $e_1 \times e_2$ enthält). Nach nur wenigen Multiplikationen überschreitet das Rauschen den Schwellenwert $q/2$, was eine korrekte Rundung unmöglich macht und die Entschlüsselung fehlschlägt.&lt;/li>
&lt;li>&lt;strong>Mathematischer Ausdruck der homomorphen Eigenschaft für homomorphe Multiplikation&lt;/strong>:
$$ E(m_1) \otimes E(m_2) = E(m_1 \times m_2) $$&lt;/li>
&lt;/ul>
&lt;p>Aus diesem Grund war FHE lange Zeit nicht realisierbar und blieb auf SHE (mit einer begrenzten Anzahl von Operationen) beschränkt.&lt;/p>
&lt;h3 id="die-magie-des-bootstrapping">Die Magie des Bootstrapping
&lt;/h3>&lt;p>Craig Gentrys genialer Beitrag war die Erfindung einer Rauschreduzierungstechnik namens &lt;strong>&amp;ldquo;Bootstrapping&amp;rdquo;&lt;/strong>. Dies war ein Paradigmenwechsel in der Kryptographie.&lt;/p>
&lt;p>Intuitiv ist es die Operation: &amp;ldquo;Bevor der Geheimtext mit Rauschen bedeckt und zerstört wird, &amp;rsquo;entschlüsseln&amp;rsquo; wir ihn im verschlüsselten Zustand, bereinigen ihn und legen ihn in einen neuen Geheimtext.&amp;rdquo;&lt;/p>
&lt;ol>
&lt;li>Angenommen, wir haben einen Geheimtext $C_{noisy}$ mit hohem Rauschen.&lt;/li>
&lt;li>Der Client übergibt im Voraus an den Server seinen privaten Schlüssel $sk$, der &amp;ldquo;mit dem öffentlichen Schlüssel verschlüsselt&amp;rdquo; ist, nämlich $E_{pk}(sk)$ (dies wird als Bootstrapping-Schlüssel bezeichnet).&lt;/li>
&lt;li>Der Server führt homomorph eine &lt;strong>Entschlüsselungsschaltung (Decryption Circuit)&lt;/strong> auf $C_{noisy}$ aus.&lt;/li>
&lt;li>Insbesondere führt er eine &amp;ldquo;Entschlüsselung innerhalb des verschlüsselten Raums&amp;rdquo; durch, indem er $E_{pk}(sk)$ auf $E_{pk}(C_{noisy})$ anwendet.&lt;/li>
&lt;li>Da diese Entschlüsselungsschaltung selbst eine homomorphe Operation ist, erzeugt sie neues Rauschen, aber das Rauschen des ausgegebenen neuen Geheimtextes $C_{fresh}$ wird auf ein bestimmtes &amp;ldquo;festes Niveau&amp;rdquo; zurückgesetzt.&lt;/li>
&lt;/ol>
&lt;div class="mermaid">graph LR
A["Geheimtext mit hohem Rauschen C_noisy"] --> B["Homomorphe Entschlüsselungsschaltung (Eval_Dec)"]
C["Verschlüsselter privater Schlüssel E(sk)"] --> B
B --> D["Geheimtext mit geringem Rauschen C_fresh"]
style B fill:#ffeeba,stroke:#ffc107&lt;/div>
&lt;p>Durch die regelmäßige Ausführung dieses Bootstrappings während der Berechnung ist es theoretisch möglich, eine Schaltung unendlicher Tiefe zu berechnen (Erreichen von FHE). Die frühe Methode von Gentry hatte jedoch einen so hohen Rechenaufwand, dass ein einziger Bootstrapping-Prozess zig Minuten bis Stunden in Anspruch nahm.&lt;/p>
&lt;hr>
&lt;h2 id="5-fhe-generationen-und-die-evolution-der-wichtigsten-schemata">5. FHE-Generationen und die Evolution der wichtigsten Schemata
&lt;/h2>&lt;p>Um FHE in die Praxis umzusetzen, haben Kryptographen auf der ganzen Welt darum gewetteifert, die Algorithmen zu verbessern. Gegenwärtig wird FHE hauptsächlich in vier Generationen/Familien eingeteilt.&lt;/p>
&lt;h3 id="zweite-generation-exakte-berechnung-von-ganzzahlen-bgv-bfv">Zweite Generation: Exakte Berechnung von Ganzzahlen (BGV, BFV)
&lt;/h3>&lt;p>Die &lt;strong>BGV (Brakerski-Gentry-Vaikuntanathan)&lt;/strong> und &lt;strong>BFV (Brakerski/Fan-Vercauteren)&lt;/strong> Schemata tauchten in den Jahren 2011-2012 auf. Diese basieren auf RLWE und eignen sich gut für modulare Arithmetik (exakte Berechnungen) mit ganzen Zahlen.
Sie unterstützen Batching-Technologien wie SIMD (Single Instruction, Multiple Data), die es ermöglichen, Tausende von Datensteckplätzen in einen einzigen riesigen Polynom-Geheimtext zu packen und sie alle auf einmal parallel zu berechnen.&lt;/p>
&lt;h3 id="dritte-generation-beschleunigung-des-bootstrapping-gsw-fhew-tfhe">Dritte Generation: Beschleunigung des Bootstrapping (GSW, FHEW, TFHE)
&lt;/h3>&lt;p>Das &lt;strong>GSW (Gentry-Sahai-Waters)&lt;/strong> Schema von 2013 vereinfachte die Struktur von FHE. Dies wurde weiterentwickelt zu einem der heutigen Mainstream-Schemata, &lt;strong>TFHE (Fast Fully Homomorphic Encryption over the Torus)&lt;/strong>.
Das Besondere an TFHE ist, dass sein Bootstrapping extrem schnell (im Millisekundenbereich) ist. Es ist stark bei Operationen auf Gatterebene (Logikschaltungen wie AND, XOR) und hat eine relativ kleine Geheimtextgröße, wodurch es sich zur schnellen Auswertung beliebiger Logikschaltungen eignet.&lt;/p>
&lt;h3 id="vierte-generation-spezialisierung-auf-näherungsberechnungen-und-maschinelles-lernen-ckks">Vierte Generation: Spezialisierung auf Näherungsberechnungen und maschinelles Lernen (CKKS)
&lt;/h3>&lt;p>Das 2017 von Cheon et al. vorgeschlagene &lt;strong>CKKS (Cheon-Kim-Kim-Song)&lt;/strong> Schema ist die definitive Technologie für den Schutz der Privatsphäre in der heutigen KI und beim maschinellen Lernen.
Während sich bisherige FHE auf &amp;ldquo;exakte Ganzzahlberechnungen&amp;rdquo; konzentrierten, unterstützt CKKS &lt;strong>&amp;ldquo;Näherungsberechnungen von Fließkommazahlen&amp;rdquo;&lt;/strong> im verschlüsselten Zustand. Es zeigt eine überwältigende Leistung bei Berechnungen mit reellen Zahlen, bei denen kleine Fehler toleriert werden, wie z.B. das Training und die Inferenz von neuronalen Netzen.&lt;/p>
&lt;p>Die folgende Tabelle fasst zusammen, wie Sie ein Schema basierend auf Ihrem Zweck auswählen.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">Schema-Name&lt;/th>
&lt;th style="text-align:left">Bevorzugter Datentyp&lt;/th>
&lt;th style="text-align:left">Empfohlene Anwendungsfälle&lt;/th>
&lt;th style="text-align:left">Merkmale&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>BFV / BGV&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Ganzzahlen (Integer)&lt;/td>
&lt;td style="text-align:left">Genaue statistische Berechnungen, Aggregation von Finanzdaten, DB-Suche&lt;/td>
&lt;td style="text-align:left">Hoher Durchsatz durch SIMD-Batching&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>CKKS&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Reelle Zahlen (Real/Complex)&lt;/td>
&lt;td style="text-align:left">Maschinelles Lernen (DNN, logistische Regression), Signalverarbeitung&lt;/td>
&lt;td style="text-align:left">Beschleunigung durch Näherungsberechnungen, Reskalierung&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>TFHE&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Boolesche Werte (Boolean)&lt;/td>
&lt;td style="text-align:left">Beliebige Logikschaltungen, String-Suche, Auswertung nichtlinearer Funktionen&lt;/td>
&lt;td style="text-align:left">Ultraschnelles Bootstrapping (Millisekundenbereich)&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;h2 id="6-praxis-fhe-bibliotheken-und-konzeptioneller-code">6. Praxis: FHE-Bibliotheken und konzeptioneller Code
&lt;/h2>&lt;p>Heutzutage gibt es viele Open-Source-Bibliotheken, mit denen man FHE nutzen kann, ohne fundierte Kenntnisse der Kryptographie zu besitzen.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Microsoft SEAL (Simple Encrypted Arithmetic Library)&lt;/strong>: Eine C++-Bibliothek, die BFV, BGV und CKKS unterstützt. Einer der Industriestandards. Die Python-Anbindung &lt;strong>TenSEAL&lt;/strong> ist bei KI-Ingenieuren sehr beliebt.&lt;/li>
&lt;li>&lt;strong>Zama (Concrete)&lt;/strong>: Ein Framework basierend auf TFHE. Es kann in Rust/Python geschrieben werden und bietet die Funktion (Concrete ML), bestehende PyTorch-Modelle zu kompilieren und auf FHE auszuführen.&lt;/li>
&lt;li>&lt;strong>OpenFHE&lt;/strong>: Der Nachfolger von PALISADE, eine umfassende C++-Bibliothek, die alle gängigen Schemata unterstützt.&lt;/li>
&lt;/ul>
&lt;h3 id="beispiel-für-fhe-programmierung-in-python-tenseal">Beispiel für FHE-Programmierung in Python (TenSEAL)
&lt;/h3>&lt;p>Hier ist ein konzeptionelles Python-Codebeispiel unter Verwendung des CKKS-Schemas, das Vektoren aus reellen Zahlen addiert und multipliziert, während sie verschlüsselt bleiben.&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;/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">tenseal&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">ts&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. Kontext-Setup (inklusive Schlüsselerzeugung)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Verwendung des CKKS-Schemas, Polynomgrad auf 8192 gesetzt&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">context&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">ts&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">context&lt;/span>&lt;span class="p">(&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">ts&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">SCHEME_TYPE&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">CKKS&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">poly_modulus_degree&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">8192&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">coeff_mod_bit_sizes&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="mi">60&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">40&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">40&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">60&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>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">context&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">generate_galois_keys&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">context&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">global_scale&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">40&lt;/span> &lt;span class="c1"># Skalierungsfaktor für reelle Zahlen&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. Client-Seite: Daten verschlüsseln&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">vector1&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mf">1.5&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mf">2.5&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mf">3.5&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">vector2&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mf">2.0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mf">3.0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mf">4.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"># Klartext-Vektoren in Geheimtexte umwandeln (wird normalerweise auf der Client-Seite ausgeführt)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">enc_v1&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">ts&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">ckks_vector&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">context&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">vector1&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">enc_v2&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">ts&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">ckks_vector&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">context&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">vector2&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. Server-Seite: Operationen in verschlüsseltem Zustand (Schutz von Data in Use)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Der Server kennt den Klartext nicht, kann aber Addition und Multiplikation ausführen&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">enc_add&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">enc_v1&lt;/span> &lt;span class="o">+&lt;/span> &lt;span class="n">enc_v2&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">enc_mul&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">enc_v1&lt;/span> &lt;span class="o">*&lt;/span> &lt;span class="n">enc_v2&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. Client-Seite: Ergebnisse entschlüsseln&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Nur der Client mit dem privaten Schlüssel kann das Ergebnis sehen&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">res_add&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">enc_add&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">decrypt&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">res_mul&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">enc_mul&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">decrypt&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="sa">f&lt;/span>&lt;span class="s2">&amp;#34;Entschlüsseltes Additionsergebnis: &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">res_add&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="c1"># Beispielausgabe: [3.5000001, 5.5000001, 7.5000002] (enthält aufgrund der Näherungsberechnung einen winzigen Fehler)&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;Entschlüsseltes Multiplikationsergebnis: &lt;/span>&lt;span class="si">{&lt;/span>&lt;span class="n">res_mul&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="c1"># Beispielausgabe: [3.0000002, 7.5000005, 14.0000003]&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Wie aus dem obigen Code ersichtlich ist, können Sie Berechnungen zwischen Geheimtexten intuitiv schreiben, indem Sie Standard-Python-Operatoren wie in &lt;code>enc_v1 + enc_v2&lt;/code> überladen. Auf der Serverseite werden Vektoroperationen abgeschlossen, ohne den Inhalt der Vektoren zu kennen.&lt;/p>
&lt;hr>
&lt;h2 id="7-herausforderungen-von-fhe-leistung-und-hardware-beschleunigung">7. Herausforderungen von FHE: Leistung und Hardware-Beschleunigung
&lt;/h2>&lt;p>Während FHE theoretisch perfekte Sicherheit bietet, ist die größte Herausforderung bei seiner praktischen Anwendung der &lt;strong>&amp;ldquo;Leistungs-Overhead&amp;rdquo;&lt;/strong>.&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Rechenaufwand&lt;/strong>: Im Vergleich zu Berechnungen mit Klartexten sind Berechnungen mit Geheimtexten auf CPUs Tausende bis Zehntausende Male langsamer. Polynommultiplikation und Bootstrapping erfordern massive Mengen an FFT- (Fast Fourier Transform) oder NTT- (Number Theoretic Transform) Berechnungen.&lt;/li>
&lt;li>&lt;strong>Datenexpansion (Ciphertext Expansion)&lt;/strong>: Ein paar Byte Klartext können im verschlüsselten Zustand zu mehreren Megabyte werden. Dies übt großen Druck auf die Speicherbandbreite und die Netzwerkbandbreite aus.&lt;/li>
&lt;/ol>
&lt;h3 id="ansätze-für-hardware-lösungen">Ansätze für Hardware-Lösungen
&lt;/h3>&lt;p>Um diesen Overhead zu überwinden, treibt man weltweit die Entwicklung von FHE-spezifischen Hardware-Beschleunigern (ASIC, FPGA, GPU-Unterstützung) voran.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>GPU-Beschleunigung&lt;/strong>: Die Bemühungen schreiten voran, um NTT-Berechnungen und Bootstrapping mit leistungsstarken GPUs wie denen von NVIDIA zu parallelisieren, was eine zigfache Beschleunigung gegenüber Softwareimplementierungen meldet (z. B. 100x.ai, Zamas TFHE-rs CUDA-Backend).&lt;/li>
&lt;li>&lt;strong>DARPA DPRIVE-Projekt&lt;/strong>: Die US-amerikanische Defense Advanced Research Projects Agency (DARPA) fördert &amp;ldquo;DPRIVE (Data Protection in Virtual Environments)&amp;rdquo;, ein Projekt zur Entwicklung dedizierter Hardware, um die Berechnungsgeschwindigkeit von FHE auf ein Niveau anzuheben, das dem der Klartextverarbeitung entspricht (innerhalb des 10-fachen Overheads). Unternehmen wie Intel, Microsoft und Intellectual Ventures sind daran beteiligt.&lt;/li>
&lt;li>&lt;strong>Aufkommen der FPU (FHE Processing Unit)&lt;/strong>: Start-ups wie Cornami und Optalysys haben mit der Entwicklung von FHE-spezifischen Chips begonnen, die optisches Computing oder spezielle Siliziumarchitekturen nutzen.&lt;/li>
&lt;/ul>
&lt;p>In naher Zukunft wird es möglicherweise eine Zeit geben, in der &amp;ldquo;FPUs&amp;rdquo; standardmäßig in Servern und Cloud-Infrastrukturen installiert sind, ähnlich wie NPUs (Neural Processing Units) in der KI.&lt;/p>
&lt;hr>
&lt;h2 id="8-erwartete-anwendungsfälle">8. Erwartete Anwendungsfälle
&lt;/h2>&lt;p>Da FHE mittlerweile praktische Geschwindigkeiten erreicht, werden bahnbrechende Innovationen in den folgenden Bereichen erwartet.&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Schutz der Privatsphäre in der medizinischen und genomischen Analyse&lt;/strong>:
Indem die von mehreren Krankenhäusern gehaltenen Patientenakten und DNA-Daten mit FHE verschlüsselt und von der Cloud-KI trainiert werden, können hochpräzise Krebsdiagnosemodelle und die Entwicklung neuer Medikamente durchgeführt werden, ohne gegen Datenschutzgesetze (wie HIPAA oder DSGVO) zu verstoßen.&lt;/li>
&lt;li>&lt;strong>Betrugserkennung und Anti-Geldwäsche (AML) für Finanzinstitute&lt;/strong>:
Konkurrierende Banken können gegenseitig ihre Daten in verschlüsselter Form abgleichen, um riesige illegale Überweisungsnetzwerke zu erkennen (Cross-Bank-Analyse), ohne Kundenkontoinformationen oder Transaktionshistorien preiszugeben.&lt;/li>
&lt;li>&lt;strong>Sichere KI-Inferenz-API (MaaS: Model as a Service)&lt;/strong>:
Benutzer verschlüsseln ihre eigene Stimme, Gesichtsbilder oder Prompts und senden sie an einen KI-Dienst (z.B. ein LLM wie ChatGPT). Der KI-Anbieter generiert Antworten, ohne die Eingabe des Benutzers jemals zu kennen, und gibt sie als Geheimtext zurück. Dies beseitigt vollständig die Sorge, dass &amp;ldquo;die KI persönliche Informationen lernt oder einsehen kann&amp;rdquo;.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="9-fazit-die-zukunft-der-kryptographie-geht-hin-zu-unsichtbaren-berechnungen">9. Fazit: Die Zukunft der Kryptographie geht hin zu &amp;ldquo;unsichtbaren Berechnungen&amp;rdquo;
&lt;/h2>&lt;p>Genauso wie die Erfindung der Public-Key-Kryptographie (RSA) in den 1970er Jahren die sichere Kommunikation (wie HTTPS) über das Internet ermöglichte, ist die Erfindung von FHE durch Craig Gentry einer der wichtigsten Meilensteine in der Geschichte der Kryptographie.&lt;/p>
&lt;p>Heute verlässt die vollständig homomorphe Verschlüsselung (FHE) die Forschungslabors und tritt in ein Stadium ein, in dem Microsoft, IBM, Intel, Google und viele Start-ups um die Kommerzialisierung wetteifern. Herausforderungen hinsichtlich der Rechenkosten und der Datengröße bestehen weiterhin, aber durch die Verfeinerung von Algorithmen und die Entwicklung von Hardware-Beschleunigern wird die Leistung in einem Tempo verbessert, das das Mooresche Gesetz übertrifft.&lt;/p>
&lt;p>In wenigen Jahren wird es nichts Besonderes mehr sein, &amp;ldquo;zu rechnen, während die Daten verschlüsselt bleiben&amp;rdquo;, sondern es wird eine Standard-Best-Practice für den Datenschutz bei Cloud-Diensten werden. FHE ist der Schlüssel zur Sicherheit der nächsten Generation und realisiert die &lt;strong>ultimative Balance zwischen Datenschutz und Datennutzung&lt;/strong> in unserer datengesteuerten Gesellschaft.&lt;/p></description></item></channel></rss>