paint-brush
Die Zukunft entschlüsseln: Programmierbare Kryptografie und ihre Rolle in der modernen Technologievon@felixarpa
1,076 Lesungen
1,076 Lesungen

Die Zukunft entschlüsseln: Programmierbare Kryptografie und ihre Rolle in der modernen Technologie

von Felix Xu7m2024/04/26
Read on Terminal Reader

Zu lang; Lesen

Programmierbare Kryptographie ist noch ein neues Konzept, aber eines, das die Chance bietet, sehr komplizierte Probleme wesentlich einfacher zu machen.
featured image - Die Zukunft entschlüsseln: Programmierbare Kryptografie und ihre Rolle in der modernen Technologie
Felix Xu HackerNoon profile picture
0-item

Da sich kryptografische Technologien immer weiter entwickeln und neue und immer wichtigere Anwendungen in unserem Leben finden, werden die Prozesse, die diese Technologien ausführen, immer komplexer. Obwohl mit einfachen kryptografischen Primitiven eine enorme Menge erreicht werden kann, ist das Spannendste, was sie in Kombination leisten können.


Noch beeindruckender ist die Idee, dass einige kryptografische Protokolle mit Hardwarebeschreibungsfunktionen ausgestattet sind, die ihnen die Möglichkeit geben, universelle Herausforderungen zu bewältigen. Diese Idee, passenderweise „programmierbare Kryptografie“ genannt, verspricht, kompliziertere Aktionen zu ermöglichen, indem sie, um Brian Gu zu paraphrasieren, das mathematische Problem der Entwicklung neuer Protokolle in das Programmierproblem der Kombination bestehender Protokolle verwandelt.


In diesem Artikel werden wir die Schichten kryptografischer Anwendungen untersuchen, von übergeordneten Zielen bis hin zu untergeordneten Algorithmen, um zu verstehen, woher diese Ideen kommen. Dann werden wir einen Blick darauf werfen, wohin sie führen.


Bevor wir beginnen, sollten wir uns kurz die grundlegende Motivation vor Augen führen, die Kryptographen dazu bewegt, sich mit ihrem Handwerk zu beschäftigen. Schließlich ist es viel einfacher, zu Hause zu bleiben und nichts zu tun, als an mathematischen Beweisen zu arbeiten, dass ein neues Protokoll sicher, durchführbar und eine sinnvolle Verbesserung gegenüber bestehenden Modellen ist.

Aufgrund der immer größeren Bedeutung der digitalen Daten, die wir speichern, teilen und verarbeiten, sind neue und verbesserte Methoden erforderlich, um die Privatsphäre zu schützen und die Daten vor Manipulation zu schützen. Der Wunsch, diesen Bedarf zu decken, treibt Kryptographen morgens aus dem Bett.


Es ist wirklich erschütternd, wenn man bedenkt, wie viele Informationen heutzutage online verarbeitet werden. Noch unmittelbarer ist den meisten Menschen bewusst, dass sie heute viel mehr Zeit mit der Interaktion mit Daten verbringen als noch vor ein paar Jahren. Alle diese Informationen, die sie produzieren, mit denen sie interagieren, die sie überprüfen und versenden, laufen Gefahr, ausspioniert, gestohlen oder manipuliert zu werden, wenn sie nicht angemessen geschützt sind.


Aus diesem Grund besteht immer Bedarf an Kryptografie. Aus diesem Grund werden ständig neue und verbesserte Methoden entwickelt, um die Privatsphäre Ihrer Daten zu schützen.


Wie viele andere Disziplinen basiert die Kryptographie auf einfachen Konzepten, die erweitert werden, wenn die Aufgabe interessanter wird. Diese einfachen Konzepte, die in der modernen Kryptographie oft als „kryptographische Grundelemente“ bezeichnet werden, sind selbst oft einfach, können aber kombiniert werden, um etwas Komplexes aufzubauen.


