-
TECHNISCHES GEBIET:
-
Die beispielhaften Ausführungsformen dieser Erfindung beziehen sich allgemein auf Verschlüsselungs- und Entschlüsselungsalgorithmen und speziell auf homomorphe Verschlüsselungsverfahren für Bilinearformen.
-
HINTERGRUND:
-
Verschlüsselungsverfahren, die Operationen an verschlüsselten Daten unterstützen (z. B. homomorphe Verschlüsselung), sind zur sicheren Datenverarbeitung sehr nützlich.
-
Um ein homomorphes Verschlüsselungsverfahren handelt es sich, wenn eine oder mehrere an zwei oder mehr verschlüsselten Texten ausgeführte Operationen (z. B. Addition, Multiplikation) auf den entschlüsselten Text übertragbar sind (das ist die Entschlüsselung der verschlüsselten Texte). Beispielsweise kann ein Verschlüsselungsverfahren als additiv homomorph bezeichnet werden, wenn die Entschlüsselung der Summe der verschlüsselten Texte (C1 + C2) die Summe der entsprechenden Klartexte (B1 + B2) ergibt (möglicherweise modulo einem Restwert): dec(C1 + C2) → B1 + B2. Viele Public-Key-Verschlüsselungssysteme unterstützen entweder Addition oder Multiplikation verschlüsselter Daten, beides aber gleichzeitig zu erhalten, stellt sich als schwieriger heraus.
-
Es ist bekannt, dass das Berechnen beliebiger Funktionen an verschlüsselten Daten z. B. mit Yao's „Garbled Circuit”-Technik umgesetzt werden kann [16, 12], aber die Größe des verschlüsselten Texts und die Komplexität der Entschlüsselung wachsen mindestens linear mit der Anzahl der Gatter in dem berechneten Schaltkreis. Sander u. a. [15] beschreiben auch eine Technik, die die Auswertung beliebiger Schaltkreise erlaubt, aber die Größe des verschlüsselten Texts wächst exponentiell mit der Schaltkreistiefe. Diese beiden Verfahren können nur mit „allgemeinen Härteannahmen” umgesetzt werden (z. B. die Existenz von Zweistrom-Oblivious-Transfer-Protokollen usw.).
-
Boneh, Goh und Nissim beschrieben ein Verschlüsselungssystem, das beliebig viele Additionen und eine Multiplikation erlaubt, ohne dass die Größe des verschlüsselten Texts wächst [5]. Dieses Verfahren wird hier als das BGN-Verschlüsselungssystem bezeichnet. Die Sicherheit des BGN-Verschlüsselungssystems beruht auf dem Untergruppenzugehörigkeits-Problem (subgroup membership Problem) in Gruppen nicht ganzzahliger Ordnung, die bilineare Abbildungen erlauben. Dieses Verschlüsselungssystem schließt unmittelbar ein effizientes Protokoll zum Auswerten der 2-disjunkten Normalform-(2DNF-)Formel (oder allgemeiner Bilinearformen) ein. Boneh u. a. beschrieben auch Anwendungen des BGN-Verschlüsselungssystems zum Verbessern der Effizienz privater Daten-Wiedergewinnungsverfahren (PIR) und für ein Wahlprotokoll.
-
In jüngerer Zeit beschrieben Agular Melchor, Gaborit und Herranz in [2] eine „Vorlage” zum Umwandeln gewisser additiver homomorpher Verschlüsselung in ein Verschlüsselungssystem, das sowohl Additionen wie Multiplikationen erlaubt. Sie zeigen, wie diese Vorlage zum Verknüpfen des BGN-Verschlüsselungssystems mit dem Verschlüsselungssystem von Kawachi u. a. [11] verwendet wird, sodass ein Verschlüsselungssystem erhalten wird, das zwei Multiplikationen und beliebige Additionen erlaubt und das auf der Härte des Untergruppen-Zugehörigkeitsproblems und dem Problem des eindeutigen kürzesten Gittervektors beruht. Sie zeigen auch, wie diese Vorlage mit dem Verschlüsselungssystem von Aguilar Melchor u. a. [1] zum Erhalten unbegrenzter Multiplikationstiefe verwendet werden kann, wobei die Größe des verschlüsselten Textes exponentiell mit der Multiplikationstiefe wächst, aber Additionen ohne Größenzunahme unterstützt werden. (Die Sicherheit dieser letzten Realisierung beruht auf einer vergleichsweise wenig untersuchten Härteannahme, genannt das „differentielle Knapsack-Vektorproblem”.)
-
Es ist bekannt, dass additive homomorphe Verschlüsselungsverfahren aus Gitter- oder Linearcodes konstruiert werden können. Chiffriertexte enthalten implizit einen „Fehler”, der in dem Maße wächst, wie die Chiffriertexte verknüpft werden (z. B. addiert, multipliziert). Somit weisen die resultierenden Chiffriertexte nicht dieselbe Verteilung wie die originalen Chiffriertexte (z. B. wie einzeln entschlüsselt) auf und an einem bestimmten Punkt kann der Fehler so groß werden, dass er zu einer fehlerhaften Entschlüsselung führt. Aus diesem Grund wird der Homomorphismus in solchen Fällen manchmal ein „Pseudohomomorphismus” oder ein „gebundener Homomorphismus” genannt.
-
In jüngster Zeit beschrieb Gentry ein voll homomorphes Verschlüsselungssystem [9], das polynomial viele Additionen und Multiplikationen erlaubt, ohne dass die Chiffriertext-Größe zunimmt, wobei die Sicherheit auf der Härte des Findens kurzer Vektoren in idealen Gittern beruht [8].
-
KURZE ZUSAMMENFASSUNG:
-
In einer beispielhaften Ausführungsform der Erfindung realisiert ein computerlesbares Speichermedium physisch ein Programm aus Befehlen, die von einer Maschine zum Durchführen von Operationen ausgeführt werden können, wobei die Operationen Folgendes umfassen: Empfangen von Daten B zum Verschlüsseln als ein Chiffriertext C gemäß einem Verschlüsselungsverfahren, das eine Verschlüsselungsfunktion umfasst; und Verschlüsseln der Daten B gemäß der Verschlüsselungsfunktion des Verschlüsselungsverfahrens zum Erhalten des Chiffriertexts C, wobei das Verschlüsselungsverfahren mindestens einen öffentlichen Schlüssel A verwendet, der zu mindestens einem privaten Schlüssel T gehört, wobei es sich bei den Daten B, dem Chiffriertext C, dem mindestens einen öffentlichen Schlüssel A und dem mindestens einen privaten Schlüssel T um Matrizen handelt und die Verschlüsselungsfunktion als Eingaben den mindestens einen öffentlichen Schlüssel A und die Daten B empfängt und den Chiffriertext C als C ← AS + pX + B(modq) ausgibt, wobei S eine Zufallsmatrix, X eine Fehlermatrix, p eine ganze Zahl und q eine ungerade Primzahl darstellen.
-
In einer anderen beispielhaften Ausführungsform der Erfindung umfasst eine Vorrichtung das Folgende: wenigstens ein Speichermedium, das zum Speichern von Daten B ausgelegt ist, die als ein Chiffriertext C gemäß einem Verschlüsselungsverfahren verschlüsselt werden sollen, das eine Verschlüsselungsfunktion umfasst; und mindestens ein Prozessor, der zum Verschlüsseln der Daten B gemäß der Verschlüsselungsfunktion des Verschlüsselungsverfahrens geeignet ist, um den Chiffriertext C zu erhalten, wobei das Verschlüsselungsverfahren mindestens einen öffentlichen Schlüssel A verwendet, der zu mindestens einem privaten Schlüssel T gehört, wobei es sich bei den Daten B, dem Chiffriertext C, dem mindestens einen öffentlichen Schlüssel A und dem mindestens einen privaten Schlüssel T um Matrizen handelt und die Verschlüsselungsfunktion den mindestens einen öffentlichen Schlüssel A und die Daten B als Eingaben empfängt und den Chiffriertext C als C ← AS + pX + B(modq) ausgibt, wobei S eine Zufallsmatrix, X eine Fehlermatrix, p eine ganze Zahl und q eine ungerade Primzahl darstellen.
-
In einer weiteren beispielhaften Ausführungsform der Erfindung handelt es sich um ein computerlesbares Speichermedium, das physisch ein Programm aus Befehlen realisiert, die von einer Maschine zum Durchführen von Operationen ausgeführt werden können, wobei die Operationen das Folgende umfassen: Empfangen eines Chiffriertexts C, der zu Daten B gemäß einem Verschlüsselungsverfahren entschlüsselt werden soll, das eine Entschlüsselungsfunktion umfasst; und Entschlüsseln des Chiffriertexts C gemäß der Entschlüsselungsfunktion des Entschlüsselungsverfahrens zum Erhalten der Daten B, wobei das Entschlüsselungsverfahren mindestens einen privaten Schlüssel T verwendet und es sich bei den Daten B, dem Chiffriertext C, dem mindestens einen öffentlichen Schlüssel T um Matrizen handelt, wobei die Entschlüsselungsfunktion als Eingaben den mindestens einen privaten Schlüssel T und den Chiffriertext C empfängt und die Daten B gemäß B = T–1·(TCTtmodq)·(Tt)–1modp ausgibt, wobei p eine ganze Zahl und q eine ungerade Primzahl darstellen.
-
Um eine andere beispielhafte Ausführungsform der Erfindung handelt es sich bei einer Vorrichtung, die Folgendes umfasst: wenigstens ein Speichermedium geeignet zum Speichern eines Chiffriertexts C, der zu Daten B gemäß einem Verschlüsselungsverfahren entschlüsselt werden soll, das eine Entschlüsselungsfunktion umfasst; und mindestens ein Prozessor geeignet zum Entschlüsseln des Chiffriertexts C gemäß der Entschlüsselungsfunktion des Verschlüsselungsverfahrens zum Erhalten der Daten B, wobei das Verschlüsselungsverfahren mindestens einen privaten Schlüssel T verwendet und es sich bei den Daten B, dem Chiffriertext C und dem mindestens einen privaten Schlüssel T um Matrizen handelt, wobei die Entschlüsselungsfunktion als Eingaben den mindestens einen privaten Schlüssel T und den Chiffriertext C empfängt und die Daten B gemäß B = T–1·(TCTtmodq)·(Tt)–1modp ausgibt, wobei p eine ganze Zahl und q eine ungerade Primzahl darstellen.
-
Bei einer weiteren beispielhaften Ausführungsform der Erfindung handelt es sich um ein computerlesbares Speichermedium, das ein Programm aus Befehlen physisch realisiert, die von einer Maschine zum Ausführen von Operationen ausgeführt werden können, wobei die Operationen das Folgende umfassen: Empfangen von Daten B, die zu einem Chiffriertext C gemäß einem Verschlüsselungsverfahren verschlüsselt werden sollen, das eine Verschlüsselungsfunktion und eine Entschlüsselungsfunktion umfasst; und Verschlüsseln der Daten B gemäß der Verschlüsselungsfunktion des Verschlüsselungsverfahrens zum Erhalten des Chiffriertexts C, wobei das Verschlüsselungsverfahren mindestens einen öffentlichen Schlüssel A und mindestens einen privaten Schlüssel T verwendet, der zu dem mindestens einen öffentlichen Schlüssel A gehört und wobei es sich bei den Daten B, dem Chiffriertext C, dem mindestens einen öffentlichen Schlüssel A und dem mindestens einen privaten Schlüssel T um Matrizen handelt, wobei B ∊ Z m×m / p, C E Z m×m / q, A ∊ Z m×n / q und T ∊ Z m×m / q , n einen Sicherheitsparameter bezeichnet, m, q = poly(n), q eine ungerade Primzahl und p eine ganze Zahl mit q > p darstellen, wobei die Verschlüsselungsfunktion als Eingaben A und B empfängt und den Chiffriertext C als C ← AS + pX + B(modq) ausgibt, wobei es sich bei S um eine Zufallsmatrix handelt und S ← $ Z n×m / q, X eine Fehlermatrix darstellt und X ← $Ψ β(q)m×m, wobei Ψ β eine Fehlerverteilung und β einen Gauss'schen Fehlerparamater gegeben durch β = 1 / poly(n) darstellen, wobei die Entschlüsselungsfunktion als Eingaben T und C empfängt und die Daten B gemäß B = T–1·(TCTtmodq)·(Tt)–1modp ausgibt, wobei das Verschlüsselungsverfahren homomorph ist und das Berechnen von Bilinearformen unterstützt.
-
KURZE BESCHREIBUNG DER MEHREREN ANSICHTEN DER ZEICHNUNGEN:
-
Das Vorige und andere Gesichtspunkte der Ausführungsformen dieser Erfindung werden aus der folgenden ausführlichen Beschreibung noch deutlicher erkennbar, wenn sie in Verbindung mit den angefügten Zeichnungen gelesen wird, in denen:
-
1A eine beispielhafte Verschlüsselungsoperation/-funktion gemäß den beispielhaften Ausführungsformen der Erfindung darstellt;
-
1B eine beispielhafte Entschlüsselungsoperation/-funktion gemäß beispielhaften Ausführungsformen der Erfindung darstellt;
-
1C eine beispielhafte Schlüsselerzeugungs-(KeyGen-)Operation/Funktion gemäß den beispielhaften Ausführungsformen der Erfindung darstellt;
-
1D eine beispielhafte Chiffriertext-Additionsoperation/-funktion gemäß den beispielhaften Ausführungsformen der Erfindung darstellt;
-
1E eine beispielhafte Chiffriertext-Multiplikationsoperation/-funktion gemäß den beispielhaften Ausführungsformen der Erfindung darstellt;
-
1F eine beispielhafte Operation/Funktion „einfaches Entschlüsseln” gemäß den beispielhaften Ausführungsformen der Erfindung darstellt;
-
2 ein Funktionsschaubild eines Systems veranschaulicht, in dem verschiedene beispielhafte Ausführungsformen der Erfindung umgesetzt sein können;
-
3 einen logischen Ablaufplan darstellt, der den Betrieb eines beispielhaften Verfahrens und den Betrieb eines beispielhaften Computerprogramms gemäß den beispielhaften Ausführungsformen dieser Erfindung veranschaulicht;
-
4 einen anderen logischen Ablaufplan des Betriebs eines beispielhaften Verfahrens und den Betrieb eines beispielhaften Computerprogramms gemäß den beispielhaften Ausführungsformen dieser Erfindung veranschaulicht;
-
5 einen anderen logischen Ablaufplan darstellt, der den Betrieb eines beispielhaften Verfahrens und den Betrieb eines beispielhaften Computerprogramms gemäß den beispielhaften Ausführungsformen dieser Erfindung veranschaulicht;
-
6 einen anderen logischen Ablaufplan des Betriebs eines beispielhaften Verfahrens und den Betrieb eines beispielhaften Computerprogramms gemäß den beispielhaften Ausführungsformen dieser Erfindung veranschaulicht; und
-
7 einen anderen logischen Ablaufplan des Betriebs eines beispielhaften Verfahrens und den Betrieb eines beispielhaften Computerprogramms gemäß den beispielhaften Ausführungsformen dieser Erfindung veranschaulicht.
-
AUSFÜHRLICHE BESCHREIBUNG:
-
1 Kurze Synopsis
-
Beispielhafte Ausführungsformen der Erfindung bilden ein einfaches Public-Key-Verschlüsselungsverfahren, das das Berechnen von Bilinearformen (z. B. polynomial viele Additionen und eine Multiplikation) ähnlich wie das Verschlüsselungssystem von Boneh, Goh und Nissim (BGN) unterstützt Die Sicherheit beruht auf der Härte des Lernen-mit-Fehlern-(LWE-)Problems, das als ebenso hart wie bestimmte ungünstigste Fälle von Gitterproblemen bekannt ist.
-
Zu einigen Kennzeichen des beispielhaften Verschlüsselungssystems zählen die Unterstützung eines großen Nachrichtenraumes, eine einfache Möglichkeit zum Erreichen der Formeln-Privatsphäre, ein besseres Nachrichten-zu-Chiffriertext-Expansionsverhältnis als BGN und eine einfache Möglichkeit des Multiplizierens von zwei verschlüsselten Polynomen. Das Verfahren kann auch identitätsbasiert und abhörsicher ausgestaltet werden (auf Kosten eines höheren Expansionsverhältnisses aus Nachrichten und Chiffriertext).
-
Sämtliche Verweise auf „Z” (z. B. Z m×n / pZ m×n / p ) sind so zu verstehen, dass sie die Menge der ganzen Zahlen bezeichnen. Darüber hinaus beziehen sich alle Verweise auf ein Geheimnis, einen Geheimschlüssel oder eine Falltür auf einen privaten Schlüssel (z. B. wie in Verschlüsselungsverfahren mit öffentlichem und privaten Schlüssel) und umgekehrt.
-
Die hier verwendete Terminologie dient der Beschreibung verschiedener beispielhafter Ausführungsformen der Erfindung und darf nicht als einschränkend für die Erfindung ausgelegt werden. Wie hier verwendet sind die Einzahlformen „ein” und „der, die, das” so zu verstehen, dass sie auch die Pluralformen einschließen, wenn der Zusammenhang nichts eindeutig Anderes angibt. Es ist ferner selbstverständlich, dass die Begriffe „umfassen” und/oder „umfassend”, wenn sie in dieser Beschreibung verwendet werden, die Anwesenheit von angegebenen Kennzeichen, ganze Zahlen, Schritten, Operationen, Elementen und/oder Komponenten angeben, aber nicht die Anwesenheit oder das Hinzufügen eines oder mehreren anderen Kennzeichen, ganze Zahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen davon ausschließen.
-
1.1 Einleitung
-
In dieser Arbeit wird ein beispielhaftes Verschlüsselungsverfahren beschrieben, das additiv homomorph ist und zusätzlich auch eine Multiplikation erlaubt. Das beispielhafte Verfahren beruht auf der Falltür-Funktion, die von Gentry, Peikert und Vaikuntanathan [10] (hier im Folgenden als die GPV-Falltürfunktion bezeichnet) vorgeschlagen wurde. In der GPV-Falltürfunktion stellt eine Matrix A ∊ Z m×n / q (für Parameter q > p und m > n) den „öffentlichen Schlüssel” dar und bei der entsprechenden Falltür handelt es sich um eine ganzzahlige Matrix mit vollem Rang und kleinen Einträgen T ∊ Zm×m, sodass TA = 0(modq). Die öffentlichen und privaten Schlüssel in dem beispielhaften Verschlüsselungssystem stimmen genau mit denen in der GPV-Falltürfunktion überein. Eine quadratische Matrix B ∊ Z m×m / p wird verschlüsselt durch C = AS + pX + Bmodq, wobei S eine Zufalls-„Koeffizientenmatrix” S ∊ Z n×m / q und X eine „Rauschmatrix” mit Einträgen X ∊ Zm×m darstellt, sodass die Einträge von X wesentlich kleiner als q sind. Die Chiffriertext-Matrizen können addiert werden, und auch eine einzige Matrizenmultiplikation C' = C1·C t / 2modq ist erlaubt. (Ct ist die Transponierte von C.) Zum Entschlüsselt wird B = T–1·(TCTtmodq)·(Tt)–1modp gesetzt.
-
Die Sicherheit des beispielhaften Verfahrens ist äquivalent mit der Härte des Lernens mit Fehlern (LWE). Dieses Problem, das mit dem wohlbekannten „Lernen der Parität mit Rauschen” verknüpft ist, hat sich im Studium der gitterbasierten Kryptographie als Standard etabliert. Das Problem wurde zuerst von Regev [14] vorgeschlagen und von Regev [14] und Peikert [13] als gleichhart wie ungünstigste Fälle verschiedener Probleme in ganzzahligen Gittern bewiesen. Es wird kurz angemerkt, dass das LWE-Problem mit einer zugehörigen Fehlerverteilung in Beziehung steht.
-
1.2 Beiträge
-
Den vielleicht wichtigsten Unterschied zwischen dem beispielhaften Verfahren und früheren Arbeiten stellt die zu Grunde liegende Härteannahme dar. Insbesondere stellt das beispielhafte Verschlüsselungssystem das erste bekannte auf der Grundlage von LWE dar, das mehr als nur additiven Homomorphismus aufweist. Das beispielhafte Verfahren ist somit sehr leistungsfähig: es kann eine Matrix mit m2 Elementen in der Zeit O ~(m3) verschlüsseln, und die Entschlüsselung beansprucht eine vergleichbare Zeit.
-
Ein wichtiger Unterschied zwischen dem beispielhaften Verfahren und dem BGN-Verschlüsselungssystem besteht darin, dass das BGN-Verschlüsselungssystem nur Nachrichten aus einem kleinen Raum verschlüsseln kann (da bei der Entschlüsselung nur ein Gruppenelement gm wiedergewonnen wird und dann nach der Nachricht m gesucht werden muss). In dem beispielhaften Verfahren können Matrizen über Zp für beliebiges p verschlüsselt werden, sofern q hinreichend größer als p ist. Ein ähnlicher Vorteil besteht darin, dass durch Wahl eines großen Modulus p das beispielhafte Verfahren auf eine Chiffriertext-Expansion von O(1) gebracht werden kann (während das BGN-Verschlüsselungssystem O(logn) Bits Klartext zu O(n) Bits Chiffriertext expandiert).
-
Es wird angemerkt, dass der Modulus p, das den Nachrichtenraum in der beispielhaften Ausführungsform festlegt, durch den Verschlüsseler dynamisch gewählt werden kann: dasselbe Paar öffentlicher/privater Schlüssel kann zum Verschlüsseln/Entschlüsseln von Nachrichten modulo vieler verschiedener Felder (oder Ringe) verwendet werden. Das beispielhafte Verfahren unterstützt sowohl die Chiffriertext-Verblindung (d. h., ein gegebener Chiffriertext wird in einen Zufalls-CT umgewandelt, der dasselbe Objekt verschlüsselt) als auch die stärkere Eigenschaft der modularen Verblindung: Für einen gegebenen Chiffriertext, der eine Matrix
B ∊ Z m×n / p verschlüsselt und einen Teiler p' von p kann ein Zufalls-CT erzeugt werden, der Bmodp' verschlüsselt. Wenn beispielsweise die Klartextmatrix ursprünglich n-Bit-Zahlen (z. B. in
) aufweist, kann der Chiffriertext so verblindet werden, dass alle Bits außer dem niedrigstwertigen Bit der Einträge in B gelöscht werden.
-
Als eine Folge der (normalen) Verblindungseigenschaft und der Flexibilität beim Wählen des Nachrichtenraumes stellt das beispielhafte Verfahren eine sehr einfache Prozedur zur sicheren Formel/Privat-Datenverarbeitung dar. Es ist nämlich sehr einfach, 2DNF-Formeln (oder eine allgemeine Bilinearform) an Chiffriertexten zu berechnen, während gleichzeitig vor dem Besitzer des Geheimschlüssels alles über die Formel selbst verborgen bleibt (außer das Ergebnis ihrer Anwendung auf die gegebenen Eingaben).
-
Zuletzt übernimmt das beispielhafte Verfahren viel von der Flexibilität, die mit Verschlüsselungssystemen auf der Grundlage von LWE einhergeht. Insbesondere kann es identitätsbasiert mit der Konstruktion von Gentry u. a. [10] und abhörsicher mit einem jüngsten Ergebnis von Dodis u. a. [6] ausgestaltet werden. Diese beiden Anwendungen gehen von der Beobachtung aus, dass das „duale Regev-Verschlüsselungssystem” aus [10] als ein Spezialfall des beispielhaften Verschlüsselungssystems beschrieben werden kann.
-
Anwendungen
-
Natürlich kann das beispielhafte Verfahren auch als ein drop-in-Ersatz in den Anwendungen für Wahlen und PIR verwendet werden, die in der Veröffentlichung von Boneh u. a. [5] beschrieben wurden. Des Weiteren stellt das beispielhafte Verfahren, da es Matrizen nativ verschlüsselt, eine gute Wahl für Anwendungen dar, die von Stapelverarbeitung profitieren oder wenn effiziente lineare Algebra wichtig ist. Manche Beispiele der Stapelverarbeitung schließen Anwendungen ein, die Polynome (deren Koeffizienten in die Einträge der Klartext-Matrix verschlüsselt werden sollen) oder ganze Zahlen (deren Bitdarstellung in die Einträge der Klartextmatrix verschlüsselt werden sollen) multiplizieren (z. B. müssen). Im Abschnitt 5.3. wird beschrieben, wie diese in eine Matrix verschlüsselt werden können, sodass eine einzige Multiplikatin von m×m-Matrizen zum Multiplizieren zweier Polynome vom Grad (m – 1) (oder zwei ganzzahlige m-Bit-Zahlen) verwendet werden kann, sodass das Ergebnis nichts über die Eingaben außer ihrem Produkt aussagt.
-
1.3 Übersicht über das beispielhafte Verfahren
-
Nachfolgend sind die wesentlichen Ideen hinter der Konstruktion des beispielhaften Verfahrens aufgezeigt. Das beispielhafte Verfahren beruht auf der Härte der Entscheidung des LWE-Entscheidungsproblems, wonach für einen Sicherheitsparameter n und polynomial großes m für eine gegebene gleichmäßig zufällige Matrix A ∊ Z m×n / q der Vektor As + x pseudozufällig ist (für gleichmäßiges s ∊ Z n / q und einen „kleinen Fehlervektor” x ∊ Z m / q ). Die Härte der LWE-Entscheidung stellt mittlerweile eine Standardannahme im Studium gitterbasierter Verschlüsselungssysteme dar, wobei dieses Problem von Regev [14] und Peikert [13] als gleichhart wie das Lösen einer Anzahl von Standard-Gitterproblemen im ungünstigsten Fall bewiesen wurde.
-
Den öffentlichen Schlüssel des beispielhaften Verfahrens stellt die Zufallsmatrix A ∊ Z m×n / q dar, und den Geheimschlüssel bildet eine „Falltürmatrix” T mit kleinen Einträgen, die T·A = 0(modq) erfüllt. Den Nachrichtenraum für das Verschlüsselungsverfahren stellt der Ring von m-mal-m-Matrizen aus ganzen Zahlen modulo p dar (mit den Operationen der Matrixaddition und -Multiplikation). Das Verfahren kann auf jedem beliebigen Ring Zp ausgeführt werden, sofern p hinreichend kleiner als der LWE-Modulus q ist. Weitere Details finden sich in Abschnitt 3.
-
Zum Verschlüsseln einer Matrix B ∊ Z m×m / p wählt der Verschlüsseler eine Zufallsmatrix S ∊ Z n×m / q und eine „kleine Fehlermatrix” X aus der LWE-Fehlerverteilung aus. Der Chiffriertext C ist dann C = A·S + p·X + B
-
Es sollte bedacht werden, dass der Chiffriertext von der Form (niedrigrangige Matrix) + (geringes Rauschen teilbar durch p) + (Nachricht) ist. Das Entschlüsseln des Chiffriertexts ist verbunden mit dem Multiplizieren des Chiffriertexts mit der Falltürmatrix T auf der linken Seite (was die niedrigrangige Matrix beseitigt), dann Multiplizieren mit T–1modp zum Beseitigen des Rauschens, B = T–1·(T·Cmodq)modp.
-
Dies funktioniert, weil T, X und B jeweils klein sind, sodass alle Einträge in T·(pX + B) kleiner als q sind, was bedeutet, dass (T·Cmodq) mit T·(pX + B) über den ganzen Zahlen übereinstimmt (nicht nur modulo q), und deshalb gleich ist mit T·Bmodp.
-
Es ist leicht zu erkennen, dass die Summe der Verschlüsselungen mehrerer Matrizen zur Summe dieser Matrizen verschlüsselt wird, solange alle Einträge (z. B. in T·ΣC
i modq) klein bleiben. Um eine Verschlüsselung eines Produkts aus zwei Matrizen zu erhalten, setzte man
-
Dies sieht ähnlich wie eine Verschlüsselung von B1B t / 2 aus (und die Fehlermatrix X ist tatsächlich klein) bis auf den zusätzlichen Querterm S'At. Um diesen Produkt-CT zu entschlüsseln, setze man zuerst M = T·C·Ttmodq, dann werden die beiden Terme AS und S'At eliminiert, und es wird B = T–1·M·(Tt)–1modp.
-
Nun ist klar, wieso dieses Verfahren (z. B. nur) eine einzige Multiplikation unterstützt: jenseits davon gibt es die Querterme der Form S·A·S', die nicht mehr mit der Falltür T eliminiert werden können.
-
2 Vorüberlegungen
-
Bezeichnung.
-
Skalare werden durch Kleinbuchstaben (a, b, ...), Vektoren durch fettgedruckte Kleinbuchstaben (a, b, ...), und Matrizen durch fettgedruckte Großbuchstaben (A, B, ...) bezeichnet. Die euklidische Norm eines Vektors v wird mit ||v|| und der größte Eintrag in einem Vektor oder einer Matrix jeweils als ||v||a oder ||M|| bezeichnet. Die Operation (amodq) ist als Abbildung der ganzen Zahl a auf das Intervall (–q/2, +q/2] anzusehen.
-
2.1 Lernen mit Fehlern (LWE)
-
Das LWE-Problem wurde von Regev [14] als eine Verallgemeinerung des „Lernens von Parität mit Rauschen” eingeführt. Für positive ganze Zahlen n und q ≥ 2, einen Vektor s ∊ Z n / q und eine Wahrscheinlichkeitsverteilung χ auf Zq sei As,χ die Verteilung, die durch gleichmäßig zufälliges Auswählen eines Vektors a ∊ Z n / q und eines Rauschterms x ← χ erhalten wird, und es wird (a, 〈a, s〉 + x) ∊ Z n / q × Zq ausgegeben.
-
Definition 1 (LWE) Für eine ganze Zahl q = q(n) und eine Fehlerverteilung χ = χ(n) über Zq wird das Problem des Lernens mit Fehlern LWEn,m,q,χ folgendermaßen definiert: Gib für m unabhängige gegebene Stichproben von As,χ (für einige s ∊ Z n / q ) s mit nennenswerter Wahrscheinlichkeit aus.
-
Die Entscheidungsvariante des LWE-Problems, bezeichnet als distLWEn,m,q,χ, besteht im Unterscheiden (mit nicht vemachlässigbarem Vorteil) von m Stichproben, gewählt gemäß As,χ (für gleichmäßig zufälliges s ∊ Z n / q ) und m Stichproben, gewählt gemäß der gleichmäßigen Verteilung über Z n / q × Zq.
-
Für kryptographische Anwendungen ist hauptsächlich das Entscheidungsproblem distLWE von Interesse. Regev [14] zeigte, dass distLWE für einen Primzahlmodulus q auf den ungünstigsten Fall des LWE mit einem Verlust von bis zu einem Faktor q·poly(n) in dem Parameter m zurückgeführt werden kann.
-
Manchmal kann es vorteilhaft sein, das LWE-Problem LWEn,m,q,χ in einer kompakten Matrixschreibweise anzugeben: zu gegeben (A, As + x), wobei A ← Z m×n / q gleichmäßig zufällig ist, s ← Z n / q das LWE-Geheimnis darstellt und x ← χm, finde s. Eine ähnliche Matrixschreibweise wird auch für die Entscheidungsversion distLWE verwendet.
-
Gauss'sche Fehlerverteilungen Ψ β.
-
Von Hauptinteresse sind die LWE- und distLWE-Probleme, in denen die Fehlerverteilung χ über Z
q von einer Gaussverteilung abgeleitet wird. Für beliebige β > 0 ist die Dichtefunktion einer Gaussverteilung über den reellen Zahlen gegeben durch D
β(x) = 1/β·exp(–π(x/β)
2). Definiere für eine ganze Zahl q ≥ 2
Ψ β(q) als die Verteilung auf Z
q, die durch Ziehen y ← D
β erhalten wird, und gib ⌊q·y⌉(modq) aus. Schreibe LWE
n,m,q,β als eine Abkürzung für
-
Hier werden einige grundlegende Tatsachen über Gaussverteilungen (angepasst an die Fehlerverteilung Ψ β ) vorgestellt; siehe z. B. [7] (im Folgenden gilt als überwältigende Wahrscheinlichkeit die Wahrscheinlichkeit 1–δ für ein δ, das in n vernachlässigbar ist).
- Fakt 1 Es sei β > 0, q ∊ Z und der Vektor x gewählt als x ← Ψ β(q)n. Zudem sei y ∊ Zn ein beliebiger Vektor und g = ω(√logn) . Dann gilt mit überwältigender Wahrscheinlichkeit |〈x, y〉| ≤ βq·g·PyP.
- Fakt 2 Es sei y ∊ R beliebig. Der statistische Abstand zwischen den Verteilungen Ψ β und Ψ β + y beträgt höchstens |y|/(βq).
-
Nachweise für die Härte von LWEn,m,q,β folgen aus den Ergebnissen von Regev [14], der eine Quanten-Rückführung von der Näherung bestimmter Probleme auf n-dimensionalen Gittern im ungünstigsten Fall innerhalb O ~(n/β) Faktoren zum Lösen von LWEn,m,q,β für jedes gewünschte m = poly(n) gab, wenn β·q ≥ 2√n . Jüngst gab Peikert [13] auch eine ähnliche klassische Rückführung für einige andere Probleme mit ähnlichen Parametern an.
-
Wie hier verwendet stammt das relative Attribut „klein” von Ψ β. Allgemein ist ein „kleiner” Wert oder eine „kleine” ganze Zahl von der Größe bis zu q·β. Ähnlich ist ein „großer” Wert oder eine „große” ganze Zahl viel größer als q·β.
-
2.2 Falltür-Abtastung
-
Die Grundlage dieses beispielhaften Verschlüsselungsverfahrens stellt ein Falltür-Abtastalgorithmus dar, der zuerst von Ajtai [3] konstruiert und später von Alwen und Peikert [4] verbessert wurde. Das Falltür-Abtastverfahren erzeugt eine (fast) gleichmäßige Zufallsmatrix A ∊ Z m×n / q zusammen mit T ∊ Zm×m , sodass: (a) T·A = 0(modq), (b) T invertierbar ist, und (c) die Einträge von T klein sind (z. B. von der Größe O(nlogq)).
-
Die Falltür T kann zum Lösen des LWE-Problems bzgl. A verwendet werden, d. h., für gegebenes y = As + x mit x als irgendein „hinreichend kurzer” Vektor kann sie zum Wiedergewinnen von s verwendet werden. Dies wird folgendermaßen ausgeführt: Berechne Ty = T(As + x) = TAs + Tx = Tx(modq) wobei die letzte Gleichung aus den Zeilen von T folgt, die zum dem Gitter Λ⊥(A) gehören. Da sowohl T als auch x jetzt kleine Einträge enthalten, ist jeder Eintrag des Vektors Tx kleiner als q und somit Txmodq gleich Tx selbst. Multiplizieren mit T–1 (das klar definiert ist, da T eine Basis ist und daher vollen Rang hat) ergibt schließlich x. Das LWE-Geheimnis s kann dann durch Gauss-Elimination wiedergewonnen werden. Das Ergebnis von Alwen und Peikert [4] ist unten angegeben.
-
Lemma 1 ([3, 4]) Es gibt einen effizienten Algorithmus TrapSample, der auf die Eingabe 1n, eine positive ganze Zahl q ≥ 2 und eine poly(n)-beschränkte positive ganze Zahl m ≥ 8n logq die Matrizen A ∊ Z m×n / q und T ∊ Zm×m ausgibt, sodass gilt:
- • A ist statistisch nahezu gleichmäßig über Z m×n / q ,
- • die Zeilen von T bilden eine Basis des Gitters A⊥(A) = def {w ∊ Zm: w·A = 0(modq)},
- • die euklidische Norm aller Zeilen von T (und deshalb auch |T|∞) ist beschränkt durch O(n log q). (Alwen und Peikert [4] zeigen, dass die in dem O(·) verborgene Konstant nicht größer als 20 ist.)
-
Es wird angemerkt, dass, da die Zeilen von T das Gitter Λ⊥(A) aufspannen, det(T) = qn folgt, weshalb für ein beliebiges p, teilerfremd mit q, T modulo-p-invertierbar ist.
-
3 Das beispielhafte Verschlüsselungsverfahren
-
Es soll n den Sicherheitsparameter bezeichnen. Andere Parameter des Systems sind die drei Zahlen m, p, q = poly(n) (mit einer ungeraden teilerfremden Zahl q > p) und ein Gauss'scher Fehlerparameter β = 1/poly(n). Siehe den Abschnitt 3.2 für konkrete, beispielhafte Instanziierungen dieser Parameter. Für diese Parameter wird der Nachrichtenraum durch die Menge der m-mal-m Matrizen aufgespannt, d. h. B ∊ Z m×m / p. Bei öffentlichen Schlüssel n handelt es sich um Matrizen A ∊ Z m×n / q, bei Geheimschlüsseln um Matrizen T ∊ Z m×m / q, und bei Chiffriertexten um Matrizen C ∊ Z m×m / q.
-
Das beispielhafte Verschlüsselungsverfahren beinhaltet (z. B. mindestens) die drei folgenden Algorithmen:
KeyGen(1n): Führe den Falltür-Abtastalgorithmus TrapSample aus Lemma 1 aus, um die Matrix A ∊ Z m×n / q zusammen mit der Falltürmatrix T ∊ Zm×m zu erhalten (A, T) ← TrapSample(n, q, m). Bei dem öffentlichen Schlüssel handelt es sich um A und bei dem Geheimschlüssel um T.
Enc(A, B ∊ Z m×m / p ): Wähle eine Zufallsmatrix S ← $ Z n×m / q (z. B. eine gleichmäßig zufällige Matrix) und eine „Fehlermatrix” X ← $Ψ β(q)m×m. Gib den Chiffriertext C ← AS + pX + B(modq) aus. (Hier bedeutet pX Multiplizieren jedes Eintrags der Matrix X mit p.)
Dec(T, C): Setze E ← TCTtmodq, und gib B ← T–1E(Tt)–1modp aus.
-
Um zu erkennen, dass diese Entschlüsselung funktioniert, beachte man T·A = 0(modq) und deshalb TCTt = T(pX + B)Tt(modq). Wenn zusätzlich alle Einträge von T(pX + B)Tt kleiner als q sind, dann folgt auch die Gleichheit über den ganzen Zahlen E = (TCTtmodq) = T(pX + B)Tt und daher T–1E(Tt)–1 = B(modp). Das bedeutet, dass die Entschlüsselung korrekt ausgeführt wird, solange der Parameter β klein genug gewählt wird, so dass mit hoher Wahrscheinlichkeit alle Einträge von T(pX + B)Tt kleiner als q/2 sind.
-
Anmerkung 1 Es wird angemerkt, dass die Rechtsmultiplikation mit Tt und (Tt)–1 bei der Entschlüsselung hier redundant ist – man kann stattdessen nur B ← T–1(TCmodq)modp berechnen. Die Rechtsmultiplikation wird zum Entschlüsseln von Produkt-CTs benötigt, was hier im Folgenden beschrieben ist. Im Unterschied zu dem BGN-Verschlüsselungssystem bestehen in dem beispielhaften Verfahren „normale Chiffriertexte” und die „Product-CTe” in dem gleichen Raum, und man kann dasselbe Entschlüsselungsverfahren zum Entschlüsseln Beider verwenden.
-
Man kann auch die Notwendigkeit zum Multiplizieren mit T–1 und (Tt)–1 durch Optimieren beseitigen, indem die veränderte Falltür T' = (T–1modp)·T verwendet wird (Produkt der ganzen Zahlen). Offensichtlich erhält man T'A = 0(modq), und die Einträge von T' sind nicht viel größer als diejenigen von T (da alle Einträge in (T–1modp) höchstens vom Betrag p/2 sind).
-
3.1 Homomorphe Operationen
-
Addition.
-
Sind zwei Chiffriertexte C1, C2 gegeben, die entschlüsselt jeweils B1, B2 ergeben, so ist leicht einzusehen, dass die Matrix C = C1 + C2modq zu B1 + B2modp entschlüsselt würde, solange kein „Überlauf” in irgendeinem Eintrag besteht. Speziell wird mit C1 = AS1 + pX1 + B1 und C1 = AS2 + pX2 + B2 dann C = C1 + C2 = A(S1 + S2) + p(X1 + X2) + (B1 + B2), was als B1 + B2 entschlüsselt werden würde, solange alle Einträge in T(p(X1 + X2) + B1 + B2)Tt kleiner als q/2 sind. Siehe Abschnitt 3.2 für Beispiele von exakten Parametern.
-
Multiplikation.
-
Sind zwei Chiffriertexte C
1, C
2 gegeben, die jeweils B
1, B
2 verschlüsseln, dann berechne den Produkt-CT als
C = C1·C t / 2modq. Wenn C
1 = AS
1 + pX
1 + B
1 und C
2 = AS
2 + pX
2 + B
2 ist, dann wird
-
Daher ist der Produkt-CT von der Form AS + pX + B + S'At.
-
Wie vorher sieht man, dass gilt TCTt = T(pX + B)Tt(modq) gilt, und wenn alle Einträge von T(pX + B)Tt kleiner als q/2 sind, wird E = (TCTtmodq) = T(pX + B)Tt über den ganzen Zahlen und deshalb T–1E(Tt)–1 = B(modp). Unten werden beispielhafte Parameter besprochen, bei denen dies funktioniert.
-
3.2 Festlegen der Parameter
-
Theorem 2 Halte den Sicherheitsparameter n, den Parameter p und ein beliebiges c = c(n) > 0 fest. Es seien q, m, β gewählt als
-
Dann unterstützt das obige beispielhafte Verschlüsselungsverfahren mit p, n, m, q, β als Parameter nc Additionen und eine Multiplikation (in beliebiger Reihenfolge) über dem Matrixring Z m×m / p.
-
Anmerkung 3 Beachte, dass man in Theorem 2nc Additionen für ein nicht konstantes c zulassen kann. Der Grund dafür, dass dies nötig werden kann, ist das Verwenden von Linearkombinationen aus Chiffriertexten mit großen Koeffizienten. Wenn speziell die Chiffriertext-Matrizen C1, C2, ..., vorliegen, kann man ΣaiCi homomorph berechnen, solange |Σai| < nc.
-
4 Erweiterungen und Anwendungen
-
4.1 Dynamische Wahl des zu Grunde liegenden Rings
-
Es ist zu beachten, dass, sobald die Parameter festgelegt sind, die Wahl des zu Grunde liegenden Rings für den Klartext adaptiv durch den Verschlüsseler erfolgen kann. Genau mit demselben öffentlichen Schlüssel A und dem Geheimschlüssel T kann der Verschlüsseler den zu Grunde liegenden Ring als Zr für jedes r ≤ p wählen (damit Berechnen des Chiffriertexts als C = AS + rX + B), und der Entschlüsseler kann entsprechend entschlüsseln.
-
4.2 Formel-Privatsphäre
-
Wie bisher beschrieben stellt das Verfahren keine „Formel-Privatsphäre” gegenüber dem Besitzer des Geheimschlüssels sicher. Beispielsweise kann der Entschlüssler für eine gegebene Chiffriertext-Matrix C in der Lage sein, den Fall, in dem der Chiffriertext durch Multiplizieren einer Verschlüsselung der Einheitsmatrix mit einer Verschlüsselung der Nullmatrix erhalten wurde, von dem Fall zu unterscheiden, in dem er durch Multiplizieren von zwei Verschlüsselungen der Nullmatrix erhalten wurde.
-
Dieser Mangel kann durch Standardtechniken behoben werden. Zuerst wird die Größe des Modulus etwas erhöht: Wechseln von q wie in Theorem 2 angegeben zu q' ≥ q·2ω(logn). Für eine gegebene Chiffriertext-Matrix C*, die eine Klartextmatrix modulo p verschlüsselt, verblinde sie durch Festlegen C ← C* + AS1 + pX* + S t / 2At, wobei S, S' in Z n×m / q' gleichmäßig sind und jeder Eintrag von X* aus Ψ β'(q) mit β' super-polynomial größer als der Parameter β gewählt wird, der in dem Verfahren verwendet wird.
-
Mit Fakt 2 kann dann gezeigt werden, dass das Rauschen in dem angefügten X* alle Spuren des Ursprungs dieses Chiffriertexts „ertränkt”. Speziell ist der resultierende Chiffriertext von der Form C = AS'1 + pX' + B + (S'2)tAt, wobei S'1, S'2 zufällig sind (z. B. gleichmäßig zufällig), B der entsprechende Klartext und die Verteilung von X' nahezu unabhängig von der Herkunft des Chiffriertexts ist.
-
Beachte, dass dieselbe Verblindungstechnik selbst dann verwendet werden kann, wenn die verschlüsselte Klartextmatrix aus einem größeren Ring Zp' gewählt wird, solange der Parameter p, der in der Verblindungsprozedur gewählt wird, das ursprüngliche p' teilt.
-
4.3 Verschlüsseln von Polynomen und großen ganzen Zahlen
-
Zum Verschlüsseln von Polynomen oder großen ganzen Zahlen sind diese als Matrizen so zu verschlüsseln, dass man sich die Matrixoperationen zu Nutze machen könnte, die von dem beispielhaften Verfahren nativ zum Ausführen von Operationen an diesen Polynomen oder Zahlen unterstützt werden.
-
Es soll mit Polynomen begonnen werden: Es ist bekannt, wie die Koeffizienten von zwei Polynomen in zwei Matrizen eingebettet werden, sodass das Multiplizieren dieser Matrizen alle Koeffizienten des resultierenden Produktpolynoms ergeben. Beispielsweise kann man für zwei Polynome
a ^(x) = Σaixi und b ^(x) = Σbixi ausnutzen
-
Beachte, dass die Produktmatrix oben insofern nicht privat ist, als sie mehr als nur die Koeffizienten der Produktpolynoms offenlegt. Dies kann leicht behoben werden, indem eine Verschlüsselung einer Matrix mit einer ersten Nullspalte und Nullzeile und Zufallseinträge überall sonst addiert wird. Auch diese einfache Einbettung ist insofern „verschwenderisch”, als sie zu einem Chiffriertext-Expansionsverhältnis von O(m) führt (verschlüssele Polynome vom Grad (m – 1) mit m×m-Matrizen). Wirtschaftlichere Einbettungen können möglich sein.
-
Bezugnehmend auf die Multiplikation ganzer Zahlen besteht eine offensichtliche Vorgehensweise zum Multiplizieren von zwei ganzzahligen m-Bit-Zahlen im bloßen Festlegen des Klartextraums als Zp für gewisse p ≥ 22m, aber das Arbeiten mit einem so großen Klartextraum kann unangenehm sein. Deshalb kann es wünschenswert sein, ein Verfahren zum Umsetzten der Multiplikation großer ganzer Zahlen mit einem kleinen Eingaberaum zu suchen. Eine Möglichkeit stellt das Verwenden derselben Techniken wie für Polynome dar, wobei die ganze Zahl mit der Binärdarstellung a = Σai2i als ein binäres Polynom a ^(x) bei x = 2 ausgewertet wird.
-
Verschlüssele für zwei gegebene ganze Zahlen a, b die binären Koeffizienten der entsprechenden Polynome a ^, b ^ über dem Klartextraum Zp für gewisse p ≥ m. Lies die Koeffizienten des Produktpolynoms ab, und berechne dann a·b = (a ^·b ^)(2) über den ganzen Zahlen.
-
Diese Lösung ist jedoch nicht privat, da sie Daten über a, b außer ihrem bloßen Produkt ganzer Zahlen verrät. Ein Konzept zur Privatisierung besteht darin, Zufallselemente ri ∊ Zp zu der ersten Zeile und Spalte der Produktmatrix so zu addieren, dass Σi2iri = 0(modp). Dies wird es dem Besitzer des Geheimschlüssels erlauben, a·b(modp) wiederzugewinnen. Nach mehrmaligem Wiederholen mit unterschiedlichen p's kann dann der chinesische Restsatz zum vollständigen Wiedergewinnen von a·b verwendet werden.
-
4.4 Zwei-von-Zwei-Verschlüsselung
-
Es ist zu beachten, dass in dem beispielhaften Verschlüsselungsverfahren, wenn die Verschlüsselung von zwei Matrizen unter zwei verschiedenen öffentlichen Schlüssel n ausgeführt wird, diese zwei Chiffriertexte multipliziert werden können, womit ein „CT” entsprechend dem Produkt der beiden Klartexte erhalten wird. Dieser „CT” kann dann durch Zusammenführen der beiden Geheimschlüssel entschlüsselt werden.
-
Genauer sei vorausgesetzt, dass zwei öffentliche Schlüssel A1, A2 und die zugehörigen Geheimschlüssel T1, T2 vorliegen, wobei beide Paare modulo derselben Primzahl q festgelegt sind. (Zur Vereinfachung wird auch vorausgesetzt, dass beide Paare dieselben Parameter n und m verwenden, obwohl diese Annahme unnötig sein kann.) Sind die zwei Chiffriertexte C1 = A1S1 + pX1 + B1 and C2 = A2S2 + pX2 + B2 gegeben, kann der „Produkt-CT” C = C1C t / 2(modq) berechnet werden, der zu dem Klartext B1B t / 2 (modp) gehört. Dieser Klartext kann, wenn sowohl T1 als auch T2 bekannt sind, wiedergewonnen werden durch Bestimmen von B ← T1 –1·(T1CT t / 2modq)·(T t / 2)–1 modp
-
4.5 Identitätsbasierte und abhörsichere Verschlüsselung vom Typ BGN
-
Als Nächstes wird gezeigt, wie der Homomorphismus mit einer Multiplikation über die rein normale Public-Key-Verschlüsselung hinaus erweitert werden kann, um mehr „fortschrittliche Eigenschaften” wie z. B. identitätsbasierte Verschlüsselung (IBE) und Abhörsicherheit als nichteinschränkende Beispiele zu erhalten. Dies folgt aus den einfachen Beobachtungen, dass das „duale Regev-Verschlüsselungssystem” aus [10] (mit einer anderen Eingabeverschlüsselung) als ein Spezialfall des beispielhaften Verschlüsselungsverfahrens (für eine besondere Form von Matrizen) angesehen werden kann und es daher dieselben homomorphen Operationen erlaubt. IBE (in de Zufalls-Voraussagemodell) ergibt sich unmittelbar, nachdem Gentry u. a. in [10] gezeigt haben, wie duale Regev-Schlüssel aus einem Masterschlüssel abgeleitet werden, und die Abhörsicherheit folgt, nachdem Dodis u. a. in [6] gezeigt haben, dass das duale Regev-Verschlüsselungssystem abhörsicher ist.
-
Man erinnere sich an das „duale Regev-Verschlüsselungssystem” aus [10]: Bei dem öffentlichen Schlüssel handelt es sich um eine Matrix A ∊ Z m×n / q und bei dem Geheimschlüssel um einen kurzen Vektor im Dualraum, nämlich ein kurzes u → ∊ Z m / q, sodass u →A = 0(modq). Darüber hinaus ist der letzte Eintrag in u → immer –1.
-
In dem Verschlüsselungssystem wie in [10] beschrieben wird ein Bit b verschlüsselt durch Wählen eines gleichmäßigen Vektors
s → ∊ Z n / q und eines kleinen Fehlervektors
x → ∊ Z m / q und durch Verschlüsseln des Bit b in dem „höchstwertigen Bit” eines Eintrags des Chiffriertext-Vektors, nämlich
c → ← As → + x → + 〈0...01〉t·⌈q/2⌉modq. Um einen Homomorphismus zu erhalten, muss die Eingabe in dem niedrigstwertigen Bit verschlüsselt werden durch
c → ← As → + 2x → + 〈0...0b〉tmodq. Mit dieser Eingabeverschlüsselung kann man das duale Regev-Verschlüsselungssystem als einen Spezialfall des beispielhaften Verschlüsselungssystems ansehen, wobei der öffentliche Schlüssel dieselbe Matrix A darstellt und der Geheimschlüssel keine vollrangige Matrix, sondern eine Matrix vom Rang 1 darstellt. Die Matrizen T, S, X, B werden definiert als
(D. h., alles außer der obersten Zeile von T ist null, aber alles außer den rechtsäußeren Spalten von S, X ist null und alles außer dem Element rechts unten von B ist null.)
-
Es ist einfach zu zeigen, dass die semantische Sicherheit aus dem LWE folgt. Da es sich bei dem Schlüssel nur um den dualen Regev-Schlüssel handelt, zeigt derselbe Beweis wie in [6], dass er selbst dann sicher bleibt, wenn ein Teil des Geheimschlüssels nach außen bekannt ist. Es wurde in [10] auch gezeigt, wie dieser Geheimschlüssel aus einem Haupt-Geheimschlüssel in einer identitätsbasierten Umgebung berechnet werden kann (in dem Zufalls-Voraussagemodell).
-
Bei dieser Auswahl ist der Großteil der „CT-Matrix” null, sodass als Chiffriertext tatsächlich nur der eine Vektor c → ← As → + 2x → + 〈0...0b〉tmodq ausgegeben werden muss, der implizit die Matrix C = (0c →) verschlüsselt. Die homomorphen Operationen werden dann auf die impliziten Matrizen angewendet, wobei es sich bei der Addition nur um elementweise Addition modulo q und bei der Multiplikation von zwei Vektoren nur um eine äußere Produktoperation handelt.
-
Zum Entschlüsseln einer Chiffriertext-Matrix wird diese von links und rechts mit dem Geheimschlüssel-Vektor c → multipliziert, das Ergebnis zuerst modulo q und dann modulo 2 reduziert. Wegen der besonderen Form der Klartextmatrix B stimmt dies überein mit dem Multiplizieren mit T von links und mit Tt von rechts und nur Auswählen des rechten unteren Elements als Ergebnis.
-
Obwohl die Matrix nicht länger invertierbar ist, kann das verborgene Bit b immer noch wiedergewonnen werden. Dies geschieht einfach durch Setzen von b ← u →Cu →
tmodqmod2, ohne dass mit der Inversen multipliziert werden muss, da gilt
-
Wie man sich erinnert, gilt in dem dualen Regev-Verschlüsselungssystem um = –1, sodass diese Prozedur tatsächlich die richtige Antwort liefert.
-
4.6 Einfache Entschlüsselung
-
Wie oben beschrieben wird der Chiffriertext gemäß Folgendem entschlüsselt: B = T–1·(TCTtmodq)·(Tt)–1modp
-
Eine Erweiterung davon stellt stattdessen das Verwenden einer „einfachen” Entschlüsselungsformel dar: B = T–1·(TCmodq)modp.
-
Die einfache Entschlüsselung sollte genau genug (z. B. gut genug) zur Entschlüsselung sein, solange der Chiffriertext keiner Multiplikation ausgesetzt war.
-
5 Weitere beispielhafte Ausführungsformen
-
1A zeigt eine beispielhafte Verschlüsselungsoperation/-funktion gemäß den beispielhaften Ausführungsformen der Erfindung. 1B zeigt eine beispielhafte Enrschlüsselungsoperation/-funktion gemäß den beispielhaften Ausführungsformen der Erfindung. 1C zeigt eine beispielhafte Schlüsselerzeugungs-(KeyGen-)Operation/funktion gemäß den beispielhaften Ausführungsformen der Erfindung. 1D zeigt eine beispielhafte Additionsoperation/-funktion (z. B. für i Chiffriertexte, für nc Chiffriertexte) gemäß den beispielhaften Ausführungsformen der Erfindung. 1E zeigt eine beispielhafte Chiffriertext-Multiplikationsoperation/-funktion (z. B. für zwei Chiffriertexte C1 und C2) gemäß den beispielhaften Ausführungsformen der Erfindung. 1F zeigt eine beispielhafte Operation/Funktion „einfaches Entschlüsseln” gemäß den beispielhaften Ausführungsformen der Erfindung.
-
2 veranschaulicht ein Funktionsschaubild eines Systems 200, in dem gewisse beispielhafte Ausführungsformen umgesetzt sein können. In gewissen beispielhaften Ausführungsformen können die in 1 abgebildeten Blöcke kollektiv oder individuell gemäß dem System 200 umgesetzt werden. Das System 200 kann mindestens eine Schaltungseinheit 202 beinhalten, die in gewissen Ausführungsformen mindestens einen Prozessor 204 einschließen kann. Das System 200 kann auch mindestens einen Speicher 206 (z. B. eine nichtflüchtige Speichereinheit) und/oder mindestens eine Speichereinheit 208 beinhalten. Zu der Speichereinheit 208 können eine nichtflüchtige Speichereinheit (z. B. EEPROM, ROM, PROM, RAM, DRAM, SRAM, Flash, Firmware, programmierbare Logik usw.), ein magnetisches Disclaufwerk, ein optisches Disclaufwerk und/oder ein Bandlaufwerk als nichteinschränkende Beispiele gehören. Die Speichereinheit 208 kann eine interne Speichereinheit, eine angeschlossene Speichereinheit und/oder eine netzwerkzugängliche Speichereinheit als nichteinschränkende Beispiele umfassen. Das System 200 kann mindestens eine Programmlogik 210 beinhalten, die Code 212 einschließt (z. B. Programmcode), der in den Speicher 206 geladen und von dem Prozessor 204 und/oder der Schaltungseinheit 202 ausgeführt werden kann. In gewissen beispielhaften Ausführungsformen kann die Programmlogik 210 einschließlich dem Code 212 in der Speichereinheit 208 gespeichert werden. In bestimmten anderen Ausführungsformen kann die Programmlogik 210 in der Schaltungseinheit 202 umgesetzt werden. Deshalb kann, obwohl 2 die Programmlogik 210 getrennt von den anderen Elementen zeigt, die Programmlogik 210 in dem Speicher 206 und/oder der Schaltungseinheit 202 umgesetzt werden.
-
Das System 200 kann mindestens eine Datenübertragungskomponente 214 enthalten, die den Austausch von Daten mit mindestens einem anderen System, einer Einheit und/oder Vorrichtung ermöglicht. Die Datenübertragungskomponente 214 kann einen Sendeempfänger, der zum Senden und Empfangen von Daten ausgestaltet ist, einen Sender, der zum Senden von Daten geeignet ist, und/oder einen Empfänger beinhalten, der zum Empfangen von Daten ausgestaltet ist. Als ein nichteinschränkendes Beispiel können zu der Datenübertragungskomponente 214 ein Modem oder eine Netzwerkkarte gehören. Das System 200 aus 2 kann in einem Computer oder einem Computersystem, wie z. B. ein Desktopcomputer, einem tragbaren Computer oder einem Server als nichteinschränkende Beispiele, umgesetzt werden. Die in 2 abgebildeten Komponenten des Systems 200 können über einen oder mehrere interne Bussen, Verbindungen, Leitungen und/oder (gedruckte) Leiterplatten als nichteinschränkende Beispiele miteinander verbunden oder angeschlossen sein.
-
Es sollte beachtet werden, dass gemäß den beispielhaften Ausführungsformen der Erfindung eine oder mehrere der Schaltungseinheiten 202, Prozessor(en) 204, Speicher 206, Speichereinheiten 208, Programmlogik 210 und/oder Datenübertragungskomponente 214 eines oder mehrere hier beschriebene Objekte (z. B. Matrizen, Variablen, Gleichungen, Formeln, Operationen, Operationslogik, Logik) speichern können. Als ein nichteinschränkendes Beispiel können eine oder mehrere der oben genannten Komponenten die Daten B (z. B. zum Verschlüsseln, als Ergebnis der Entschlüsselung) und/oder den Chiffriertext C empfangen und/oder speichern (z. B. zum Entschlüsseln, als Ergebnis der Verschlüsselung). Als ein weiteres nichteinschränkendes Beispiel können eine oder mehrere der obengenannten Komponenten die Verschlüsselungsfunktion und/oder die Entschlüsselungsfunktion empfangen und/oder speichern, wie es hier beschrieben ist.
-
Es folgen weitere Beschreibungen verschiedener nichteinschränkender beispielhafter Ausführungsformen der Erfindung. Die unten beschriebenen beispielhaften Ausführungsformen werden aus Gründen der Eindeutigkeit getrennt nummeriert. Diese Nummerierung sollte nicht so ausgelegt werden, dass sie die verschiedenen Ausführungsformen vollständig trennt, da Gesichtspunkte der einen oder mehreren beispielhaften Ausführungsformen in Verbindung mit einem oder mehreren anderen Gesichtspunkten oder beispielhaften Ausführungsformen ausgenutzt werden können.
- (1) In einer beispielhaften Ausführungsform wie in 3 abgebildet ein computerlesbares Speichermedium, das physisch ein Programm mit Befehlen umsetzt, die von einer Maschine zum Durchführen von Operationen ausgeführt werden können, wobei die Operationen Folgendes umfassen: Empfangen von Daten B, die als ein Chiffriertext C gemäß einem Verschlüsselungsverfahren verschlüsselt werden sollen, das eine Verschlüsselungsfunktion (301) umfasst; und Verschlüsseln der Daten B gemäß der Verschlüsselungsfunktion des Verschlüsselungsverfahrens zum Erhalten des Chiffriertexts C (302), wobei das Verschlüsselungsverfahren mindestens einen öffentlichen Schlüssel A verwendet, der zu mindestens einem privaten Schlüssel T gehört, wobei es sich bei den Daten B, dem Chiffriertext C, dem mindestens einen öffentlichen Schlüssel A und dem mindestens einen privaten Schlüssel T um Matrizen handelt, wobei die Verschlüsselungsfunktion als Eingaben den mindestens einen öffentlichen Schlüssel A und die Daten B empfängt und den Chiffriertext C als C ← AS + pX + B(modq) ausgibt, wobei S eine Zufallsmatrix, X eine Fehlermatrix, p eine ganze Zahl und q eine ungerade Primzahl darstellen.
-
Ein computerlesbares Speichermedium wie oben erwähnt, wobei
B ∊ Z m×m / p, C ∊ Z m×m / q, A ∊ Z m×n / q, S ← $ Z n×m / q und
X ← $Ψ β(q)m×m, wobei n einen Sicherheitsparameter und m, q = poly(n) bezeichnen,
Ψ β eine Fehlerverteilung und β ein Gauss'scher Fehlerparameter gegeben durch β = 1/poly(n) darstellen. Ein computerlesbares Speichermedium wie oben erwähnt, wobei das Verschlüsselungsverfahren homomorph ist und das Berechnen von Bilinearformen unterstützt (z. B. polynomial viele Additionen und eine Multiplikation). Ein computerlesbares Speichermedium wie oben erwähnt, wobei p = 2 und die Daten B eine Matrix aus Binärwerten umfassen. Ein computerlesbares Speichermedium wie oben erwähnt, wobei c = c(n) > 0, q > 2
20p
2(c + 4)
3n
3c+4log
5n, m = ⌊8nlogq⌋ und
Ein computerlesbares Speichermedium wie oben erwähnt, wobei das Verschlüsselungsverfahren n
c Additionen und eine Multiplikation in beliebiger Reihenfolge über einem Matrixring
Z m×m / p erlaubt.
-
Ein computerlesbares Speichermedium wie oben erwähnt, wobei die Operationen ferner Folgendes umfassen: Ausgeben des Chiffriertexts C. Ein computerlesbares Speichermedium wie irgendeines der oben erwähnten, wobei p eine Dimension eines Raumes darstellt, der die Daten enthält. Ein computerlesbares Speichermedium wie oben, wobei p eine Dimension eines Raumes Z m×m / p und ∊ Z m×m / p darstellt. Ein computerlesbares Speichermedium wie irgendeines der oben erwähnten, wobei das Verschlüsselungsverfahren ferner die formelprivate sichere Berechnung erlaubt, sodass ein Besitzer des privaten Schlüssels zum Entschlüsseln der Chiffriertexte ohne Erhalten weiterer Kenntnis einer Formel der Entschlüsselungsfunktion in der Lage ist. Ein computerlesbares Speichermedium wie irgendeines der oben erwähnten, wobei q > p. Ein computerlesbares Speichermedium wie irgendeines der oben erwähnten, wobei das Verschlüsselungsverfahren ein homomorphes Verschlüsselungsverfahren für Schaltungseinheiten von logarithmischer Multiplikationstiefe mit einer beliebigen Anzahl von Additionen umfasst und wobei die Sicherheit des homomorphen Verschlüsselungsverfahrens auf der Härte eines Lernen-mit-Fehlern-Problems beruht. Ein computerlesbares Speichermedium wie irgendeines der oben erwähnten, wobei (die Einträge von) T, X und B klein sind, sodass die Einträge in T·(2X + B) kleiner als q sind. Ein computerlesbares Speichermedium wie irgendeines der oben erwähnten, wobei eine Größe des Chiffriertexts ungefähr (z. B. im Wesentlichen) drei Mal eine Größe des Klartexts B beträgt.
-
Ein computerlesbares Speichermedium wie irgendeines der oben erwähnten, wobei das Verschlüsselungsverfahren ferner eine Schlüsselerzeugungsfunktion umfasst und die Schlüsselerzeugungsfunktion als Eingaben 1n, q und m empfängt und den wenigstens einen öffentlichen Schlüssel A und den mindestens einen privaten Schlüssel T ausgibt. Ein computerlesbares Speichermedium wie irgendeines der oben erwähnten, wobei die Schlüsselerzeugungsfunktion durch Ausführen eines Falltür-Abtastalgorithmus funktioniert, der bei Eingabe von 1n, einer positiven ganzen Zahl q ≥ 2 und einer poly(n)-beschränkten positiven ganzen Zahl m ≥ 8n log q die Matrizen A ∊ Z m×n / q und T ∊ Z m×m / q ausgibt. Ein computerlesbares Speichermedium wie irgendeines der oben erwähnten, wobei A statistisch nahezu gleichmäßig über Z m×n / q ist, die Zeilen von T eine Basis eines Gitters Λ ⊥(A) def / = {w ∊ Z: w·A = 0(modq)} bilden und eine euklidische Norm der Zeilen von T durch 0 (nlogq) beschränkt ist. Ein computerlesbares Speichermedium wie irgendeines der oben erwähnten, wobei T·A = 0(modq) gilt, T invertierbar ist und die Einträge von T klein sind.
-
Ein computerlesbares Speichermedium wie irgendeines der oben erwähnten, wobei das Verschlüsselungsverfahren eine Entschlüsselungsfunktion umfasst, wobei die Entschlüsselungsfunktion als Eingaben den mindestens einen privaten Schlüssel T und den Chiffriertext C empfängt und die Daten B gemäß B = T–1·(TCTt modq)·(Tt)–1modp ausgibt. Ein computerlesbares Medium wie ein Beliebiges oben, wobei ∊ Z m×m / q.
-
Ein computerlesbares Speichermedium wie irgendeines der oben erwähnten, das ferner einen oder mehrere zusätzliche Gesichtspunkte der beispielhaften Ausführungsformen der Erfindung wie hier beschrieben umfasst.
- (2) In einer anderen beispielhaften Ausführungsform der Erfindung eine Vorrichtung, die das Folgende umfasst: wenigstens ein Speichermedium, das zum Speichern der Daten B geeignet ist, die als ein Chiffriertext C gemäß einem Verschlüsselungsverfahren verschlüsselt werden sollen, das eine Verschlüsselungsfunktion umfasst; und mindestens ein Prozessor, der zum Verschlüsseln der Daten B gemäß der Verschlüsselungsfunktion des Verschlüsselungsverfahrens geeignet ist, um den Chiffriertext C zu erhalten, wobei das Verschlüsselungsverfahren mindestens einen öffentlichen Schlüssel A verwendet, der zu mindestens einem privaten Schlüssel T gehört, wobei es sich bei den Daten B, dem Chiffriertext C, dem mindestens einen öffentlichen Schlüssel A und dem mindestens einen privaten Schlüssel T um Matrizen handelt und wobei die Verschlüsselungsfunktion als Eingaben den mindestens einen öffentlichen Schlüssel A und die Daten B empfängt und den Chiffriertext C als C ← AS + pX + B(modq) ausgibt, wobei S eine Zufallsmatrix, X eine Fehlermatrix, p eine ganze Zahl und q eine ungerade Primzahl darstellen.
-
Eine Vorrichtung wie irgendeine der oben erwähnten, die ferner einen oder mehrere zusätzliche Gesichtspunkte der beispielhaften Ausführungsformen der Erfindung wie hier beschrieben umfasst.
- (3) In einer weiteren Ausführungsform der Erfindung wie in 3 abgebildet ein Verfahren, das Folgendes umfasst: Empfangen von Daten B durch mindestens einen Prozessor, die als ein Chiffriertext C gemäß einem Verschlüsselungsverfahren verschlüsselt werden sollen, das eine Verschlüsselungsfunktion (301) umfasst; und Verschlüsseln durch den mindestens einen Prozessor der Daten B gemäß der Verschlüsselungsfunktion des Verschlüsselungsverfahren zum Erhalten des Chiffriertexts C (302), wobei das Verschlüsselungsverfahren mindestens einen öffentlichen Schlüssel A verwendet, der zu mindestens einem privaten Schlüssel T gehört, wobei es sich bei den Daten B, dem Chiffriertext C, dem mindestens einen öffentlichen Schlüssel A und dem mindestens einen privaten Schlüssel T um Matrizen handelt und wobei die Verschlüsselungsfunktion als Eingaben den mindestens einen öffentlichen Schlüssel A und die Daten B empfängt und den Chiffriertext C als C ← AS + pX + B(modq) ausgibt, wobei S eine Zufallsmatrix, X eine Fehlermatrix, p eine ganze Zahl und q eine ungerade Primzahl darstellen.
-
Eine Verfahren wie irgendeines der oben erwähnten, das ferner einen oder mehrere zusätzliche Gesichtspunkte der beispielhaften Ausführungsformen der Erfindung wie hier beschrieben umfasst.
- (4) In einer anderen beispielhaften Ausführungsform der Erfindung eine Vorrichtung, die das Folgende umfasst: ein Mittel zum Speichern der Daten B, die als ein Chiffriertext C gemäß einem Verschlüsselungsverfahren verschlüsselt werden sollen, das eine Verschlüsselungsfunktion umfasst; und ein Mittel zum Verschlüsseln der Daten B gemäß der Verschlüsselungsfunktion des Verschlüsselungsverfahrens zum Erhalten des Chiffriertexts C, wobei das Verschlüsselungsverfahren mindestens einen öffentlichen Schlüssel A verwendet, der zu mindestens einem privaten Schlüssel T gehört, und wobei es sich bei den Daten B, dem Chiffriertext C, dem mindestens einen öffentlichen Schlüssel A und dem mindestens einen privaten Schlüssel T um Matrizen handelt und wobei die Verschlüsselungsfunktion als Eingaben den mindestens einen öffentlichen Schlüssel A und die Daten B empfängt und den Chiffriertext C als C ← AS + pX + B(modq) ausgibt, wobei S eine Zufallsmatrix, X eine Fehlermatrix, p eine ganze Zahl und q eine ungerade Primzahl darstellen.
-
Eine Vorrichtung wie oben erwähnt, wobei das Mittel zum Speichern wenigstens ein Speichermedium oder einen Speicher umfasst und wobei das Mittel zum Verschlüsseln mindestens einen Prozessor, mindestens einen Schaltkreis oder mindestens eine integrierte Schaltkreiseinheit umfasst. Eine Vorrichtung wie irgendeine der oben erwähnten, die ferner einen oder mehrere Gesichtspunkte der beispielhaften Ausführungsformen der Erfindung wie hier beschrieben umfasst.
- (5) In einer anderen beispielhaften Ausführungsform der Erfindung eine Vorrichtung, die das Folgende umfasst: eine Speicher-Schaltungseinheit, die geeignet zum Speichern der Daten B geeignet ist, die als ein Chiffriertext C gemäß einem Verschlüsselungsverfahren verschlüsselt werden sollen, das eine Verschlüsselungsfunktion umfasst; und eine Verschlüsselungs-Schaltkreiseinheit, die zum Verschlüsseln der Daten B gemäß der Verschlüsselungsfunktion des Verschlüsselungsverfahrens zum Erhalten des Chiffriertexts C geeignet ist, wobei das Verschlüsselungsverfahren mindestens einen öffentlichen Schlüssel A verwendet, der zu mindestens einem privaten Schlüssel T gehört, und wobei es sich bei den Daten B, dem Chiffriertext C, dem mindestens einen öffentlichen Schlüssel A und dem mindestens einen privaten Schlüssel T um Matrizen handelt und wobei die Verschlüsselungsfunktion als Eingaben den mindestens einen öffentlichen Schlüssel A und die Daten B empfängt und den Chiffriertext C als C ← AS + pX + B(modq) ausgibt, wobei S eine Zufallsmatrix, X eine Fehlermatrix, p eine ganze Zahl und q eine ungerade Primzahl darstellen.
-
Eine Vorrichtung wie irgendeine der oben erwähnten, die ferner einen oder mehrere zusätzliche Gesichtspunkte der beispielhaften Ausführungsformen der Erfindung wie hier beschrieben umfasst.
- (6) In einer anderen beispielhaften Ausführungsform der Erfindung wie in 4 abgebildet ein computerlesbares Speichermedium, das physisch ein Programm aus Befehlen realisiert, die von einer Maschine zum Durchführen der Operationen ausgeführt werden können, wobei die Operationen das Folgende umfassen: Empfangen eines Chiffriertexts C, der zu Daten B gemäß einem Verschlüsselungsverfahren entschlüsselt werden soll, das eine Entschlüsselungsfunktion (401) umfasst; und Entschlüsseln des Chiffriertexts C gemäß der Entschlüsselungsfunktion des Verschlüsselungsverfahrens zum Erhalten der Daten B (402), wobei das Verschlüsselungsverfahren mindestens einen privaten Schlüssel T verwendet und wobei es sich bei den Daten B, dem Chiffriertext C und dem mindestens einen privaten Schlüssel T um Matrizen handelt und die Entschlüsselungsfunktion als Eingaben den mindestens einen privaten Schlüssel T und den Chiffriertext C empfängt und die Daten B gemäß B = T–1·(TCTtmodq)·(Tt)–1modp ausgibt, wobei p eine ganze Zahl und q eine ungerade Primzahl darstellen.
-
Ein computerlesbares Speichermedium wie oben erwähnt, wobei die Operationen ferner das Folgende umfassen: Ausgeben der Daten B. Ein computerlesbares Speichermedium wie oben erwähnt, wobei der mindestens eine private Schlüssel T zu mindestens einem öffentlichen Schlüssel A gehört. Ein computerlesbares Speichermedium wie irgendein oben erwähntes, wobei es sich bei dem mindestens einen privaten Schlüssel T um einen symmetrischen Schlüssel handelt. Ein computerlesbares Speichermedium wie irgendein oben erwähntes, das ferner einen oder mehrere zusätzliche Gesichtspunkte der beispielhaften Ausführungsformen der Erfindung wie hier beschrieben umfasst.
- (7) In einer anderen beispielhaften Ausführungsform der Erfindung eine Vorrichtung, die das Folgende umfasst: mindestens ein Speichermedium, das zum Speichern eines Chiffriertexts C geeignet ist, der zu Daten B gemäß einem Verschlüsselungsverfahren entschlüsselt werden soll, das eine Entschlüsselungsfunktion umfasst; und mindestens ein Prozessor, der zum Entschlüsseln des Chiffriertexts C gemäß der Entschlüsselungsfunktion des Verschlüsselungsverfahrens zum Erhalten der Daten B ausgestaltet ist, wobei das Verschlüsselungsverfahren mindestens einen privaten Schlüssel T verwendet, wobei es sich bei den Daten B, dem Chiffriertext C und dem mindestens einen privaten Schlüssel T um Matrizen handelt und wobei die Entschlüsselungsfunktion als Eingaben den mindestens einen privaten Schlüssel T und den Chiffriertext C empfängt und die Daten B gemäß B = T–1·(TCTtmodq)·(Tt)–1modp ausgibt, wobei p eine ganze Zahl und q eine ungerade Primzahl darstellen.
-
Eine Vorrichtung wie irgendeine der oben erwähnten, die ferner einen oder mehrere zusätzliche Gesichtspunkte der beispielhaften Ausführungsformen der Erfindung wie hier beschrieben umfasst.
- (8) In einer weiteren beispielhaften Ausführungsform der Erfindung wie in 4 abgebildet ein Verfahren, das Folgendes umfasst: Empfangen eines Chiffriertexts C, der zu Daten B gemäß einem Verschlüsselungsverfahren entschlüsselt werden soll, das eine Entschlüsselungsfunktion (401) umfasst; und Entschlüsseln des Chiffriertexts C gemäß der Entschlüsselungsfunktion des Verschlüsselungsverfahrens zum Erhalten der Daten B (402), wobei das Verschlüsselungsverfahren mindestens einen privaten Schlüssel T verwendet und wobei es sich bei den Daten B, dem Chiffriertext C und dem mindestens einen privaten Schlüssel T um Matrizen handelt und wobei die Entschlüsselungsfunktion als Eingaben den mindestens einen privaten Schlüssel T und den Chiffriertext C empfängt und die Daten B gemäß B = T–1·(TCTtmodq)·(Tt)–1modp ausgibt, wobei p eine ganze Zahl und q eine ungerade Primzahl darstellen.
-
Ein Verfahren wie irgendeines der oben erwähnten, das ferner einen oder mehrere Gesichtspunkte der beispielhaften Ausführungsformen der Erfindung wie hier beschrieben umfasst.
- (9) In einer anderen Ausführungsform der Erfindung eine Vorrichtung, die Folgendes umfasst: ein Mittel zum Speichern eines Chiffriertexts C, der zu Daten 13 gemäß einem Verschlüsselungsverfahren entschlüsselt werden soll, das eine Entschlüsselungsfunktion umfasst; und ein Mittel zum Entschlüsseln des Chiffriertexts C gemäß der Entschlüsselungsfunktion des Verschlüsselungsverfahrens zum Erhalten der Daten B, wobei das Verschlüsselungsverfahren mindestens einen privaten Schlüssel T verwendet, wobei es sich bei den Daten B, dem Chiffriertext C und dem mindestens einen privaten Schlüssel T um Matrizen handelt und die Entschlüsselungsfunktion als Eingaben den mindestens einen privaten Schlüssel T und den Chiffriertext C empfängt und die Daten B gemäß B = T–1·(TCTtmodq)·(Tt)–1modp ausgibt, wobei p eine ganze Zahl und q eine ungerade Primzahl darstellen.
-
Eine Vorrichtung wie irgendeine der oben erwähnten, wobei das Mittel zum Speichern mindestens ein Speichermedium, eine Speichereinheit oder Speicher umfasst und wobei das Mittel zum Entschlüsseln mindestens einen Prozessor, mindestens eine Schaltungseinheit oder mindestens eine integrierte Schaltungseinheit umfasst. Eine Vorrichtung wie oben erwähnt, die ferner einen oder mehrere Gesichtspunkte der beispielhaften Ausführungsformen der Erfindung wie hier beschrieben umfasst.
- (10) In einer anderen beispielhaften Ausführungsform der Erfindung eine Vorrichtung, die das Folgende umfasst: Speicherschaltungseinheiten, die zum Speichern eines Chiffriertexts C geeignet sind, der zu Daten B gemäß einem Verschlüsselungsverfahren entschlüsselt werden soll, das eine Entschlüsselungsfunktion umfasst; und Entschlüsselungs-Schaltungseinheiten, die zum Entschlüsseln des Chiffriertexts C gemäß der Entschlüsselungsfunktion des Verschlüsselungsverfahrens zum Erhalten der Daten B ausgestaltet sind, wobei das Verschlüsselungsverfahren mindestens einen privaten Schlüssel T verwendet und es sich bei bei den Daten B, dem Chiffriertext C und dem mindestens einen privaten Schlüssel T um Matrizen handelt, und wobei die Entschlüsselungsfunktion als Eingaben den mindestens einen privaten Schlüssel T und den Chiffriertext C empfängt und die Daten B als B = T–1·(TCTtmodq)·(Tt)–1modp ausgibt, wobei p eine ganze Zahl und q eine ungerade Primzahl darstellen.
-
Eine Vorrichtung wie irgendeine der oben erwähnten, die ferner einen oder mehrere zusätzliche Gesichtspunkte der beispielhaften Ausführungsformen der Erfindung wie hier beschrieben umfasst.
- (11) In einer weiteren beispielhaften Ausführungsform der Erfindung ein computerlesbares Speichermedium, das physisch ein Programm aus Befehlen verkörpert, die von einer Maschine zum Durchführen von Operationen ausgeführt werden können, wobei die Operationen das Folgende umfassen: Empfangen von Daten B, die gemäß einem Verschlüsselungsverfahren zu einem Chiffriertext C verschlüsselt werden sollen, das eine Verschlüsselungs- und eine Entschlüsselungsfunktion umfasst; und Verschlüsseln der Daten B gemäß der Verschlüsselungsfunktion des Verschlüsselungsverfahrens zum Erhalten des Chiffriertexts C, wobei das Verschlüsselungsverfahren mindestens einen öffentlichen Schlüssel A und mindestens einen privaten Schlüssel T verwendet, der zu dem mindestens einen öffentlichen Schlüssel A gehört, wobei es sich bei den Daten B, dem Chiffriertext C, dem mindestens einen öffentlichen Schlüssel A und dem mindestens einen privaten Schlüssel T um Matrizen handelt, wobei B ∊ Z m×m / p, C ∊ Z m×m / q, A ∊ Z m×n / q und T ∊ Z m×m / q, wobei n einen Sicherheitsparameter darstellt und m, q = poly(n), wobei die Verschlüsselungsfunktion als Eingaben A und B empfängt und den Chiffriertext C als C ← AS + pX + B(modq) ausgibt, wobei S eine Zufallsmatrix darstellt und S ← $ Z n×m / q, X eine Fehlermatrix darstellt und X ← $Ψ β(q)m×m, Ψ β eine Fehlerverteilung und β ein Gauss'scher Fehlerparameter gegeben durch = 1/poly(n) darstellen, wobei die Entschlüsselungsfunktion als Eingaben T und C empfängt und die Daten B gemäß B = T–1·(TCTtmodq)·(Tt)–1modp ausgibt, wobei das Verschlüsselungsverfahren homomorph ist und das Berechnen von Biliniearformen unterstützt (z. B. polynomial viele Additionen und eine Multiplikation).
-
Ein computerlesbares Speichermedium wie irgendeines der oben erwähnten, das ferner einen oder mehrere zusätzliche Gesichtspunkte der beispielhaften Ausführungsformen der Erfindung wie hier beschrieben umfasst. Ein Verfahren, eine Vorrichtung oder ein Computerprogramm entsprechend dem oben beschriebenen computerlesbaren Speichermedium.
- (12) In einer anderen beispielhaften Ausführungsform der Erfindung ein computerlesbares Speichermedium, das physisch ein Programm aus Befehlen verkörpert, die von einer Maschine zum Durchführen von Operationen ausgeführt werden können, wobei die Operationen das Folgende umfassen: Empfangen wenigstens erster Daten B1, die als ein erster Chiffriertext C1 gemäß einem Verschlüsselungsverfahren verschlüsselt werden sollen, das eine Verschlüsselungsfunktion und eine Entschlüsselungsfunktion umfasst, und/oder Empfangen eines zweiten Chiffriertexts C2, der zu zweiten Daten B2 gemäß dem Verschlüsselungsverfahren entschlüsselt werden soll; und wenigstens Verschlüsseln der ersten Daten B1 gemäß der Verschlüsselungsfunktion des Verschlüsselungsverfahrens zum Erhalten des ersten Chiffriertexts C1 oder Entschlüsseln des zweiten Chiffriertexts C2 gemäß der Entschlüsselungsfunktion des Verschlüsselungsverfahrens zum Erhalten der zweiten Daten B2, wobei das Verschlüsselungsverfahren mindestens einen öffentlichen Schlüssel A und mindestens einen privaten Schlüssel T verwendet, der zu dem mindestens einen öffentlichen Schlüssel A gehört, wobei es sich bei den Daten B, dem Chiffriertext C, dem mindestens einen öffentlichen Schlüssel A und dem mindestens einen privaten Schlüssel T um Matrizen handelt, wobei die Verschlüsselungsfunktion als Eingaben den mindestens einen öffentlichen Schlüssel A und die Daten B empfängt und den Chiffriertext C als C ← AS + pX + B(modq) ausgibt, wobei S eine Zufallsmatrix und X eine Fehlermatrix, p eine ganze Zahl und q eine ungerade Primzahl darstellen, wobei die Entschlüsselungsfunktion als Eingaben den mindestens einen privaten Schlüssel T und den Chiffriertext C empfängt und die Daten B gemäß B = T–1·(TCTtmodq) (Tt)–1modp ausgibt.
-
Ein computerlesbares Speichermedium wie irgendeines der oben erwähnten, das ferner einen oder mehrere zusätzliche Gesichtspunkte der beispielhaften Ausführungsformen der Erfindung wie hier beschrieben umfasst. Ein Verfahren, eine Vorrichtung oder ein Computerprogramm entsprechend dem oben beschriebenen computerlesbaren Speichermedium.
- (13) In einer anderen beispielhaften Ausführungsform der Erfindung wie in 5 abgebildet ein computerlesbares Speichermedium, das physisch ein Programm aus Befehlen verkörpert, die von einer Maschine zum Durchführen von Operationen ausgeführt werden können, wobei die Operationen das Folgende umfassen: Empfangen einer Vielzahl von Daten B1, die als eine Vielzahl von Chiffriertexten Ci gemäß einem Verschlüsselungsverfahren verschlüsselt werden sollen, das eine Verschlüsselungsfunktion und eine Entschlüsselungsfunktion (501) umfasst; Verschlüsseln aller Daten Bi aus der Vielzahl von Daten gemäß der Verschlüsselungsfunktion des Verschlüsselungsverfahrens zum Erhalten jedes Chiffriertexts Ci (502); Berechnen eines Ergebnis-Chiffriertexts Cpoly durch Anwenden eines quadratischen Polynoms auf die Chiffriertexte Ci als Cpoly ← ΣiCi × C t / jmodq, wobei die Summe über eine Teilmenge von Indizes i und j (503) läuft; und Entschlüsseln des Ergebnis-Chiffriertexts Cpoly gemäß der Entschlüsselungsfunktion des Verschlüsselungsverfahrens zum Erhalten der Ergebnisdaten Bpoly (504), wobei das Verschlüsselungsverfahren mindestens einen öffentlichen Schlüssel A verwendet, der zu mindestens einem privaten Schlüssel T gehört, wobei es sich bei der Vielzahl von Daten Bi, den Chiffriertexten Ci, dem mindestens einen öffentlichen Schlüssel A und dem mindestens einen privaten Schlüssel T um Matrizen handelt, wobei die Entschlüsselungsfunktion als Eingaben den mindestens einen öffentlichen Schlüssel A und einen Datensatz Bi empfängt und den Chiffriertext Ci als Ci ← AS + pX + Bi(modq) ausgibt, wobei S eine Zufallsmatrix, X eine Fehlermatrix, p eine ganze Zahl, q eine ungerade Primzahl, i eine ganze Zahl und j eine ganze Zahl darstellen und wobei die Entschlüsselungsfunktion als Eingaben den mindestens einen privaten Schlüssel T und den Ergebnis-Chiffriertext Cpoly empfängt und die Ergebnisdaten Bpoly gemäß Bpoly = T–1·(TCpolyTtmodq)·(Tt)–1modp = ΣiBi × B t / jmodp über der Teilmenge der Indizes i und j ausgibt.
-
Ein computerlesbares Speichermedium wie irgendeines der oben erwähnten, das ferner einen oder mehrere zusätzliche Gesichtspunkte der beispielhaften Ausführungsformen der Erfindung wie hier beschrieben umfasst. Ein Verfahren, eine Vorrichtung oder ein Computerprogramm entsprechend dem oben beschriebenen computerlesbaren Speichermedium.
- (14) In einer weiteren beispielhaften Ausführungsform der Erfindung ein computerlesbares Speichermedium, das physisch ein Programm aus Befehlen verkörpert, die von einer Maschine zum Durchführen von Operationen ausgeführt werden können, wobei die Operationen das Folgende umfassen: Empfangen eines Chiffriertexts C, der zu Daten B gemäß einem Verschlüsselungsverfahren entschlüsselt werden soll, das eine Entschlüsselungsfunktion umfasst; und Entschlüsseln des Chiffriertexts C gemäß der Entschlüsselungsfunktion des Verschlüsselungsverfahrens zum Erhalten der Daten B, wobei das Verschlüsselungsverfahren mindestens einen privaten Schlüssel T verwendet und wobei es sich bei den Daten B, dem Chiffriertext C und dem mindestens einen privaten Schlüssel T um Matrizen handelt, wobei die Entschlüsselungsfunktion als Eingaben den mindestens einen privaten Schlüssel T und den Chiffriertext C empfängt und die Daten B gemäß B = T–1·(TCmodq)modp ausgibt, wobei p eine ganze Zahl und q eine ungerade Primzahl darstellen.
-
Ein computerlesbares Speichermedium wie irgendeines der oben erwähnten, das ferner einen oder mehrere zusätzliche Gesichtspunkte der beispielhaften Ausführungsformen der Erfindung wie hier beschrieben umfasst. Ein Verfahren, eine Vorrichtung oder ein Computerprogramm entsprechend dem oben beschriebenen computerlesbaren Speichermedium.
- (15) In einer weiteren beispielhaften Ausführungsform der Erfindung eine Vorrichtung, die das Folgende umfasst: mindestens ein Speichermedium, das zum Speichern eines Chiffriertexts C ausgestaltet ist, der zu Daten B gemäß einem Verschlüsselungsverfahren entschlüsselt werden soll, das eine Entschlüsselungsfunktion umfasst; und mindestens ein Prozessor, der zum Entschlüsseln des Chiffriertexts C gemäß der Entschlüsselungsfunktion des Verschlüsselungsverfahrens zum Erhalten der Daten B geeignet ist, wobei das Verschlüsselungsverfahren mindestens einen privaten Schlüssel T verwendet und wobei es sich bei den Daten B, dem Chiffriertext C und dem mindestens einen privaten Schlüssel T um Matrizen handelt, wobei die Entschlüsselungsfunktion als Eingaben den mindestens einen privaten Schlüssel T und den Chiffriertext C empfängt und die Daten B gemäß B = T–1·(TCmodq)modp ausgibt, wobei p eine ganze Zahl und q eine ungerade Primzahl darstellen.
-
Eine Vorrichtung wie irgendeine der oben erwähnten, die ferner einen oder mehrere zusätzliche Gesichtspunkte der beispielhaften Ausführungsformen der Erfindung wie hier beschrieben umfasst.
- (16) In einer weiteren beispielhaften Ausführungsform der Erfindung wie in 6 abgebildet ein Verfahren, das Folgendes umfasst: Empfangen eines Chiffriertexts C, der zu Daten B gemäß einem Verschlüsselungsverfahren entschlüsselt werden sollen, das eine Entschlüsselungsfunktion (601) umfasst; und Entschlüsseln des Chiffriertexts C gemäß der Entschlüsselungsfunktion des Verschlüsselungsverfahrens zum Erhalten der Daten B (602), wobei das Verschlüsselungsverfahren mindestens einen privaten Schlüssel T verwendet und wobei es sich bei den Daten B, dem Chiffriertext C und dem mindestens einen privaten Schlüssel T um Matrizen handelt, wobei die Entschlüsselungsfunktion als Eingaben den mindestens einen privaten Schlüssel T und den Chiffriertext C empfängt und die Daten B gemäß B = T–1·(TCmodq)modp ausgibt, wobei p eine ganze Zahl und q eine ungerade Primzahl darstellen.
-
Ein Verfahren wie irgendeines der oben erwähnten, das ferner einen oder mehrere zusätzliche Gesichtspunkte der beispielhaften Ausführungsformen der Erfindung wie hier beschrieben umfasst.
- (17) In einer weiteren beispielhaften Ausführungsform der Erfindung eine Vorrichtung, die das Folgende umfasst: ein Mittel zum Speichern eines Chiffriertexts C, der zu Daten B gemäß einem Verschlüsselungsverfahren entschlüsselt werden soll, das eine Entschlüsselungsfunktion umfasst; und ein Mittel zum Entschlüsseln des Chiffriertexts C gemäß der Entschlüsselungsfunktion des Verschlüsselungsverfahrens zum Erhalten der Daten B, wobei das Verschlüsselungsverfahren mindestens einen privaten Schlüssel T verwendet, wobei es sich bei den Daten B, dem Chiffriertext C und dem mindestens einen privaten Schlüssel T um Matrizen handelt, wobei die Entschlüsselungsfunktion als Eingaben den mindestens einen privaten Schlüssel T und den Chiffriertext C empfängt und die Daten B gemäß B = T–1·(TCmodq)modp ausgibt, wobei p eine ganze Zahl und q eine ungerade Primzahl darstellen.
-
Eine Vorrichtung wie oben, wobei das Mittel zum Speichern wenigstens ein Speichermedium oder eine Speichereinheit umfasst und das Mittel zum Entschlüsseln mindestens einen Prozessor, mindestens einen Schaltkreis oder mindestens eine integrierte Schaltungseinheit umfassen. Eine Vorrichtung wie oben, die ferner einen oder mehrere zusätzliche Gesichtspunkte der beispielhaften Ausführungsformen der Erfindung wie hier beschrieben umfasst.
- (18) In einer weiteren beispielhaften Ausführungsform der Erfindung eine Vorrichtung, die das Folgende umfasst: eine Speicher-Schaltungseinheit, die zum Speichern eines Chiffriertexts C geeignet ist, der zu Daten B gemäß einem Verschlüsselungsverfahren entschlüsselt werden soll, das eine Entschlüsselungsfunktion umfasst; und eine Entschlüsselungs-Schaltungseinheit, die zum Entschlüsseln des Chiffriertexts C gemäß der Entschlüsselungsfunktion des Verschlüsselungsverfahrens zum Erhalten der Daten B geeignet ist, wobei das Verschlüsselungsverfahren mindestens einen privaten Schlüssel T verwendet, wobei es sich bei den Daten B, dem Chiffriertext C und dem mindestens einen privaten Schlüssel T um Matrizen handelt, wobei die Entschlüsselungsfunktion als Eingaben den mindestens einen privaten Schlüssel T und den Chiffriertext C empfängt und die Daten B gemäß B = T–1·(TCmodq)modp ausgibt, wobei p eine ganze Zahl und q eine ungerade Primzahl darstellen.
-
Eine Vorrichtung wie oben, die ferner einen oder mehrere zusätzliche Gesichtspunkte der beispielhaften Ausführungsformen der Erfindung wie hier beschrieben umfasst.
- (19) In einer weiteren beispielhaften Ausführungsform der Erfindung ein computerlesbares Speichermedium, das physisch ein Programm aus Befehlen verkörpert, die von einer Maschine zum Durchführen von Operationen ausgeführt werden können, wobei die Operationen das Folgende umfassen: Empfangen von Daten B, die zu einem Chiffriertext C gemäß einem Verschlüsselungsverfahren verschlüsselt werden sollen, das eine Verschlüsselungsfunktion und eine Entschlüsselungsfunktion umfasst; und Verschlüsseln der Daten B gemäß der Verschlüsselungsfunktion des Verschlüsselungsverfahrens zum Erhalten des Chiffriertexts C, wobei das Verschlüsselungsverfahren mindestens einen öffentlichen Schlüssel A und mindestens einen privaten Schlüssel T verwendet, der zu dem mindestens einen öffentlichen Schlüssel A gehört, wobei es sich bei den Daten B, dem Chiffriertext C, dem mindestens einen öffentlichen Schlüssel A und dem mindestens einen privaten Schlüssel T um Matrizen handelt, wobei B ∊ Z m×m / p, C ∊ Z m×m / q, A ∊ Z m×n / q und T ∊ Z m×m / q, n einen Sicherheitsparamater bezeichnet, m, q = poly(n), q eine ungerade Primzahl und p eine ganze Zahl mit q > p darstellen, wobei die Verschlüsselungsfunktion als Eingaben A und B empfängt und den Chiffriertext C als C ← AS + pX + B(modq) ausgibt, wobei S eine Zufallsmatrix und S X ← $ Z n×m / q ist, X eine Fehlermatrix und X ← $Ψ β(q)m×m ist, Ψ β eine Fehlerverteilung und β einen Gauss'schen Fehlerparameter gegeben durch β = 1/poly(n) darstellen, wobei die Verschlüsselungsfunktion als Eingaben T und C empfängt und die Daten B gemäß B = T–1·(TCmodq)modp ausgibt, wobei das Verschlüsselungsfunktion homomorph ist und polynomial viele Additionen unterstützt.
-
Ein computerlesbares Speichermedium wie irgendeines der oben erwähnten, das ferner einen oder mehrere zusätzliche Gesichtspunkte der beispielhaften Ausführungsformen der Erfindung wie hier beschrieben umfasst. Ein Verfahren, eine Vorrichtung oder ein Computerprogramm entsprechend dem oben beschriebenen computerlesbaren Speichermedium.
- (20) In einer weiteren beispielhaften Ausführungsform der Erfindung ein computerlesbares Speichermedium, das physisch ein Programm aus Befehlen verkörpert, die von einer Maschine zum Durchführen von Operationen ausgeführt werden können, wobei die Operationen das Folgende umfassen: Empfangen von ersten Daten B1, die zu einem ersten Chiffriertext C1 gemäß einem Verschlüsselungsverfahren verschlüsselt werden sollen, das eine Verschlüsselungsfunktion und eine Entschlüsselungsfunktion umfasst, und/oder Empfangen eines zweiten Chiffriertexts C2, der zu zweiten Daten B2 gemäß einem Verschlüsselungsverfahren entschlüsselt werden soll; und Verschlüsseln der ersten Daten B1 gemäß der Verschlüsselungsfunktion des Verschlüsselungsverfahrens zum Erhalten des ersten Chiffriertexts C1 und/oder Entschlüsseln des zweiten Chiffriertexts C2 gemäß der Entschlüsselungsfunktion des Verschlüsselungsverfahrens zum Erhalten der zweiten Daten B2, wobei das Verschlüsselungsverfahren mindestens einen öffentlichen Schlüssel A und mindestens einen privaten Schlüssel T verwendet, der zu dem mindestens einen öffentlichen Schlüssel A gehört, wobei es sich bei den Daten B, dem Chiffriertext C, dem mindestens einen öffentlichen Schlüssel A und dem mindestens einen privaten Schlüssel T um Matrizen handelt, wobei die Verschlüsselungsfunktion als Eingaben den mindestens einen öffentlichen Schlüssel A und die Daten B empfängt und den Chiffriertext C gemäß C ← AS + pX + B(modq) ausgibt, wobei S eine Zufallsmatrix, X eine Fehlermatrix, p eine ganze Zahl q und eine ungerade Primzahl darstellen, wobei die Entschlüsselungsfunktion als Eingaben den wenigstens einen privaten Schlüssel T und den Chiffriertext C empfängt und die Daten B gemäß B = T–1·(TCmodq)modp ausgibt.
-
Ein computerlesbares Speichermedium wie irgendeines der oben erwähnten, das ferner einen oder mehrere zusätzliche Gesichtspunkte der beispielhaften Ausführungsformen der Erfindung wie hier beschrieben umfasst. Ein Verfahren, eine Vorrichtung oder ein Computerprogramm entsprechend dem oben beschriebenen computerlesbaren Speichermedium.
- (21) In einer weiteren beispielhaften Ausführungsform der Erfindung wie in 7 abgebildet ein computerlesbares Speichermedium, das physisch ein Programm aus Befehlen verkörpert, die von einer Maschine zum Durchführen von Operationen ausgeführt werden können, wobei die Operationen das Folgende umfassen: Empfangen einer Vielzahl von Daten Bi, die zu einer Vielzahl von Chiffriertexten Ci gemäß einem Verschlüsselungsverfahren verschlüsselt werden sollen, das eine Verschlüsselungsfunktion und eine Entschlüsselungsfunktion (701) umfasst; Verschlüsseln jeder der Daten Bi aus der Vielzahl von Daten gemäß der Verschlüsselungsfunktion des Verschlüsselungsverfahrens, um jeden Chiffriertext Ci (702) zu erhalten; Berechnen eines Ergebnis-Chiffriertexts Csum durch Anwenden einer Summation auf die Chiffriertexte Ci als Csum ← ΣiCimodq, wobei die Summe über eine Teilmenge von Indizes i (703) erfolgt; und Entschlüsseln des Ergebnis-Chiffriertexts Csum gemäß der Entschlüsselungsfunktion des Verschlüsselungsverfahrens zum Erhalten der Ergebnisdaten Bsum (704), wobei das Verschlüsselungsverfahren mindestens einen öffentlichen Schlüssel A verwendet, der zu mindestens einem privaten Schlüssel T gehört, wobei es sich bei der Vielzahl von Daten Bi, den Chiffriertexten Ci und dem mindestens einen öffentlichen Schlüssel A und dem mindestens einen privaten Schlüssel T um Matrizen handelt, wobei die Verschlüsselungsfunktion als Eingaben den mindestens einen öffentlichen Schlüssel A und einen Datensatz Bi empfängt und den Chiffriertext Ci gemäß Ci ← AS + pX + Bi(modq) ausgibt, wobei S eine Zufallsmatrix, X eine Fehlermatrix, p eine ganze Zahl, q eine ungerade Primzahl, i und j eine ganze Zahl darstellen, wobei die Verschlüsselungsfunktion als Eingaben den wenigstens einen privaten Schlüssel T und den Ergebnis-Chiffriertext Csum empfängt und die Ergebnisdaten Bsum gemäß Bsum = T–1·(TCsummodq)modp = ΣiBimodp über der Teilmenge der Indizes i ausgibt.
-
Ein computerlesbares Speichermedium wie oben, das ferner einen oder mehrere zusätzliche Gesichtspunkte der beispielhaften Ausführungsformen der Erfindung wie hier beschrieben umfasst. Ein Verfahren, eine Vorrichtung oder ein Computerprogramm entsprechend dem oben beschriebenen computerlesbaren Speichermedium.
-
Die beispielhaften Ausführungsformen der Erfindung wie hier beschrieben können in Verbindung mit einer Programmspeichereinheit (z. B. mindestens ein Speicher, mindestens ein computerlesbares Speichermedium) umgesetzt werden, das (z. B. für eine Maschine, einen Computer oder einen Prozessor) lesbar ist und physisch ein Programm aus Befehlen (z. B. ein Programm, ein Computerprogramm, Programmcode, Programmbefehle) verkörpert, die von einer/der Maschine (oder Computer oder Prozessor) zum Durchführen der Operationen ausgeführt werden kann. Die Operationen umfassen Schritte der Verwendung (z. B. Nutzen) der beispielhaften Ausführungsformen der Erfindung oder der Verfahrensschritte.
-
Die in den 3 bis 7 abgebildeten Blöcke können ferner als zu einer oder mehreren Funktionen und/oder Operationen gehörend angesehen werden, die von einer oder mehreren Komponenten, Schaltungseinheiten, Chips, Vorrichtungen, Prozessoren, Computerprogrammen und/oder Funktionsblöcken ausgeführt werden. Beliebige Teile und/oder alles Vorangehende können in jeder beliebigen realisierbaren Lösung oder Anordnung umgesetzt werden, die die Operation gemäß der beispielhaften Ausführungsformen der Erfindung wie hier beschrieben erlaubt.
-
Des Weiteren sollte die Anordnung der in den 3 bis 7 dargestellten Blöcke nur als beispielhaft und nichteinschränkend angesehen werden. Es sollte klar sein, dass die in den 3 bis 7 gezeigten Blöcke einer oder mehreren Funktionen und/oder Operationen entsprechen, die in beliebiger (z. B. jeder geeigneten, nutzbaren und/oder möglichen) Reihenfolge und/oder gleichzeitig (z. B. wie geeignet, nutzbar und/oder möglich) ausgeführt werden können, um eine oder mehrere beispielhafte Ausführungsformen der Erfindung zu realisieren. Des Weiteren können eine oder mehrere zusätzliche Funktionen, Operationen und/oder Schritte in Verbindung mit diesen in 3 bis 7 abgebildeten verwendet werden, um eine oder mehrere beispielhafte Ausführungsformen der Erfindung zu realisieren.
-
D. h., die beispielhaften Ausführungsformen der Erfindung wie in 3 bis 7 abgebildet können in Verbindung mit einem oder mehreren weiteren Gesichtspunkten oder jeder beliebigen Kombination (z. B. einer Kombination, die geeignet, nutzbar und/oder möglich ist) verwendet, umgesetzt oder genutzt werden und sind nicht nur auf die in den 3 bis 7 abgebildeten Schritte, Blöcke, Operationen und/oder Funktionen beschränkt.
-
Der Ablaufplan und die Funktionsschaubilder in den 3 bis 7 veranschaulichen die Architektur, Funktionalität und Operation möglicher beispielhafter Umsetzungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen beispielhaften Ausführungsformen der vorliegenden Erfindung. Dabei kann jeder Block in dem Ablaufplan oder den Funktionsschaubildern ein Modul, ein Segment oder einen Codebereich wiedergeben, der eine oder mehrere ausführbare Befehle zum Umsetzen der angegebenen logischen Funktion(en) umfasst. Es sollte auch beachtet werden, dass in manchen alternativen Umsetzungen die in dem Block angegebenen Funktionen auch außerhalb der in den Figuren angegebenen Reihenfolge auftreten können. Beispielsweise können zwei aufeinander folgend dargestellte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden oder die Blöcke können manchmal abhängig von der verwendeten Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es wird auch angemerkt, dass jeder Block der Funktionsschaubilder und/oder Ablaufplandarstellung und Kombinationen aus Blöcken in den Funktionsschaubildern und/oder Ablaufplandarstellung durch Systeme, die auf Spezial-Hardware, die die angegebenen Funktionen oder Aktionen ausführt, oder auf Kombinationen aus Spezial-Hardware und Computerbefehlen beruhen, als nichteinschränkende Beispiele umgesetzt werden können.
-
Darüber hinaus sollten die verschiedenen Bezeichner, die für die hier beschriebenen Parameter, Operationen und Funktionen verwendet werden, in keiner Hinsicht als einschränkend ausgelegt werden, da diese Parameter, Operationen und Funktionen mit einem beliebigen Namen benannt werden können.
-
Die jeweiligen Strukturen, Materialien, Aktionen und Gleichwertiges beliebiger und aller hier beschriebener Mittel oder Schritt-plus-Funktions-Elemente sind so zu verstehen, dass sie jede Struktur, jedes Material oder jede Aktion zum Ausführen der Funktion in Verbindung mit anderen beanspruchten Elementen wie jeweils beansprucht beinhalten. Die Beschreibung der beispielhaften Ausführungsformen der Erfindung wurde zum Zweck der Veranschaulichung und Beschreibung vorgestellt, darf aber nicht als umfassend oder beschränkt auf die Erfindung in der offengelegten Form ausgelegt werden. Viele Veränderungen und Variationen sind für den Fachmann in dem Gebiet erkennbar, ohne von dem Geltungsbereich und Wesensgehalt der Erfindung abzuweichen. Die beispielhafte Ausführungsform wurde gewählt und beschrieben, um die Grundgedanken der beispielhaften Ausführungsformen der Erfindung und die praktischen Anwendungen bestmöglich zu beschreiben und anderen Fachleuten in dem Gebiet das Verstehen der Erfindung für verschiedene beispielhafte Ausführungsformen mit verschiedenen Veränderungen zu ermöglichen, die für die jeweilige(n) Verwendung(en) als geeignet angenommen werden.
-
Wie der Fachmann in dem Gebiet erkennt, können Gesichtspunkte der beispielhaften Ausführungsformen der Erfindung als ein System, Verfahren oder Computerprogrammprodukt als nichteinschränkende Beispiele ausgeführt werden. Entsprechend können Gesichtspunkte der beispielhaften Ausführungsformen der Erfindung die Form einer reinen Hardware-Ausführungsform, einer reinen Software-Ausführungsform (darunter Firmware, residente Software, Mikrocode usw.) oder einer Ausführungsform annehmen, die Software- und Hardware-Gesichtspunkte verknüpft, die hier alle als eine „Schaltungseinheit”, ein „Modul” oder „System” als nichteinschränkende Beispiele bezeichnet werden. Darüber hinaus können Gesichtspunkte der beispielhaften Ausführungsformen der Erfindung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medien mit einem darauf ausgeführten computerlesbaren Programmcode annehmen.
-
Jede Kombination aus einem oder mehreren computerlesbaren Medien kann verwendet werden. Bei dem computerlesbaren Medium kann es sich um ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium handeln. Als nichteinschränkende Beispiele kann ein computerlesbares Speichermedium eines oder mehreres von Folgendem umfassen: Ein elektronisches, magnetisches, optisches, elektromagnetisches, infrarotes oder ein Halbleiter-System, eine Vorrichtung, eine Einheit oder eine beliebige geeignete Kombination der Vorigen. Zu spezielleren nichteinschränkenden Beispielen eines computerlesbaren Speichermediums können zählen: eine elektrische Verbindung mit einem oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, ein Speicher mit wahlfreiem Zugriff (RAM), ein Nur-Lesespeicher (ROM), ein löschbarer programmierbarer Nur-Lesespeicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Kompaktdisc-Nurlesespeicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder eine beliebige Kombination der Vorigen. In Zusammenhang mit diesem Dokument kann es sich bei einem computerlesbaren Speichermedium um ein beliebiges physisches Medium handeln, das zum Enthalten oder Speichern eines Programms zur Verwendung oder in Verbindung mit einem Befehle ausführenden System, einer Vorrichtung oder einer Einheit (z. B. ein Computer oder ein Prozessor) ausgestaltet/betreibbar ist.
-
Ein computerlesbares Signalmedium kann ein sich ausbreitendes Datensignal mit darin umgesetztem Computerprogrammcode beispielsweise im Basisband oder als Teil einer Trägerwelle beinhalten. Solch ein sich ausbreitendes Signal kann eine Vielzahl von Formen, einschließlich, aber nicht darauf beschränkt, elektromagnetische und optische Formen oder eine beliebige Kombination daraus, annehmen. Bei einem computerlesbaren Signalmedium kann es sich um ein beliebiges computerlesbares Medium handeln, das kein computerlesbares Speichermedium darstellt und das Daten übertragen, ausbreiten oder ein Programm zur Verwendung durch oder in Verbindung mit einem Befehle ausführenden System, einer Vorrichtung oder einer Einheit transportieren kann.
-
Der auf einem computerlesbaren Medium ausgeführte Programmcode kann mit einem beliebigen geeigneten Medium einschließlich des Folgenden, aber nicht darauf beschränkt, umgesetzt werden: drahtlose und drahtgebundene Medien, Lichtwellenleiter-Kabel, Hochfrequenz oder eine beliebige geeignete Verknüpfung des Vorigen.
-
Computerprogrammcode zum Durchführen der Operationen für Gesichtspunkte der beispielhaften Ausführungsformen der Erfindung können in jeder Kombination aus einer oder mehreren Programmiersprachen, darunter eine objektorientierte Programmiersprache wie z. B. Java, Smalltalk oder C++ und herkömmliche Programmiersprachen wie z. B. die Programmiersprache „C” oder ähnliche Programmiersprachen als nichteinschränkende Beispiele, geschrieben werden. Der Programmcode kann nur auf dem Computer des Nutzers, teilweise auf dem Computer des Nutzers, als eigenständiges Softwarepaket, teilweise auf dem Nutzer-Computer und teilweise auf einem entfernt angeordneten Computer oder nur auf dem entfernt angeordneten Computer oder Server als nichteinschränkende Beispiele ausgeführt werden. In dem letzten Fall kann der entfernt angeordnete Computer mit dem Nutzercomputer über eine beliebige Art von Netzwerk einschließlich einem lokalen Netzwerk (LAN) oder einem Weitverkehrsnetz (WLAN) verbunden sein, oder die Verbindung kann an einen externen Computer (z. B. durch das Internet mit einem Internet-Diensteanbieter) als nichteinschränkende Beispiele erfolgen.
-
Gesichtspunkte der beispielhaften Ausführungsformen der Erfindung werden hier Bezug nehmend auf die Ablaufplan-Darstellungen und/oder die Funktionsschaubilder der Verfahren, Vorrichtungen (Systeme) und Computerprogrammprodukte gemäß verschiedenen beispielhaften Ausführungsformen der Erfindung beschrieben. Es ist selbstverständlich, dass jeder Block der Ablaufplan-Darstellungen und/oder Funktionsschaubilder und Kombinationen aus Blöcken in den Ablaufplan-Darstellungen und/oder Funktionsschaubilder durch Computerprogramm-Befehle als nichteinschränkende Beispiele umgesetzt werden können. Diese Computerprogramm-Befehle können an einen Prozessor oder einen Allgemeincomputer, einen Spezialcomputer oder andere Datenverarbeitungsvorrichtungen zum Herstellen einer Maschine bereitgestellt werden, sodass die Befehle, die über den Prozessor des Computers oder den anderen programmierbaren Datenverarbeitungsvorrichtungen ausgeführt werden, Mittel zum Umsetzen der Funktionen/Aktionen erzeugen, die in dem Ablaufplan und/oder dem Funktionsschaubild-Block oder den -Blöcken als nichteinschränkende Beispiele angegeben sind.
-
Diese Computerprogrammbefehle können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen oder andere Einheiten anweisen kann, auf eine bestimmte Vorgehensweise so zu funktionieren, dass die in dem computerlesbaren Medium gespeicherten Befehle einen Herstellungsartikel erzeugen, der Befehle einschließt, die die in dem Ablaufplan und/oder dem Funktionsschaubild-Block oder den -Blöcken angegebenen Befehle umsetzen.
-
Die Computerprogrammbefehle können auch in einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen oder andere Einheiten geladen werden, um das Ausführen einer Reihe von Operationsschritten auf dem Computer, anderen programmierbaren Datenverarbeitungsvorrichtungen oder anderen Einheiten zu veranlassen, um einen computerrealisierten Prozess zu erzeugen, sodass die auf dem Computer oder e anderen programmierbaren Datenverarbeitungsvorrichtungen oder anderen Einheiten ausgeführten Befehle Prozesse zum Umsetzen der Funktionen/Aktionen bereitstellen, die in dem Ablaufplan und/oder Funktionsschaubild-Block oder den -Blöcken angegeben sind (z. B. beispielhafte Ausführungsformen der Erfindung).
-
Jede Verwendung des Begriffs „angeschlossen”, „verbunden” oder Varianten davon sind so zu verstehen, dass sie jeden solchen Anschluss oder solche Verbindung, direkt oder indirekt, zwischen den bezeichneten Elementen bezeichnet. Als ein nichteinschränkendes Beispiel kann eines oder mehrere Zwischenelemente zwischen den „verbundenen” Elementen vorhanden sein. Der Anschluss oder die Verbindung zwischen den bezeichneten Elementen kann als nichteinschränkende Beispiele physisch, elektrisch, magnetisch, logisch oder mit einer beliebigen geeigneten Kombination daraus gemäß den beschriebenen beispielhaften Ausführungsformen ausgeführt sein. Als nichteinschränkende Beispiele kann der Anschluss oder die Verbindung einen oder mehrere gedruckte elektrische Anschlüsse, Leitungen, Medien oder eine beliebige geeignete Kombination daraus umfassen.
-
Allgemein können verschiedene beispielhafte Ausführungsformen der Erfindung in unterschiedlichen Medien wie z. B. Software, Hardware, Logikschaltungen, Spezial-Schaltungen oder eine beliebige Kombination davon umgesetzt werden. Als ein nichteinschränkendes Beispiel können einige Gesichtspunkte in Software umgesetzt werden, die auf einer Datenverarbeitungseinheit ausgeführt werden kann, während andere Gesichtspunkte in Hardware umgesetzt werden können.
-
Die vorangehende Beschreibung hat mit beispielhaften und nichteinschränkenden Beispielen eine umfangreiche und informative Beschreibung des Verfahrens und der Einheit bereitgestellt, die momentan von den Erfindern als zum Durchführen der Erfindung am besten geeignet angesehen werden. Verschiedene Veränderungen und Anpassungen werden jedoch für den Fachmann in dem betreffenden Gebiet mit Blick aus der vorangehenden Beschreibung offensichtlich, wenn sie in Verbindung mit den beigefügten Zeichnungen und den angefügten Ansprüchen gelesen wird. Alle solchen und ähnliche Veränderungen werden weiterhin innerhalb des Erfindungsgedanken der beispielhaften Ausführungsformen der Erfindung liegen.
-
Darüber hinaus könnten einige Eigenschaften der bevorzugten Ausführungsformen dieser Erfindung ohne die entsprechende Verwendung anderer Eigenschaften zum Vorteil verwendet werden. Die vorangehende Beschreibung an sich ist als lediglich veranschaulichend für die Grundgedanken der Erfindung und nicht als Einschränkung anzusehen.
-
6 Quellennachweise
-
- [1] C. Aguilar Melchor, G. Castagnos, und P. Gaborit. Lattice-based homomorphic encryption of vector spaces. In IEEE International Symposium an Information Theory, ISIT'2008, Seiten 1858 bis 1862, 2008.
- [2] C. Aguilar Melchor, P. Gaborit und H. Javier. Additive Homomorphic Encryption with t-Operand Multiplications. Technical Report 2008/378, IACR ePrint-Archiv, 2008. http://eprint.iacr.org/2008/378/.
- [3] M. Ajtai. Generating hard instances of the short basis Problem. In ICALP, Seiten 1{9, 1999.
- [4] J. Alwen und C. Peikert. Generating shorter bases for hard random lattices. In STACS, Seiten 75 bis 86, 2009.
- [5] D. Boneh, E.-J. Goh und K. Nissim. Evaluating 2-DNF formulas an ciphertexts. Seiten 325 bis 341, 2005.
- [6] Y. Dodis, S. Goldwasser, Y. T. Kalai, C. Peikert und V. Vaikuntanathan. Publickey encryption schemes with auxiliary inputs. In TCC, Seiten 361 bis 381, 2010.
- [7] W. Feller. An Introduction to Probability Theory and Its Applications, Band 1. Wiley, 1968.
- [8] C. Gentry. A fully homomorphic encryption scheme. Doktorarbeit, Stanford University, 2009. http://crypto.stanford.edu/craig.
- [9] C. Gentry. Fully homomorphic encryption using ideal lattices. In STOC '09, Seiten 169 bis 178. ACM, 2009.
- [10] C. Gentry, C. Peikert und V. Vaikuntanathan. Trapdoors for hard lattices and new cryptographic constructions. In STOC, Seiten 197 bis 206, 2008.
- [11] A. Kawachi, K. Tanaka und K. Xagawa. Multi-bit Cryptosystems Based an Lattice Problems. In Public Key Cryptography (PKC'07), Band 4450 der Lecture Notes in Computer Science, Seiten 315 bis 329. Springer, 2007.
- [12] Y. Lindell und B. Pinkas. A proof of security of yao's protocol for two-party computation. J. Cryptology, 22(2), 2009.
- [13] C. Peikert. Public-key cryptosystems from the worst-case shortest vector problem. In STOC'09, Seiten 333 bis 342. ACM, 2009.
- [14] O. Regev. On lattices, learning with errors, random linear codes, and cryptography. J. ACM, 56(6), 2009. Vorabversion in STOC'05.
- [15] T. Sander, A. Young und M. Yung. Non-interactive CryptoComputing for NC1. In 40th Annual Symposium on Foundations of Computer Science, Seiten 554 bis 567. IEEE, 1999.
- [16] A. C. Yao. Protocols for secure computations (extended abstract). In 23rd Annual Symposium on Foundations of Computer Science – FOCS '82, Seiten 160 bis 164. IEEE, 1982.