DE10129285A1 - Verschlüsselungsverfahren mit beliebig wählbaren Enmalschlüsseln - Google Patents

Verschlüsselungsverfahren mit beliebig wählbaren Enmalschlüsseln

Info

Publication number
DE10129285A1
DE10129285A1 DE10129285A DE10129285A DE10129285A1 DE 10129285 A1 DE10129285 A1 DE 10129285A1 DE 10129285 A DE10129285 A DE 10129285A DE 10129285 A DE10129285 A DE 10129285A DE 10129285 A1 DE10129285 A1 DE 10129285A1
Authority
DE
Germany
Prior art keywords
key
data
encryption
message
encrypted
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.)
Granted
Application number
DE10129285A
Other languages
English (en)
Other versions
DE10129285C2 (de
Inventor
Hans-Joachim Mueschenborn
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.)
MUESCHENBORN HANS JOACHIM
Original Assignee
MUESCHENBORN HANS JOACHIM
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 MUESCHENBORN HANS JOACHIM filed Critical MUESCHENBORN HANS JOACHIM
Priority to DE20114371U priority Critical patent/DE20114371U1/de
Priority to DE10129285A priority patent/DE10129285C2/de
Publication of DE10129285A1 publication Critical patent/DE10129285A1/de
Priority to DE2002124473 priority patent/DE10224473A1/de
Priority to US10/161,723 priority patent/US20020191796A1/en
Application granted granted Critical
Publication of DE10129285C2 publication Critical patent/DE10129285C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

Verschlüsselungs- und Schlüsselmanagementverfahren mit Einmalschlüsseln für jeden Datenblock leiten die finalen Schlüssel entweder von einem den Parteien bekannten Geheimnis ab, welches in regelmäßigen Abständen durch zusätzliche Schlüsselaustausche ausgewechselt werden kann, oder multiplexen zufällig ausgewählte SEED-Schlüssel zusammen mit den verschlüsselten Daten und erzeugen die finalen Schlüssel über einen deterministischen Pseudozufallsgenerator aus dem übertragenen SEED-Schlüssel des jeweiligen Datenblockes. DOLLAR A Verfahren zur Verschlüsselung beliebig gearteter Daten, welche in eine bestimmte Anzahl n von Datenblöcken aufgeteilt werden können, eines kontinuierlichen Datenstromes unbestimmter Länge, einer Folge einer bestimmten Anzahl n von Nachrichten zwischen mindestens zwei Kommunikationspartnern, und einer Folge einer unbestimmten Anzahl von Nachrichten zwischen mindestens zwei Kommunikationspartnern, welche zur Verschlüsselung eines jeden Datenblockes einen beliebig wählbaren Verschlüsselungsalgorithmus und einen einer beliebig wählbaren Schlüsselfunktion berechenbaren neuen Schlüssel verwenden, welcher u. a. von einem Basisschlüssel und beliebig wählbaren - insbesondere pseudozufälligen oder absolut zufälligen - Teilschlüsseln abgeleitet ist, wobei in jedem verschlüsselten Datenblock VD¶i¶ sowohl die originalen Daten D¶i¶ als auch ein neuer Teilschlüssel TS¶i+1¶ für den nächsten verschlüsselten Datenblock VD¶i+1¶ enthalten sind. Durch Wahl von bestimmten ...

Description

Die Erfindung betrifft Verschlüsselungs- und Schlüsselmanagementverfahren zur Ver­ schlüsselung von beliebig gearteten, in n (n < = 2) Datenblöcke D0 bis Dn-1 aufteilbare Daten, eines kontinuierlichen Datenstromes DS unbestimmter Länge, einer Folge von einer bestimmten Anzahl n und einer unbestimmten Anzahl von Nachrichten zwischen mindestens zwei Kommunikationspartnern.
In Verschlüsselungsverfahren nach dem Stand der Technik werden die verwendeten Schlüssel entweder als Geheimnis direkt verwendet oder von einem oder mehreren Geheimnissen abgeleitet. Das/Die Geheimnisse müssen alle Kommunikationspartnern bekannt sein, welche die verschlüsselten Daten entschlüsseln und damit Zugriff auf die Originaldaten erlangen wollen. Hat ein Angreifer ein solches Geheimnis einmal gelüftet, ist er in der Lage alle abgeleiteten Schlüssel selbst abzuleiten und damit die komplette verschlüsselte Kommunikation zu entschlüsseln. Dies gilt sowohl für die bereits zuvor als auch für alle zukünftig verschlüsselten Daten. Ein solches System besitzt demnach weder perfekte Rück- noch Vorwärtssicherheit (PBS/PFS - engl. perfect backward/for­ ward security). Zur Erzielung von perfekter Rück- und Vorwärtssicherheit kann in regel­ mäßigen Abständen das gemeinsame Geheimnis durch ein neues ersetzt werden, welches in keinem Bezug zu den vorherigen Geheimnissen steht. Hat der Angreifer in diesem Fall ein Geheimnis gelüftet, kann er mit diesem Wissen nur den Teil der ver­ schlüsselten Daten entschlüsseln, welcher mit dem gelüfteten Geheimnis verschlüsselt wurde oder in Zukunft verschlüsselt wird. Im Falle des Internet Key Exchange (IKE) Pro­ tokolls nach RFC 2409 (siehe auch "IPSec", 2000, Addison Wesley, S. 117ff, insbeson­ dere auch S. 142) kann eine limitierte oder perfekte Vorwärtssicherheit durch regelmäßigen Geheimnisaustausch zwischen den Parteien - z. B.: nach Diffie-Hellmann (US Patent 4200770) oder RSA (US Patent 4405829) - erreicht werden, wobei der Daten-/Nachrichtenstrom mit von dem jeweils letzten Geheimnis abgeleiteten Schlüs­ seln verschlüsselt wird. Dabei erfordern die häufigen Geheimnisaustausche einen relativ hohen Zeit- und Rechenaufwand und müßten, um perfekte Vorwärtssicherheit für jeden Datenblock zu garantieren und jeden Datenblock mit einem absolut unabhängigen Schlüssel zu verschlüsseln, jeweils vor der Verschlüsselung jedes einzelnen Datenbloc­ kes erfolgen. In der Praxis ist dies jedoch ein zu hoher Aufwand und reduziert die effek­ tive Bandbreite der verschlüsselten Nutzdatenübertragung so stark, daß der Geheimnisaustausch nur in größeren Abständen erfolgt und alle dazwischen zu übertra­ genen Datenblöcke mit von einem Geheimnis abgeleiteten Schlüssel verschlüsselt wer­ den. In der Praxis bietet ein solches System also nur eine limitierte Rück- und Vorwärtssicherheit.
Die Aufgabe des vorliegenden Patentes besteht in der Verschlüsselung
  • 1. beliebig gearteter Daten, welche in eine bestimmte Anzahl n von Datenblöcken auf­ geteilt werden können,
  • 2. eines kontinuierlichen Datenstromes unbestimmter Länge,
  • 3. einer Folge einer bestimmten Anzahl n von Nachrichten zwischen mindestens zwei Kommunikationspartnern, und
  • 4. einer Folge einer unbestimmten Anzahl von Nachrichten zwischen mindestens zwei Kommunikationspartnern,