Betrachten wir beispielsweise einen der ältesten Codes – die Cesar-Chiffre. Dieser Code, der nach seinem berühmtesten Benutzer benannt ist, besteht aus Wörtern in einem Geheimtext, die gegenüber der ursprünglichen Nachricht um drei Buchstaben nach hinten verschoben sind. In diesem Fall würde das Wort „the“ als „qeb“ geschrieben werden. Jeder Buchstabe wurde an den Buchstaben verschoben, der im englischen Alphabet drei Stellen vor ihm liegt.


Obwohl dieser Code ziemlich einfach ist, ist er gut getestet, nützlich und überhaupt nicht experimentell. Wenn Sie Daten verschlüsseln müssen, werden sie hiermit verschlüsselt. Obwohl es nicht der sicherste Code der Welt ist, kann er auch mit anderen Techniken kombiniert werden, um ihn stärker zu machen.


Ein weiteres Beispiel: Die Vigenère-Chiffre ist ein Werkzeug zum Verschlüsseln einer Nachricht mithilfe mehrerer verschiedener Cesar-Chiffren. In diesem System ist jede Nachricht mit einem Schlüssel verknüpft; stellen wir uns „Eagle“ bzw. „Lemon“ vor. Der Schlüssel gibt an, um wie viele Stellen die Buchstaben in der Nachricht verschoben werden müssen, aber jeder Buchstabe hat eine andere Anzahl von Verschiebungen. Das „L“ in Lemon bedeutet, dass der erste Buchstabe in der Nachricht um zwölf Stellen verschoben werden muss, da L der zwölfte Buchstabe im englischen Alphabet ist. Das „E“ bedeutet, dass der zweite Buchstabe um fünf Stellen verschoben werden muss, und so weiter.


Aus „Apple“ wird also „Peszr“. Ohne Zugriff auf den Schlüssel wird es viel schwieriger, die Nachricht zu entschlüsseln. Zwar hat es immer noch die Schwächen der Cesar-Chiffre – mit genügend Zeit wird eine Brute-Force-Berechnung die Nachricht entschlüsseln – aber durch die neue Kombination bestehender Tools wird das Sicherheitsniveau dramatisch erhöht.


Wie Sie sich wahrscheinlich vorstellen können, ist es oft viel, viel einfacher, bestehende Chiffren wie diese auf neue, komplexere Weise miteinander zu kombinieren, als ein neues System zu erfinden. Cesar ist vor langer Zeit gestorben und wir verwenden immer noch sein Codebuch.


So wie die Weisheit älterer Codes fortbesteht, steht ein Großteil der modernen kryptografischen Technologie auf einem ähnlichen Podest. Einen Kryptografen dazu zu bringen, neue Beweise dafür zu schreiben, dass ein neuartiges System Ihre digitalen Geheimnisse sicher aufbewahrt, ist fantastisch, aber auch ziemlich zeitaufwändig und es gibt keine Garantie dafür, dass es funktioniert. Andererseits ist bekannt, dass kryptografische Grundelemente wie RSA (Rivest-Shamir-Adleman), AES (Advanced Encryption Standard) oder digitale Signatursysteme funktionieren und problemlos auf eine breite Palette von Problemen angewendet werden können. Beispielsweise wird RSA häufig für die sichere Datenübertragung verwendet, während AES ein Standard für die Verschlüsselung vertraulicher Daten ist. Wenn sie kombiniert werden, können sie innovative Funktionen bieten und komplexere Probleme lösen, als jedes von ihnen allein dies könnte.


Die Kombination einfacher Methoden ist zwar eine gute Möglichkeit, komplexere Systeme zu erstellen, hat aber auch ihre Grenzen. Jedes dieser Grundelemente ist für eine bestimmte Aufgabe konzipiert, und es kommt nicht selten vor, dass bei der Kombination Fehler gemacht werden, die ihre Schwächen offenlegen.


