<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Security on kenji.blog</title><link>http://kenji.blog/de/categories/security/</link><description>Recent content in Security on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>de</language><copyright>kenjinote</copyright><lastBuildDate>Fri, 11 Sep 2026 19:00:00 +0900</lastBuildDate><atom:link href="http://kenji.blog/de/categories/security/index.xml" rel="self" type="application/rss+xml"/><item><title>Die Funktionsweise von Zero-Knowledge-Proofs (ZKP) und ihre neuesten Anwendungen in Web3 und Sicherheit</title><link>http://kenji.blog/de/p/zero-knowledge-proofs-zkp-web3-security/</link><pubDate>Fri, 11 Sep 2026 19:00:00 +0900</pubDate><guid>http://kenji.blog/de/p/zero-knowledge-proofs-zkp-web3-security/</guid><description>&lt;img src="http://kenji.blog/p/zero-knowledge-proofs-zkp-web3-security/img/eyecatch.jpg" alt="Featured image of post Die Funktionsweise von Zero-Knowledge-Proofs (ZKP) und ihre neuesten Anwendungen in Web3 und Sicherheit" />&lt;h2 id="einführung">Einführung
&lt;/h2>&lt;p>In der heutigen digitalen Gesellschaft sind Datenschutz und Skalierbarkeit zwei der wichtigsten Herausforderungen. Angesichts des steigenden Risikos von Datenlecks und dem unbefugten Missbrauch persönlicher Informationen besteht ein großer Bedarf an einer Technologie, mit der man &amp;ldquo;beweisen kann, dass man bestimmte Informationen besitzt, ohne diese Informationen dem Gegenüber preiszugeben&amp;rdquo;. Dies wird durch &lt;strong>Zero-Knowledge-Proofs (ZKP)&lt;/strong> (wörtlich: Null-Wissen-Beweise) ermöglicht.&lt;/p>
&lt;p>Zero-Knowledge-Proofs sind ein kryptographisches Konzept, das in den 1980er Jahren erstmals von Shafi Goldwasser, Silvio Micali und Charles Rackoff vorgeschlagen wurde, aber lange Zeit auf theoretische Forschung beschränkt blieb. Mit dem Aufstieg der Blockchain-Technologie und Web3 hat sich die Situation jedoch schlagartig geändert. ZKP ist als &amp;ldquo;Zauberstab&amp;rdquo; ins Rampenlicht gerückt, der gleichzeitig das Skalierbarkeitsproblem (die Grenzen der Verarbeitungskapazität) und das Datenschutzproblem (die Tatsache, dass alle Transaktionen öffentlich sind), mit denen öffentliche Blockchains wie Ethereum konfrontiert sind, löst.&lt;/p>
&lt;p>In diesem Artikel werden wir von den grundlegenden Konzepten der Zero-Knowledge-Proofs über die tiefgreifenden mathematischen und kryptographischen Mechanismen der derzeit vorherrschenden &lt;strong>zk-SNARKs&lt;/strong> und &lt;strong>zk-STARKs&lt;/strong> bis hin zu den neuesten Web3- und Sicherheitsanwendungen wie ZK-Rollups und dezentralen Identitäten (DID) äußerst detailliert und technisch fundiert berichten.&lt;/p>
&lt;hr>
&lt;h2 id="was-sind-zero-knowledge-proofs-zkp">Was sind Zero-Knowledge-Proofs (ZKP)?
&lt;/h2>&lt;p>Ein Zero-Knowledge-Proof (ZKP) bezieht sich auf ein Protokoll, bei dem ein Beweiser (Prover) gegenüber einem Verifizierer (Verifier) beweist, dass eine bestimmte Aussage wahr ist, &amp;ldquo;ohne jegliche andere Informationen zu übertragen, als die Tatsache, dass die Aussage wahr ist&amp;rdquo;.&lt;/p>
&lt;h3 id="drei-anforderungen-die-ein-zkp-erfüllen-muss">Drei Anforderungen, die ein ZKP erfüllen muss
&lt;/h3>&lt;p>Um als ZKP zu gelten, müssen die folgenden drei Eigenschaften strikt erfüllt sein:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Vollständigkeit (Completeness)&lt;/strong>
Wenn die Aussage wahr ist und sowohl der Beweiser als auch der Verifizierer das Protokoll korrekt befolgen, muss der Verifizierer den Beweis mit überwältigender Wahrscheinlichkeit akzeptieren (Accept).&lt;/li>
&lt;li>&lt;strong>Korrektheit (Soundness)&lt;/strong>
Wenn die Aussage falsch ist, ist es für einen noch so rechenstarken und böswilligen Beweiser unmöglich, den Verifizierer so zu täuschen, dass er den Beweis akzeptiert (bis auf eine vernachlässigbar geringe Wahrscheinlichkeit).&lt;/li>
&lt;li>&lt;strong>Zero-Knowledge (Null-Wissen)&lt;/strong>
Wenn die Aussage wahr ist, kann der Verifizierer aus dem Beweisprozess keinerlei andere Informationen gewinnen als die Tatsache, &amp;ldquo;dass die Aussage wahr ist&amp;rdquo;. Aus der Sicht des Verifizierers wird dies durch die mathematische Definition bewiesen, dass es möglich ist, den Beweisprozess zu simulieren (es existiert ein Simulator).&lt;/li>
&lt;/ol>
&lt;h3 id="interaktive-und-nicht-interaktive-beweise">Interaktive und nicht-interaktive Beweise
&lt;/h3>&lt;p>Es gibt zwei Arten von ZKP: &lt;strong>interaktive Beweise&lt;/strong>, bei denen Beweiser und Verifizierer mehrfach kommunizieren, und &lt;strong>nicht-interaktive Beweise&lt;/strong>, bei denen der Beweiser die Beweisdaten nur einmal sendet und der Vorgang damit abgeschlossen ist.&lt;/p>
&lt;h4 id="interaktive-beweise-interactive-zkp">Interaktive Beweise (Interactive ZKP)
&lt;/h4>&lt;p>Frühe ZKPs wurden als interaktive Protokolle entworfen. Die berühmte Analogie der &amp;ldquo;Ali Baba Höhle&amp;rdquo; fällt in diese Kategorie. Der allgemeine Ablauf des Protokolls ist wie folgt:&lt;/p>
&lt;div class="mermaid">sequenceDiagram
participant Prover as "Prover (Beweiser)"
participant Verifier as "Verifier (Verifizierer)"
Note over Prover, Verifier: "Grundlegender Ablauf des interaktiven Beweisprotokolls"
Prover->>Verifier: "1. Sende Commitment (Commitment)"
Verifier->>Prover: "2. Sende zufällige Herausforderung (Challenge)"
Prover->>Verifier: "3. Berechne und sende Antwort (Response)"
Note over Verifier: "Antwort verifizieren (Verification)"
Verifier-->>Prover: "4. Akzeptieren oder Ablehnen (Accept / Reject)"
Note over Prover, Verifier: "※ Um die Sicherheit zu erhöhen, wird dies dutzende Male wiederholt"&lt;/div>
&lt;p>Diese Methode ist leistungsstark, erfordert jedoch, dass der Verifizierer online ist, was für asynchrone verteilte Systeme wie Blockchains unpraktisch ist. In einer Blockchain muss jeder in der Lage sein, vergangene Beweise jederzeit zu verifizieren.&lt;/p>
&lt;h4 id="fiat-shamir-heuristik-und-nicht-interaktivität">Fiat-Shamir-Heuristik und Nicht-Interaktivität
&lt;/h4>&lt;p>Eine bahnbrechende Methode zur Umwandlung interaktiver Beweise in nicht-interaktive Beweise (Non-Interactive Zero-Knowledge Proof: NIZK) ist die &lt;strong>Fiat-Shamir-Heuristik&lt;/strong>.&lt;/p>
&lt;p>Anstelle der vom Verifizierer gesendeten &amp;ldquo;zufälligen Herausforderung&amp;rdquo; erzeugt der Beweiser selbst eine &amp;ldquo;pseudozufällige Herausforderung&amp;rdquo;, indem er den Hashwert seines eigenen Commitments und der öffentlichen Informationen verwendet. Unter der Voraussetzung, dass eine kryptographische Hashfunktion (z. B. SHA-256 oder Keccak) als Random Oracle fungiert, kann der Beweiser die Herausforderung nicht im Voraus vorhersagen oder manipulieren und kann den Beweis mit einer einzigen Nachrichtensendung abschließen, während er die gleiche Sicherheit wie ein interaktiver Beweis aufrechterhält.&lt;/p>
&lt;hr>
&lt;h2 id="technische-details-von-zk-snarks">Technische Details von zk-SNARKs
&lt;/h2>&lt;p>Derzeit ist &lt;strong>zk-SNARKs&lt;/strong> (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) das am weitesten verbreitete ZKP. Wie der Name schon sagt, handelt es sich um ein Wissensargument (Argument of Knowledge), das Zero-Knowledge (zk) besitzt, eine sehr kleine Beweisgröße aufweist, schnell zu verifizieren ist (Succinct) und nicht-interaktiv (Non-Interactive) ist.&lt;/p>
&lt;p>Die Grundlage von zk-SNARKs bildet fortschrittliche algebraische Geometrie und Kryptographie. Es wandelt die Ausführung eines Programms oder einer Berechnung in die Verifizierung von Gleichungen bestimmter Polynome um.&lt;/p>
&lt;h3 id="1-umwandlung-in-arithmetische-schaltkreise-und-r1cs-rank-1-constraint-system">1. Umwandlung in Arithmetische Schaltkreise und R1CS (Rank-1 Constraint System)
&lt;/h3>&lt;p>Zunächst wird eine beliebige Berechnung (ein Algorithmus oder eine Smart-Contract-Logik), die bewiesen werden soll, in einen &lt;strong>arithmetischen Schaltkreis (Arithmetic Circuit)&lt;/strong> umgewandelt, der aus Additions- und Multiplikationsgattern besteht.&lt;/p>
&lt;p>Als nächstes wird dieser arithmetische Schaltkreis in eine Menge von Matrixgleichungen umgewandelt, die &lt;strong>R1CS (Rank-1 Constraint System)&lt;/strong> genannt wird. R1CS ist das Problem, für einen Variablenvektor $x$ die Matrizen $A, B, C$ zu finden, die die folgende Einschränkung erfüllen:&lt;/p>
$$ (A \cdot x) \circ (B \cdot x) = C \cdot x $$
&lt;p>Hier steht $\circ$ für das Hadamard-Produkt (elementweises Produkt). Diese Einschränkung garantiert, dass alle logischen Gatter (insbesondere Multiplikationsgatter) im Schaltkreis korrekt berechnet wurden.&lt;/p>
&lt;h3 id="2-umwandlung-in-qap-quadratic-arithmetic-program">2. Umwandlung in QAP (Quadratic Arithmetic Program)
&lt;/h3>&lt;p>Da es unzählige R1CS-Matrixeinschränkungen gibt, wäre es sehr ineffizient, diese einzeln zu verifizieren. Daher werden diese Einschränkungen mithilfe der Lagrange-Interpolation in eine einzige Polynomgleichung komprimiert. Dies ist das &lt;strong>QAP (Quadratic Arithmetic Program)&lt;/strong>.&lt;/p>
&lt;p>Durch die Umwandlung in ein QAP reduziert sich das zu beweisende Problem auf die Frage: &amp;ldquo;Ist ein bestimmtes Polynom $P(x)$ durch ein anderes bekanntes Polynom $Z(x)$ teilbar?&amp;rdquo;.&lt;/p>
$$ P(x) = L(x) \cdot R(x) - O(x) $$
&lt;p>Hier sind $L(x), R(x), O(x)$ Polynome, die den jeweiligen Zeilen der Matrizen $A, B, C$ entsprechen. Wenn der Beweiser die richtige Lösung (Witness) kennt, wird der Wert an jeder Wurzel (Auswertungspunkt) von $P(x)$ Null, sodass $P(x)$ das Zielpolynom $Z(x)$ als Faktor hat. Das heißt, es existiert ein bestimmtes Polynom $H(x)$, sodass die folgende Gleichung gilt:&lt;/p>
$$ P(x) = H(x) \cdot Z(x) $$
&lt;p>Der Verifizierer kann sofort überprüfen, ob die gesamte Berechnung korrekt durchgeführt wurde, indem er lediglich kontrolliert, ob diese Gleichung $P(s) = H(s) \cdot Z(s)$ an einem zufälligen geheimen Punkt $s$ gilt. Dies ist das Geheimnis der &amp;ldquo;Prägnanz&amp;rdquo; (Succinctness).&lt;/p>
&lt;h3 id="3-elliptische-kurven-kryptographie-und-paarungen-bilinear-pairings">3. Elliptische-Kurven-Kryptographie und Paarungen (Bilinear Pairings)
&lt;/h3>&lt;p>Wenn der Verifizierer jedoch den geheimen Punkt $s$ kennen würde, könnte der Beweiser ein gefälschtes Polynom konstruieren, um die Gleichung zu erfüllen (Zusammenbruch der Korrektheit). Daher muss die Berechnung durchgeführt werden, während $s$ so verschlüsselt ist (mithilfe homomorpher Verschlüsselung), dass niemand es kennt.&lt;/p>
&lt;p>Dies wird durch &lt;strong>elliptische Kurven-Paarungen (Bilinear Pairings)&lt;/strong> erreicht.
Die Paarung $e$ ist eine spezielle Funktion, mit der man aus zwei verschlüsselten Werten einen Wert berechnen kann, der der Verschlüsselung ihres Produkts entspricht.&lt;/p>
$$ e(g_1^a, g_2^b) = e(g_1, g_2)^{ab} $$
&lt;p>Selbst wenn der Beweiser $s$ nicht kennt, verwendet er die verschlüsselten Werte der Potenzen von $s$ (dies wird CRS: Common Reference String genannt), um die verschlüsselten Werte der Polynome $P(s)$ und $H(s)$ zu berechnen. Der Verifizierer nutzt die Paarungsfunktion, um zu überprüfen, ob die Beziehung $P(s) = H(s) \cdot Z(s)$ im verschlüsselten Zustand gilt.&lt;/p>
&lt;h3 id="4-trusted-setup-vertrauenswürdige-einrichtung">4. Trusted Setup (Vertrauenswürdige Einrichtung)
&lt;/h3>&lt;p>Die größte Schwäche von zk-SNARKs (insbesondere des frühen Groth16) ist, dass ein sogenanntes &lt;strong>Trusted Setup&lt;/strong> erforderlich ist, also ein Prozess zur Generierung des geheimen Punktes $s$. Wenn der Ersteller von $s$ den Wert behält und nicht vernichtet, kann er jeden beliebigen falschen Beweis generieren (Toxic Waste Problem).&lt;/p>
&lt;p>Um dies zu verhindern, wird eine sogenannte &amp;ldquo;Ceremony&amp;rdquo; mithilfe von Multi-Party Computation (MPC) durchgeführt. Dabei kooperieren viele Teilnehmer, um Zufälligkeit bereitzustellen, und solange mindestens ein Teilnehmer ehrlich ist und seinen eigenen Zufallswert vernichtet, bleibt die Sicherheit des gesamten Systems gewahrt. Die Forschung zur Beseitigung dieser Abhängigkeit wurde jedoch über viele Jahre hinweg fortgesetzt.&lt;/p>
&lt;hr>
&lt;h2 id="technische-details-von-zk-starks">Technische Details von zk-STARKs
&lt;/h2>&lt;p>Als Antwort auf die Abhängigkeit vom Trusted Setup und das Risiko der Entschlüsselung der elliptischen Kurven-Kryptographie durch Quantencomputer entstand &lt;strong>zk-STARKs&lt;/strong> (Zero-Knowledge Scalable Transparent Argument of Knowledge).&lt;/p>
&lt;p>Die von Eli Ben-Sasson und anderen entwickelten STARKs benötigen, wie der Name &amp;ldquo;Transparent&amp;rdquo; (Transparenz) andeutet, überhaupt kein Trusted Setup. Zudem zeichnen sie sich durch die Eigenschaft aus, dass, wie der Name &amp;ldquo;Scalable&amp;rdquo; (Skalierbarkeit) impliziert, Beweisgröße und Verifizierungszeit auch bei zunehmendem Rechenaufwand effizient bleiben.&lt;/p>
&lt;h3 id="1-polynom-commitment-und-das-fri-protokoll">1. Polynom-Commitment und das FRI-Protokoll
&lt;/h3>&lt;p>zk-STARKs basieren nicht auf elliptischer Kurven-Kryptographie, sondern stützen ihre Sicherheit &lt;strong>ausschließlich auf Hashfunktionen&lt;/strong>. Daher besitzen sie die Eigenschaften von Post-Quanten-Kryptographie (Post-Quantum Cryptography).&lt;/p>
&lt;p>Die Überprüfung der Berechnung erfolgt unter Ausnutzung der Eigenschaften von ein- oder mehrdimensionalen Polynomen, nachdem sie in ein Format namens AIR (Algebraic Intermediate Representation) konvertiert wurde. Der Kern von STARKs liegt im &lt;strong>FRI (Fast Reed-Solomon Interactive Oracle Proof of Proximity)&lt;/strong>-Protokoll.&lt;/p>
&lt;p>Das FRI-Protokoll ist eine Technik zur Überprüfung, &amp;ldquo;ob eine bestimmte Funktion ausreichend nahe (Proximity) an einem Polynom eines bestimmten Grades liegt&amp;rdquo;. Der Beweiser bindet sich (Commitment) an die Werte des Polynoms als Blätter eines Merkle-Baums (Merkle Tree) (Polynom-Commitment).&lt;/p>
&lt;div class="mermaid">graph TD
Root["Merkle Root (Commitment)"] --> Node0["Knoten 0"]
Root --> Node1["Knoten 1"]
Node0 --> Leaf0["P(x_0)"]
Node0 --> Leaf1["P(x_1)"]
Node1 --> Leaf2["P(x_2)"]
Node1 --> Leaf3["P(x_3)"]&lt;/div>
&lt;p>Der Verifizierer verlangt die Offenlegung einiger zufälliger Punkte und verwendet Merkle-Beweise, um sicherzustellen, dass diese im Commitment enthalten sind. Indem dies rekursiv wiederholt wird, wird mit überwältigender Wahrscheinlichkeit garantiert, dass der Grad des ursprünglichen Polynoms tatsächlich niedrig ist.&lt;/p>
&lt;h3 id="vergleich-zwischen-zk-snarks-und-zk-starks">Vergleich zwischen zk-SNARKs und zk-STARKs
&lt;/h3>&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">Eigenschaft&lt;/th>
&lt;th style="text-align:left">zk-SNARKs&lt;/th>
&lt;th style="text-align:left">zk-STARKs&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Kryptographische Annahmen&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Elliptische Kurven, Paarungen&lt;/td>
&lt;td style="text-align:left">Kollisionsresistente Hashfunktionen&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Trusted Setup&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Erforderlich (Plonk etc. sind universell)&lt;/td>
&lt;td style="text-align:left">Nicht erforderlich (Transparent)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Quantenresistenz&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Nein&lt;/td>
&lt;td style="text-align:left">Ja&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Beweisgröße&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Sehr klein (~200 Byte)&lt;/td>
&lt;td style="text-align:left">Etwas größer (Dutzende KB)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Rechenaufwand zur Beweisgenerierung&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Hoch&lt;/td>
&lt;td style="text-align:left">Relativ niedriger als bei SNARKs&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Verifizierungskosten (Gas-Gebühren)&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Sehr niedrig (konstant)&lt;/td>
&lt;td style="text-align:left">Niedrig (steigen logarithmisch)&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>In den letzten Jahren sind SNARKs wie Plonk oder Halo2 aufgetaucht, die &amp;ldquo;kein Trusted Setup benötigen oder bei denen es nur einmal durchgeführt werden muss&amp;rdquo;, sodass die Grenzen zwischen SNARKs und STARKs allmählich verschwimmen, aber die grundlegenden Unterschiede im mathematischen Ansatz bleiben wichtig.&lt;/p>
&lt;hr>
&lt;h2 id="neueste-anwendungen-von-zero-knowledge-proofs-in-web3-und-sicherheit">Neueste Anwendungen von Zero-Knowledge-Proofs in Web3 und Sicherheit
&lt;/h2>&lt;p>ZKP hat den Übergang von der Theorie zur Praxis vollzogen und revolutioniert derzeit die Frontlinien von Web3 und Cybersicherheit.&lt;/p>
&lt;h3 id="1-ultimative-skalierung-von-ethereum-durch-zk-rollups">1. Ultimative Skalierung von Ethereum durch ZK-Rollups
&lt;/h3>&lt;p>L1 (Layer 1) Blockchains wie Ethereum haben aufgrund ihrer starken Ausrichtung auf Dezentralisierung und Sicherheit erhebliche Einschränkungen bei der Skalierbarkeit (das Trilemma). Die definitive L2 (Layer 2) Lösung für dieses Problem sind &lt;strong>ZK-Rollups&lt;/strong>.&lt;/p>
&lt;p>Bei ZK-Rollups werden Tausende von Transaktionen off-chain (L2) ausgeführt und verarbeitet, und es wird &amp;ldquo;ein ZKP (Validity Proof)&amp;rdquo; generiert, das beweist, dass alle korrekt ausgeführt wurden. Der Smart Contract auf der L1-Chain muss lediglich diesen Beweis verifizieren.&lt;/p>
&lt;div class="mermaid">flowchart LR
Users["Benutzer (Tx senden)"] --> Sequencer["Sequencer (Tx sammeln/ausführen)"]
Sequencer --> Prover["Prover (ZKP generieren)"]
Sequencer --> L1Contract["L1 Smart Contract (Tx-Daten veröffentlichen)"]
Prover --> L1Contract["Einreichen des ZKP (Beweis)"]
L1Contract --> Verify["Verifizieren &amp; Zustand aktualisieren"]&lt;/div>
&lt;p>Der größte Vorteil von ZK-Rollups besteht im Gegensatz zu Optimistic Rollups (wie Arbitrum oder Optimism) darin, dass keine Herausforderungsperiode (Challenge Period, typischerweise 7 Tage) für Betrugsbeweise (Fraud Proofs) erforderlich ist. Da die Korrektheit kryptographisch garantiert ist, ist das Abheben von Geldern auf L1 (Finality) in dem Moment abgeschlossen, in dem der Beweis verifiziert wird. Derzeit liefern sich Projekte wie zkSync, Starknet, Scroll und Polygon zkEVM einen harten Entwicklungswettbewerb, und die Realisierung von &lt;strong>zkEVM&lt;/strong>, das mit der EVM (Ethereum Virtual Machine) kompatibel ist, treibt das schnelle Wachstum des Ökosystems voran.&lt;/p>
&lt;h3 id="2-datenschutzwahrende-identitäten-zkp-for-identity">2. Datenschutzwahrende Identitäten (ZKP for Identity)
&lt;/h3>&lt;p>Die Art und Weise, wie die Personenidentifikation in der digitalen Welt gehandhabt wird, wird sich durch ZKP grundlegend ändern.
Bislang musste man beispielsweise auf die Frage &amp;ldquo;Sind Sie über 18 Jahre alt?&amp;rdquo; in herkömmlichen Systemen einen Führerschein oder Reisepass vorlegen und dabei unnötige persönliche Informationen wie Name und Adresse an die andere Partei weitergeben.&lt;/p>
&lt;p>Mithilfe von ZKP ist es möglich, auf der Grundlage digitaler Zertifikate (Verifiable Credentials), die von Behörden ausgestellt wurden, &lt;strong>nur die Tatsache mathematisch zu beweisen&lt;/strong>, &amp;ldquo;dass ich, berechnet aus meinem Geburtsdatum, am aktuellen Datum über 18 Jahre alt bin&amp;rdquo;. Der Verifizierer muss lediglich die Signatur des Zertifikats und den ZKP überprüfen, ohne das Geburtsdatum oder die Identität des Benutzers zu erfahren.&lt;/p>
&lt;p>Auch Proof of Personhood-Projekte (Beweis der Menschlichkeit) wie Worldcoin speichern oder teilen keine Irisdaten direkt, sondern nutzen einen Mechanismus auf Basis von ZKP, um lediglich zu beweisen, dass man &amp;ldquo;ein einzigartiger Mensch ist&amp;rdquo;.&lt;/p>
&lt;h3 id="3-vertrauliche-smart-contracts-und-unternehmensnutzung">3. Vertrauliche Smart Contracts und Unternehmensnutzung
&lt;/h3>&lt;p>Die Eigenschaft öffentlicher Blockchains, dass &amp;ldquo;alle Daten öffentlich sind&amp;rdquo;, war ein großes Hindernis für Unternehmen, die vertrauliche Transaktionen oder Lieferketteninformationen auf der Blockchain verarbeiten wollen.&lt;/p>
&lt;p>Durch den Einsatz von ZKP-Technologie (wie bei datenschutzorientierten Netzwerken wie Aleo oder Aztec) können die Eingabewerte, die Ausgabewerte und sogar die Logik des ausgeführten Smart Contracts selbst verschlüsselt bleiben, während nur die Korrektheit der Zustandsaktualisierung auf der öffentlichen Blockchain festgehalten wird. Dies ermöglicht die Verhinderung von Front-Running (MEV) im DeFi-Bereich (Decentralized Finance) und den Aufbau vertraulicher Konsortium-Netzwerke zwischen Unternehmen, wobei gleichzeitig die hohe Sicherheit einer öffentlichen Blockchain genutzt wird.&lt;/p>
&lt;hr>
&lt;h2 id="zukünftige-herausforderungen-und-perspektiven-von-zkp">Zukünftige Herausforderungen und Perspektiven von ZKP
&lt;/h2>&lt;p>ZKP ist zweifellos eine Basistechnologie der nächsten Generation, es bleiben jedoch einige Herausforderungen.&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Rechenkosten für die Beweisgenerierung und Hardwarebeschleunigung&lt;/strong>
Die Generierung eines ZKP erfordert enorme Polynomoperationen, FFT (Fast Fourier Transform) und MSM (Multi-Scalar Multiplication). Derzeit schreitet die Erforschung spezieller Hardware (FPGA und ASIC) zur Beschleunigung dieser Beweisgenerierung, auch bekannt als &lt;strong>ZKP-Mining&lt;/strong> (Prover Network), rasant voran.&lt;/li>
&lt;li>&lt;strong>Standardisierung und Verbesserung der Developer Experience (DX)&lt;/strong>
Es gibt eine Vielzahl spezialisierter Sprachen zum Schreiben von ZKP-Schaltkreisen, wie Circom, Cairo, Noir und Leo. Standardisierungen, die diese vereinheitlichen, sowie die Ausreifung von Compilern, die automatisch ZKP-Schaltkreise aus bestehendem Rust- oder C++-Code generieren, werden der Schlüssel für die Einführung von ZKP durch gewöhnliche Softwareentwickler sein.&lt;/li>
&lt;/ol>
&lt;h2 id="fazit">Fazit
&lt;/h2>&lt;p>Zero-Knowledge-Proofs (ZKP) haben sich von einer reinen &amp;ldquo;Technologie zur Erhöhung der Anonymität von Kryptowährungen&amp;rdquo; zu einer &amp;ldquo;universellen Technologie, die das Vertrauen (Trust) im gesamten Internet neu definiert&amp;rdquo; entwickelt. Kleine Beweise, die tief in mathematischen Formeln und der Kryptographie berechnet werden, erweitern die Skalierbarkeit der Blockchain grenzenlos und dienen als robuster Schild zum Schutz unserer Privatsphäre.&lt;/p>
&lt;p>Auf dem Weg zu einer echten Massenadaption von Web3 und dem Aufbau eines sicheren und privaten Internets der nächsten Generation wird das Zero-Knowledge-Proof weiterhin als wichtigstes Puzzleteil fungieren. Die zukünftige Entwicklung der ZKP-Technologie sollte man unbedingt im Auge behalten.&lt;/p>
&lt;hr>
&lt;p>&lt;em>Referenzen &amp;amp; Verwandte Links&lt;/em>&lt;/p>
&lt;ul>
&lt;li>Groth, J. (2016). &amp;ldquo;On the Size of Pairing-based Non-interactive Arguments&amp;rdquo;&lt;/li>
&lt;li>Ben-Sasson, E., et al. (2018). &amp;ldquo;Scalable, transparent, and post-quantum secure computational integrity&amp;rdquo;&lt;/li>
&lt;li>Vitalik Buterin&amp;rsquo;s blog on zk-SNARKs and zk-STARKs&lt;/li>
&lt;/ul></description></item><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>