DE10129285A1 - Verschlüsselungsverfahren mit beliebig wählbaren Enmalschlüsseln - Google Patents
Verschlüsselungsverfahren mit beliebig wählbaren EnmalschlüsselnInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
- H04L9/16—Cryptographic 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
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.
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)
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)
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 |
-
2001
- 2001-06-18 DE DE10129285A patent/DE10129285C2/de not_active Expired - Fee Related
-
2002
- 2002-06-05 US US10/161,723 patent/US20020191796A1/en not_active Abandoned
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 |