Mittelstufige Protokolle bauen auf einfachen Grundelementen auf und zielen auf fortgeschrittenere Funktionen und Funktionalitäten ab. Im Folgenden werden wir einige der am häufigsten verwendeten und diskutierten mittelstufigen Protokolle untersuchen.


Homomorphe Verschlüsselung ist ein Protokoll, das die Verarbeitung verschlüsselter Daten ermöglicht, ohne sie vorher entschlüsseln zu müssen. Es gibt bereits Beispiele dafür, obwohl es sich noch in einer vergleichsweise frühen Phase befindet. Erst 2009 wurde seine praktische Anwendung demonstriert. Bestehende Modelle sind manchmal in den Prozessen, die mit den verschlüsselten Daten durchgeführt werden können, eingeschränkt.

Das Konzept ist jedoch äußerst interessant und bietet viele offensichtliche Anwendungsmöglichkeiten. Bedenken Sie, wie oft sensible, aber dennoch nützliche Daten wie Krankenakten oder Kreditinformationen von den Organisationen gestohlen werden, die darauf zugreifen müssen, um Ihnen zu helfen. Was wäre, wenn es möglich wäre, mit Ihren verschlüsselten medizinischen Informationen zu interagieren, ohne sie jemals zu entschlüsseln? Die Vorteile dieser verbesserten Sicherheit liegen auf der Hand.


Multi-Party Computation (MPC) ist ein Tool zum Verbergen von Eingaben verschiedener Akteure, die gemeinsam an einem gemeinsamen Ergebnis arbeiten. Es wird oft als „Millionärsproblem“ bezeichnet.


Stellen Sie sich vor, es gibt zwei Millionäre, die wissen möchten, wer von ihnen mehr Geld hat. Sie möchten jedoch nicht einfach so ihr Nettovermögen bekannt geben. Mit MPC können sie dieses Problem lösen. Der erste Millionär kann sein verschlüsseltes Nettovermögen in ein Programm eingeben, das die Werte vergleicht, bevor es an den zweiten Millionär gesendet wird. Der zweite Millionär kann den ersten Wert nicht sehen, wenn er sein Nettovermögen hinzufügt.

Anschließend können beide die Ausgabe entschlüsseln und herausfinden, wer von ihnen einen höheren Wert eingegeben hat – und das alles, ohne die Eingaben sehen zu können.


Zum Schluss schauen wir uns noch die Zero-Knowledge Proofs (ZKPs) an. Diese sind dem Leser wahrscheinlich gut bekannt, da sie weit verbreitet sind, und wir werden sie kurz betrachten. ZKPs ermöglichen es einem Beweiser sehr gut, einer anderen Person (oft als Verifizierer bezeichnet) zu sagen, dass etwas wahr ist, ohne etwas anderes zu sagen. Normalerweise bieten sie diesen Dienst einem einzelnen Benutzer an; eine Person verlangt einen Beweis und bekommt ihn. Es gibt eine Reihe von ZKPs, darunter zk-SNARK und zk-STARK. Jeder hat seine eigenen Vor- und Nachteile.


Mit Fortschreiten der Forschung an diesen fortschrittlichen Protokollen hat sich der Fokus auf die Entwicklung allgemeiner kryptografischer Protokolle verlagert. Diese Initiativen zielen darauf ab, zu beweisen, dass es möglich ist, mithilfe der Kryptografie universelle Berechnungen sicher und vertraulich durchzuführen. Anfangs waren diese Bemühungen rein theoretisch und die Durchführbarkeit stand über der praktischen Implementierungseffizienz. Mit zunehmender Forschungstätigkeit haben Kryptografen jedoch ihre Aufmerksamkeit darauf gerichtet, diese Konzepte praktisch anwendbar zu machen. Sie verbessern, kombinieren und erfinden neue Protokolle und Komponenten. Oft ist das endgültige Protokoll ein Hybrid, das die Stärken mehrerer Ansätze nutzt. Beispielsweise verwendet die homomorphe Verschlüsselung Zero-Knowledge-Beweise für Bereichsnachweise, um sicherzustellen, dass Berechnungen innerhalb eines gültigen Bereichs bleiben. Unterdessen können MPC-Protokolle Elemente des Homomorphismus zur Ausführung nichtlinearer Operationen enthalten.