mit perfekter Rück- und Vorwärtssicherheit und vertretbarem Zeit- und Rechenaufwand. Das vorliegende Patent löst die gestellte Aufgabe durch ein iteratives Verschlüsselungs­ verfahren mit beliebigen Einmalschlüsseln nach dem Oberbegriff der Ansprüche 1 bis 4 indem ein Datenblock bzw. ein Datenstrom in Teilblöcke mit jeweils beliebiger Länge auf­ geteilt werden und jeder einzelne Teilblock bzw. jede Nachricht einer Nachrichtenfolge zusammen mit einem beliebig wählbaren Teilschlüssel für den nächsten Datenblock bzw. Nachricht verschlüsselt wird. Dabei sind die Verschlüsselungsalgorithmen VAi
und Schlüsselfunktionen SFi
beliebig - auch für jede einzelne Iteration - wählbar, solange der Entschlüsseler den zu VAi
gehörenden Entschlüsselungsalgorithmus EAi
und die Schlüsselfunktion SFi
entweder kennt oder anhand der ihm bereits bekannten Daten ermitteln kann.
Verschiedene blockorientierte Verschlüsselungsverfahren sind bereits aus US 5003597, PCT/NL94/00245 und US 5799089, US 5870470, US 5974144, US 5987124 und Ver­ schlüsselungsverfahren mit variablen Schlüsseln aus US 5425103, US 5488661, US 5619576, US 5621799 bekannt.
PCT/NL94/00245 und US 5003597 beschreiben eine Verschlüsselungsmethode, welche einen Teil der Eingangsdaten benutzt, um auf eine Tabelle von Zufallszahlen zuzugrei­ fen. Diese Zufallszahlen werden in mehreren Iterationen mit den Eingangsdaten durch Exklusive-Oder (XOR) Operationen verknüpft, solange, bis die Daten vollständig zufällig erscheinen. Der Nachteil dieser Methode ist, daß sowohl Sender als auch Empfänger die Tabelle der Zufallszahlen bekannt sein muß.
US 5799089 beschreibt ein Verfahren zur Verschlüsselung von Daten, welche in N Blöcke von 2m Bits aufgeteilt werden können, wobei der Verschlüsseler zunächst die Reihenfolge der N Blöcke umkehrt, bevor er eine XOR-Operation und anschließend eine Verschlüsselungsfunktion auf jedem Datenblock ausführt. Da keine weiteren Schlüssel­ managementmittel beschrieben werden, muß man davon ausgehen, daß der verwen­ dete Verschlüsselungsalgorithmus stets denselben Schlüssel verwendet.
US 5870470 und US 5987124 beschreiben Verfahren für die Verschlüsselung von langen Blöcken mit Hilfe eines Verschlüsselungsalgorithmus für kurze Datenblöcke, wobei die originalen Daten zunächst maskiert und anschließend ein Teil der maskierten Daten ver­ schlüsselt werden. Zusätzlich können die Eingangsdaten oder zusätzliche zur Maskie­ rung verwendete Daten durch einen Zähler, Zeitstempel, Zufallszahlen oder andere Mittel, bei jeder Verschlüsselung modifiziert werden.
US 5974144 beschreibt ein Verfahren zur Verschlüsselung von partitionierten Datenblöc­ ken mit Hilfe von öffentlichen Schlüsseln und Zufallszahlen, wobei der erste Benutzer einen ersten geheimen und einen ersten öffentlichen Schlüssel und der zweite Benutzer einen zweiten geheimen und einen zweiten öffentlichen Schlüssel besitzt, und ein globa­ ler Schlüssel von dem zweiten öffentlichen und dem ersten geheimen Schlüssel abgelei­ tet wird. Das Verfahren teilt u. a. jeden Datenblock in mehrere Subblöcke auf, verschlüsselt sie durch sequentielle XOR-Operationen, teilt den so verschlüsselten Datenblock in zwei Teile auf, erzeugt in Abhängigkeit vom ersten Teil eine Zufallszahl, und verschlüsselt mit dieser Zufallszahl den zweiten Teil des Datenblockes.
US 5425103 beschreibt ein Verschlüsselungssystem mit variablen Schlüsseln, wobei jeder Benutzer- bzw. Basisschlüssel nach einer genau beschriebenen Prozedur von einem Eingabebenutzerschlüssel bzw. vorbestimmten Basisschlüssel abgeleitet wird, so daß die verwendeten Benutzer- bzw. Basisschlüssel bei Kenntnis des Eingabebenutzer­ schlüssels bzw. des vorbestimmten Basisschlüssels reproduziert werden können.
US 5488661 beschreibt mehrere Verschlüsselungssysteme, welche für jeden Verschlüs­ selungsvorgang einen Schlüssel aus einer Menge von vorherbestimmten Schlüsseln anhand der verschlüsselten Daten des vorherigen Verschlüsselungsvorgangs auswählt und die originalen Daten mit Hilfe des ausgewählten Schlüssels verschlüsselt.
US 5619576 beschreibt ein Verschlüsselungssystem mit variablen Schlüsseln, wobei der endgültige Schlüssel durch Manipulation eines oder mehrerer Benutzerschlüssel, eines Basisschlüssels und den zu verschlüsselnden Daten, und Kombination der manipulier­ ten Schlüssel mit den Daten mit Hilfe einer Exklusiven-Oder-Funktion (XOR) berechnet wird. Dabei wird für jeden Datenblock ein neuer endgültiger Schlüssel berechnet und verwendet.
US 5621799 beschreibt Verschlüsselungssysteme mit zwei Zufallszahlengeneratoren mit unterschiedlichen Intervallen, wobei das Intervall des ersten länger ist als das des zweiten Zufallszahlengenerators und die Zufallszahl des ersten Zufallsgenerators als Basis für den zweiten Zufallszahlengenerator verwendet wird, und darüberhinaus Mittel enthält, um die Zufallszahl des ersten Generators zusammen mit den verschlüsselten Daten zu multiplexen. Dabei werden stets die Zufallszahl des ersten Generators mit den durch dieselbe Zufallszahl des ersten Generators erzeugten zweiten Zufallszahl ver­ schlüsselten Daten zusammen gemultiplext. Der zweite Zufallsgenerator muß reprodu­ zierbar aus einer übertragenen ersten Zufallszahl stets dieselbe zweite Zufallszahl - also eine deterministische Pseudozufallszahl - erzeugen.
Keines der bekannten Verfahren verwendet jedoch für jeden Datenblock einen neuen Schlüssel, welcher u. a. von einem Basisschlüssel und vom Verschlüsseler absolut belie­ big wählbaren Teilschlüsseln abhängt, wobei in jedem verschlüsselten Datenblock VDi sowohl die originalen Daten Di als auch der Teilschlüssel TSi+1 für den nächsten ver­ schlüsselten Datenblock VDi+1 enthalten sind.
Bei den Verfahren nach Ansprüchen 1 und 3, welche eine bestimmte Anzahl n von Datenblöcken bzw. Nachrichten voraussetzen, ist es nicht erforderlich, in der letzten Ite­ ration den nächsten Schlüssel Sn zu berechnen (Anspruch 5).
Die Verfahren nach Ansprüchen 1 bis 5 setzen voraus, daß sowohl dem Verschlüsseler als auch dem Entschlüsseler derselbe Basisschlüssel BS bekannt ist. Die Art und Weise, auf welche die beteiligten Parteien die Kenntnis des Basisschlüssel erlangen bzw. sich gegenseitig die Kenntnis desselben Basisschlüssels nachweisen, kann beispielsweise nach einem der bereits bekannten Schlüsselaustauschverfahren (Anspruch 6) bzw. Wis­ sensverifikationsverfahren (Anspruch 7) erfolgen, wobei es besonders vorteilhaft ist, wenn bei dem verwendeten Wissensverifikationsverfahren der Basisschlüssel nicht zwi­ schen Verschlüsseler und Entschlüsseler bzw. Sender und Empfänger ausgetauscht wird (Anspruch 8). Die Teilschlüssel TSi können vom jeweiligen Verschlüsseler absolut frei, insbesondere auch pseudozufällig (Anspruch 9) oder absolut zufällig (Anspruch 10), gewählt werden. Selbstverständlich decken Ansprüche 1 bis 10 auch die Spezialfälle ab, daß erstens mindestens zweimal - insbesondere auch für alle i - derselbe Verschlüsse­ lungs- und Entschlüsselungsalgorithmus verwendet wird (Anspruch 11), oder zweitens der Verschlüsselungsalgorithmus VAi aus einer vorgegebenen Menge MVAi von ver­ schiedenen Verschlüsselungsalgorithmen beliebig anhand der bereits bekannten Schlüssel S0, . . ., Si, Daten D0, . . ., Di-1, Teilschlüssel TS1, . . ., TSi oder den verschlüsselten Daten VDi bzw. der verschlüsselten Nachricht VNi gewählt wird, so daß der zu VAi gehö­ rende Entschlüsselungsalgorithmus EAi für den Entschlüsseler bzw. die Empfänger implizit anhand der bereits bekannten Schlüssel S0, . . ., Si, Daten D0, . . ., Di-1, Teilschlüssel TS1, . . ., TSi oder den verschlüsselten Daten VDi bzw. der verschlüsselten Nachricht VNi aus genannter Menge MVAi bestimmbar ist (Anspruch 12), wobei die Mengen der Ver­ schlüsselungsalgorithmen MVAi für alle bzw. einen Teil der Iterationen identisch (Anspruch 13) oder verschieden sein können. Ansprüche 14 bis 16 betreffen Spezialfälle zur Auswahl der Schlüsselfunktionen SFi. Ansprüche 17 bis 19 beschreiben die Erweite­ rung der zu verschlüsselnden Daten um pseudozufällige oder absolut zufällige Zusatz­ daten zur weiteren Erschwerung von statistischen Angriffen.
Durch die absolut freie Wahl der Teilschlüssel TSi und der Berechnung der Schlüssel S. +1 in Abhängigkeit von allen dem Ver- und Entschlüsseler bekannten Daten - insbeson­ dere des Basisschlüssels selbst und aller vorherigen Teilschlüssel -, kann ein Angreifer allein mit dem Wissen, welches er durch die erfolgreiche Entschlüsselung eines/r Daten­ blockes/Nachricht erlangt, weder vorherige noch zukünftige Datenblöcke/Nachrichten entschlüsseln. Wählt man insbesondere die Teilschlüssel pseudozufällig oder absolut zufällig und als Schlüsselfunktion eine starke Einwegfunktion, ist es auch nicht möglich, durch - heutzutage sehr beliebte und in vielen Fällen sehr erfolgreiche - statistische Attacken eventuell den Basisschlüssel zu ermitteln, da die verwendeten Schlüssel Si wegen der zunehmenden Zufälligkeit der einfließenden Teilschlüssel zunehmend stati­ stisch gleichverteilt sind und somit immer weniger statistisch verwertbare Informationen enthalten.
Die neuen Teilschlüssel TSi+1 werden zusammen mit den Daten/Nachrichten D/Ni ver­ schlüsselt und übertragen, so daß die in den Ansprüchen dieses Patentes beschriebe­ nen Verfahren perfekte Vorwärts- und Rückwärtssicherheit bieten, ohne in regelmäßigen Abständen gemeinsame Geheimnisse austauschen zu müssen. Vielmehr wird die origi­ nale Datenmenge lediglich um die Teilschlüssel erhöht und für jede/n Datenblock/Nach­ richt ein neuer Schlüssel berechnet.
Gleichzeitig garantiert die Zufälligkeit der Teilschlüssel und das gemeinsame Verschlüs­ seln der originalen Daten zusammen mit einem Teilschlüssel, daß - selbst bei denselben originalen Daten, demselben Schlüssel und demselben Verschlüsselungsalgorithmus - bei jedem Verschlüsselungsvorgang stets unterschiedliche verschlüsselte Daten erzeugt werden. Eine Eigenschaft, welche bei Verfahren nach dem Stand der Technik nur durch Mischung der originalen Daten mit zufälligem Datenballast (sogenanntes "Salt") erreicht werden kann, welcher ansonsten keine weitere Funktionen erfüllt. Gerade die Doppel­ funktion der beliebig wählbaren Teilschlüssel gleichzeitig als "Salt" zu wirken ist einer der besonderen Vorteile der in diesem Patent beschriebenen Verschlüsselungsverfahren.
Gegenüber US 5870470 und US 5987124 betrifft ein Verfahren nach Ansprüchen 1 bis 4 eher das Schlüsselmanagement als konkrete Verschlüsselungsalgorithmen, insbeson­ dere ist z. B. die Maskierung der originalen Daten nicht erforderlich. Gleichwohl kann natürlich ein Verschlüsselungsverfahren nach US 5870470 oder US 5987124 als Ver­ schlüsselungsalgorithmus in einem Verfahren nach Ansprüchen 1 bis 4 eingesetzt wer­ den. Ferner beschreiben weder US 5870470 noch US 5987124 Verfahren mit beliebig wählbaren Einmalschlüsseln, so daß bei der Verschlüsselung davon ausgegangen wer­ den muß, daß stets derselbe Schlüssel verwendet wird.
Abb. 1 illustriert den allgemeinen Ablaufplan eines Verschlüsselungsverfahrens nach Ansprüchen 1, 2 oder 5a) auf der Seite des Verschlüsselers und b) des Entschlüs­ selers. Zunächst setzen Verschlüsseler und Entschlüsseler zur Initialisierung der Iterati­ onsschleifen i = 0 und verwenden als ersten Schlüssel S0 den ihnen bekannten Basisschlüssel BS.
Zu Beginn der i-ten Iterationsschleife wählt der Verschlüsseler zunächst einen beliebigen Teilschlüssel TSi+1. Anschließend berechnet er mit Hilfe eines beliebig wählbaren Ver­ schlüsselungsalgorithmus VAi in Abhängigkeit von den bereits bekannten Schlüsseln S0 = BS, S1 bis Si, den originalen Daten D0 bis Di, sowie den Teilschlüsseln TS0 bis TSi+1 die verschlüsselten Daten VDi
VDi = VAi(S0,. . .,Si,D0,. . .,Di,TS1,. . .,TSi+1) (1)
und den Schlüssel Si+1 für die nächste Iteration
Si+1 = SFi+1(S0,. . .,Si,D0,. . .,Di,TS1,. . .,TSi+1), (2)
wobei in der ersten Iteration (i = 0) die Berechnungen nach
VD0 = VA0(S0,D0,TS1) (3)
S1 = SF1(S0,D0,TS1) (4)
erfolgen.
Der Entschlüsseler berechnet mit Hilfe des zu VAi gehörenden Entschlüsselungsalgorith­ mus EAi in Abhängigkeit von den bereits bekannten Schlüsseln S0 bis Si, den bereits entschlüsselten originalen Daten D0 bis Di-1, sowie den Teilschlüsseln TS0 bis TSi aus den verschlüsselten Daten VDi die originalen Daten Di und den Teilschlüssel TSi+1
(Di,TSi+1) = EAi(S0,. . .,Si,D0,. . .,Di+1,TS1,. . .,TSi,VDi) (5)
sowie den Schlüssel Si+1 für die nächste Iteration
Si+1 = SFi+1(S0,. . .,Si,D0,. . .,Di,TS1,. . .,TSi+1), (6)
wobei in der ersten Iteration (i = 0) die Berechnungen
(D0,TS1) = EA0(S0,VD0) (7)
S1 = SF1(S0,D0,TS1) (8)
folgen.
Nach Ver- bzw. Entschlüsselung des i-ten Datenblockes setzen Ver- bzw. Entschlüsseler i auf i+1 und wiederholen denselben Vorgang für den nächsten Datenblock. Bei Ver­ schlüsselung einer endlichen Anzahl von Datenblöcken wird dieser Vorgang solange fortgesetzt, bis der letzte Datenblock (n-1) ver- bzw. entschlüsselt wurde. Bei Verschlüs­ selung eines kontinuierlichen Datenstromes nach Anspruch 2 wiederholen Ver- und Ent­ schlüsseler die Iterationen endlos.
Daselbe in Anspruch 1 und 2 verwendete Verfahren für beliebige Daten, welche in eine bestimmte oder unbestimmte Anzahl von Datenblöcken aufgeteilt werden können, läßt sich auch auf den Fall der nachrichtenorientierten Kommunikation zwischen 2 oder mehr Kommunikationspartnern anwenden. In diesem Fall kann jede einzelne Nachricht selbst in mehrere Datenblöcke zerlegt und nach Anspruch 1 verschlüsselt werden, oder die einzelnen Nachrichten als jeweils eine Verschlüsselungseinheit (Datenblock) dienen (Ansprüche 3 und 4). Wichtig ist nur, daß alle Partner denselben Basisschlüssel BS ken­ nen und jeder Empfänger den kompletten Satz aller verschlüsselten Nachrichten in der korrekten Reihenfolge erhält. Dabei ist die Anzahl der Empfänger prinzipiell unbe­ schränkt und kann frei gewählt werden. Ferner ist es unerheblich, welcher der Kommuni­ kationspartner die i-te Nachricht verschlüsselt, solange sichergestellt ist, daß alle beteiligten Partner den lückenlosen Nachrichtenstrom in der richtigen Reihenfolge ken­ nen. So kann beispielsweise ein Nachrichtenstrom von einem einzigen Sender oder ein­ zelne Nachrichten von verschiedenen Sendern verschlüsselt und an alle anderen Empfänger übermittelt werden, solange alle beteiligten Partner den kompletten Nach­ richtenstrom zur Verfügung haben.
Abb. 2 veranschaulicht die Verschlüsselung einer Folge von Nachrichten zwischen einem Sender P1 und einem Empfänger P2 mit Übertragung einer verschlüsselten Nach­ richt VNi während jeder Iteration. Zunächst setzen Sender und Empfänger zur Initialisie­ rung der Iterationsschleifen i = 0 und verwenden als ersten Schlüssel S0 den beiden bekannten Basisschlüssel BS.
Zu Beginn der i-ten Iterationsschleife wählt der Sender zunächst einen beliebigen Teil­ schlüssel TSi+1. Anschließend berechnet er mit Hilfe eines beliebigen Verschlüsselungs­ algorithmus VAi in Abhängigkeit von den bereits bekannten Schlüsseln S0 = BS, S1 bis Si, den originalen Nachrichten N0 bis Ni, sowie den Teilschlüsseln TS0 bis TSi+1 die ver­ schlüsselte Nachricht VNi
VNi = VAi(S0,. . .,Si,N0,. . .,Ni,TS1,. . .,TSi+1), (9)
überträgt VNi an den Empfänger, und berechnet den Schlüssel Si+1 für die nächste Itera­ tion
Si+1 = SFi+1(S0,. . .,Si,N0,. . .,Ni,TS1,. . .,TSi+1), (10)
wobei in der ersten Iteration (i = 0) die Berechnungen nach
VN0 = VA0(S0,N0,TS1) (11)
S1 = SF1(S0,N0,TS1) (12)
erfolgen.
Der Empfänger empfängt die verschlüsselte Nachricht VNi und berechnet mit Hilfe des zu VAi gehörenden Entschlüsselungsalgorithmus EAi in Abhängigkeit von den bereits bekannten Schlüsseln S0 bis Si, den bereits entschlüsselten originalen Nachrichten N0 bis Ni-1, sowie den bereits bekannten Teilschlüsseln TS0 bis TSi aus den verschlüsselten Daten VNi die originale Nachricht Ni und den Teilschlüssel TSi+1
(Ni,TSi+1) = EAi(S0,. . .,Si,N0,. . .,Ni+1,TS1,. . .,TSi,VDi) (13)
sowie den Schlüssel Si+1 für die nächste Iteration
Si+1 = SFi+1(S0,. . .,Si,N0,. . .,Ni,TS1,. . .,TSi+1), (14)
wobei in der ersten Iteration (i = 0) die Berechnungen
(N0,TS1) = EA0(S0,N0) (15)
S1 = SF1(S0,N0,TS1) (16)
folgen.
Nach Ver- bzw. Entschlüsselung der i-ten Nachricht setzen Sender bzw. Empfänger i auf i+1 und wiederholen denselben Vorgang für die nächste Nachricht. Bei Verschlüsselung einer endlichen Anzahl von Nachrichten wird dieser Vorgang solange fortgesetzt, bis die letzte Nachricht (n-1) ver- bzw. entschlüsselt wurde. Bei Verschlüsselung eines kontinu­ ierlichen Nachrichtenstromes nach Anspruch 4 wiederholen Sender und Empfänger die Iterationen endlos.
In Abb. 3 ist ein weiteres Beispiel eines Verschlüsselungsverfahrens nach einem der Ansprüche 3 oder 4 abgebildet. Im Gegensatz zum Beispiel von Abb. 2 wech­ seln sich in diesem Beispiel P1 und P2 als Sender bzw. Empfänger in Iteration k und k+1 gegenseitig ab. Diese Variante eignet sich besonders gut für ein transaktionsorientiertes Client/Server-System, in welchem ein Client (P1) eine Anforderung in Iteration k an den Server (P2) schickt und der Server in Iteration k+1 dem Client antwortet, woraufhin der Client mit der nächsten Anforderung fortfährt.
Die Wahl der Verschlüsselungsalgorithmen VAi ist in so fern beliebig, als es für jeden Verschlüsselungsalgorithmus VAi einen Entschlüsselungsalgorithmus EAi geben muß, mit dessen Hilfe der Entschlüsseler mit Kenntnis der bereits berechneten Schlüssel S0, . . ., Si der bereits entschlüsselten Daten D0, . . .,Di-1, sowie der bereits übertragenen Teilschlüssel TS1, . . ., T5i aus den/r verschlüsselten Daten/Nachricht VD/Ni die origi­ nal(en) Daten/Nachricht D/Ni und den Teilschlüssel TSi+1 ermitteln kann.
Die Ver- und Entschlüsselungsalgorithmen VAi und EAi können sowohl alle spezifizierten Parameter explizit verwenden als auch nur eine beliebige Teilmenge der spezifizierten Parameter explizit verwenden und von den übrigen Parametern unabhängig sein.
Zur Reduzierung des notwendigen Rechenaufwandes sind die folgenden Spezialfälle besonders vorteilhaft:
Die Verschlüsselungsalgorithmen VAi hängen lediglich vom zuletzt berechneten Schlüs­ sel Si, dem zuletzt gewählten Teilschlüssel TSi+1 und den/r zu verschlüsselnden Daten/­ Nachricht D/Ni ab
VDi = VAi(Si,Di,TSi+1) bzw. VNi = VAi(Si,Ni,TSi+1) (17)
Die Schlüsselfunktionen SFi+1 hängen nur von dem zuletzt gewählten Teilschlüssel TSi+1 ab
Si+1 = SFi+1(TSi+1) (18)
mit dem Trivialbeispiel Si+1 = TSi+1. In diesem Fall kann ein Angreifer nach Entschlüsse­ lung der i-ten Daten/Nachricht VD/Ni auch die i+1-te(n) Daten/Nachricht VD/Ni+1 und somit alle folgenden verschlüsselten Daten bzw. Nachrichten entschlüsseln. Ein solches System bietet also nur eine perfekte Rückwärtssicherheit und keine perfekte Vorwärtssi­ cherheit.
Dieser Nachteil kann durch zusätzliche Abhängigkeit der Schlüsselfunktionen SFi+1 von dem Basisschlüssel S0 behoben werden
Si+1 = SFi+1(S0,TSi+1) (19)
Falls es einem Angreifer gelingt, die i-ten Daten/Nachricht VD/Ni zu entschlüsseln und er damit sowohl den i-ten Schlüssel Si als auch den i+1-ten Teilschlüssel TSi+1 kennt, genügt dieses Wissen nicht aus, um den i+1-ten Schlüssel Si+1 zu bestimmen und damit die i+1-ten Daten/Nachricht VD/Ni+1 zu entschlüsseln, da hierzu zusätzlich die Kenntnis des Basisschlüssels S0 erforderlich ist. In diesem Fall könnte der Angreifer eventuell nach erfolgreichem Entschlüsseln mehrerer Daten/Nachrichten eventuell durch statisti­ sche Analysen den Basisschlüssel erraten.
Die statistische Analyse der verwendeten Schlüssel Si mit dem Ziel den zugrundeliegen­ den Basisschlüssel zu ermitteln, kann durch zusätzliche Abhängigkeit der Schlüsselfunk­ tionen SFi+1 von allen zuvor verwendeten Schlüsseln S0 bis Si
Si+1 = SFi+1(S0,. . .,Si,TSi+1) (20)
oder durch Hinzunahme der originalen Daten/Nachrichten D/N0, . . .,D/Ni
Si+1 = SFi+1(S0,. . .,Si,D/N0,. . .,D/Ni,TSi+1) (21)
oder durch Hinzunahme der vorherigen Teilschlüssel TS1, . . .,TSi
Si+1 = SFi+1(S0,. . .,Si,D/N0,. . .,D/Ni,TS1,. . .,TSi,TSi+1) (22)
wesentlich erschwert werden. In diesen Fällen benötigt ein Angreifer die vollständige Kenntnis der gesamten Vorgeschichte, um aus einem/r entschlüsselten Daten­ block/Nachricht den Schlüssel für die nächste(n) Daten/Nachricht bestimmen zu können. Da die Teilschlüssel TSi+1 beliebig - insbesondere auch absolut zufällig - gewählt werden können, wird eine statistische Analyse der verwendeten Schlüssel mit dem Ziel den zugrundeliegenden Basisschlüssel zu bestimmen wesentlich erschwert. Durch die zunehmende Abhängigkeit von den Teilschlüsseln TSi nähert sich die Verteilung der ver­ wendeten Schlüssel Si mit steigender Anzahl von Iterationen immer mehr einer statisti­ schen Gleichverteilung an, was die Bestimmung des Basisschlüssels durch statistische Analyse der verwendeten Schlüssel Si zunehmend erschwert.
Die beste Chance für einen Angreifer besteht demnach darin, die erste(n) verschlüssel­ ten Daten/Nachricht VD/N0 zu entschlüsseln und so eventuell den Basisschlüssel S0 direkt zu bestimmen. Dies kann jedoch beispielsweise durch Wahl eines besonders star­ ken Verschlüsselungsalgorithmus VA0 und/oder eines besonders langen Basisschlüssel S0 erschwert werden. Ferner besteht auch die Möglichkeit, eine bestimmte Anzahl von verschlüsselten Datenblöcken/Nachrichten zu Beginn der verschlüsselten Kommunika­ tion über einen unabhängigen separaten Kommunikationskanal - wie z. B. auf einem spe­ ziellen Netzwerkpfad, telefonisch, schriftlich, per Firmware oder per separatem Datenträger - zu übertragen, welcher für einen potentiellen Angreifer mit größtmöglicher Wahrscheinlichkeit nicht zugänglich ist. Schon der Schlüssel S1 = SF1(S0,TS1) der zwei­ ten verschlüsselten Daten/Nachricht VD/N1 enthält mit TS1 die erste Zufallskomponente. Für alle folgenden verschlüsselten Daten/Nachrichten steigt das Gewicht der Zufalls­ komponente durch die hinzukommenden Teilschlüssel TSi mit jeder Iteration weiter an. Falls es einem Angreifer gelingt, die i-te(n) Daten/Nachricht VD/Ni zu entschlüsseln und er damit sowohl den i-ten Schlüssel Si als auch den i+1-ten Teilschlüssel TSi+1 kennt, genügt dieses Wissen nicht aus, um den i+1-ten Schlüssel Si+1 zu bestimmen und damit die i+1-te(n) Daten/Nachricht VD/Ni+1 zu entschlüsseln, da hierzu mindestens die Kennt­ nis des Basisschlüssels S0 bzw. der gesamten Schlüsselvorgeschichte S0 bis Si, ja sogar der gesamten originalen Daten/Nachrichten D/N0 bis D/Ni oder Teilschlüssel TS1 bis TSi erforderlich ist.
In einem konkreten Beispiel eines Verschlüsselungsverfahrens nach einem der Ansprü­ che 1 bis 2 kann der Basisschlüssel S0 = BS mit einer Länge von 256 Bits dem Ver­ schlüsseler und dem/den Entschlüsseler(n) bereits bekannt sein, oder nach einem der bekannten Schlüsselaustauschverfahren - wie Diffie-Hellmann (US Patent 4200770) oder IKE (Internet RCF 2409, "IPSec", 2000, Addison-Wesley, p. 117ff) - zu Beginn untereinander ausgetauscht werden. Die zu verschlüsselnden Daten werden in Daten­ blöcke derselben Länge wie der Basisschlüssel (256 Bits) aufgeteilt, wobei der letzte Datenblock notfalls bis zur Schlüssellänge mit beliebigen Daten erweitert werden kann. Auch die Teilschlüssel TSi besitzen alle dieselbe Länge wie der Basisschlüssel (256 Bits). In jeder Iteration wird zunächst ein neuer Teilschlüssel TSi mit Hilfe eines Pseudo­ zufallsgenerators erzeugt und mit den zu verschlüsselnden Daten Di in einem 512-Bit langen Datenblock DiTSi+1 zusammengeführt, der Datenblock DiTSi+1 - bestehend aus den beiden Teilblöcken Di und TSi+1 - anschließend mit Schlüssel Si und einem beliebi­ gen Verschlüsselungsalgorithmus VA
VDi = VAi(Si,DiTSi+1) = VA(Si,DiTSi+1) (23)
verschlüsselt, und schließlich der neue Schlüssel Si+1 für die nächste Iteration
Si+1 = S0 xor (Di xor TSi+1) (24)
berechnet, wobei die Berechnungen in der ersten Iteration nach
VD0 = VA0(S0,D0TS1) = VA(S0,D0TS1) (25)
S1 = S0 xor (D0 xor TS1) (26)
erfolgen (mit "xor" als boolsche "exclusive or"-Funktion).
Der Entschlüsseler berechnet in der i-ten Iteration mit Hilfe des zu VA gehörenden Ent­ schlüsselungsalgorithmus EA in Abhängigkeit von dem bereits bekannten Schlüssel Si aus den verschlüsselten Daten VDi den Datenblock DiTSi+1 und damit die originalen Daten Di und den Teilschlüssel TSi+1
(Di,TSi+1) = DiTSi+1 = EAi(Si,VDi) = EA(Si,VDi) (27)
sowie den Schlüssel Si+1 für die nächste Iteration
Si+1 = S0 xor (Di xor TSi+1) (28)
wobei in der ersten Iteration (i = 0) die Berechnungen
(D0,TS1) = D0TS1 = EA(S0,VD0) (29)
S1 = S0 xor (D0 xor TS1) (30)
folgen.
Dieses Beispiel kann leicht so modifiziert werden, daß in den Schlüssel % alle bisherigen Teilschlüssel TS1, . . ., TSi eingehen, indem man in jeder Iteration mit i < 0 zusätzlich einen kumulativen Teilschlüssel
KTSi+1 = KTSi xor TSi+1 mit KTS1 = TS1 (31)
berechnet und anstelle von TSi+1 in der Schlüsselberechnung
Si+1 = S0 xor (Di xor KTSi+1) (32)
verwendet. Dasselbe Verfahren kann auch für die Daten Di angewendet werden, indem in jeder Iteration mit i < 0 anstelle von Di die kumulativen Daten
KDi+1 = KDi xor Di mit KD1 = D0 (33)
in die Schlüsselberechnung
Si+1 = S0 xor (KDi xor KTSi+1) (34)
einfließen.
Selbstverständlich ist ein Verschlüsselungsverfahren nach Ansprüchen 1 oder 2 weder auf eine fixe Blocklänge der originalen Daten, Schlüssel und Teilschlüssel limitiert. Sie können vielmehr frei gewählt werden, ja sogar von Iteration zu Iteration variieren, solange die Ver- und Entschlüsselungsalgorithmen und Schlüsselfunktionen sie verar­ beiten können.
Dasselbe Beispiel kann auch auf ein nachrichtenorientiertes Verschlüsselungsverfahren nach Ansprüchen 3 oder 4 angewendet werden, wobei als Datenblöcke die einzelnen Nachrichten selbst verwendet oder jede Nachricht in mehrere Datenblöcke zerlegt wer­ den kann.
Die in diesem Patent beschriebenen Verschlüsselungsverfahren sind selbstverständlich nicht nur auf freiprogrammierbare elektronische Rechenmaschinen beschränkt, sondern können auch als Firmware in beliebigen Automaten enthalten sein oder mindestens teil­ weise durch menschliche Arbeitskraft ausgeführt werden.
Durch die freie Wahl
  • 1. der Verschlüsselungsalgorithmen und Schlüsselfunktionen selbst und
  • 2. der in den Verschlüsselungsalgorithmen und Schlüsselfunktionen explizit eingehen­ den Parameter
