DE10248004A1 - Verfahren und Vorrichtung zum Verschlüsseln von Daten - Google Patents

Verfahren und Vorrichtung zum Verschlüsseln von Daten

Info

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
Application number
DE10248004A
Other languages
English (en)
Inventor
Keith Alexander Harrison
Liqun Chen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of DE10248004A1 publication Critical patent/DE10248004A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/0457Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, 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.
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.
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.
DE10248004A 2001-10-15 2002-10-15 Verfahren und Vorrichtung zum Verschlüsseln von Daten Withdrawn DE10248004A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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