Unter der Vielzahl experimenteller Protokolle sind einige so nah an den praktischen Nutzen herangekommen, dass sie den Weg für die Entwicklung in der realen Welt geebnet haben. Diese Tools funktionieren ähnlich wie Compiler, indem sie höhere Programmiersprachen interpretieren und sie in Schaltkreise umwandeln, die von kryptografischen Protokollen verarbeitet werden können. Diese Umwandlung ist vergleichbar mit der Umwandlung von Software in CPU-Registeroperationen oder der Übersetzung von Solidity in EVM-Zustandsübergänge. Das Erreichen dieser Compiler-ähnlichen Fähigkeit, komplett mit Unterstützung für Turing-vollständige Berechnungen, markiert den Beginn dessen, was wir programmierbare Kryptografie nennen. Das mag zwar zu optimistisch erscheinen, aber die Realität ist differenziert. Bitweise Hash-Funktionen sind beispielsweise in einem Zero-Knowledge-Proof-Protokoll nicht so effizient, während Hashes, die durch modulare Multiplikation ausgeführt werden, eine höhere Effizienz bieten. Daher ist es ratsam, Algorithmen wie SHA-3 zu meiden. Darüber hinaus ist das Vermeiden von Gleitkommaberechnungen eine gängige Praxis, da kryptografische Protokolle überwiegend in endlichen Feldern arbeiten. Tricks wie diese gibt es überall, wenn programmierbare Kryptografie zum Leben erweckt wird.


Programmierbare Kryptographie ist noch ein neues Konzept, aber eines, das die Chance bietet, sehr komplizierte Probleme viel einfacher zu machen. Es ist leicht, über die Richtung zu spekulieren, die sie einschlagen wird. Es ist so gut wie sicher, dass Versuche unternommen werden, mit allen möglichen kryptographischen Werkzeugen zu programmieren, obwohl der Erfolg, der damit erzielt wird, noch abzuschätzen ist.


Einige dieser Experimente werden jedoch funktionieren. Einige davon werden gut funktionieren, und diejenigen, die gut funktionieren, werden leistungsstarke Funktionen und ein hohes Maß an Sicherheit bieten, ohne dass man die Kosten auf sich nehmen muss, um einen Kryptographen ein brandneues System für eine Anwendung erstellen zu lassen. Allein diese Möglichkeit wird wahrscheinlich für großes Interesse auf diesem Gebiet sorgen.


Es muss das Problem angegangen werden, wie sich dies auf eine Weise bewerkstelligen lässt, die mit vorhandenen Systemen funktioniert, und es ist wahrscheinlich, dass ein Großteil der übernommenen Methoden effizient mit den Daten funktioniert, mit denen interagiert werden muss.


Die Auswirkungen dieser Technologie auf Datensicherheit, Privatsphäre und den weiteren Bereich der digitalen Sicherheit können kaum überschätzt werden. Viele komplexe Maßnahmen werden einfacher umzusetzen sein. Zwar wird schlechte Programmierung wie immer dort Probleme verursachen, wo die Technologie funktioniert, aber wir werden bessere Sicherheit und robustere Datenschutzsysteme sehen.


Das vielleicht Ermutigendste daran ist, dass es hinsichtlich der Anwendung dieser Technologie noch relativ früh ist. ZK-Beweise wurden in den 1980er Jahren entwickelt, aber erst 2012 möglich gemacht. Es gibt möglicherweise viele mögliche Mechanismen und Kombinationen von Mechanismen, von denen bisher niemand geträumt hat. Die nächste weltbewegende Idee könnte schon morgen auftauchen. Wir können vielleicht nicht einmal erraten, was sie bewirken wird.