fassen sich beliebige weitere Verschlüsselungsverfahren direkt oder indirekt ableiten, welche alle nach dem beschriebenen Prinzip beliebige Einmalschlüssel verwenden kön­ nen und mit diesem Patent abgedeckt sind.

Claims (19)

1. Verfahren zur Verschlüsselung von beliebig gearteten Daten D, welche in n (n < = 2) jeweils beliebig große Datenblöcke D0 bis Dn-1 aufgeteilt werden können, dadurch gekennzeichnet, daß
  • a) sowohl dem Verschlüsseler V und als auch dem Entschlüsseler E derselbe beliebig geartete Basisschlüssel BS bekannt ist, welcher in Iteration i = 0 als Schlüssel S0 = BS verwendet wird, und
  • b) der Verschlüsseler V beginnend bei i = 0 sukzessive für alle ganzzahligen i < n - zur Verschlüsselung des Datenblockes Di - einen beliebigen Teilschlüssel TSi+1 wählt, mit Hilfe eines beliebigen Verschlüsselungsalgorithmus VAi in Abhängigkeit von S0, . . ., Si, D0, . . ., Di, und TS1, . . ., TSi+1 den verschlüsselten Datenblock VDi berechnet, und mit Hilfe einer beliebigen Funktion SFi+1 in Abhängigkeit von S0, . . ., Si, D0, . . ., Di, und TS1, . . ., TSi+1 den Schlüssel Si+1 bestimmt, und
  • c) der Entschlüsseler E für i = 0 - zur Entschlüsselung des Datenblockes VD0 - mit Hilfe eines zu VA0 gehörenden Entschlüsselungsalgorithmus EA0 und genanntem Schlüssel S0 aus genanntem verschlüsselten Datenblock VD0 den originalen Datenblock D0 und den Teilschlüssel TS1 bestimmt, und beginnend bei i = 1 sukzessive für alle ganzzahligen i < n - zur Entschlüsse­ lung des Datenblockes VDi - mit Hilfe eines zu VAi gehörenden Entschlüsse­ lungsalgorithmus EAi in Abhängigkeit von S0, . . ., Si, D0, . . ., Di+1, und TS1, . . ., TSi und genanntem verschlüsselten Datenblock VDi sowohl den originalen Daten­ block Di als auch den Teilschlüssel TSi+1 bestimmt, und für alle i mit Hilfe genannter Funktion SFi+1 in Abhängigkeit von S0, . . ., Si, D0, . . ., Di, und TS1, . . ., TSi+1 den Schlüssel Si+1 bestimmt.
