DE10248004A1 - Verfahren und Vorrichtung zum Verschlüsseln von Daten - Google Patents
Verfahren und Vorrichtung zum Verschlüsseln von DatenInfo
- Publication number
- DE10248004A1 DE10248004A1 DE10248004A DE10248004A DE10248004A1 DE 10248004 A1 DE10248004 A1 DE 10248004A1 DE 10248004 A DE10248004 A DE 10248004A DE 10248004 A DE10248004 A DE 10248004A DE 10248004 A1 DE10248004 A1 DE 10248004A1
- Authority
- DE
- Germany
- Prior art keywords
- value
- record
- encryption key
- party
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0457—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3093—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Algebra (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
Es wird ein Verfahren zum Verschlüsseln von Daten offenbart, das folgende Schritte aufweist: Aufteilen eines ersten Datensatzes in einen zweiten Datensatz und einen dritten Datensatz; Ableiten eines ersten Werts unter Verwendung des zweiten Datensatzes als Eingabe in eine polynomische Gleichung; Ableiten eines zweiten Werts unter Verwendung des dritten Datensatzes als Eingabe in die polynomische Gleichung; Ableiten eines ersten Verschlüsselungsschlüssels, der einer ersten Partei zugeordnet ist; Ableiten eines zweiten Verschlüsselungsschlüssels, der einer zweiten Partei zugeordnet ist; Verschlüsseln des ersten Werts mit dem ersten Verschlüsselungsschlüssel und Verschlüsseln des zweiten Werts mit dem zweiten Verschlüsselungsschlüssel.
Description
- Die vorliegende Erfindung bezieht sich auf ein Verfahren und eine Vorrichtung zum Verschlüsseln von Daten.
- Mit der zunehmenden Nutzung elektronischer Kommunikationen ist die Verwendung von Verschlüsselungstechnologie alltäglich geworden, wobei eine vertrauenswürdige Autorität für eine Ausgabe von Entschlüsselungsschlüsseln verantwortlich ist, wodurch der sichere Austausch elektronischer Daten ermöglicht wird.
- Manche Benutzer von Verschlüsselungssystemen haben jedoch Bedenken, daß eine Verwendung einer einzigen vertrauenswürdigen Autorität, um einen Entschlüsselungsschlüssel bereitzustellen, eine Gefährdungs- oder Systemausfallstelle schafft.
- Um dieses Problem zu überwinden, wurden bereits mehrere vertrauenswürdige-Autoritäten-Verschlüsselungssysteme vorgeschlagen, bei denen in der Regel zwei oder mehr vertrauenswürdige Autoritäten als kooperierende Parteien agieren, wobei alle kooperierenden vertrauenswürdigen Autoritäten ein gemeinsames Geheimnis haben. Um sicherzustellen, daß keine einzelne vertrauenswürdige Autorität eine Gefährdungs- oder Systemausfallstelle darstellen kann, weist keine der kooperierenden Parteien ausreichende Informationen auf, um in der Lage zu sein, das allen gemeinsame Geheimnis unabhängig abzuleiten.
- Diese Lösung erfordert jedoch, daß alle relevanten vertrauenswürdigen Autoritäten am Betreiben eines solchen Geheimnisteilhabungssystems beteiligt sein müssen, und es kann schwierig sein, die relevanten vertrauenswürdigen Autoritäten dahingehend zu organisieren, daß sie ein derartiges Geheimnisteilhabungsprotokoll führen, da manche von ihnen aus verschiedenen Gründen vielleicht nicht daran interessiert sind, mit den anderen vertrauenswürdigen Autoritäten zu kooperieren.
- Es ist wünschenswert, diese Situation zu verbessern.
- Es ist die Aufgabe der vorliegenden Erfindung, Verfahren und Vorrichtungen zu schaffen, die eine Kooperation von vertrauenswürdigen Autoritäten ermöglichen.
- Diese Aufgabe wird durch Verfahren gemäß Anspruch 1 oder 7 sowie eine Computervorrichtung gemäß Anspruch 8 gelöst. Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein Verfahren zum Verschlüsseln von Daten geschaffen, das folgende Schritte aufweist: Aufteilen eines ersten Datensatzes in einen zweiten Datensatz und einen dritten Datensatz; Ableiten eines ersten Werts unter Verwendung des zweiten Datensatzes als Eingabe in eine polynomische Gleichung; Ableiten eines zweiten Werts unter Verwendung des dritten Datensatzes als Eingabe in die polynomische Gleichung; Ableiten eines ersten Verschlüsselungsschlüssels, der einer ersten Partei zugeordnet ist; Ableiten eines zweiten Verschlüsselungsschlüssels, der einer zweiten Partei zugeordnet ist; Verschlüsseln des ersten Werts mit dem ersten Verschlüsselungsschlüssel; und Verschlüsseln des zweiten Werts mit dem zweiten Verschlüsselungsschlüssel.
- Vorzugsweise weist das Verfahren ferner ein Liefern des ersten und des zweiten verschlüsselten Werts an eine dritte Partei zur Entschlüsselung und Rückgewinnung des ersten Datensatzes auf.
- Vorzugsweise sind die erste und die zweite Partei eine erste bzw. eine zweite vertrauenswürdige Autorität.
- Vorzugsweise ist die Größe des zweiten und des dritten Datensatzes die gleiche.
- Vorzugsweise sind die Elemente des zweiten und des dritten Datensatzes zufällig und unabhängig.
- Vorzugsweise sind der erste und der zweite Verschlüsselungsschlüssel auf einer Identifizierungseinrichtung basierende Verschlüsselungsschlüssel.
- Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird ein Verfahren zum Verschlüsseln von Daten geschaffen, das folgende Schritte aufweist: Aufteilen eines ersten Datensatzes in einen zweiten Datensatz und einen dritten Datensatz; Ableiten eines ersten Werts unter Verwendung des zweiten Datensatzes als Eingabe in eine polynomische Gleichung; Ableiten eines zweiten Werts unter Verwendung des dritten Datensatzes als Eingabe in die polynomische Gleichung; Ableiten eines ersten Verschlüsselungsschlüssels, der einer ersten Partei zugeordnet ist; Ableiten eines zweiten Verschlüsselungsschlüssels, der einer zweiten Partei zugeordnet ist; Verschlüsseln des ersten Werts mit dem ersten Verschlüsselungsschlüssel; Verschlüsseln des zweiten Werts mit dem zweiten Verschlüsselungsschlüssel; Liefern des verschlüsselten ersten und zweiten Werts an einen Empfänger; Liefern des ersten Verschlüsselungsschlüssels an die erste Partei, derart, daß die erste Partei bei Erfüllung einer Bedingung einen zugeordneten ersten Entschlüsselungsschlüssel an den Empfänger liefert; Liefern des zweiten öffentlichen Schlüssels an die zweite Partei, derart, daß die zweite Partei bei Erfüllung einer Bedingung einen zugeordneten zweiten Entschlüsselungsschlüssel an den Empfänger liefert; Entschlüsseln und Rückgewinnung des ersten Datensatzes durch den Empfänger unter Verwendung des ersten und des zweiten Entschlüsselungsschlüssels.
- Gemäß einem dritten Aspekt der vorliegenden Erfindung wird eine Computervorrichtung zum Verschlüsseln von Daten geschaffen, die einen Prozessor aufweist, der angeordnet ist, um einen ersten Datensatz in einen zweiten Datensatz und einen dritten Datensatz aufzuteilen, und der einen ersten Wert unter Verwendung des zweiten Datensatzes als Eingabe in eine polynomische Gleichung ableitet und einen zweiten Wert unter Verwendung des dritten Datensatzes als Eingabe in die polynomische Gleichung ableitet und der den ersten Wert mit dem ersten Verschlüsselungsschlüssel verschlüsselt und den zweiten Wert mit dem zweiten Verschlüsselungsschlüssel verschlüsselt.
- Vorzugsweise weist die Vorrichtung ferner eine Kommunikationseinrichtung zum Liefern des ersten und des zweiten verschlüsselten Werts an eine dritte Partei zur Entschlüsselung und Rückgewinnung des ersten Datensatzes auf.
- Zum Zweck eines besseren Verständnisses der vorliegenden Erfindung und um zu verstehen, wie dieselbe verwirklicht werden kann, wird im folgenden lediglich beispielhaft auf die beiliegenden Zeichnungen verwiesen, bei denen:
- Fig. 1 ein Computersystem gemäß einem ersten Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht.
- Das vorliegende Ausführungsbeispiel beschreibt ein System, bei dem ein Absender einer Nachricht eine Mehrzahl von Verschlüsselungsschlüsseln, die jeweils einer entsprechenden vertrauenswürdigen Autorität zugeordnet sind, benutzt, um Abschnitte der zu sendenden Nachricht zu verschlüsseln. Ferner benutzt der Benutzer ein Schwellensystem, um die Nachricht in getrennte Abschnitte aufzuteilen. Die Verwendung des unten beschriebenen Schwellenschemas stellt sicher, daß keine Partei, die über weniger als eine vorbestimmte Anzahl von Abschnitten verfügt, die Nachricht rückgewinnen kann, wodurch verhindert wird, daß eine einzelne vertrauenswürdige Autorität, die einen Entschlüsselungsschlüssel für einen Abschnitt der Nachricht bereitstellt, die Nachricht ohne die Erlaubnis des Absenders rückgewinnt.
- Fig. 1 zeigt eine erste Computerentität 10, eine zweite Computerentität 20, eine dritte Computerentität 30 und eine vierte Computerentität 40, die über ein Netz 50, beispielsweise das Internet, verbunden sind.
- Die erste Computerentität 10 stellt einen Benutzer 60 dar, die zweite Computerentität 20 stellt den Empfänger 70 der Nachricht dar, die dritte Computerentität 30 stellt eine erste vertrauenswürdige Autorität 80 dar und die vierte Computerentität 40 stellt eine zweite vertrauenswürdige Autorität 90 dar. In der Praxis kann ein System jedoch mehr als zwei vertrauenswürdige Autoritäten umfassen.
- Die erste, zweite, dritte und vierte Computerentität 10, 20, 30, 40 sind herkömmliche Rechenvorrichtungen, wie sie Fachleuten hinreichend bekannt sind.
- Die erste Computerentität 10 umfaßt einen Prozessor 100, der angeordnet ist, um ein Schwellenschema zu implementieren, wie es unten beschrieben wird, um eine Nachricht vor einer Verschlüsselung und Übermittlung an die zweite Computerentität 20 in Abschnitte (d. h. Anteile der Nachricht) aufzuteilen.
- Das unten beschriebene (t, n)-Schwellenschema-(t ≤ n)- Verfahren ermöglicht es dem Benutzer 60 (d. h. dem Prozessor), geheime Anteile Si, 1 ≤ 1 ≤ n aus einem anfänglichen Geheimnis S (z. B. einer Nachricht, die auf sichere Weise an einen anderen Benutzer übermittelt werden soll) zu berechnen, und verteilt die Anteile Si auf sichere Weise an den Empfänger 70, so daß folgendes gilt: jeder mit t oder mehr Anteilen kann S ohne weiteres rückgewinnen, aber jeder, der lediglich t-1 oder weniger Anteile kennt, kann dies nicht, wobei n die Anzahl von Anteilen ist.
- Das Schwellenschema basiert auf einer polynomischen Interpolation und der Tatsache, daß ein Polynom y = f(x) des Grades t-1 eindeutig durch t Punkte (xi, yi) mit einem eindeutigen xi definiert ist. Das Schema funktioniert wie folgt. Der Benutzer 60 verteilt die Anteile des Geheimnisses an den Empfänger 70, wobei der Empfänger 70 in der Lage ist, die Anteile zu sammeln, um das Geheimnis S rückzugewinnen, wobei jedoch jeder, der weniger als t Anteile aufweist, nicht in der Lage ist, das Geheimnis rückzugewinnen.
- Um die einzelnen Anteile zu berechnen, teilt der Benutzer 60, d. h. der Prozessor 100, ein Geheimnis (d. h. eine Nachricht) S ≥ 0 in eine Sequenz mit t Elementen auf {S0, S1, . . ., St-1}, wobei jedes Element dieselbe Größe |S|/t aufweist und jedes Element idealerweise zufällig und unabhängig ist. Der Benutzer 60 wählt eine Primzahl p > max(S0, S1, . . ., St-1, n), die das Polynom über
definiert. Der Benutzer 60 berechnet si = f(xi) mod p, 1 ≤ i ≤ n (oder für jegliche n gesonderte Punkte, xi, 1 ≤ xi ≤ p-1), wodurch ein Wert für jeden Anteil berechnet wird, derart, daß das Geheimnis S eine Sequenz von Koeffizienten {S0, S1, . . ., St-1} innerhalb eines Polynoms ist, wobei jeder Koeffizient |S|/t ist, die Größe des Geheimnisses und nicht das Geheimnis, das durch einen einzelnen Koeffizienten in dem Polynom dargestellt wird, wie bei existierenden Geheimnisteilhabungsschemata. - Wie oben angegeben wurde, ist es wünschenswert, daß jedes Element des Geheimnisses zufällig und unabhängig ist. Um sicherzustellen, daß die geheimen Anteile zufällig und unabhängig sind, kann der Prozessor 100 angeordnet sein, um eine andere Sequenz zu berechnen, nachdem der Benutzer 60 das Geheimnis S ≥ 0 in eine Sequenz mit t Elementen {S0, S1, . . ., St-1} aufgeteilt hat, wobei jedes Element dieselbe Größe |S|/t aufweist, wie oben beschrieben, mit t Elementen {a0, a1, . . ., at-1}, wobei a0 = S0, a1 = H(a0) ⊕ S1, . . ., at-1 = H(at-2) ⊕ St-1. H() ist eine Hash-Funktion, bei der jeder Wert der Funktion dieselbe Größe |S|/t aufweist.
- Der Benutzer 60 wählt eine Primzahl p > max(a0, a1, . . ., at-1, n) aus, die das Polynom über
definiert. - Der Benutzer 60 berechnet anschließend si = f(xi) mod p, 1 ≤ i ≤ n (oder für jegliche n gesonderte Punkte, xi, 1 ≤ xi ≤ p-1).
- Nachdem die Anteile des Geheimnisses berechnet wurden, ist der Prozessor 100 angeordnet, um jeden Anteil mit einem Verschlüsselungsschlüssel, der einer jeweiligen vertrauenswürdigen Autorität 80, 90 zugeordnet ist, zu verschlüsseln, wobei für jeden Anteil eine unterschiedliche vertrauenswürdige Autorität und ein unterschiedlicher Verschlüsselungsschlüssel verwendet werden.
- Es kann jede beliebige geeignete Form der Verschlüsselung verwendet werden, und für verschiedene Anteile können verschiedene Verschlüsselungsarten verwendet werden, für die Zwecke dieses Ausführungsbeispiels wird jedoch eine auf einer Identifizierungseinrichtung basierende Verschlüsselung beschrieben, insbesondere eine Quadratur-Rest- Verschlüsselung (QR-Verschlüsselung; QR = quadrature residue).
- Die erste vertrauenswürdige Autorität 80 und die zweite vertrauenswürdige Autorität 90 weisen jeweils ihre eigenen eindeutigen öffentlichen Daten auf. Die öffentlichen Daten für die erste vertrauenswürdige Autorität umfassen eine erste Hash-Funktion Nr. 1 und einen ersten Wert N1, der ein Produkt von zwei zufälligen Primzahlen p1 und q1 ist, wobei die Werte p1 und q1 lediglich der ersten vertrauenswürdigen Autorität 80 bekannt sind. Die öffentlichen Daten für die zweite vertrauenswürdige Autorität 90 umfassen eine zweite Hash-Funktion Nr. 2 und einen zweiten Wert N2, der ein Produkt von zwei zufälligen Primzahlen p2 und q2 ist, wobei die Werte p2 und q2 lediglich der zweiten vertrauenswürdigen Autorität 90 bekannt sind. Obwohl jede vertrauenswürdige Autorität eine Hash-Funktionsnummer und einen Wert N aufweist, sind demnach die tatsächlichen Werte für jede vertrauenswürdige Autorität unterschiedlich.
- Die Hash-Funktionen Nr. 1, Nr. 2 weisen die Funktion auf, eine Zeichenfolge zu nehmen und einen Wert in dem Bereich 0 bis N-1 zu ergeben. Ferner sollten die Hash-Funktionen Nr. 1, Nr. 2 die Jacobi-Charakteristika aufweisen: Jacobi (Nr., N) = 1. Das heißt, wo x2 ~ Nr. mod N, gilt: Jacobi (Nr., N) = -1, falls x nicht existiert, und = 1, falls x existiert.
- Die Werte von p1, p2, q1 und q2 sollten idealerweise im Bereich von 2511 und 2512 liegen und sollten folgende Gleichungen erfüllen: p1, q1 ~ 3 mod 4, p2, q2 ~ 3 mod 4. Jedoch dürfen weder p1 und q1 noch p2 und q2 denselben Wert aufweisen.
- Für die Zwecke dieses Ausführungsbeispiels wird die an den Empfänger 70 zu kommunizierende Nachricht in zwei Abschnitte aufgeteilt, wobei der erste Anteil mit einem der ersten vertrauenswürdigen Autorität 80 zugeordneten Verschlüsselungsschlüssel verschlüsselt wird und der zweite Anteil mit einem der zweiten vertrauenswürdigen Autorität 90 zugeordneten Verschlüsselungsschlüssel verschlüsselt wird, wie unten beschrieben wird.
- Für jeden Anteil der Nachricht verschlüsselt der Benutzer 60 jedes Bit M des Anteils unter Verwendung der Hasht Funktionsnummer und des Werts N der jeweiligen vertrauenswürdigen Autorität, wie unten beschrieben wird.
- Für die Zwecke dieses Ausführungsbeispiels werden öffentliche Daten, die zwei vertrauenswürdigen Autoritäten zugeordnet sind, verwendet, um zwei unabhängige Verschlüsselungsschlüssel zu erzeugen, um zwei Abschnitte (d. h. Anteile) einer Nachricht zu verschlüsseln. Jedoch muß die ausgewählte Anzahl von Anteilen nicht der Anzahl von vertrauenswürdigen Autoritäten entsprechen, die verwendet werden, um Verschlüsselungsschlüssel zu erstellen.
- Um jeden Nachrichtenabschnitt unter Verwendung der öffentlichen Daten der jeweiligen vertrauenswürdigen Autorität zu verschlüsseln, erzeugt der Benutzer 60 Zufallszahlen t+ (wobei t+ eine Ganzzahl im Bereich [0, 2N] ist), bis der Benutzer 60 einen Wert von t+ findet, der die Gleichung Jacobi (t+, N) = M erfüllt, wobei M die einzelnen Binärziffern 0, 1 der Daten des Benutzers jeweils als -1, 1 darstellt. Der Benutzer 60 berechnet anschließend den Wert:
s+ = (t+ + Nr. (publickeystring) /t+) mod N
für jedes Bit M, wobei s+ dem verschlüsselten Bit von M entspricht. - Die Öffentlicher-Schlüssel-Zeichenfolge (publickeystring) kann eine beliebige geeignete Zeichenfolge sein, die als öffentlicher Schlüssel für den Empfänger 70 agiert, beispielsweise kann die Öffentlicher-Schlüssel-Zeichenfolge dem Namen oder der E-Mail-Adresse des Empfängers 70 entsprechen.
- In dem Fall, daß Nr. (publickeystring) nicht-quadratisch ist, erzeugt der Benutzer 60 zusätzlich weitere Zufallszahlen t- (Ganzzahlen im Bereich [0, 2N]), bis der Benutzer 60 eine findet, die die Gleichung Jacobi (t-, N) = m erfüllt. Anschließend berechnet der Benutzer 60 den Wert:
s- = (t- - Nr. (publickeystring)/t-) mod N
für jeden Wert des Bit M. - Unter Verwendung der öffentlichen Daten der jeweiligen vertrauenswürdigen Autorität führt der Benutzer 60 diesen Verschlüsselungsprozeß für jeden Abschnitt durch. Da der Benutzer 60 die an den Empfänger 70 zu übermittelnde Nachricht in zwei Abschnitte aufgeteilt hat, könnte der erste Abschnitt unter Verwendung der obigen Gleichung unter Verwendung der öffentlichen Daten Nr. 1 und N1 der ersten vertrauenswürdigen Autorität verschlüsselt werden, und der zweite Abschnitt könnte unter Verwendung der öffentlichen Daten Nr. 2 und N2 der zweiten vertrauenswürdigen Autorität verschlüsselt werden, wobei die publickeystring für jede vertrauenswürdige Autorität dieselbe oder unterschiedlich sein könnte.
- Die verschlüsselten Abschnitte si und publickeystring (d. h. der öffentliche Schlüssel des Empfängers) mit einem öffentlichen Index xi werden durch ein beliebiges geeignetes Mittel, beispielsweise über E-Mail, dem Empfänger zur Verfügung gestellt.
- Um es dem Empfänger 70 zu ermöglichen, die verschlüsselten Abschnitte zu entschlüsseln, erhält der Empfänger 70 von den jeweiligen vertrauenswürdigen Autoritäten 80, 90 den Entschlüsselungsschlüssel (d. h. privaten Schlüssel) des Empfängers, der dem Verschlüsselungsschlüssel (d. h. öffentlichen Schlüssel) des Empfängers, der verwendet wird, um die Abschnitte zu verschlüsseln, zugeordnet ist.
- Jede vertrauenswürdige Autorität 80, 90 bestimmt den zugeordneten Entschlüsselungsschlüssel (d. h. privaten Schlüssel) B, indem sie die Gleichung unter Verwendung der relevanten publickeystring und N für die jeweilige vertrauenswürdige Autorität löst:
B2 ~ Nr. (publickeystring) mod N. - Falls kein Wert B existiert, gibt es einen Wert B, der durch die folgende Gleichung erfüllt wird:
B2 ~ - Nr. (publickeystring) mod N. - Da N ein Produkt von zwei Primzahlen p, q ist, wäre es für jedermann extrem schwierig, den privaten Schlüssel B lediglich mit der Kenntnis der Öffentlicher-Schlüssel- Zeichenfolge und N zu berechnen. Da jedoch die vertrauenswürdige Autorität 80, 90 p und q (d. h. zwei Primzahlen) kennt, ist es für die vertrauenswürdige Autorität 80, 90 relativ einfach, B zu berechnen.
- In der Regel liefern die vertrauenswürdigen Autoritäten 80, 90 den jeweiligen Entschlüsselungsschlüssel bei Erfüllung einer bestimmten Bedingung an den Empfänger 70, falls die publickeystring beispielsweise eine E-Mail-Adresse ist, kann die Bedingung lauten, daß der Empfänger 70 der Eigentümer der E-Mail-Adresse ist.
- Falls die Quadratwurzel des Verschlüsselungsschlüssels einen positiven Wert ergibt, können die Daten M des Benutzers unter Verwendung des folgenden rückgewonnen werden:
M = Jacobi (s+ + 2B, N). - Falls die Quadratwurzel des Verschlüsselungsschlüssels einen negativen Wert ergibt, können die Daten M des Benutzers unter Verwendung des folgenden rückgewonnen werden:
M = Jacobi (s- + 2B, N). - Der Empfänger 70 verwendet die geeignete obige Gleichung in Verbindung mit dem privaten Schlüssel, um die Nachricht zu entschlüsseln.
- Da der Empfänger 70 nun die beiden unverschlüsselten Anteile (d. h. t Anteile) hat, ist der Empfänger in der Lage, S (d. h. die Nachricht) zu berechnen. Ihre Anteile liefern t = 2 gesonderte Punkte (x, y) = (xi, si) (i = 1, 2), was eine Berechnung des Geheimnisses S = {S0, S1) und Sj = aj ermöglicht, wobei aj Koeffizienten 0 ≤ j ≤ t von f(x) sind. Die Koeffizienten eines unbekannten Polynoms f(x) eines Grades, der höchstens t beträgt, das durch Punkte (xi, yi), 1 ≤ i ≤ t definiert ist, sind durch die folgende Formel gegeben.
- Falls das Polynom in der Form
geschrieben ist, mit unbestimmten Koeffizienten a0, a1, . . ., at-1 und mit der Bedingung, daß es die Punkte (x0, y0), (x1, y1, . . ., (xt-1, yt-1) durchlief, dann müssen die benachbarten Gleichungen erfüllt sein. Diese sind t Gleichungen für die Bestimmung von a0, a1, . . ., at-1. Sie haben eine eindeutige Lösung, falls die elementaren Punkte x0, x1, . . ., xt-1 alle gesondert sind. - Falls t Gleichungen
eine nicht-singuläre Koeffizientenmatrix aufweisen (man beachte, daß dies eine spezielle Vandermondesche Determinante (Alternante) ist)
so daß |A| ≠ 0, so gibt es eine eindeutige Lösung
für j = 0, 1, . . ., t-1, wobei Cij der Cofaktor eines Elements aij in der Koeffizientenmatrix A ist (Cramersche Regel). - Die Ordnung einer Determinanten ist die Anzahl von Elementen in ihrer führenden Diagonalen (der Diagonalen von links oben nach rechts unten), so daß eine Determinante der t-ten Ordnung einer txt-Matrix zugeordnet ist. Die dem Element aij zugeordnete Unterdeterminante Air ist die Determinante (t-1)-ter Ordnung, die durch Löschung ihrer i-ten Reihe und j-ten Spalte von [aij] abgeleitet ist. Der dem Element aij zugeordnete Cofaktor Cij ist als Cij = (-1)i+j Aij definiert.
- Falls eine große Anzahl von elementaren Punkten berücksichtigt wird, erfordert die endgültige Bestimmung des Interpolationspolynoms ein hohes Maß an Rechenleistung, so daß es vorzuziehen sein kann, eine geringe Anzahl von Anteilen zu verwenden, falls eine begrenzte Rechenleistung zur Verfügung steht.
- Dementsprechend ist der Empfänger 70 in der Lage, die Nachricht mit dem Wissen zurückzugewinnen, daß die einzelnen vertrauenswürdigen Autoritäten 80, 90 nicht in der Lage wären, irgendeinen Teil der Nachricht lediglich mit der Kenntnis eines Nachrichtenabschnitts zurückzugewinnen.
Claims (12)
1. Verfahren zum Verschlüsseln von Daten, das folgende
Merkmale aufweist:
Aufteilen eines ersten Datensatzes in einen zweiten Datensatz und einen dritten Datensatz;
Ableiten eines ersten Werts unter Verwendung des zweiten Datensatzes als Eingabe in eine polynomische Gleichung;
Ableiten eines zweiten Werts unter Verwendung des dritten Datensatzes als Eingabe in die polynomische Gleichung;
Ableiten eines ersten Verschlüsselungsschlüssels, der einer ersten Partei zugeordnet ist;
Ableiten eines zweiten Verschlüsselungsschlüssels, der einer zweiten Partei zugeordnet ist;
Verschlüsseln des ersten Werts mit dem ersten Verschlüsselungsschlüssel; und
Verschlüsseln des zweiten Werts mit dem zweiten Verschlüsselungsschlüssel.
Aufteilen eines ersten Datensatzes in einen zweiten Datensatz und einen dritten Datensatz;
Ableiten eines ersten Werts unter Verwendung des zweiten Datensatzes als Eingabe in eine polynomische Gleichung;
Ableiten eines zweiten Werts unter Verwendung des dritten Datensatzes als Eingabe in die polynomische Gleichung;
Ableiten eines ersten Verschlüsselungsschlüssels, der einer ersten Partei zugeordnet ist;
Ableiten eines zweiten Verschlüsselungsschlüssels, der einer zweiten Partei zugeordnet ist;
Verschlüsseln des ersten Werts mit dem ersten Verschlüsselungsschlüssel; und
Verschlüsseln des zweiten Werts mit dem zweiten Verschlüsselungsschlüssel.
2. Verfahren gemäß Anspruch 1, das ferner ein Liefern des
ersten und des zweiten verschlüsselten Werts an eine
dritte Partei zur Entschlüsselung und Rückgewinnung
des ersten Datensatzes aufweist.
3. Verfahren gemäß Anspruch 1 oder 2, bei dem die erste
und die zweite Partei eine erste beziehungsweise eine
zweite vertrauenswürdige Autorität sind.
4. Verfahren gemäß einem der vorhergehenden Ansprüche,
bei dem die Größe des zweiten und des dritten
Datensatzes die gleiche ist.
5. Verfahren gemäß einem der vorhergehenden Ansprüche,
bei dem die Elemente des zweiten und des dritten
Datensatzes zufällig und unabhängig sind.
6. Verfahren gemäß einem der vorhergehenden Ansprüche,
bei dem der erste und der zweite
Verschlüsselungsschlüssel auf einer Identifizierungseinrichtung
basierende Verschlüsselungsschlüssel sind.
7. Verfahren zum Verschlüsseln von Daten, das folgende
Schritte aufweist:
Aufteilen eines ersten Datensatzes in einen zweiten Datensatz und einen dritten Datensatz;
Ableiten eines ersten Werts unter Verwendung des zweiten Datensatzes als Eingabe in eine polynomische Gleichung;
Ableiten eines zweiten Werts unter Verwendung des dritten Datensatzes als Eingabe in die polynomische Gleichung;
Ableiten eines ersten Verschlüsselungsschlüssels, der einer ersten Partei zugeordnet ist;
Ableiten eines zweiten Verschlüsselungsschlüssels, der einer zweiten Partei zugeordnet ist;
Verschlüsseln des ersten Werts mit dem ersten Verschlüsselungsschlüssel;
Verschlüsseln des zweiten Werts mit dem zweiten Verschlüsselungsschlüssel;
Liefern des verschlüsselten ersten und zweiten Werts an einen Empfänger (70);
Liefern des ersten Verschlüsselungsschlüssels an die erste Partei, derart, daß die erste Partei bei Erfüllung einer Bedingung einen zugeordneten ersten Entschlüsselungsschlüssel an den Empfänger liefert;
Liefern des zweiten öffentlichen Schlüssels an die zweite Partei, derart, daß die zweite Partei bei Erfüllung einer Bedingung einen zugeordneten zweiten Entschlüsselungsschlüssel an den Empfänger liefert; und
Entschlüsseln und Rückgewinnung des ersten Datensatzes durch den Empfänger unter Verwendung des ersten und des zweiten Entschlüsselungsschlüssels.
Aufteilen eines ersten Datensatzes in einen zweiten Datensatz und einen dritten Datensatz;
Ableiten eines ersten Werts unter Verwendung des zweiten Datensatzes als Eingabe in eine polynomische Gleichung;
Ableiten eines zweiten Werts unter Verwendung des dritten Datensatzes als Eingabe in die polynomische Gleichung;
Ableiten eines ersten Verschlüsselungsschlüssels, der einer ersten Partei zugeordnet ist;
Ableiten eines zweiten Verschlüsselungsschlüssels, der einer zweiten Partei zugeordnet ist;
Verschlüsseln des ersten Werts mit dem ersten Verschlüsselungsschlüssel;
Verschlüsseln des zweiten Werts mit dem zweiten Verschlüsselungsschlüssel;
Liefern des verschlüsselten ersten und zweiten Werts an einen Empfänger (70);
Liefern des ersten Verschlüsselungsschlüssels an die erste Partei, derart, daß die erste Partei bei Erfüllung einer Bedingung einen zugeordneten ersten Entschlüsselungsschlüssel an den Empfänger liefert;
Liefern des zweiten öffentlichen Schlüssels an die zweite Partei, derart, daß die zweite Partei bei Erfüllung einer Bedingung einen zugeordneten zweiten Entschlüsselungsschlüssel an den Empfänger liefert; und
Entschlüsseln und Rückgewinnung des ersten Datensatzes durch den Empfänger unter Verwendung des ersten und des zweiten Entschlüsselungsschlüssels.
8. Computervorrichtung zum Verschlüsseln von Daten, die
einen Prozessor aufweist, der angeordnet ist, um einen
ersten Datensatz in einen zweiten Datensatz und einen
dritten Datensatz aufzuteilen, und der einen ersten
Wert unter Verwendung des zweiten Datensatzes als
Eingabe in eine polynomische Gleichung ableitet und der
einen zweiten Wert unter Verwendung des dritten
Datensatzes als Eingabe in die polynomische Gleichung
ableitet und der den ersten Wert mit dem ersten
Verschlüsselungsschlüssel verschlüsselt und den zweiten
Wert mit dem zweiten Verschlüsselungsschlüssel
verschlüsselt.
9. Vorrichtung gemäß Anspruch 8, die ferner eine
Kommunikationseinrichtung zum Liefern des ersten und des
zweiten verschlüsselten Werts an eine dritte Partei
zur Entschlüsselung und Rückgewinnung des ersten
Datensatzes aufweist.
10. Vorrichtung gemäß Anspruch 8 oder 9, bei der die Größe
des zweiten und des dritten Datensatzes die gleiche
ist.
11. Vorrichtung gemäß einem der Ansprüche 8 bis 10, bei
der die Elemente des zweiten und des dritten
Datensatzes zufällig und unabhängig sind.
12. Vorrichtung gemäß einem der Ansprüche 8 bis 11, bei
der der erste und der zweite Verschlüsselungsschlüssel
auf einer Identifizierungseinrichtung basierende
Verschlüsselungsschlüssel sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB0124686.7A GB0124686D0 (en) | 2001-10-15 | 2001-10-15 | A scheme for splitting trusted authorities based on the shamir's secret sharing |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10248004A1 true DE10248004A1 (de) | 2003-04-30 |
Family
ID=9923835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10248004A Withdrawn DE10248004A1 (de) | 2001-10-15 | 2002-10-15 | Verfahren und Vorrichtung zum Verschlüsseln von Daten |
Country Status (3)
Country | Link |
---|---|
US (1) | US7263191B2 (de) |
DE (1) | DE10248004A1 (de) |
GB (2) | GB0124686D0 (de) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2370471B (en) * | 2000-12-20 | 2004-06-23 | Director Government Comm Headq | Directoryless Public Key Cryptographic System and Method |
US20050089173A1 (en) * | 2002-07-05 | 2005-04-28 | Harrison Keith A. | Trusted authority for identifier-based cryptography |
GB0215590D0 (en) * | 2002-07-05 | 2002-08-14 | Hewlett Packard Co | Method and apparatus for generating a cryptographic key |
US20040174995A1 (en) * | 2003-02-06 | 2004-09-09 | Singh Mukesh Kumar | Cryptosystems |
GB2416282B (en) * | 2004-07-15 | 2007-05-16 | Hewlett Packard Development Co | Identifier-based signcryption with two trusted authorities |
US7945784B1 (en) * | 2005-08-19 | 2011-05-17 | Adobe Systems Incorporated | Method and system to perform secret sharing |
KR100714303B1 (ko) * | 2005-12-09 | 2007-05-07 | 한국전자통신연구원 | 특징점을 은닉하는 지문 인식 방법 및 그 장치 |
US7861096B2 (en) * | 2006-07-12 | 2010-12-28 | Palo Alto Research Center Incorporated | Method, apparatus, and program product for revealing redacted information |
US7873838B2 (en) | 2006-07-12 | 2011-01-18 | Palo Alto Research Center Incorporated | Method, apparatus, and program product for flexible redaction of content |
US7865742B2 (en) * | 2006-07-12 | 2011-01-04 | Palo Alto Research Center Incorporated | Method, apparatus, and program product for enabling access to flexibly redacted content |
US8107620B2 (en) * | 2007-03-21 | 2012-01-31 | International Business Machines Corporation | Simple and efficient one-pass authenticated encryption scheme |
CA2593897C (en) * | 2007-07-16 | 2016-06-14 | Tet Hin Yeap | Method, system and apparatus for accessing a resource based on data supplied by a local user |
US20100046740A1 (en) * | 2008-08-22 | 2010-02-25 | Schneider James P | Embedding a secret in a larger polynomial |
US8345861B2 (en) * | 2008-08-22 | 2013-01-01 | Red Hat, Inc. | Sharing a secret using polynomial division over GF(Q) |
US8151333B2 (en) | 2008-11-24 | 2012-04-03 | Microsoft Corporation | Distributed single sign on technologies including privacy protection and proactive updating |
US9813243B1 (en) * | 2015-03-30 | 2017-11-07 | EMC IP Holding Company LLC | Methods and apparatus for password-based secret sharing schemes |
US10084600B1 (en) * | 2018-04-16 | 2018-09-25 | Xage Security, Inc. | Decentralized information protection for confidentiality and tamper-proofing on distributed database |
EP3806071B1 (de) * | 2018-05-25 | 2023-03-22 | Nippon Telegraph And Telephone Corporation | System für geheime kollektive annäherung, vorrichtung für geheime bereichnung, verfahren für geheime kollektive annäherung und programm |
JP2022012403A (ja) * | 2020-07-01 | 2022-01-17 | キヤノン株式会社 | プログラム、情報処理装置及び制御方法 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE7714587L (sv) * | 1977-12-21 | 1979-06-22 | Brendstrom Hugo | System for meddelanden |
US4514592A (en) * | 1981-07-27 | 1985-04-30 | Nippon Telegraph & Telephone Public Corporation | Cryptosystem |
DE68926200T2 (de) | 1988-08-11 | 1996-10-17 | Ibm | Geheime Datenübertragung mittels Steuervektoren |
US5199070A (en) * | 1990-12-18 | 1993-03-30 | Matsushita Electric Industrial Co., Ltd. | Method for generating a public key |
WO1996005674A1 (en) | 1994-08-12 | 1996-02-22 | Frank Thomson Leighton | Failsafe key escrow system |
US5625692A (en) | 1995-01-23 | 1997-04-29 | International Business Machines Corporation | Method and system for a public key cryptosystem having proactive, robust, and recoverable distributed threshold secret sharing |
US6410690B1 (en) | 1995-06-07 | 2002-06-25 | Medarex, Inc. | Therapeutic compounds comprised of anti-Fc receptor antibodies |
JPH10198272A (ja) | 1996-12-27 | 1998-07-31 | Canon Inc | 階層を有する鍵管理方法及び暗号システム、分散デジタル署名システム |
US6584144B2 (en) * | 1997-02-24 | 2003-06-24 | At&T Wireless Services, Inc. | Vertical adaptive antenna array for a discrete multitone spread spectrum communications system |
US6389534B1 (en) | 1997-06-30 | 2002-05-14 | Taher Elgamal | Cryptographic policy filters and policy control method and apparatus |
US6731755B1 (en) * | 1997-07-28 | 2004-05-04 | The Director, Government Communications Headquarters | Split-key cryptographic system and method |
US6182216B1 (en) * | 1997-09-17 | 2001-01-30 | Frank C. Luyster | Block cipher method |
JP3604264B2 (ja) * | 1997-10-06 | 2004-12-22 | 株式会社東芝 | 発信者用端末装置及びネットワークシステム並びに発信情報監視方法 |
US6064740A (en) * | 1997-11-12 | 2000-05-16 | Curiger; Andreas | Method and apparatus for masking modulo exponentiation calculations in an integrated circuit |
EP1040621B1 (de) * | 1997-12-19 | 2004-08-04 | BRITISH TELECOMMUNICATIONS public limited company | Verfahren zum Betrieb eines Datenkommunikationssystems, Datenkommunikationssystem und Kundenendgerät |
US6192129B1 (en) * | 1998-02-04 | 2001-02-20 | International Business Machines Corporation | Method and apparatus for advanced byte-oriented symmetric key block cipher with variable length key and block |
US6490357B1 (en) * | 1998-08-28 | 2002-12-03 | Qualcomm Incorporated | Method and apparatus for generating encryption stream ciphers |
US6560338B1 (en) * | 1998-08-28 | 2003-05-06 | Qualcomm Incorporated | Limiting delays associated with the generation of encryption stream ciphers |
US6578061B1 (en) * | 1999-01-19 | 2003-06-10 | Nippon Telegraph And Telephone Corporation | Method and apparatus for data permutation/division and recording medium with data permutation/division program recorded thereon |
US6901145B1 (en) | 1999-04-08 | 2005-05-31 | Lucent Technologies Inc. | Generation of repeatable cryptographic key based on varying parameters |
US6895507B1 (en) | 1999-07-02 | 2005-05-17 | Time Certain, Llc | Method and system for determining and maintaining trust in digital data files with certifiable time |
CA2277633C (en) | 1999-07-19 | 2009-10-20 | Certicom Corp. | Split-key key-agreement protocol |
WO2001011527A2 (en) | 1999-08-10 | 2001-02-15 | Yeda Research And Development Co. Ltd. | Honesty preserving negotiation and computation |
US6853988B1 (en) | 1999-09-20 | 2005-02-08 | Security First Corporation | Cryptographic server with provisions for interoperability between cryptographic systems |
US6925563B1 (en) * | 1999-09-22 | 2005-08-02 | Raytheon Company | Multiplication of modular numbers |
GB9923804D0 (en) | 1999-10-08 | 1999-12-08 | Hewlett Packard Co | Electronic commerce system |
JP2001244924A (ja) | 2000-03-01 | 2001-09-07 | Mizuno Junya | 情報暗号化方式 |
JP3565265B2 (ja) | 2000-07-19 | 2004-09-15 | 日本電気株式会社 | 優先度別クラス選択型通信システム及び通信方法 |
DE10044139A1 (de) | 2000-09-06 | 2002-04-18 | Giesecke & Devrient Gmbh | Verfahren zum Sichern von digitalen Waren beim Verkauf über ein Computernetzwerk |
US6963976B1 (en) * | 2000-11-03 | 2005-11-08 | International Business Machines Corporation | Symmetric key authenticated encryption schemes |
US6937731B2 (en) | 2001-03-13 | 2005-08-30 | Mitake Information Corporation | End to end real-time encrypting process of a mobile commerce WAP data transmission section and the module of the same |
CA2386491A1 (en) | 2001-05-16 | 2002-11-16 | Kasten Chase Applied Research Limited | System for secure electronic information transmission |
US20030051129A1 (en) | 2001-09-10 | 2003-03-13 | Ravi Razdan | Protecting confidential digital information at application service providers |
-
2001
- 2001-10-15 GB GBGB0124686.7A patent/GB0124686D0/en not_active Ceased
-
2002
- 2002-10-04 GB GB0222980A patent/GB2381174B/en not_active Expired - Lifetime
- 2002-10-11 US US10/270,040 patent/US7263191B2/en active Active
- 2002-10-15 DE DE10248004A patent/DE10248004A1/de not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
GB0124686D0 (en) | 2001-12-05 |
GB0222980D0 (en) | 2002-11-13 |
US7263191B2 (en) | 2007-08-28 |
GB2381174B (en) | 2004-09-08 |
US20030091192A1 (en) | 2003-05-15 |
GB2381174A (en) | 2003-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69629857T2 (de) | Datenkommunikationssystem unter Verwendung öffentlicher Schlüssel | |
DE60313704T2 (de) | Verfahren und Vorrichtung zur Erzeugung eines Geheimschlüssels | |
DE10248004A1 (de) | Verfahren und Vorrichtung zum Verschlüsseln von Daten | |
DE60215332T2 (de) | System und Verfahren zum Verabreiten eines gemeinsamen Geheimnisses | |
DE60316861T2 (de) | Verfahren und Vorrichtung zur Verschlüsselung/Entschlüsselung von Daten | |
DE69917356T2 (de) | Sicherheitstechnik an einem Computernetzwerk | |
DE60029722T2 (de) | Verfahren und vorrichtungen zur sicheren verteilung von öffentlichen und privaten schlüsselpaaren | |
DE69725659T2 (de) | Verfahren und Einrichtung zur Ablage eines in einem RSA-Kryptosystem benutzten Geheimschlüssels | |
DE69935469T2 (de) | Verfahren zur schnellen Ausführung einer Entschlüsselung oder einer Authentifizierung | |
DE602004001273T2 (de) | Verfahren und Vorrichtung zur Identifiezierungsbasierten Verschlüsselung | |
DE69911815T2 (de) | Selbstkorrigierendes zufallsverschlüsselungssystem und -verfahren | |
DE69838258T2 (de) | Public-Key-Datenübertragungssysteme | |
DE112012000971B4 (de) | Datenverschlüsselung | |
EP1298834A1 (de) | Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten | |
DE102020003739A1 (de) | Verfahren zur Verteilung und Aushandlung von Schlüsselmaterial | |
DE19652295A1 (de) | Differential-Workfaktor- Verschlüsselungsverfahren und -system | |
DE60021985T2 (de) | Verfahren ind vorrichtung zur sicheren erzeugung von öffentlichen/geheimen schlüsselpaaren | |
DE10248007A1 (de) | Verfahren und Vorrichtung zum Verschlüsseln von Daten | |
DE60026439T2 (de) | System und Verfahren zur Übertragung der Befugnis, Nachrichten zu entschüsseln in einem symmetrischen Kodierungsschema | |
EP3591925B1 (de) | Verschlüsselungssystem für vertrauensunwürdige umgebungen | |
EP0902568B1 (de) | Verfahren zur Übertragung von verschlüsselten Nachrichten | |
EP0400362B1 (de) | Verfahren zur hierarchischen Schlüsselverwaltung mit Teilschlüsseln zur Übermittlung digitalisierter Information | |
WO2020144123A1 (de) | Verfahren und system zur informationsübermittlung | |
DE102006009725A1 (de) | Verfahren und Vorrichtung zum Authentifizieren eines öffentlichen Schlüssels | |
EP1520368B1 (de) | Verschlüsselungsverfahren basierend auf Faktorisierung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE |
|
8130 | Withdrawal |