DE10224473A1 - Data encryption system has iterative part block encryption and decryption key generation using base decryption and encryption keys - Google Patents
Data encryption system has iterative part block encryption and decryption key generation using base decryption and encryption keysInfo
- Publication number
- DE10224473A1 DE10224473A1 DE2002124473 DE10224473A DE10224473A1 DE 10224473 A1 DE10224473 A1 DE 10224473A1 DE 2002124473 DE2002124473 DE 2002124473 DE 10224473 A DE10224473 A DE 10224473A DE 10224473 A1 DE10224473 A1 DE 10224473A1
- Authority
- DE
- Germany
- Prior art keywords
- encryption
- key
- decryption
- data
- basic
- 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.)
- Ceased
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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
Abstract
Description
Die Erfindung betrifft symmetrische und asymmetrische Verschlüsselungs- und Schlüsselmanagementverfahren zur Verschlü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. The invention relates to symmetrical and asymmetrical encryption and key management methods for encrypting any type of data that can be divided into n (n> = 2) data blocks D 0 to D n-1 , a continuous data stream DS of undetermined length, a sequence of a specific number n and an undetermined number of messages between at least two communication partners.
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/forward security). Zur Erzielung von perfekter Rück- und Vorwärtssicherheit kann in regelmäß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 verschlü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) Protokolls nach RFC 2409 (siehe auch "IPSec", 2000, Addison Wesley, S. 117ff, insbesondere 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üsseln 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 Datenblockes erfolgen. In der Praxis ist dies jedoch ein zu hoher Aufwand und reduziert die effektive Bandbreite der verschlüsselten Nutzdatenübertragung so stark, daß der Geheimnisaustausch nur in größeren Abständen erfolgt und alle dazwischen zu übertragenen Datenblöcke mit von einem Geheimnis abgeleiteten Schlüssel verschlüsselt werden. In der Praxis bietet ein solches System also nur eine limitierte Rück- und Vorwärtssicherheit. The encryption methods used according to the prior art are used Key either used directly as a secret or by one or more Derived secrets. That / the secrets must all communication partners be known who decrypt the encrypted data and thus access the Want to get original data. Once an attacker has revealed such a secret, he is able to derive all derived keys himself and thus the complete one decrypt encrypted communication. This applies both to the previously as also for all data encrypted in the future. Such a system therefore has neither perfect back nor forward security (PBS / PFS - English perfect backward / forward security). To achieve perfect back and forward security, in the common secret is replaced by a new one at regular intervals, which has no relation to the previous secrets. Has the attacker in In this case, if a secret is revealed, he can only use this part of the knowledge decrypt encrypted data, which is encrypted with the revealed secret has been or will be encrypted in the future. In the case of the Internet Key Exchange (IKE) Protocol according to RFC 2409 (see also "IPSec", 2000, Addison Wesley, p. 117ff, especially p. 142) can provide limited or perfect forward security regular exchange of secrets between the parties - e.g. E.g .: according to Diffie-Hellmann (US Patent 4200770) or RSA (US Patent 4405829) - can be achieved, whereby the Data / message stream with derived from the last secret Keys is encrypted. The frequent secret exchanges require a relative one high time and computational effort and would have to provide perfect forward security for everyone Guarantee data block and each data block with an absolutely independent Encrypt keys before encrypting each one Data block. In practice, however, this is too much effort and reduces it effective bandwidth of the encrypted user data transmission so strong that the Secret sharing takes place only at larger intervals and everyone in between transmitted data blocks encrypted with a key derived from a secret become. In practice, such a system offers only a limited return and Forward security.
Verschiedene blockorientierte Verschlüsselungsverfahren sind bereits aus US 5003597, PCT/NL 94/00245 und US 5799089, US 5870470, US 5974144, US 5987124 und Verschlüsselungsverfahren mit variablen Schlüsseln aus US 5425103, US 5488661, US 5619576, US 5621799 bekannt. Various block-oriented encryption methods are already known from US 5003597, PCT / NL 94/00245 and US 5799089, US 5870470, US 5974144, US 5987124 and Encryption method with variable keys from US 5425103, US 5488661, US 5619576, US 5621799 known.
Keines der bekannten Verfahren verwendet für jeden Datenblock einen neuen Verschlüsselungsschlüssel, welcher u. a. von einem Basisverschlüssungsschlüssel und vom Verschlüsseler absolut beliebig 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 verschlüsselten Datenblock VDi+1 enthalten sind. None of the known methods uses a new encryption key for each data block, which depends, among other things, on a basic encryption key and subkeys that can be selected absolutely arbitrarily by the encryptor, wherein in each encrypted data block VD i both the original data D i and the subkey TS i + 1 for the next one encrypted data block VD i + 1 are included.
Die Aufgabe des vorliegenden Patentes besteht in der Verschlüsselung
- 1. beliebig gearteter Daten, welche in eine bestimmte Anzahl n von Datenblöcken aufgeteilt 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.
- 1. any type of data that can be divided into a certain number n of data blocks,
- 2. a continuous data stream of indefinite length,
- 3. a sequence of a certain number n of messages between at least two communication partners, and
- 4. a sequence of an indefinite number of messages between at least two communication partners.
Dabei können die in diesem Patent beschriebenen Verfahren sowohl auf
- 1. beliebig gearteten Daten, welche in n (n >= 2) jeweils beliebig große Datenblöcke D0 bis Dn-1 aufgeteilt werden können (Anspruch 1),
- 2. einen kontinuierlichen Datenstrom unbestimmter Länge, welcher in eine Folge einer unbestimmten Anzahl jeweils beliebig große Datenblöcke Di (i > 0) aufgeteilt werden kann (Anspruch 2),
- 3. eine Folge von n jeweils beliebig großer Nachrichten Ni (0 <= i < n) zwischen einer beliebigen Anzahl p >= 2 von Kommunikationspartnern P1 bis Pp (Anspruch 3),
- 4. eine Folge einer unbestimmten Anzahl jeweils beliebig großer Nachrichten Ni (i > 0) zwischen einer beliebigen Anzahl p >= 2 von Kommunikationspartnern P1 bis Pp (Anspruch 4)
- 1. any type of data which can be divided into n (n> = 2) data blocks D 0 to D n-1 of any size (claim 1),
- 2. a continuous data stream of indefinite length, which can be divided into a sequence of an indefinite number of data blocks D i (i> 0) of any size (claim 2),
- 3. a sequence of n messages of any size N i (0 <= i <n) between any number p> = 2 of communication partners P 1 to P p (claim 3),
- 4. a sequence of an indefinite number of messages N i (i> 0) of any size between any number p> = 2 of communication partners P 1 to P p (claim 4)
Bei den Verfahren nach Ansprüchen 1 und 3, welche eine bestimmte Anzahl n von Datenblöcken bzw. Nachrichten voraussetzen, ist es für den Verschlüsseler nicht erforderlich, in der letzten Iteration den nächsten Verschlüsselungsschlüssel VSn zu berechnen, und für den Entschlüsseler nicht erforderlich, in der letzten Iteration den nächsten Entschlüsselungsschlüssel ESn zu berechnen (Anspruch 5). In the method according to claims 1 and 3, which require a certain number n of data blocks or messages, it is not necessary for the encryptor to calculate the next encryption key VS n in the last iteration, and for the decryptor in which last iteration to calculate the next decryption key ES n (claim 5).
Die Verfahren nach Ansprüchen 1 bis 5 setzen voraus, daß dem Verschlüsseler der Basisverschlüsselungsschlüssel BVS und dem Entschlüsseler der zum Basisverschlüsselungsschlüssel BVS gehörende Basisentschlüsselungsschlüssel BES bekannt sind. Die Art und Weise, auf welche die beteiligten Parteien die Kenntnis der jeweiligen Basisver- bzw. entschlüsselungsschlüssel erlangen bzw. sich gegenseitig die Kenntnis der entsprechenden Basisschlüssel nachweisen, kann beispielsweise nach einem der bereits bekannten Schlüsselaustauschverfahren (Anspruch 6) bzw. Wissensverifikationsverfahren (Ansprüche 7 und 9) erfolgen, wobei es besonders vorteilhaft ist, wenn bei dem verwendeten Wissensverifikationsverfahren der Basisschlüssel nicht zwischen Verschlüsseler und Entschlüsseler bzw. Sender und Empfänger ausgetauscht wird (Ansprüche 8 und 10). The method according to claims 1 to 5 require that the encryptor Basic encryption key BVS and the decryptor of the to Basic encryption key BVS belonging basic decryption key BES are known. The way in which the parties involved gain knowledge of each Basic encryption or decryption keys gain or mutual knowledge of can prove the corresponding basic key, for example, according to one of the already known key exchange method (claim 6) or Knowledge verification procedures (claims 7 and 9) take place, it being particularly advantageous if at The basic key does not differ between the knowledge verification processes used Encryptor and decryptor or sender and receiver is exchanged (Claims 8 and 10).
Die Teilschlüssel TSi können vom jeweiligen Verschlüsseler absolut frei, insbesondere
auch pseudozufällig (Anspruch 11) oder absolut zufällig (Anspruch 12), gewählt werden.
Selbstverständlich decken Ansprüche 1 bis 12 auch die Spezialfälle ab, daß
- 1. der Basisverschlüsselungsschlüssel BVS identisch mit dem Basisentschlüsselungsschlüssel BES ist,
- 2. für jedes i >= 0 der Verschlüsselungsschlüsselgenerator VSGi identisch mit dem Entschlüsselungsschlüsselgenerator ESGi und damit für jedes i >= 0 der Verschlüsselungsschlüssel VSi identisch mit dem Entschlüsselungsschlüssel ESi ist (symmetrische Verschlüsselungsverfahren),
- 3. mindestens zweimal - insbesondere auch für alle i - derselbe Verschlüsselungs- und Entschlüsselungsalgorithmus verwendet wird (Anspruch 15), oder
- 4. der Verschlüsselungsalgorithmus VAi aus einer vorgegebenen Menge MVAi von verschiedenen Verschlüsselungsalgorithmen beliebig anhand der bereits bekannten Verschlüsselungsschlüssel VS0, . . ., VSi, 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 Entschlüsselungsschlüssel ES0, . . ., ESi, 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 16), wobei die Mengen der Verschlüsselungsalgorithmen MVAi für alle bzw. einen Teil der Iterationen identisch (Anspruch 17) oder verschieden sein können.
- 1. the basic encryption key BVS is identical to the basic decryption key BES,
- 2. for each i> = 0 the encryption key generator VSG i is identical to the decryption key generator ESG i and thus for each i> = 0 the encryption key VS i is identical to the decryption key ES i (symmetrical encryption method),
- 3. at least twice - in particular also for all i - the same encryption and decryption algorithm is used (claim 15), or
- 4. the encryption algorithm VA i from a predetermined amount MVA i of various encryption algorithms as desired using the already known encryption keys VS 0 ,. , ., VS i , data D 0,. , ., D i-1 , partial key TS 1 ,. , ., TS i or the encrypted data VD i and the encrypted message VN i is chosen so that the VA to i belonging decryption algorithm EA i for the descrambler and the receiver implicitly on the basis of already known decryption key ES 0. , ., ES i , data D 0,. , ., D i-1 , partial key TS 1 ,. , ., TS i or the encrypted data VD i or the encrypted message VN i can be determined from said set MVA i (claim 16), the sets of encryption algorithms MVA i being identical for all or part of the iterations (claim 17) or can be different.
Ansprüche 18 bis 20 betreffen Spezialfälle zur Auswahl der Verschlüsselungsschlüsselgeneratoren VSGi. Ansprüche 21 bis 23 beschreiben die Erweiterung der zu verschlüsselnden Daten um pseudozufällige oder absolut zufällige Zusatzdaten zur weiteren Erschwerung von statistischen Angriffen. Claims 18 to 20 relate to special cases for the selection of the encryption key generators VSG i . Claims 21 to 23 describe the expansion of the data to be encrypted by pseudorandom or absolutely random additional data to further aggravate statistical attacks.
Durch die absolut freie Wahl der Teilschlüssel TSi und der Berechnung der Verschlüsselungsschlüssel VSi+1 bzw. Entschlüsselungsschlüssel ESi+1 in Abhängigkeit von allen dem Verschlüsseler bzw. dem Entschlüsseler bekannten Daten - insbesondere des Basisverschlüsselungsschlüssels bzw. des Basisentschlüsselungsschlüssels selbst und aller vorherigen Teilschlüssel -, kann ein Angreifer allein mit dem Wissen, welches er durch die erfolgreiche Entschlüsselung eines/r Datenblockes/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 Ver- bzw. Entschlüsselungsschlüsselgenerator(en) (eine) starke Einwegfunktion(en), ist es auch nicht möglich, durch - heutzutage sehr beliebte und in vielen Fällen sehr erfolgreiche - statistische Attacken eventuell einen der Basisschlüssel zu ermitteln, da die verwendeten Ver- bzw. Entschlüsselungsschlüssel VSi bzw. ESi wegen der zunehmenden Zufälligkeit der einfließenden Teilschlüssel zunehmend statistisch gleichverteilt sind und somit immer weniger statistisch verwertbare Informationen enthalten. Due to the absolutely free choice of the partial keys TS i and the calculation of the encryption keys VS i + 1 or decryption keys ES i + 1 depending on all data known to the encryptor or decryptor - in particular the basic encryption key or the basic decryption key itself and all previous partial keys - An attacker cannot decrypt either previous or future data blocks / messages based on the knowledge he obtains by successfully decrypting a data block / message. If you choose the subkey in particular pseudorandomly or absolutely randomly and as an encryption or decryption key generator (s) (a) strong one-way function (s), it is also not possible to use statistical attacks, which are very popular today and in many cases very successful, in some cases determine the basic key, since the encryption and decryption keys VS i and ES i used are increasingly statistically evenly distributed due to the increasing randomness of the incoming partial keys and therefore contain less and less statistically usable information.
Die neuen Teilschlüssel TSi+1 werden zusammen mit den Daten/Nachrichten D/Ni verschlüsselt und übertragen, so daß die in den Ansprüchen dieses Patentes beschriebenen Verfahren perfekte Vorwärts- und Rückwärtssicherheit bieten, ohne in regelmäßigen Abständen gemeinsame Geheimnisse austauschen zu müssen. Vielmehr wird die originale Datenmenge lediglich um die Teilschlüssel erhöht und für jeden Datenblock/Nachricht ein neuer Schlüssel berechnet. The new sub-keys TS i + 1 are encrypted and transmitted together with the data / messages D / N i , so that the methods described in the claims of this patent offer perfect forward and backward security without having to exchange common secrets at regular intervals. Rather, the original amount of data is only increased by the partial key and a new key is calculated for each data block / message.
Gleichzeitig garantiert die Zufälligkeit der Teilschlüssel und das gemeinsame Verschlüsseln 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 Doppelfunktion der beliebig wählbaren Teilschlüssel gleichzeitig als "Salt" zu wirken ist einer der besonderen Vorteile der in diesem Patent beschriebenen Verschlüsselungsverfahren. At the same time, the randomness of the partial keys and the common guarantee Encrypt the original data together with a partial key that - even with the same original data, the same key and the same encryption algorithm - Different encrypted data is always generated with each encryption process become. This is a property that can only be achieved with prior art processes Mixing of the original data with random data ballast (so-called "salt") achieved can be, which otherwise has no other functions. Just that Double function of the arbitrary subkeys to act simultaneously as "Salt" is one of the particular advantages of the encryption methods described in this patent.
Gegenüber US 5870470 und US 5987124 betrifft ein Verfahren nach Ansprüchen 1 bis 4 eher das Schlüsslemanagement als konkrete Verschlüsselungsalgorithmen, insbesondere ist z. B. die Maskierung der originalen Daten nicht erforderlich. Gleichwohl kann natürlich ein Verschlüsselungsverfahren nach US 5870470 oder US 5987124 als Verschlüsselungsalgorithmus in einem Verfahren nach Ansprüchen 1 bis 4 eingesetzt werden. Ferner beschreiben weder US 5870470 noch US 5987124 Verfahren mit beliebig wählbaren Einmalschlüsseln, so daß bei der Verschlüsselung davon ausgegangen werden muß, daß stets derselbe Schlüssel verwendet wird. Compared to US 5870470 and US 5987124 relates to a method according to claims 1 to 4 key management rather than concrete encryption algorithms, in particular, e.g. B. the masking of the original data is not necessary. Nevertheless, can of course an encryption method according to US 5870470 or US 5987124 as Encryption algorithm used in a method according to claims 1 to 4 become. Furthermore, neither US 5870470 nor US 5987124 describe any method selectable one-time keys so that encryption is assumed It must be ensured that the same key is always used.
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üsselers. Zunächst setzen Verschlüsseler bzw. Entschlüsseler zur Initialisierung der Iterationsschleifen i = 0 und verwenden als ersten Verschlüsselungschlüssel VS0 bzw. Entschlüsselungschlüssel ES0 den ihnen bekannten Basisverschlüsselungsschlüssel BVS bzw. Basisentschlüsselungsschlüssel BES. Fig. 1 illustrates the general flow chart of an encryption method according to claims 1, 2 or 5a) on the side of the encryptor and b) the decryptor. Initially, encryptors or decryptors set i = 0 to initialize the iteration loops and use the basic encryption key BVS or basic decryption key BES known to them as the first encryption key VS 0 or decryption key ES 0 .
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
Verschlüsselungsalgorithmus VAi in Abhängigkeit von den bereits bekannten
Verschlüsselungsschlüsseln VS0 = BVS, VS1 bis VSi, den originalen Daten D0 bis Di, sowie den
Teilschlüsseln TS0 bis TSi+1 die verschlüsselten Daten VDi
VDi = VAi(VS0, . . ., VSi, D0, . . ., Di, TS1, . . ., TSi+1) (1)
und den Verschlüsselungsschlüssel VSi+1 für die nächste Iteration
VSi+1 = VSGi+1(VS0, . . ., VSi, D0, . . ., Di, TS1, . . ., TSi+1), (2)
wobei in der ersten Iteration (i = 0) die Berechnungen nach
VD0 = VA0(VS0, D0, TS1) (3)
VS1 = VSG1(VS0, D0, TS1) (4)
erfolgen.
At the start of the ith iteration loop, the encryptor first selects any partial key TS i + 1 . He then calculates the encrypted using an arbitrarily selectable encryption algorithm VA i depending on the already known encryption keys VS 0 = BVS, VS 1 to VS i , the original data D 0 to D i , and the subkeys TS 0 to TS i + 1 Data VD i
VD i = VA i (VS 0 ,..., VS i , D 0 ,..., D i , TS 1 ,..., TS i + 1 ) (1)
and the encryption key VS i + 1 for the next iteration
VS i + 1 = VSG i + 1 (VS 0 ,..., VS i , D 0 ,..., D i , TS 1 ,..., TS i + 1 ), (2)
the calculations in the first iteration (i = 0)
VD 0 = VA 0 (VS 0 , D 0 , TS 1 ) (3)
VS 1 = VSG 1 (VS 0 , D 0 , TS 1 ) (4)
respectively.
Der Entschlüsseler berechnet mit Hilfe des zu VAi gehörenden
Entschlüsselungsalgorithmus EAi in Abhängigkeit von den bereits bekannten Entschlüsselungsschlüsseln ES0 bis
ESi, 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(ES0, . . ., ESi, D0, . . ., Di-1, TS1, . . ., TSi, VDi) (5)
sowie den Entschlüsselungsschlüssel ESi+1 für die nächste Iteration
ESi+1 = ESGi+1(ES0, . . ., ESi, D0, . . ., Di, TS1, . . ., TSi+1), (6)
wobei in der ersten Iteration (i = 0) die Berechnungen
(D0, TS1) = EA0(ES0, VD0) (7)
ES1 = ESG1(ES0, D0, TS1) (8)
folgen.
The decryptor calculated using the to VA i belonging decryption algorithm EA i in dependence on the already known decryption keys ES 0 to ES i, the already decrypted original data D 0 to D i-1, as well as the partial keys TS 0 through TS i from the encrypted Data VD i the original data D i and the partial key TS i + 1
(D i , TS i + 1 ) = EA i (ES 0 ,..., ES i , D 0 ,..., D i-1 , TS 1 ,..., TS i , VD i ) (5th )
and the decryption key ES i + 1 for the next iteration
ES i + 1 = ESG i + 1 (ES 0 ,..., ES i , D 0 ,..., D i , TS 1 ,..., TS i + 1 ), (6)
where in the first iteration (i = 0) the calculations
(D 0 , TS 1 ) = EA 0 (ES 0 , VD 0 ) (7)
ES 1 = ESG 1 (ES 0 , D 0 , TS 1 ) (8)
consequences.
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 Verschlü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üsselung eines kontinuierlichen Datenstromes nach Anspruch 2 wiederholen Ver- und Entschlüsseler die Iterationen endlos. After encrypting or decrypting the i-th data block, encryptors or decryptors are set i to i + 1 and repeat the same process for the next data block. at Encrypting a finite number of data blocks will keep this process going continued until the last data block (n - 1) was encrypted or decrypted. at Encryption of a continuous data stream according to claim 2 repeat Ver and Endlessly decrypt the iterations.
Dasselbe 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 Verschlüsseler der Kommunikationspartner denselben Basisverschlüsselungsschlüssel BVS kennen und jeder Entschlüsseler der Kommunikationspartner mindestens einen zu BVS gehörenden Basisentschlüsselungsschlüssel BES kennen sowie den kompletten Satz aller verschlüsselten Nachrichten in der korrekten Reihenfolge erhalten. Dabei ist die Anzahl der Empfänger prinzipiell unbeschränkt und kann frei gewählt werden. Ferner ist es unerheblich, welcher der Kommunikationspartner die i-te Nachricht verschlüsselt, solange sichergestellt ist, daß alle beteiligten Partner den lückenlosen Nachrichtenstrom in der richtigen Reihenfolge kennen und den zum verwendeten Verschlüsselungsschlüssel VSi entsprechenden Entschlüsselungsschlüssel ESi erzeugen können. So kann beispielsweise ein Nachrichtenstrom von einem einzigen Sender oder einzelne Nachrichten von verschiedenen Sendern verschlüsselt und an alle anderen Empfänger übermittelt werden, solange alle beteiligten Partner den kompletten Nachrichtenstrom zur Verfügung haben. The same method used in claims 1 and 2 for any data that can be divided into a specific or indefinite number of data blocks can also be applied to the case of message-oriented communication between two or more communication partners. In this case, each individual message can itself be broken down into a plurality of data blocks and encrypted according to claim 1, or the individual messages can each serve as an encryption unit (data block) (claims 3 and 4). It is only important that all encryptors of the communication partners know the same basic encryption key BVS and each decryptor of the communication partners know at least one basic decryption key BES belonging to BVS and receive the complete set of all encrypted messages in the correct order. The number of recipients is basically unlimited and can be freely selected. Furthermore, it is irrelevant which of the communication partners encrypts the i-th message as long as it is ensured that all partners involved know the complete message stream in the correct order and can generate the decryption key ES i corresponding to the encryption key VS i used. For example, a message stream from a single transmitter or individual messages from different senders can be encrypted and transmitted to all other recipients as long as all partners involved have the complete message stream available.
Abb. 2 veranschaulicht die Verschlüsselung einer Folge von Nachrichten zwischen einem Sender P1 und einem Empfänger P2 mit Übertragung einer verschlüsselten Nachricht VNi während jeder Iteration. Zunächst setzen Sender und Empfänger zur Initialisierung der Iterationsschleifen i = 0. Dabei verwendet der Verschlüsseler als ersten Verschlüsselungsschlüssel VS0 den ihm bekannten Basisverschlüsselungsschlüssel BVS und der Entschlüsseler als ersten Entschlüsselungsschlüssel ES0 den ihm bekannten Basisentschlüsselungsschlüssel BES. Fig. 2 illustrates the encryption of a sequence of messages between a transmitter P 1 and a receiver P 2 with transmission of an encrypted message VN i during each iteration. Initially, the sender and receiver set i = 0 for the initialization of the iteration loops. The encryptor uses the basic encryption key BVS known to him as the first encryption key VS 0 and the decoder uses the basic decryption key BES known to him as the first decryption key ES 0 .
Zu Beginn der i-ten Iterationsschleife wählt der Verschlüsseler/Sender zunächst einen
beliebigen Teilschlüssel TSi+1. Anschließend berechnet er mit Hilfe eines beliebigen
Verschlüsselungsalgorithmus VAi in Abhängigkeit von den bereits bekannten
Verschlüsselungsschlüsseln VS0 = BVS, VS1 bis VSi, den originalen Nachrichten N0 bis Ni, sowie
den Teilschlüsseln TS0 bis TSi+1 die verschlüsselte Nachricht VNi
VNi = VAi(VS0, . . ., VSi, N0, . . ., Ni, TS1, . . ., TSi+1), (9)
überträgt VNi an den Empfänger, und berechnet den Verschlüsselungsschlüssel VSi+1
für die nächste Iteration
VSi+1 = VSGi+1(VS0, . . ., VSi, N0, . . ., Ni, TS1, . . ., TSi+1), (10)
wobei in der ersten Iteration (i = 0) die Berechnungen nach
VN0 = VA0(VS0, N0, TS1) (11)
VS1 = VSG1(VS0, N0, TS1) (12)
erfolgen.
At the start of the ith iteration loop, the encryptor / transmitter first selects any partial key TS i + 1 . He then calculates the encrypted message using any encryption algorithm VA i depending on the already known encryption keys VS 0 = BVS, VS 1 to VS i , the original messages N 0 to N i , and the partial keys TS 0 to TS i + 1 VN i
VN i = VA i (VS 0 ,..., VS i , N 0 ,..., N i , TS 1 ,..., TS i + 1 ), (9)
transmits VN i to the recipient and calculates the encryption key VS i + 1 for the next iteration
VS i + 1 = VSG i + 1 (VS 0 ,..., VS i , N 0 ,..., N i , TS 1 ,..., TS i + 1 ), (10)
the calculations in the first iteration (i = 0)
VN 0 = VA 0 (VS 0 , N 0 , TS 1 ) (11)
VS 1 = VSG 1 (VS 0 , N 0 , TS 1 ) (12)
respectively.
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 Entschlüsselungsschlüsseln ES0 bis ESi, 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(ES0, . . ., ESi, N0, . . ., Ni-1, TS1, . . ., TSi, VDi) (13)
sowie den Entschlüsselungsschlüssel ESi+1 für die nächste Iteration
ESi+1 = ESGi+1(ES0, . . ., ESi, N0, . . ., Ni, TS1, . . ., TSi+1), (14)
wobei in der ersten Iteration (i = 0) die Berechnungen nach
(N0, TS1) = EA0(ES0, N0) (15)
ES1 = ESG1(ES0, N0, TS1) (16)
erfolgen.
The receiver receives the encrypted message VN i and calculated using the to VA i belonging decryption algorithm EA i in dependence on the already known decryption keys ES 0 to ES i, the already decrypted original messages N 0 known to N i-1, as well as the already Subkeys TS 0 to TS i from the encrypted data VN i, the original message N i and the subkey TS i + 1
(N i , TS i + 1 ) = EA i (ES 0 ,..., ES i , N 0 ,..., N i-1 , TS 1 ,..., TS i , VD i ) (13 )
and the decryption key ES i + 1 for the next iteration
ES i + 1 = ESG i + 1 (ES 0 ,..., ES i , N 0 ,..., N i , TS 1 ,..., TS i + 1 ), (14)
the calculations in the first iteration (i = 0)
(N 0 , TS 1 ) = EA 0 (ES 0 , N 0 ) (15)
ES 1 = ESG 1 (ES 0 , N 0 , TS 1 ) (16)
respectively.
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 kontinuierlichen Nachrichtenstromes nach Anspruch 4 wiederholen Sender und Empfänger die Iterationen endlos. After the i-th message has been encrypted or decrypted, the transmitter or receiver i i + 1 and repeat the same process for the next message. With encryption a finite number of messages, this process continues until the last message (n - 1) was encrypted or decrypted. When encrypting a continuous message stream according to claim 4, the sender and receiver repeat the Iterations endless.
In Abb. 3 ist ein Beispiel eines Verschlüsselungsverfahrens nach einem der Ansprüche 3 oder 4 dargestellt, wobei von verschiedenen Basisschlüsseln und Schlüsselgeneratoren ausgegangen wird (d. h. es sich um assymmetrische Verschlüsselungsverfahren handelt). Im Gegensatz zum Beispiel von Abb. 2 wechseln sich in diesem Beispiel P1 und P2 als Sender bzw. Empfänger gegenseitig ab. Diese Variante eignet sich besonders gut für ein transaktionsorientiertes Client/Server-System, in welchem ein Client (P1) eine Anfrage Fi an den Server (P2) schickt und der Server dem Client mit dem Resultat Ri antwortet, woraufhin der Client mit der nächsten Anfrage Fi+1 fortfährt. Dabei verwendet der Client P1 zur Verschlüsselung seiner Anfragen den Basisverschlüsselungsschlüssel BVS1 und die von ihm abgeleiteten Verschlüsselungsschlüssel VS1i. Der Server P2 entschlüsselt die verschlüsselten Anfragen VFi mit Hilfe des Basisentschlüsselungsschlüssels BES1 und der von ihm abgeleiteten Entschlüsselungsschlüssel ES1i . Zur Verschlüsselung seiner Resultate Ri verwendet der Server P2 seinerseits eine von den verschlüsselten Anfragen VFi des Clients vollkommen unabhängige verschlüsselte Nachrichtenfolge, welche auf dem Basisverschlüsselungsschlüssel BVS2 und die von ihm abgeleiteten Verschlüsselungsschlüssel VS2i basiert und vom Client P1 mit Hilfe des Basisentschlüsselungsschlüssels BES2 und den von ihm abgeleiteten Entschlüsselungsschlüsseln ES2i entschlüsselt werden können. Fig. 3 shows an example of an encryption method according to one of claims 3 or 4, wherein different basic keys and key generators are assumed (that is to say asymmetric encryption methods). In contrast to the example in Fig. 2, P 1 and P 2 alternate as transmitters and receivers in this example. This variant is particularly suitable for a transaction-oriented client / server system in which a client (P 1 ) sends a request F i to the server (P 2 ) and the server answers the client with the result R i , whereupon the client continues with the next request F i + 1 . The client P 1 uses the basic encryption key BVS 1 and the encryption key VS 1i derived from it to encrypt its requests. The server P 2 decrypts the encrypted requests VF i using the basic decryption key BES 1 and the decryption key ES 1i derived from it. To encrypt its results R i , the server P 2 in turn uses an encrypted message sequence that is completely independent of the client's encrypted requests VF i , which is based on the basic encryption key BVS 2 and the encryption keys VS 2i derived from it, and by the client P 1 using the basic decryption key BES 2 and the decryption keys ES 2i derived from it can be decrypted.
In Abb. 4 ist ein weiteres Beispiel eines Verschlüsselungsverfahrens nach einem der Ansprüche 3 oder 4 abgebildet, wobei für jedes i >= 0 der Verschlüsselungsschlüssel VSi identisch zu den Entschlüsselungsschlüssel ESi ist (d. h. es sich um ein symmetrisches Verschlüsselungsverfahren handelt). Im Gegensatz zum Beispiel von Abb. 2 wechseln sich in diesem Beispiel P1 und P2 als Sender bzw. Empfänger in Iteration k und k + 1 gegenseitig ab. Auch 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. Fig. 4 shows another example of an encryption method according to one of claims 3 or 4, wherein for each i> = 0 the encryption key VS i is identical to the decryption key ES i (ie it is a symmetrical encryption method). In contrast to the example of Fig. 2, P 1 and P 2 change in this example as a transmitter or receiver in iteration k and k + 1 from each other. This variant is also particularly suitable for a transaction-oriented client / server system in which a client (P 1 ) sends a request in iteration k to the server (P 2 ) and the server in iteration k + 1 responds to the client, whereupon the client continues with the next request.
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 Verschlüsselungsschlüssel VS0, . . ., VSi bzw. Entschlüsselungsschlüssel ES0, . . ., ESi, der bereits entschlüsselten Daten D0, . . ., Di-1, sowie der bereits übertragenen Teilschlüssel TS1, . . ., TSi aus den/r verschlüsselten Daten/Nachricht VD/Ni die original(en) Daten/Nachricht DIN und den Teilschlüssel TSi+1 ermitteln kann. The choice of the encryption algorithms VA i is arbitrary as far as there must be a decryption algorithm EA i for each encryption algorithm VA i , with the aid of which the decryptor with knowledge of the encryption keys VS 0 ,. , ., VS i or decryption key ES 0 ,. , ., ES i , the already decrypted data D 0 ,. , ., D i-1 , and the subkey TS 1 ,. , ., TS i can determine the original data / message DIN and the subkey TS i + 1 from the encrypted data / message VD / N i .
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. The encryption and decryption algorithms VA i and EA i can both use all the specified parameters explicitly or only explicitly use any subset of the specified parameters and be independent of the other parameters.
Zur Reduzierung des notwendigen Rechenaufwandes sind die folgenden Spezialfälle
besonders vorteilhaft:
Die Verschlüsselungsalgorithmen VAi hängen lediglich vom zuletzt berechneten
Verschlüsselungsschlüssel VSi, dem zuletzt gewählten Teilschlüssel TSi+1 und den/r zu
verschlüsselnden Daten/Nachricht D/Ni ab
VDi = VAi(VSi, Di, TSi+1) bzw. VNi = VAi(VSi, Ni, TSi+1). (17)
The following special cases are particularly advantageous for reducing the necessary computing effort:
The encryption algorithms VA i only depend on the encryption key VS i last calculated, the last selected partial key TS i + 1 and the data / message D / N i to be encrypted
VD i = VA i (VS i , D i , TS i + 1 ) or VN i = VA i (VS i , N i , TS i + 1 ). (17)
Die Verschlüsselungsschlüsselgeneratoren VSGi+1 hängen nur von dem zuletzt
gewählten Teilschlüssel TSi+1 ab
VSi+1 = VSGi+1(TSi+1), (18)
mit dem Trivialbeispiel VSi+1 = TSi+1. In diesem Fall kann ein Angreifer nach
Entschlüsselung 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ärtssicherheit.
The encryption key generators VSG i + 1 only depend on the last selected subkey TS i + 1
VS i + 1 = VSG i + 1 (TS i + 1 ), (18)
with the trivial example VS i + 1 = TS i + 1 . In this case, after decrypting the i-th data / message VD / N i , an attacker can also decrypt the i + 1-th data / message VD / N i + 1 and thus all subsequent encrypted data or messages. Such a system therefore only offers perfect backward security and not perfect forward security.
Dieser Nachteil kann durch zusätzliche Abhängigkeit der
Verschlüsselungsschlüsselgeneratoren VSGi+1 von dem Basisverschlüsselungsschlüssel VS0 behoben werden
VSi+1 = VSGi+1(VS0, TSi+1), (19)
ESi+1 = ESGi+1(ES0, TSi+1). (20)
This disadvantage can be remedied by the additional dependency of the encryption key generators VSG i + 1 on the basic encryption key VS 0
VS i + 1 = VSG i + 1 (VS 0 , TS i + 1 ), (19)
ES i + 1 = ESG i + 1 (ES 0 , TS i + 1 ). (20)
Falls es einem Angreifer gelingt, die i-ten Daten/Nachricht VD/Ni zu entschlüsseln und er damit sowohl den i-ten Entschlüsselungschlüssel ESi als auch den i + 1-ten Teilschlüssel TSi+1 kennt, genügt dieses Wissen nicht aus, um den i + 1-ten Entschlüsselungschlüssel ESi+1 zu bestimmen und damit die i + 1-ten Daten/Nachricht VD/Ni+1 zu entschlüsseln, da hierzu zusätzlich die Kenntnis des Basisentschlüsselungsschlüssels ES0 erforderlich ist. In diesem Fall könnte der Angreifer eventuell nach erfolgreichem Entschlüsseln mehrerer Daten/Nachrichten eventuell durch statistische Analysen den Basisentschlüsselungsschlüssel BES erraten. If an attacker succeeds in decrypting the i-th data / message VD / N i and thus knows both the i-th decryption key ES i and the i + 1-th subkey TS i + 1 , this knowledge is not sufficient in order to determine the i + 1-th decryption key ES i + 1 and thus to decrypt the i + 1-th data / message VD / N i + 1 , since this also requires knowledge of the basic decryption key ES 0 . In this case, the attacker could possibly guess the basic decryption key BES after successfully decrypting several data / messages by statistical analysis.
Die statistische Analyse der verwendeten Schlüssel VSi bzw. ESi mit dem Ziel den
zugrundeliegenden Basisver- bzw. entschlüsselungsschlüssel zu ermitteln, kann durch
zusätzliche Abhängigkeit der Verschlüsselungsschlüsselgeneratoren VSGi+1 von allen
zuvor verwendeten Verschlüsselungschlüsseln VS0 bis VSi
VSi+1 = VSGi+1(VS0, . . ., VSi, TSi+1) (21)
bzw der Entschlüsselungsschlüsselgeneratoren ESGi+1 von allen zuvor verwendeten
Entschlüsselungsschlüsseln ES0 bis ESi
ESi+1 = ESGi+1(ES0, . . ., ESi, TSi+1) (22)
oder durch Hinzunahme der originalen Daten/Nachrichten D/N0, . . ., D/Ni
VSi+1 = VSGi+1(VS0, . . ., VSi, D/N0, . . ., D/Ni, TSi+1) (23)
ESi+1 = ESGi+1(ES0, . . .,ESi, D/N0, . . ., D/Ni, TSi+1) (24)
oder durch Hinzunahme der vorherigen Teilschlüssel TS1, . . ., TSi
VSi+1 = VSGi+1(VS0, . . ., VSi, D/N0, . . ., D/Ni, TS1, . . ., TSi, TSi+1) (25)
ESi+1 = ESGi+1(ES0, . . ., ESi, D/N0, . . ., D/Ni, TS1, . . ., TSi, TSi+1) (26)
wesentlich erschwert werden. In diesen Fällen benötigt ein Angreifer die vollständige
Kenntnis der gesamten Vorgeschichte, um aus einem/r entschlüsselten
Datenblock/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 einen
der zugrundeliegenden Basisschlüssel zu bestimmen wesentlich erschwert. Durch die
zunehmende Abhängigkeit von den Teilschlüsseln TSi nähert sich die Verteilung der
verwendeten Verschlüsselungsschlüssel VSi bzw. Entschlüsselungsschlüssel ESi mit
steigender Anzahl von Iterationen immer mehr einer statistischen Gleichverteilung an, was
die Bestimmung der Basisverschlüsselungsschlüssel BVS bzw.
Basisentschlüsselungsschlüssel BES durch statistische Analyse der verwendeten Schlüssel VSi/ESi
zunehmend erschwert.
The statistical analysis of the keys VS i or ES i used with the aim of determining the underlying basic encryption or decryption key can be done by an additional dependency of the encryption key generators VSG i + 1 on all previously used encryption keys VS 0 to VS i
VS i + 1 = VSG i + 1 (VS 0 ,..., VS i , TS i + 1 ) (21)
or the decryption key generators ESG i + 1 of all previously used decryption keys ES 0 to ES i
ES i + 1 = ESG i + 1 (ES 0 ,..., ES i , TS i + 1 ) (22)
or by adding the original data / messages D / N 0,. , ., D / N i
VS i + 1 = VSG i + 1 (VS 0 ,..., VS i , D / N 0 ,..., D / N i , TS i + 1 ) (23)
ES i + 1 = ESG i + 1 (ES 0 ,..., ES i , D / N 0 ,..., D / N i , TS i + 1 ) (24)
or by adding the previous subkey TS 1 ,. , ., TS i
VS i + 1 = VSG i + 1 (VS 0 ,..., VS i , D / N 0 ,..., D / N i , TS 1 ,..., TS i , TS i + 1 ) ( 25)
ES i + 1 = ESG i + 1 (ES 0 ,..., ES i , D / N 0 ,..., D / N i , TS 1 ,..., TS i , TS i + 1 ) ( 26)
become much more difficult. In these cases, an attacker needs complete knowledge of the entire history to be able to determine the key for the next data / message from a decrypted data block / message. Since the partial keys TS i + 1 can be chosen arbitrarily - in particular also absolutely randomly - a statistical analysis of the keys used with the aim of determining one of the underlying basic keys is made considerably more difficult. Due to the increasing dependency on the partial keys TS i , the distribution of the encryption keys VS i or decryption keys ES i increasingly approaches an equal statistical distribution with increasing number of iterations, which the determination of the basic encryption key BVS or basic decryption key BES by statistical analysis of the used Keys VS i / ES i increasingly difficult.
Die beste Chance für einen Angreifer besteht demnach darin, die erste(n) verschlüsselten Daten/Nachricht VD/N0 zu entschlüsseln und so eventuell den Basisverschlüsselungsschlüssel VS0 bzw. Basisentschlüsselungsschlüssel ES0 direkt zu bestimmen. Dies kann jedoch beispielsweise durch Wahl eines besonders starken Verschlüsselungsalgorithmus VA0 und/oder eines besonders langen Basisverschlüsselungsschlüssel VS0 erschwert werden. Ferner besteht auch die Möglichkeit, eine bestimmte Anzahl von verschlüsselten Datenblöcken/Nachrichten zu Beginn der verschlüsselten Kommunikation über einen unabhängigen separaten Kommunikationskanal - wie z. B. auf einem speziellen 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 Verschlüsselungsschlüssel VS1 = VSG1(VS0, TS1) bzw. Entschlüsselungsschlüssel ES1 = ESG1(ES0, TS1) der zweiten 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 Zufallskomponenten durch die hinzukommenden Teilschlüssel TSi mit jeder Iteration weiter an. The best chance for an attacker is therefore to decrypt the first encrypted data / message VD / N 0 and thus possibly directly determine the basic encryption key VS 0 or basic decryption key ES 0 . However, this can be made more difficult, for example, by choosing a particularly strong encryption algorithm VA 0 and / or a particularly long basic encryption key VS 0 . Furthermore, there is also the possibility of a certain number of encrypted data blocks / messages at the start of encrypted communication via an independent separate communication channel - such as. B. on a special network path, by phone, in writing, by firmware or by separate data carrier - which is not accessible to a potential attacker with the greatest possible probability. The encryption key VS 1 = VSG 1 (VS 0 , TS 1 ) or decryption key ES 1 = ESG 1 (ES 0 , TS 1 ) of the second encrypted data / message VD / N 1 already contains the first random component with TS 1 . For all subsequent encrypted data / messages, the weight of the random components increases further with each iteration due to the additional partial keys TS i .
Falls es einem Angreifer gelingt, die i-te(n) Daten/Nachricht VD/Ni zu entschlüsseln und er damit sowohl den i-ten Entschlüsselungsschlüssel ESi als auch den i + 1-ten Teilschlüssel TSi+1 kennt, genügt dieses Wissen nicht aus, um den i + 1-ten Entschlüsselungsschlüssel ESi+1 zu bestimmen und damit die i + 1-te(n) Daten/Nachricht VD/Ni+1 zu entschlüsseln, da hierzu mindestens die Kenntnis des Basisentschlüsselungssschlüssels ES0 bzw. der gesamten Entschlüsselungsschlüsselvorgeschichte ES0 bis ESi, ja sogar der gesamten originalen Daten/Nachrichten D/N0 bis D/Ni oder Teilschlüssel TS1 bis TSi erforderlich ist. If an attacker succeeds in decrypting the i-th data / message VD / N i and thus knows both the i-th decryption key ES i and the i + 1-th sub-key TS i + 1 , this is sufficient Do not know how to determine the i + 1-th decryption key ES i + 1 and thus decrypt the i + 1-th data / message VD / N i + 1 , because at least the knowledge of the basic decryption key ES 0 or the entire decryption key history ES 0 to ES i , even the entire original data / messages D / N 0 to D / N i or partial key TS 1 to TS i is required.
In einem konkreten Beispiel eines symmetrischen Verschlüsselungsverfahrens nach
einem der Ansprüche 1, 2 und 14 kann der gemeinsame Basisver- und
entschlüsselungsschlüssel VS0 = VS0 = S0 = BVS = BES = BS mit einer Länge von 256 Bits dem
Verschlü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
Datenblö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
Pseudozufallsgenerators 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 = VSi = ESi und
einem beliebigen Verschlüsselungsalgorithmus VA
VDi = VAi(Si, DiTSi+1) = VA(Si, DiTSi+1) (27)
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) (28)
berechnet, wobei die Berechnungen in der ersten Iteration nach
VD0 = VA0(S0, D0TS1) = VA(S0, D0TS1) (29)
S1 = S0 xor (D0 xor TS1) (30)
erfolgen (mit "xor" als boolsche "exclusive or"-Funktion).
In a specific example of a symmetrical encryption method according to one of Claims 1, 2 and 14, the common basic encryption and decryption key VS 0 = VS 0 = S 0 = BVS = BES = BS with a length of 256 bits can be used by the encryptor and the decryptor (n) already known, or by one of the known key exchange methods - such as Diffie-Hellmann (US Patent 4,200,770) or IKE (Internet RCF 2409, "IPSec", 2000, Addison-Wesley, p. 117ff) - to be exchanged with one another at the beginning , The data to be encrypted is divided into data blocks of the same length as the basic key (256 bits), whereby the last data block can be extended with any data up to the key length if necessary. The partial keys TS i also have the same length as the basic key (256 bits). In each iteration, a new partial key TS i is first generated with the aid of a pseudo-random generator and combined with the data D i to be encrypted in a 512-bit data block D i TS i + 1 , the data block D i TS i + 1 - consisting of the two sub-blocks D i and TS i + 1 - then with key S i = VS i = ES i and any encryption algorithm VA
VD i = VA i (S i , D i TS i + 1 ) = VA (S i , D i TS i + 1 ) (27)
encrypted, and finally the new key S i + 1 for the next iteration
S i + 1 = S 0 xor (D i xor TS i + 1 ) (28)
calculated, with the calculations in the first iteration after
VD 0 = VA 0 (S 0 , D 0 TS 1 ) = VA (S 0 , D 0 TS 1 ) (29)
S 1 = S 0 xor (D 0 xor TS 1 ) (30)
done (with "xor" as a Boolean "exclusive or" function).
Der Entschlüsseler berechnet in der i-ten Iteration mit Hilfe des zu VA gehörenden
Entschlü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) = EAi(Si, VDi) (31)
sowie den Schlüssel Si+1 für die nächste Iteration
Si+1 = S0 xor (Di xor TSi+1) (32)
wobei in der ersten Iteration (i = 0) die Berechnungen
(D0, TS1) = D0TS1 = EA(S0, VD0) (33)
S1 = S0 xor (D0 xor TS1) (34)
folgen.
In the ith iteration, the decryptor uses the decryption algorithm EA belonging to VA to calculate the data block D i TS i + 1 and thus the original data D i and the partial key from the encrypted data VD i depending on the already known key S i TS i + 1
(D i , TS i + 1 ) = D i TS i + 1 = EA i (S i , VD i ) = EA i (S i , VD i ) (31)
and the key S i + 1 for the next iteration
S i + 1 = S 0 xor (D i xor TS i + 1 ) (32)
where in the first iteration (i = 0) the calculations
(D 0 , TS 1 ) = D 0 TS 1 = EA (S 0 , VD 0 ) (33)
S 1 = S 0 xor (D 0 xor TS 1 ) (34)
consequences.
Dieses Beispiel kann leicht so modifiziert werden, daß in den Schlüssel S. 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 (35)
berechnet und anstelle von TSi+1 in der Schlüsselberechnung
Si+1 = S0 xor (Di xor KTSi+1) (36)
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 (37)
in die Schlüsselberechnung
Si+1 = S0 xor (KDi xor KTSi+1) (38)
einfließen.
This example can easily be modified so that in the key S. all previous subkeys TS 1 ,. , ., TS i by entering an additional cumulative subkey in each iteration with i> 0
KTS i + 1 = KTS i xor TS i + 1 with KTS 1 = TS 1 (35)
calculated and instead of TS i + 1 in the key calculation
S i + 1 = S 0 xor (D i xor KTS i + 1 ) (36)
used. The same method can also be used for the data D i , in that in each iteration with i> 0 instead of D i the cumulative data
KD i + 1 = KD i xor D i with KD 1 = D 0 (37)
in the key calculation
S i + 1 = S 0 xor (KD i xor KTS i + 1 ) (38)
incorporated.
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 verarbeiten können. Of course, an encryption method according to claims 1 or 2 is neither limited to a fixed block length of the original data, key and partial key. she can be chosen freely, even vary from iteration to iteration, as long as the encryption and decryption algorithms and key functions use them can process.
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 werden kann. The same example can also be applied to a message-oriented encryption method applied according to claims 3 or 4, wherein the individual as data blocks Messages used themselves or each message broken down into several data blocks can be.
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 teilweise durch menschliche Arbeitskraft ausgeführt werden. The encryption methods described in this patent are self-evident not only limited to freely programmable electronic calculators, but also can also be included as firmware in any machine or at least partially carried out by human labor.
Durch die freie Wahl
- 1. der Verschlüsselungsalgorithmen und Schlüsselgeneratoren und
- 2. der in den Verschlüsselungsalgorithmen und Schlüsselgeneratoren explizit eingehenden Parameter
- 1. the encryption algorithms and key generators and
- 2. The parameters explicitly entered in the encryption algorithms and key generators
Claims (23)
beginnend bei i = 1 sukzessive für alle ganzzahligen i < n - zur Entschlüsselung des Datenblockes VDi - mit Hilfe eines zu VAi gehörenden Entschlüsselungsalgorithmus EAi in Abhängigkeit von ES0, . . ., ESi, , D0, . . ., Di-1, und TS1, . . ., TSi und genanntem verschlüsselten Datenblock VDi sowohl den originalen Datenblock Di als auch den Teilschlüssel TSi+1 bestimmt, und
für alle i mit Hilfe eines zu genanntem Verschlüsselungsschlüsselgenerator VSGi+1 gehörenden Entschlüsselungsschlüsselgenerators ESGi+1 in Abhängigkeit von ES0, . . ., ESi, D0, . . ., Di, und TS1, . . ., TSi+1 den Entschlüsselungsschlüssel ESi+1 bestimmt.
starting with i = 1 successively for all integer i <n - for decrypting the data block VD i - with the help of a decryption algorithm EA i belonging to VA i depending on ES 0 ,. , ., ES i,, D 0,. , ., D i-1 , and TS 1 ,. , ., TS i and said encrypted data block VD i determines both the original data block D i and the partial key TS i + 1 , and
for all i by means of a belonging to encryption key generator-called VSG i + 1 decryption key generator ESG i + 1 in response to ES 0. , ., ES i , D 0,. , ., D i , and TS 1 ,. , ., TS i + 1 determines the decryption key ES i + 1 .
beginnend bei i = 1 sukzessive für alle ganzzahligen i - zur Entschlüsselung des Datenblockes VDi - mit Hilfe eines zu VAi gehörenden Entschlüsselungsalgorithmus EAi in Abhängigkeit von ES0, . . ., ESi, D0, . . ., Di, und TS1, . . ., TSi und genanntem verschlüsselten Datenblock VDi sowohl den originalen Datenblock Di als auch den Teilschlüssel TSi+1 bestimmt, und
für alle i mit Hilfe eines zu genanntem Verschlüsselungsschlüsselgenerator VSGi+1 gehörenden Entschlüsselungsschlüsselgenerators ESGi+1 in Abhängigkeit von ES0, . . ., ESi, D0, . . ., Di, und TS1, . . ., TSi+1 den Entschlüsselungsschlüssel ESi+1 bestimmt.
starting with i = 1 successively for all integer i - for decrypting the data block VD i - with the help of a decryption algorithm EA i belonging to VA i depending on ES 0 ,. , ., ES i , D 0,. , ., D i , and TS 1 ,. , ., TS i and said encrypted data block VD i determines both the original data block D i and the partial key TS i + 1 , and
for all i by means of a belonging to encryption key generator-called VSG i + 1 decryption key generator ESG i + 1 in response to ES 0. , ., ES i , D 0,. , ., D i , and TS 1 ,. , ., TS i + 1 determines the decryption key ES i + 1 .
- zur Entschlüsselung der Nachricht VN0 - mit Hilfe eines zu VA0 gehörenden Entschlüsselungsalgorithmus EA0 und genanntem Entschlüsselungsschlüssel ES0 aus genannter 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 VAigehörenden Entschlüsselungsalgorithmus EAi in Abhängigkeit von ES0, . . ., ESi, 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 eines zu genanntem Verschlüsselungsschlüsselgenerator VSGi+1 gehörenden Entschlüsselungsschlüsselgenerators ESGi+1 in Abhängigkeit von ES0, . . ., ESi, D0, . . ., Di, und TS1, . . ., TSi+1 den Entschlüsselungsschlüssel ESi+1 bestimmen.
- to decrypt the message VN 0 - by means of a to VA belonging 0 decryption algorithm EA and 0-called decryption key from 0 ES-called encrypted message, both the original message VN N 0 and the subkey TS 1 determine 0, and
- to decrypt the message VN i (i> 0) - with the help of a decryption algorithm EA i belonging to VA i depending on ES 0 ,. , ., ES i , D 0,. , ., D i , and TS 1 ,. , ., TS i and said encrypted message VN i determine both the original message N i and the subkey TS i + 1 , and
for all i by means of a belonging to encryption key generator-called VSG i + 1 decryption key generator ESG i + 1 in response to ES 0. , ., ES i , D 0,. , ., D i , and TS 1 ,. , ., TS i + 1 determine the decryption key ES i + 1 .
- zur Entschlüsselung der Nachricht VN0 - mit Hilfe eines zu VA0 gehörenden Entschlüsselungsalgorithmus EA0 und genanntem Entschlüsselungsschlüssel ES0 aus genannter 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 ES0, . . ., ESi, 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 eines zu genanntem Verschlüsselungsschlüsselgenerator VSGi+1 gehörenden Entschlüsselungsschlüsselgenerators ESGi+1 in Abhängigkeit von ES0, . . ., ESi, D0, . . ., Di, und TS1, . . ., TSi+1 den Entschlüsselungsschlüssel ESi+1 bestimmen.
- to decrypt the message VN 0 - by means of a to VA belonging 0 decryption algorithm EA and 0-called decryption key from 0 ES-called encrypted message, both the original message VN N 0 and the subkey TS 1 determine 0, and
- to decrypt the message VN i (i> 0) - with the help of a decryption algorithm EA i belonging to VA i depending on ES 0 ,. , ., ES i , D 0,. , ., D i , and TS 1 ,. , ., TS i and said encrypted message VN i determine both the original message N i and the subkey TS i + 1 , and
for all i by means of a belonging to encryption key generator-called VSG i + 1 decryption key generator ESG i + 1 in response to ES 0. , ., ES i , D 0,. , ., D i , and TS 1 ,. , ., TS i + 1 determine the decryption key ES i + 1 .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2002124473 DE10224473A1 (en) | 2001-06-18 | 2002-06-03 | Data encryption system has iterative part block encryption and decryption key generation using base decryption and encryption keys |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10129285A DE10129285C2 (en) | 2001-06-18 | 2001-06-18 | Encryption procedure with arbitrary selectable one-time keys |
DE2002124473 DE10224473A1 (en) | 2001-06-18 | 2002-06-03 | Data encryption system has iterative part block encryption and decryption key generation using base decryption and encryption keys |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10224473A1 true DE10224473A1 (en) | 2003-12-24 |
Family
ID=29713103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2002124473 Ceased DE10224473A1 (en) | 2001-06-18 | 2002-06-03 | Data encryption system has iterative part block encryption and decryption key generation using base decryption and encryption keys |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE10224473A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2119092A4 (en) * | 2007-03-06 | 2012-02-22 | William V Oxford | Method and system for a recursive security protocol for digital copyright control |
US9575906B2 (en) | 2012-03-20 | 2017-02-21 | Rubicon Labs, Inc. | Method and system for process working set isolation |
US9705677B2 (en) | 2002-06-20 | 2017-07-11 | Rubicon Labs, Inc. | Method and system for control of code execution on a general purpose computing device and control of code execution in a recursive security protocol |
US9710617B2 (en) | 2002-06-20 | 2017-07-18 | Rubicon Labs, Inc. | Method and system for a recursive security protocol for digital copyright control |
-
2002
- 2002-06-03 DE DE2002124473 patent/DE10224473A1/en not_active Ceased
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9705677B2 (en) | 2002-06-20 | 2017-07-11 | Rubicon Labs, Inc. | Method and system for control of code execution on a general purpose computing device and control of code execution in a recursive security protocol |
US9710617B2 (en) | 2002-06-20 | 2017-07-18 | Rubicon Labs, Inc. | Method and system for a recursive security protocol for digital copyright control |
EP2119092A4 (en) * | 2007-03-06 | 2012-02-22 | William V Oxford | Method and system for a recursive security protocol for digital copyright control |
US9575906B2 (en) | 2012-03-20 | 2017-02-21 | Rubicon Labs, Inc. | Method and system for process working set isolation |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10129285C2 (en) | Encryption procedure with arbitrary selectable one-time keys | |
DE69929251T2 (en) | ENCRYPTION SYSTEM WITH A KEY OF CHANGING LENGTH | |
EP1793525B1 (en) | Method for changing the group key in a group of network elements in a network | |
DE69937007T2 (en) | METHOD AND DEVICE FOR ENCRYPTION AND DECOMPOSITION OF DATA | |
DE102012111903B4 (en) | Method for establishing a secure connection between clients | |
DE19744961A1 (en) | Generate clear and unpredictable values | |
EP1298834B1 (en) | Method and apparatus for encrypting and decrypting data | |
DE102009024604A1 (en) | Generation of a session key for authentication and secure data transmission | |
DE60025401T2 (en) | GENERATION OF A MATHEMATICALLY RESTRICTED KEY USING AN ONE-WAY FUNCTION | |
EP2647157A1 (en) | Method and apparatus for performing symmetrical stream encryption of data | |
DE60027006T2 (en) | METHOD AND DEVICE FOR SAFE TRANSMISSION OF DISTRIBUTED AUTHENTICATION QUESTIONS (EDGE) FOR USE IN THE AUTHENTICATION OF A MOBILE STATION | |
DE10224473A1 (en) | Data encryption system has iterative part block encryption and decryption key generation using base decryption and encryption keys | |
DE60133140T2 (en) | SYSTEM AND METHOD FOR SYMMETRIC CRYPTOGRAPHY | |
DE102006036165B3 (en) | Method for establishing a secret key between two nodes in a communication network | |
EP2288073B1 (en) | Apparatus for encrypting data | |
EP1119941B1 (en) | Method for establishing a common key between an exchange and a group of subscribers | |
DE19938198A1 (en) | Procedure for establishing a common key for a group of at least three participants | |
DE19935286A1 (en) | Process for the secure distributed generation of an encryption key | |
DE102022004632B3 (en) | Method for encrypting plain text | |
DE102022000638B9 (en) | Method for securely negotiating symmetrical keys between two participants in a communication | |
WO2001022654A1 (en) | Method of recovering a cryptographic session key | |
DE602004004135T2 (en) | METHOD FOR ENCRYPTING / DEACTIVATING A MESSAGE AND APPROPRIATE DEVICE | |
DE4420967C2 (en) | Decryption device for digital information and method for carrying out the encryption and decryption of this using the decryption device | |
DE102019216203A1 (en) | Proof-of-work based on block encryption | |
EP1152567A2 (en) | Method for securing privacy and avoiding eavesdropping during communication between computer networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AF | Is addition to no. |
Ref document number: 10129285 Country of ref document: DE Kind code of ref document: P |
|
OP8 | Request for examination as to paragraph 44 patent law | ||
8131 | Rejection |