2. Verfahren zur Verschlüsselung eines kontinuierlichen Datenstromes DS unbe­ stimmter Länge, welcher in eine Folge von einer unbestimmten Anzahl jeweils beliebig große Datenblöcke Di (i < 0) aufgeteilt werden kann, dadurch gekenn­ zeichnet, daß
  • a) sowohl dem Verschlüsseler V und als auch dem Entschlüsseler E derselbe beliebig geartete Basisschlüssel BS bekannt ist, welcher in Iteration i = 0 als Schlüssel S0 = BS verwendet wird, und
  • b) der Verschlüsseler V beginnend bei i = 0 sukzessive für alle ganzzahligen i - zur Verschlüsselung des Datenblockes Di - einen beliebigen Teilschlüssel TSi+1 wählt, mit Hilfe eines beliebigen Verschlüsselungsalgorithmus VAi in Abhängigkeit von S0, . . ., Si, D0, . . ., Di, und TS1, . . ., TSi+1 den verschlüsselten Datenblock VDi berechnet, und mit Hilfe einer beliebigen Funktion SFi+1 in Abhängigkeit von S0, . . ., Si, D0, . . ., Di, und TS1, . . ., TSi+1 den Schlüssel Si+1 bestimmt, und
  • c) der Entschlüsseler E für i = 0 - zur Entschlüsselung des Datenblockes VD0 - mit Hilfe eines zu VA0 gehörenden Entschlüsselungsalgorithmus EA0 und genanntem Schlüssel S0 aus genanntem verschlüsselten Datenblock VD0 den originalen Datenblock D0 und den Teilschlüssel TS1 bestimmt, und beginnend bei i = 1 sukzessive für alle ganzzahligen i - zur Entschlüsselung des Datenblockes VDi - mit Hilfe eines zu VAi gehörenden Entschlüsselungs­ algorithmus EAi in Abhängigkeit von S0, . . ., Si, D0, . . ., Di, und TS1, . . ., TSi und genanntem verschlüsselten Datenblock VDi sowohl den originalen Daten­ block Di als auch den Teilschlüssel TSi+1 bestimmt, und für alle i mit Hilfe genannter Funktion SFi+1 in Abhängigkeit von S0, . . ., Si, D0, . . ., Di, und TS1, . . ., TSi+1 den Schlüssel Si+1 bestimmt.
3. Verfahren zur Verschlüsselung einer Folge von n jeweils beliebig großer Nachrich­ ten Ni (0 < = i < n) zwischen einer beliebigen Anzahl p < = 2 von Kommunikations­ partnern P1 bis Pp, dadurch gekennzeichnet, daß
  • a) jedem der Kommunikationspartner P1 bis Pp derselbe beliebig geartete Basis­ schlüssel BS bekannt ist, welcher in Iteration i = 0 als Schlüssel S0 = BS ver­ wendet wird, und
  • b) beginnend bei i = 0 sukzessive für alle ganzzahligen i mit i < n jeweils einer der Kommunikationspartner Pji (1 < = ji < = p) - zur Verschlüsselung der Nach­ richt Ni - einen beliebigen Teilschlüssel TSi+1 wählt, mit Hilfe eines beliebigen Verschlüsselungsalgorithmus VAi in Abhängigkeit von S0, . . ., Si, N0, . . ., Ni, und TS1, . . ., TSi+1 die verschlüsselte Nachricht VNi berechnet, und mit Hilfe einer beliebigen Funktion SFi+1 in Abhängigkeit von S0, . . ., Si, N0, . . ., Ni, und TS1, . . ., TSi+1 den Schlüssel Si+1 bestimmt, und die verschlüsselte Nachricht VNi an alle Kommunikationspartner außer Pji übermittelt, und
  • c) beginnend bei i = 0 sukzessive für alle ganzzahligen i alle Kommunikations­ partner außer Pji die verschlüsselte Nachricht VNi von Pji empfangen, und - zur Entschlüsselung der Nachricht VN0 - mit Hilfe eines zu VA0 gehörenden Entschlüsselungsalgorithmus EA0 und genanntem Schlüssel S0 aus genann­ ter verschlüsselten Nachricht VN0 sowohl die originale Nachricht N0 als auch den Teilschlüssel TS1 bestimmen, und - zur Entschlüsselung der Nachricht VNi (i < 0) - mit Hilfe eines zu Ai gehö­ renden Entschlüsselungsalgorithmus EAi in Abhängigkeit von S0, . . ., Si, D0, . . ., Di, und TS1, . . ., TSi und genannter verschlüsselter Nachricht VNi sowohl die originale Nachricht Ni als auch den Teilschlüssel TSi+1 bestimmen, und für alle i mit Hilfe genannter Funktion SFi+1 in Abhängigkeit von S0, . . ., Si, D0, . . ., Di, und TS1, . . ., TSi+1 den Schlüssel Si+1 bestimmen.
4. Verfahren zur Verschlüsselung einer Folge von einer unbestimmten Anzahl jeweils beliebig großer Nachrichten Ni (i < 0) zwischen einer beliebigen Anzahl p < = 2 von Kommunikationspartnern P1 bis Pp, dadurch gekennzeichnet, daß
  • a) jedem der Kommunikationspartner P1 bis Pp derselbe beliebig geartete Basis­ schlüssel BS bekannt ist, welcher in Iteration i = 0 als Schlüssel S0 = BS ver­ wendet wird, und
  • b) beginnend bei i = 0 sukzessive für alle ganzzahligen i jeweils einer der Kom­ munikationspartner Pji (1 < = ji < = p) - zur Verschlüsselung der Nachricht Ni - einen beliebigen Teilschlüssel TSi+1 wählt, mit Hilfe eines beliebigen Ver­ schlüsselungsalgorithmus VAi in Abhängigkeit von S0, . . ., Si, N0, . . ., Ni, und TS1, . . ., TSi+1 die verschlüsselte Nachricht VNi berechnet, und mit Hilfe einer beliebigen Funktion SFi+1 in Abhängigkeit von S0, . . ., Si, N0, . . ., Ni, und TS1, . . ., TSi+1 den Schlüssel Si+1 bestimmt, und die verschlüsselte Nachricht VNi an alle Kommunikationspartner außer Pji übermittelt, und
  • c) beginnend bei i = 0 sukzessive für alle ganzzahligen i alle Kommunikations­ partner außer die verschlüsselte Nachricht VNi von Pji empfangen, und - zur Entschlüsselung der Nachricht VN0 - mit Hilfe eines zu VA0 gehörenden Entschlüsselungsalgorithmus EA0 und genanntem Schlüssel S0 aus genann­ ter verschlüsselten Nachricht VN0 sowohl die originale Nachricht N0 als auch den Teilschlüssel TS1 bestimmen, und - zur Entschlüsselung der Nachricht VNi (i < 0) - mit Hilfe eines zu VAi gehö­ renden Entschlüsselungsalgorithmus EAi in Abhängigkeit von S0, . . ., Si, D0, . . ., Di, und TS1, . . ., TSi und genannter verschlüsselter Nachricht VNi sowohl die originale Nachricht Ni als auch den Teilschlüssel TSi+1 bestimmen, und für alle i mit Hilfe genannter Funktion SFi+1 in Abhängigkeit von S0, . . ., Si, D0, . . ., Di, und TS1, . . ., TSi+1 den Schlüssel Si+1 bestimmen.
5. Verfahren nach einem der Ansprüche 1 oder 3, dadurch gekennzeichnet, daß - während der letzten Iteration i = n-1 - der Schlüssel Sn nicht berechnet wird.
6. Verschlüsselungsverfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, daß der Basisschlüssel BS zu Beginn zwischen dem Verschlüsse­ ler und dem/den Entschlüsseler(n) bzw. Nachrichtenempfänger(n) mit Hilfe eines bekannten Schlüsselaustauschverfahrens ausgetauscht wird.
7. Verschlüsselungsverfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, daß die Datenverschlüsselung nur erfolgt, falls alle beteiligten Partner die Kenntnis desselben Basisschlüssels mit Hilfe eines bekannten Wis­ sensverifikationsverfahrens nachgewiesen haben.
8. Verschlüsselungsverfahren nach Anspruch 7, dadurch gekennzeichnet, daß das verwendete Wissensverifikationsverfahren ohne Übertragung des Basisschlüssels zwischen den beteiligten Partnern erfolgt.
9. Verschlüsselungsverfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, daß mindestens einer der Teilschlüssel TSi (i < 0) pseudozufällig gewählt wird.
10. Verschlüsselungsverfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, daß mindestens einer der Teilschlüssel TSi (1 < 0) absolut zufällig gewählt wird.
11. Verschlüsselungsverfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, daß mindestens zweimal derselbe Verschlüsselungs- und Ent­ schlüsselungsalgorithmus verwendet wird.
12. Verschlüsselungsverfahren nach einem der Ansprüche 1 bis 10, dadurch gekenn­ zeichnet, daß für mindestens ein i < = 0 der Verschlüsseler bzw. der Absender den Verschlüsselungsalgorithmus VAi aus einer vorgegebenen Menge MVAi von ver­ schiedenen Verschlüsselungsalgorithmen beliebig anhand der bereits bekannten Schlüssel S0, . . ., Si, Daten D0, . . ., Di+1, Teilschlüssel TS1, . . ., TSi oder den verschlüs­ selten Daten VDi bzw. der verschlüsselten Nachricht VNi wählt und der zu VAi gehörende Entschlüsselungsalgorithmus EAi für den Entschlüsseler bzw. die Emp­ fänger implizit anhand der bereits bekannten Schlüssel S0, . . ., Si, Daten D0, . . ., Di+1, Teilschlüssel TS1, . . ., TSi oder den verschlüsselten Daten VDi bzw. der verschlüssel­ ten Nachricht VNi aus genannter Menge MVAi bestimmbar ist.
13. Verschlüsselungsverfahren nach Anspruch 12, dadurch gekennzeichnet, daß in mindestens zwei Iterationen - i1 und i2 - die Menge der Verschlüsselungsalgorith­ men MVAi1 identisch mit der Menge der Verschlüsselungsalgorithmen MVAi2 ist.
14. Verschlüsselungsverfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, daß für mindestens ein i < 0 der Schlüssel Si mit Hilfe einer belie­ bigen Funktion SFi in Abhängigkeit der Schlüssel S0 und Si-1 und des Teilschlüs­ sels TSi berechnet werden kann.
15. Verschlüsselungsverfahren nach Anspruch 14, dadurch gekennzeichnet, daß min­ destens zweimal dieselbe Funktion SFi = SFj verwendet wird.
16. Verschlüsselungsverfahren nach einem der Ansprüche 1 bis 14, dadurch gekenn­ zeichnet, daß für mindestens ein i < = 0 der Verschlüsseler bzw. der Absender die Funktion SFi+1 aus einer vorgegebenen Menge MSFi von verschiedenen Funktio­ nen beliebig anhand der bereits bekannten Schlüssel S0, . . ., Si, Daten D0, . . ., Di, Teil­ schlüssel TS1, . . ., TSi+1 oder den verschlüsselten Daten VDi bzw. der verschlüsselten Nachricht VNi wählt und die Funktion SFi+1 für den Entschlüsseler bzw. die Empfänger implizit anhand der bereits bekannten Schlüssel S0, . . ., Si, Daten D0, . . ., Di, Teilschlüssel TS1, . . ., TSi+1 oder den verschlüsselten Daten VDi bzw. der verschlüsselten Nachricht VNi aus genannter Menge MSF bestimmbar ist.
17. Verschlüsselungsverfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, daß für mindestens ein i < = 0 die zu verschlüsselnden Daten Di bzw. die zu verschlüsselnde Nachricht Ni vor der Verschlüsselung um beliebig gewählte zusätzliche Daten ZD erweitert werden und genannte Daten ZD nach der Entschlüsselung wieder entfernt werden.
18. Verschlüsselungsverfahren nach Anspruch 17, dadurch gekennzeichnet, daß die zusätzlichen Daten ZD pseudozufällig gewählt werden.
19. Verschlüsselungsverfahren nach Anspruch 17, dadurch gekennzeichnet, daß die zusätzlichen Daten ZD absolut zufällig gewählt werden.
DE10129285A 2001-06-18 2001-06-18 Verschlüsselungsverfahren mit beliebig wählbaren Einmalschlüsseln Expired - Fee Related DE10129285C2 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE20114371U DE20114371U1 (de) 2001-06-18 2001-06-18 Kommunikationssystem zum Austausch mit beliebig wählbaren Einmalschlüsseln verschlüsselter Daten
DE10129285A DE10129285C2 (de) 2001-06-18 2001-06-18 Verschlüsselungsverfahren mit beliebig wählbaren Einmalschlüsseln
DE2002124473 DE10224473A1 (de) 2001-06-18 2002-06-03 Symmetrische und asymmetrische Verschlüsselungsverfahren mit beliebig wählbaren Einmalschlüsseln
US10/161,723 US20020191796A1 (en) 2001-06-18 2002-06-05 Symmetric and asymmetric encryption method with arbitrarily selectable one-time keys

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10129285A DE10129285C2 (de) 2001-06-18 2001-06-18 Verschlüsselungsverfahren mit beliebig wählbaren Einmalschlüsseln

Publications (2)

Publication Number Publication Date
DE10129285A1 true DE10129285A1 (de) 2001-11-22
DE10129285C2 DE10129285C2 (de) 2003-01-09

Family

ID=7688538

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10129285A Expired - Fee Related DE10129285C2 (de) 2001-06-18 2001-06-18 Verschlüsselungsverfahren mit beliebig wählbaren Einmalschlüsseln

Country Status (2)

Country Link
US (1) US20020191796A1 (de)
DE (1) DE10129285C2 (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100431295C (zh) * 2002-11-26 2008-11-05 松下电器产业株式会社 数据加密、解密方法及装置
US7509378B2 (en) * 2003-03-11 2009-03-24 Bea Systems, Inc. System and method for message ordering in a message oriented network
DE10355865B4 (de) * 2003-11-26 2008-08-21 Paul, Lutz, Dipl.-Ing. Verfahren und Chip zur kryptographischen Verschlüsselung von Daten
JP2007512743A (ja) * 2003-11-27 2007-05-17 インターナショナル・ビジネス・マシーンズ・コーポレーション インターネット・ネットワークにおける電子メールの伝送セキュリティを高めるシステム
US7899184B2 (en) * 2004-09-02 2011-03-01 Pisaramedia Oy Ends-messaging protocol that recovers and has backward security
US8266438B2 (en) 2004-10-25 2012-09-11 Security First Corp. Secure data parser method and system
US7478220B2 (en) * 2005-06-23 2009-01-13 International Business Machines Corporation Method, apparatus, and product for prohibiting unauthorized access of data stored on storage drives
CA2629015A1 (en) 2005-11-18 2008-05-08 Rick L. Orsini Secure data parser method and system
TWI375447B (en) * 2008-06-27 2012-10-21 Ind Tech Res Inst Multi-layer encryption and decryption system and method thereof
WO2010111447A1 (en) 2009-03-25 2010-09-30 Pacid Technologies, Llc Method and system for securing a file
WO2010111448A1 (en) * 2009-03-25 2010-09-30 Pacid Technologies, Llc Method and system for securing communication
TW201105083A (en) 2009-03-25 2011-02-01 Pacid Technologies Llc Token for securing communication
TW201040781A (en) 2009-03-25 2010-11-16 Pacid Technologies Llc System and method for protecting a secrets file
US8934625B2 (en) 2009-03-25 2015-01-13 Pacid Technologies, Llc Method and system for securing communication
JP5255499B2 (ja) * 2009-03-30 2013-08-07 株式会社エヌ・ティ・ティ・ドコモ 鍵情報管理方法、コンテンツ送信方法、鍵情報管理装置、ライセンス管理装置、コンテンツ送信システム、及び端末装置
US9443097B2 (en) 2010-03-31 2016-09-13 Security First Corp. Systems and methods for securing data in motion
US20120079281A1 (en) * 2010-06-28 2012-03-29 Lionstone Capital Corporation Systems and methods for diversification of encryption algorithms and obfuscation symbols, symbol spaces and/or schemas
US20120303967A1 (en) * 2011-05-25 2012-11-29 Delta Electronics, Inc. Digital rights management system and method for protecting digital content
US8479021B2 (en) 2011-09-29 2013-07-02 Pacid Technologies, Llc Secure island computing system and method
FR3004561B1 (fr) * 2013-04-15 2016-11-11 Banque Accord Methode et systeme d'amelioration de la securite des transactions electroniques
CN104901811B (zh) * 2015-06-12 2018-11-16 信和汇诚信用管理(北京)有限公司 一种对称密码表及对称加密法
US10181054B1 (en) * 2017-01-13 2019-01-15 Parallels International Gmbh System and method for secure file management by a local client device
JP6834771B2 (ja) * 2017-05-19 2021-02-24 富士通株式会社 通信装置および通信方法
CN109495225A (zh) * 2017-09-11 2019-03-19 中兴通讯股份有限公司 信道结构的指示方法和装置
US10860403B2 (en) 2017-09-25 2020-12-08 The Boeing Company Systems and methods for facilitating truly random bit generation
US10965456B2 (en) 2017-09-25 2021-03-30 The Boeing Company Systems and methods for facilitating data encryption and decryption and erasing of associated information
US10924263B2 (en) * 2017-09-25 2021-02-16 The Boeing Company Systems and methods for facilitating iterative key generation and data encryption and decryption
CN117150519A (zh) * 2023-08-08 2023-12-01 枣庄福缘网络科技有限公司 一种文本加密的多层级安全算法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200770A (en) * 1977-09-06 1980-04-29 Stanford University Cryptographic apparatus and method
US4405829A (en) * 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
DE3244537A1 (de) * 1982-12-02 1984-06-07 Ant Nachrichtentech Verfahren zur ver- und entschluesselung von datenbloecken
US5003597A (en) * 1989-12-21 1991-03-26 Xerox Corporation Method and apparatus for data encryption
US5236413B1 (en) * 1990-05-07 1996-06-18 Andrew J Feiring Method and apparatus for inducing the permeation of medication into internal tissue
JP2862030B2 (ja) * 1991-06-13 1999-02-24 三菱電機株式会社 暗号化方式
NL9301784A (nl) * 1993-10-14 1995-05-01 Irdeto Bv Systeem voor het versleutelen en ontsleutelen van digitale informatie.
KR950013093A (ko) * 1993-10-19 1995-05-17 모리시타 요이찌 스크램블전송장치 및 난수발생장치
IL108645A (en) * 1994-02-14 1997-09-30 Elementrix Technologies Ltd Protected communication method and system
US5425103A (en) * 1994-03-14 1995-06-13 Shaw; William Y. Variable-key cryptography system
US5870470A (en) * 1996-02-20 1999-02-09 International Business Machines Corporation Method and apparatus for encrypting long blocks using a short-block encryption procedure
US20020159598A1 (en) * 1997-10-31 2002-10-31 Keygen Corporation System and method of dynamic key generation for digital communications
US6259789B1 (en) * 1997-12-12 2001-07-10 Safecourier Software, Inc. Computer implemented secret object key block cipher encryption and digital signature device and method
US5974144A (en) * 1998-02-25 1999-10-26 Cipheractive Ltd. System for encryption of partitioned data blocks utilizing public key methods and random numbers

Also Published As

Publication number Publication date
DE10129285C2 (de) 2003-01-09
US20020191796A1 (en) 2002-12-19

Similar Documents

Publication Publication Date Title
DE10129285C2 (de) Verschlüsselungsverfahren mit beliebig wählbaren Einmalschlüsseln
DE69929251T2 (de) Verschlüsselungssystem mit einem schlüssel veränderlicher länge
DE19744961B4 (de) Erzeugen eindeutiger und unvorhersagbarer Werte
DE69937007T2 (de) Verfahren und vorrichtung zur verschlüsselung und entschlüsselung von daten
DE60024739T2 (de) Generator eines erweiterten Schlüssels, Verschlüsselungs/Entschlüsselungsvorrichtung, Verfahren zur Erzeugung eines erweiterten Schlüssels und Speichermedium
CH660822A5 (de) Zufallsprimzahlen-erzeugungsmittel in einer mit oeffentlichem schluessel arbeitenden daten-verschluesselungsanlage.
DE10148415C2 (de) Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten
EP0482154A1 (de) Vorrichtung für das umwandeln eines digitalblockes und verwendung derselben.
DE60221850T2 (de) Verfahren und vorrichtung zur datenverschlüsselung
DE69911815T2 (de) Selbstkorrigierendes zufallsverschlüsselungssystem und -verfahren
DE60025401T2 (de) Erzeugung eines mathematischen eingeschränkten schlüssels unter verwendung einer einwegfunktion
EP2253098A1 (de) Verfahren zur zugriffs- und kommunikationsbezogenen zufallsver- und entschlüsselung von daten
DE69333257T2 (de) Anlage für Signalschaltung und -verarbeitung
DE69729297T2 (de) Verschlüsselungsvorrichtung für binärkodierte nachrichten
EP2647157A1 (de) Verfahren und vorrichtung zur durchführung einer symmetrischen stromverschlüsselung von daten
KR101095386B1 (ko) 이산화된 카오스 함수를 이용한 암호 시스템
DE19831347A1 (de) Initialisierungsprogramm für einen Codierdatengenerator
DE60133140T2 (de) System und verfahren für symmetrische kryptographie
DE10224473A1 (de) Symmetrische und asymmetrische Verschlüsselungsverfahren mit beliebig wählbaren Einmalschlüsseln
EP2288073B1 (de) Vorrichtung zur Verschlüsselung von Daten
DE19757370C2 (de) Verfahren zur taktilen Erzeugung pseudo-zufälliger Datenworte
DE3244537A1 (de) Verfahren zur ver- und entschluesselung von datenbloecken
DE10158003B4 (de) Verfahren zur Erzeugung von Schlüsseln für die Datenverschlüsselung sowie Verfahren zur Datenverschlüsselung
Hajji et al. Crypto-compression of images based on chaos
DE602004004135T2 (de) Verfahren zur verschlüsselung/entschlüng einer nachricht sowie dazugehörige vorrichtung

Legal Events

Date Code Title Description
OAV Publication of unexamined application with consent of applicant
OP8 Request for examination as to paragraph 44 patent law
8122 Nonbinding interest in granting licences declared
AG Has addition no.

Ref country code: DE

Ref document number: 10224473

Format of ref document f/p: P

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee