DE102004006570B4 - One-time key generation method on a fractal basis for block encryption algorithms - Google Patents
One-time key generation method on a fractal basis for block encryption algorithms Download PDFInfo
- Publication number
- DE102004006570B4 DE102004006570B4 DE200410006570 DE102004006570A DE102004006570B4 DE 102004006570 B4 DE102004006570 B4 DE 102004006570B4 DE 200410006570 DE200410006570 DE 200410006570 DE 102004006570 A DE102004006570 A DE 102004006570A DE 102004006570 B4 DE102004006570 B4 DE 102004006570B4
- Authority
- DE
- Germany
- Prior art keywords
- key
- selection
- functions
- byte
- field
- 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.)
- Expired - Fee Related
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/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- 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/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/005—Countermeasures against attacks on cryptographic mechanisms for timing attacks
-
- 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/04—Masking or blinding
- H04L2209/046—Masking or blinding of operations, operands or results of the operations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
Einmalschlüsselgenerierungsverfahren zur Erzeugung von einmaligen Basisschlüsselsequenzen für Blockverschlüsselungsalgorithmen basierend auf dem Zusammenwirken von drei Hauptmerkmalen zur Manipulation von digital codierten Daten dadurch gekennzeichnet, dass nach der einleitenden Berechnung eines hinreichend großen Bytefeldes mittels fraktaler Berechnungsmethoden und Speicherung in einem Bytefeld, über eine Schar von austauschbaren Auswahlfunktionen (Selektionsfunktionen) Bytefolgen aus einem indizierten Bytefeld zu einer Sequenz von Basisschlüsseln zusammengestellt werden, wobei ein unabhängiger, pro Datenblock inkrementierter Pseudozufallszahlengenerator mit einer ausreichend großen Periode benutzt wird, um aus dem aktuellen Zufallszahlenwert die Selektionsfunktion, sowie die Indexstartwerte abzuleiten mit denen der nächste Basisschlüssel aus dem fraktal berechneten Bytefeld abgeleitet wird.Once key generation method for generating unique base key sequences for block encryption algorithms based on the interaction of three main features for manipulation of digitally coded data, characterized in that after the preliminary calculation of a sufficiently large byte field by means of fractal Calculation methods and storage in a byte field, via a Multitude of interchangeable selection functions (selection functions) Sequence of bytes from an indexed byte field to a sequence of base keys, being an independent, per data block incremented pseudo-random number generator with a sufficiently large one Period is used to change the current random number value Selection function, as well as derive the index starting values with those the next Basic key off derived from the fractal-computed byte field.
Description
Bereich der ErfindungField of the invention
Die Erfindung gehört in den Bereich der Verschlüsselungs- und Entschlüsselungsverfahren, im erweiterten Zusammenhang in den Bereich der Einmalschlüsselverfahren.The Invention belongs into the field of encryption and decryption procedures, in the extended context in the area of the one-time-key-method.
Hintergrund zur Erfindungbackground to the invention
Verschlüsselungsverfahren werden zum Schutz von Informationen vor dem Zugriff unbefugter Dritter eingesetzt. Dabei ist der gesicherten Übermittlung von Informationen die gleiche Bedeutung beizumessen, wie der Speicherung von Informationen auf Massendatenträgern in Archivsystemen der digitalen Informationstechnik. Ziel von Verschlüsselungsverfahren ist es, die Klartextinformationen und insbesondere auch den benutzten Schlüssel geheim zu halfen.encryption method are used to protect information from access by unauthorized third parties used. Here is the secure transmission of information to attach the same importance as the storage of information on mass media in archive systems of digital information technology. Aim of encryption procedures is it the plaintext information and especially the used ones key to help secretly.
In Blockverschlüsselungsverfahren werden Klartextinformationen in kleine Informationseinheiten in sogenannte Datenblöcke aufgespalten und blockweise ver- bzw. entschlüsselt. Symmetrische Verschlüsselungsverfahren setzen voraus, daß der verwendete Schlüssel bei Sender und Empfänger bekannt ist. Dieser Schlüssel muß mindestens einmal zwischen Sender und Empfänger ausgetauscht werden und wird üblicherweise in unregelmäßigen Zeiträumen gewechselt.In Block encryption method plain text information is in small pieces of information in so-called data blocks split and encrypted or decrypted in blocks. Symmetric encryption methods assume that the used keys at transmitter and receiver is known. This key must be at least once between transmitter and receiver be exchanged and will usually changed at irregular intervals.
Die Klartextdatenblöcke werden mit einem Schlüssel in einer festgelegten Anzahl von Runden verschlüsselt und damit in einen Geheimtext umgewandelt. Der Geheimtext sollte nach der Verschlüsselung keinerlei statistische Abhängigkeit vom Klartext aufweisen. [3]The Plaintext data blocks be with a key encrypted in a fixed number of rounds and thus in a ciphertext transformed. The ciphertext should be after the encryption no statistical dependence have plain text. [3]
Diese
Forderung läßt sich
annähernd
mit den modernen Blockverschlüsselungsverfahren
erfüllen. Dazu
verwendet beispielsweise der bekannte Blockverschlüsselungsalgorithmus
AES-Rijndael [1, 2] einfache Datenmanipulationen, wie die Verknüpfung eines
Datenblockes mit dem Schlüssel,
das Verschieben von Zeichen innerhalb der Blockstruktur, das Vertauschen
von Zeichen innerhalb der Blockstruktur und das Ersetzen einzelner
Zeichen über
sogenannte „S-Boxen" in einer festgelegten
Zuordnung. Die Manipulationen werden in der Regel über mehrere Runden
hinweg mit einem aus dem festen Basisschlüssel abgeleiteten Rundenschlüssel wiederholt durchgeführt. (
Moderne Angriffsmethoden erlauben es in vielfältiger Weise den benutzten Basisschlüssel auszuspionieren. Werden bei der Verschlüsselung nur symmetrische Verfahren genutzt, und wird der benutzte Basisschlüssel nicht regelmäßig ausgewechselt, so kann ein Angreifer alle bis dahin aufgezeichneten Geheimtextdaten entschlüsseln und die Klartextinformationen auswerten.modern Attack methods allow the used in many ways base key spy. Become only symmetric in encryption used, and the used base key is not replaced regularly, so an attacker can capture all ciphertext data previously recorded decipher and evaluate the plain text information.
In Erweiterung dazu verwenden Einmalschlüsselverfahren in Verbindung mit Blockverschlüsselungsalgorithmen im Idealfall für jeden zu verschlüsselnden Datenblock einen eigenen Basisschlüssel. Die Abfolge der Basisschlüssel wird dabei außer zur Entschlüsselung niemals wiederverwendet.In Extension to use one-time key method in conjunction with block encryption algorithms ideally for each one to be encrypted Data block has its own base key. The sequence of the base key becomes besides for decryption never reused.
Das im Folgenden beschriebene, neue Einmalschlüsselgenerierungsverfahren ist eignet sich zum Einsatz in Verbindung mit allen bekannten Blockverschlüsselungsalgorithmen. Das Einmalschlüsselgenerierungsverfahren arbeitet funktionell unabhängig vom eingesetzten Blockverschlüsselungsalgorithmus, d.h. die Kernfunktionalität des verwendeten Blockverschlüsselungsalgorithmus wird durch das Einmalschlüsselgenerierungsverfahren an keiner Stelle verändert.The described below, is a new one-time key generation method is suitable for use in conjunction with all known block encryption algorithms. The one-time key generation method works independently from the block encryption algorithm used, i.e. the core functionality the block encryption algorithm used by the one-time key generation method changed at any point.
Beschreibung zur Erfindungdescription to the invention
Das
zu schützende
Einmalschlüsselgenerierungsverfahren
erzeugt eine fortlaufende Folge von Basisschlüsseln für das eingesetzte symmetrische Blockverschlüsselungsverfahren.
Für jeden
Klartextdatenblock einer Verschlüsselungssitzung
wird mit dem Verfahren ein unabhängiger
Basisschlüssel
erzeugt, an den benutzten Blockverschlüsselungsalgorithmus übergeben
und mit diesem verschlüsselt.
Die Schlüsselsequenz
ist für
jede Sitzung einmalig und hängt
allein von den Initialisierungsparametern des Einmalschlüsselgenerierungsverfahrens
ab. Das neue Einmalschlüsselgenerierungsverfahren
ist kein neuer Verschlüsselungsalgorithmus,
sondern stellt lediglich eine Erweiterung für existierende symmetrische
Blockverschlüsselungsalgorithmen
dar. [7], (
Das Einmalschlüsselgenerierungsverfahren ist für symmetrische Blockverschlüsselungsalgorithmen geeignet und kann auf vielen handelsüblichen Mikroprozessoren oder Mikrokontrollern in Verbindung mit einem symmetrischen Blockverschlüsselungsalgorithmus implementiert werden.The One-time key generation method for symmetrical Block encryption algorithms suitable and can be used on many commercially available microprocessors or Microcontrollers in conjunction with a symmetric block encryption algorithm be implemented.
Das Einmalschlüsselgenerierungsverfahren basiert auf fraktalen Berechnungen, einem Pseudozufallszahlengenerator und einer Liste von Auswahlfunktionen, im Folgenden auch Selektionsfunktionen genannt.The One-time key generation method based on fractal calculations, a pseudo-random number generator and a list of selection functions, also referred to below as selection functions.
Für jede neue Verschlüsselungssitzung wird ein eigenes, fraktal berechnetes Bytefeld erzeugt und der Pseudozufallszahlengenerator erneut initialisiert. Für jeden zu verschlüsselnden Datenblock wird ein neuer Basisschlüssel mit Hilfe der Selektionsfunktionen bestimmt. Die Initialisierung erfolgt im Sender und Empfänger gleichartig während der Sitzungseröffnung und ist vergleichbar mit dem Aushandeln eines Sitzungsschlüssels.For each new encryption session, a separate fractal-computed byte field is generated and the pseudorandom number generator is reinitialized. For each data block to be encrypted, a new base key is created using the selection function determined. The initialization is similar in the sender and receiver during session opening and is similar to negotiating a session key.
Durch die Nutzung von fraktalen Rechenmethoden verfügt das Einmalschlüsselverfahren über einen sehr großen Schlüsselraum, sodaß eine Basisschlüsselfolge außer zur Entschlüsselung niemals wiederverwendet werden muß und auch sehr große Datenmengen verschlüsselt werden können, ohne daß sich die berechnete Einmalschlüsselsequenz wiederholt. Ein Angreifer hingegen muß die gesamte Basisschlüsselfolge einer Sitzung ermitteln, um den gesamten Geheimtext entschlüsseln zu können. Die Kenntnis eines einzelnen Basisschlüssels aus der Basisschlüsselfolge erlaubt die Entschlüsselung jeweils nur eines Datenblockes, der mitprotokollierten Geheimtextinformation. Durch die einmalige Abfolge von Basisschlüsseln, kombiniert mit einem sicheren Verschlüsselungsalgorithmus, schützt das Verfahren vor Angriffsmethoden der Kryptanalyse basierend auf einer Mindestmenge von Geheimtextdaten, die mit einem gleichbleibenden Schlüssel bearbeitet wurden.By the use of fractal calculation methods has the one-time-key method very big Key space, so one Basic key sequence except for decryption never be reused and also very large amounts of data encoded can be without that the calculated one-time key sequence is repeated. An attacker, however, must the entire base key sequence of a session to decrypt the entire ciphertext can. The knowledge of a single base key from the base key sequence allows decryption in each case only one data block, the logged-in ciphertext information. Through the unique sequence of basic keys, combined with one secure encryption algorithm, protects the method against attack methods of cryptanalysis based on a Minimum amount of ciphertext data consistent with a key were edited.
Um vollen Zugriff auf den Klartext zu bekommen, werden bei dem Einmalschlüsselverfahren sowohl initiale Schlüsselinformationen als auch Informationen zum Verfahren der Schlüsselerzeugung benötigt. Beide Informationen können im neuen Einmalschlüsselgenerierungsverfahren unabhängig voneinander verwaltet werden. Dadurch erhöht sich die Sicherheit des Gesamtsystems. Ein einzelner Nutzer des Systems allein verfügt nicht über die vollständige Information, um den Geheimtext mit einem baugleichen, jedoch nicht gleichartig initialisierten und gewarteten System zu entschlüsseln.Around To get full access to the plaintext, be with the one-time key method both initial key information as well as information on the method of key generation needed. Both Information can in the new one-time key generation process independently of each other to get managed. This increases the security of the whole system. A single user of the Systems alone has no over the complete Information to the ciphertext with a similar, but not uniquely initialized and maintained system to decrypt.
Alle Eigenschaften stellen sicher, daß über diesen Mechanismus eine sehr langperiodische Abfolge von Basisschlüsseln eine Einmalschlüsselsequenz erzeugt wird, bei der einzelne Basisschlüssel auch mehrfach in unregelmäßigen Intervallen auftreten können. Extrem lange Basisschlüsselsequenzen, bei denen sich keinesfalls die Abfolge der Basisschlüsselfolge wiederholen darf, können durch Neuberechnung des fraktalen Feldes bereitgestellt werden.All Properties ensure that through this mechanism a very long-period sequence of basic keys a one-time key sequence is generated in the individual base key also several times at irregular intervals may occur. Extremely long basic key sequences, at who are not allowed to repeat the sequence of the basic key sequence, can provided by recalculation of the fractal field.
An die Stelle des festen Sitzungsschlüssels (Basisschlüssel) tritt aus der Sicht des Benutzers die Kenntnis der Initialwerte für das Einmalschlüsselgenerierungsverfahren. Dazu gehören Startpunkte und Sprungwerte bei der fraktalen Berechnung des Bytefeldes, der Startwert für den Zufallszahlengenerator, Daten zur Maskierung des aktuellen Zufallzahlenwertes sowie die Kenntnis aller Selektionsfunktionen. Diese Informationen entsprechen funktionell dem Basisschlüssel beim nicht erweiterten Blockverschlüsselungsverfahren und sind genau wie der feste Sitzungsschlüssel (Basisschlüssel) streng geheim zu halten. Die Initialwerte müssen sowohl im Quellsystem bei der Verschlüsselung als auch im Zielsystem vor dem Beginn der Entschlüsselung vorliegen, damit sowohl Sender als auch Empfänger die selbe, eindeutige Einmalschlüsselsequenz erzeugen.At the location of the fixed session key (base key) occurs from the user's perspective, the knowledge of the initial values for the one-time key generation method. This includes Starting points and jump values in the fractal calculation of the byte field, the start value for the random number generator, data to mask the current random number value as well as the knowledge of all selection functions. This information functionally correspond to the base key when not extended Block encryption method and are strict just like the fixed session key (base key) to keep secret. The initial values must be both in the source system in the encryption as well as in the target system before the start of decryption be present so that both sender and receiver the same, unique Once key sequence produce.
Das Nachbilden der Einmalschlüsselsequenz darf nur unter Kenntnis aller Initialwerte und Berechnungsverfahren und niemals aufgrund statistischer Analysen der Geheimtextdaten aus einer Verschlüsselungssitzung möglich sein.The Imitating the one-time key sequence may only with knowledge of all initial values and calculation methods and never due to statistical analysis of the ciphertext data from an encryption session possible be.
Jeder erzeugte Basisschlüssel aus der Einmalschlüsselsequenz wird mit der Schlüsselerweiterungsfunktion des eingesetzten Blockverschlüsselungsalgorithmus auf die notwendige Anzahl von Rundenschlüsseln erweitert.Everyone generated base key from the one-time key sequence comes with the key extension function the used block encryption algorithm extended to the necessary number of round keys.
Der gesamte, sicherheitsrelevante Schlüssel besteht aus den Start- und Sprungwerten zur Berechnung des Fraktalen Feldes, den Startwerten des Zufallszahlengenerators, der Kenntnis von Anzahl und Inhalt der Selektionsfunktionen sowie weiterer festgeschriebener, jedoch ebenfalls in Wartungsintervallen änderbarer Maskierungen. Die Vielzahl von Abhängigkeiten und Parametrisierungen erlaubt es, bei teilweise gleichbleibenden Parametrisierungen spezielle Zielsysteme oder eine Gruppe von Zielsystemen sicherheitstechnisch voneinander durch kleine Änderungen in den Maskierungen abzugrenzen.Of the entire, security-relevant key consists of the start-up and jump values for calculating the fractal field, the starting values of the random number generator, the knowledge of number and content the selection functions and other fixed, however also during maintenance intervals of changeable maskings. The Variety of dependencies and parameterizations allow it, with partially consistent Parameterization special target systems or a group of target systems safety-related from each other by small changes in the masking delineate.
Die Sicherheit des Einmalschlüsselverfahrens kann durch Verteilung der Kenntnis von Schlüsselanteilen auf verschiedene Verantwortlichkeiten in voneinander unabhängige Verantwortungsbereiche erhöht werden. Dies betrifft insbesondere die Trennung von der Verantwortung für die Erzeugung von Initialwerten (Sitzungsspezifische Schlüsselinformationen) von der Verantwortung für die eingesetzte Schar der Selektionsfunktionen (Wartbarer Anteil der Schlüsselinformationen).The Security of the one-time-key procedure can be done by distributing the knowledge of key shares to different ones Responsibilities in independent areas of responsibility. This concerns in particular the separation from the responsibility for the production of initial values (session specific key information) from the responsibility for The set of selection functions used (maintainable share the key information).
Abgrenzung zum Stand der Technik bei Einmalschlüsselverfahrendemarcation to the prior art with one-time key method
Wie
in der Patentschrift
Im darin beschriebenen Verfahren werden ebenfalls pseudozufällige Schlüssel (S0 ... Si) und Teilschlüssel (TS0 ... TSi), sowie eine beliebige Anzahl von Schlüsselberechnungsfunktionen SFi+1 (S0, ..., Si, D0, ..., Di, TS1, ... TSi+1) beschrieben. Neben einer beliebigen Anzahl von Schlüsselberechnungsfunktionen läßt das Verfahren weiterhin auch eine beliebige Anzahl von Verschlüsselungsalgorithmen (VAi (S0, ..., Si, D0, ..., Di, TS1, ... TSi+1)) zu.In the method described therein also pseudorandom keys (S0 ... Si) and subkeys (TS0 ... TSi), as well as any number of key calculation functions SFi + 1 (S0, ..., Si, D0, ..., Di , TS1, ... TSi + 1). Next to any number of key fields Furthermore, the method allows any number of encryption algorithms (VAi (S0,..., Si, D0,..., Di, TS1,... TSi + 1)).
Entsprechend
der Beschreibung in der Patentschrift
Diese Verfahren kommen auch für das neue Einmalschlüsselgenerierungsverfahren zur Übermittlung der Initialdaten zwischen Sender und Empfänger in Frage. Mit den Initialdaten werden dabei Start- und Sprungwerte bei der Berechnung des Fraktalen Feldes sowie die Startwerte für den Pseudozufallszahlengenerator festgelegt. Die Initialdaten beinhalten zusätzlich Informationen zur vorgesehenen Basisschlüssel- und Datenblocklänge für das eingesetzte Blockverschlüsselungsverfahren.These Procedures also come for the new one-time key generation method for transmission the initial data between sender and receiver in question. With the initial data Here are start and jump values in the calculation of the fractal field as well as the starting values for set the pseudo-random number generator. The initial data include additionally Information about the intended base key and data block length for the used Block encryption method.
Abweichend
von dem im Patent
- – Das neue Verfahren ermöglichst
eine inhaltlich und zeitlich unabhängige Berechnung der Basisschlüsselfolge.
Die Berechnung des Schlüssels kann
parallel zur Ver- bzw. Entschlüsselung
erfolgen, da es in allen Anteilen unabhängig vom Blockverschlüsselungsalgorithmus
lauffähig
und unabhängig
von Ergebnisdaten der letzten Verschlüsselung ist. Damit eignet sich
das Verfahren in besonderer Weise auch zur Implementation auf Multiprozessor-
oder Multicore-Systemen. In Abweichung dazu wird im Patent
DE 101 29 285 C2 - – In neuen Einmalschlüsselgenerierungsverfahren werden an zentraler Stelle fraktale Berechnungsmethoden eingesetzt, um sichere Schlüssel und einmalige Schlüsselfolgen zu gewährleisten. (neu)
- – Die auch zu Laufzeit gewährleistete Austauschbarkeit von Schlüsselteilen (Selektionsfunktionen) ist ein wesentlicher Bestandteil des Einmalschlüsselgenerierungsverfahrens und läßt sich auch auf modernen Mikrokontrollerarchitekturen umsetzten. Hierdurch wird eine vom Nutzer unabhängige Wartbarkeit des Gesamtschlüssels ermöglicht. (neu)
- – Es
werden geringere Datenmengen zwischen dem verschlüsselnden
und dem empfangenden System übermittelt,
da die Basisschlüssel
der Einmalschlüsselsequenz
im vorliegenden Einmalschlüsselgenerierungsverfahren
nicht zusammen mit den Daten übertragen
werden müssen,
sondern in Sender und Empfänger
gleichermaßen
mit Hilfe der Initialdaten berechnet werden. Das Verfahren nach
DE 101 29 285 C2 - – Im
neuen Einmalschlüsselgenerierungsverfahren
ist es im Gegensatz zum Verfahren aus
DE 101 29 285 C2 - – Die Variablentypisierung bei der Berechnung des fraktalen Feldes, die Art und Funktion des Pseudozufallszahlengenerators, die Anzahl und Komplexität der Selektionsfunktionen und die Größe des Fraktalen Feldes steuern die Sicherheit des neuen Einmalschlüsselgenerierungsverfahrens. (neu)
- – Das neue Einmalschlüsselgenerierungsverfahrens ist vollständig unabhängig vom eingesetzten Blockverschlüsselungsverfahren und verändert oder beeinträchtigt dieses nicht.
- – Das
neue Einmalschlüsselgenerierungsverfahrens
kann auch dann eingesetzt werden, wenn nur ein Datenblock zu verschlüsseln ist.
(siehe
DE 101 29 285 C2
- - The new method enables a content-independent and temporally independent calculation of the basic key sequence. The calculation of the key can be done in parallel to the encryption or decryption, as it is executable in all shares regardless of the block encryption algorithm and independent of result data of the last encryption. Thus, the method is particularly suitable for implementation on multiprocessor or multicore systems. By way of derogation, the patent
DE 101 29 285 C2 - - New single-key generation techniques use fractal computational methods at a central location to ensure secure keys and unique key sequences. (New)
- - The exchangeability of key parts (selection functions) guaranteed at runtime is an essential part of the single-key generation process and can also be implemented on modern microcontroller architectures. This allows a user-independent maintainability of the total key. (New)
- - Lesser amounts of data are transmitted between the encrypting and the receiving system, since the base key of the one-time key sequence in the present one-time key generation method need not be transmitted together with the data, but are calculated in the sender and receiver alike using the initial data. The procedure according to
DE 101 29 285 C2 - In the new one-time key generation method, it is unlike the method
DE 101 29 285 C2 - The variable typing in the calculation of the fractal field, the nature and function of the pseudo-random number generator, the number and complexity of the selection functions and the size of the fractal field control the security of the new one-time-key generation method. (New)
- The new one-time key generation method is completely independent of the block encryption method used and does not change or impair it.
- The new one-time key generation method can also be used if only one data block is to be encrypted. (please refer
DE 101 29 285 C2
Ausführliche Beschreibung der AbbildungenFull Description of the pictures
Detaillierte Beschreibung zum PatentanspruchDetailed description to claim
a) Initialisierung des Einmalschlüsselgenerierungsverfahrens Initialisierunga) Initialization of the Once key generation process initialization
Die Initialdaten beinhalten für das Einmalschlüsselgenerierungsverfahren die Daten für die Startpunkte und Sprungwerte zur Berechnung des fraktalen Feldes in der komplexen Zahlenebene, sowie die Startwerte für den Zufallszahlengenerator. Diese Daten entsprechen im Wesentlichen einem Sitzungsschlüssel und werden für jede Sitzung zwischen Sender und Empfänger erneut ausgetauscht.The Initial data include for the one-time key generation method the data for the Starting points and jump values for calculating the fractal field in the complex number plane, as well as the starting values for the random number generator. These Data is essentially a session key and be for exchanged every session between sender and receiver again.
Ein
unabhängiger
Pseudozufallszahlengenerator wird initialisiert und im Folgenden
parallel zu jedem neuen Klartextdatenblock inkrementiert. Mit dem
aktuellen Wert des Pseudozufallszahlengenerators wird eine Selektionsfunktion
bestimmt. Sie dient dazu, Bytefolgen aus dem fraktal berechneten
Bytefeld zu entnehmen und zu einem Basisschlüssel für den Blockverschlüsselungsalgorithmus
zusammenzustellen. (
Die Initialisierungsdaten können beispielsweise mit einem eigenen, unabhängigen Intrinsischen Schlüssel im Sender verschlüsselt und als Sitzungsschlüssel an den Empfänger übermittelt werden. Dabei authentifizieren sich Sender und Empfänger über die Kenntnis des Intrinsischen Schlüssel automatisch. Mit den Initialdaten wird im Empfänger das fraktale Feld berechnet und der Pseudozufallszahlengenerator auf den Startwert eingestellt. Anschließend kann die blockweise Verschlüsselung der Klartextdaten auf dem Sender, der anschließende Transfer der Geheimtextdaten zum Empfänger und die blockweise Entschlüsselung der Geheimtextimformationsblöcke auf dem Empfänger beginnen.The Initialization data can for example, with its own, independent intrinsic key in the Sender encrypted and as a session key transmitted to the recipient become. The sender and receiver authenticate themselves via the Knowledge of the intrinsic key automatically. The initial data is used to calculate the fractal field in the receiver and the pseudo-random number generator set to the starting value. Subsequently can blockwise encryption the plain text data on the transmitter, the subsequent transfer of the ciphertext data to the recipient and blockwise decryption the ciphertext information blocks on the receiver kick off.
Über die Intialisierungsdaten können zusätzlich Konsistenzinformationen zur Kontrolle der Übertragungsqualität der Übertragungsstrecke transportiert werden.About the Initialization data can additionally Consistency information for controlling the transmission quality of the transmission link be transported.
Da die Initialdaten aus zufälligen Zahlen/Bytefolgen bestehen, würde bei einem „Brute Force" Angriff auf die Initialdaten durch Ausprobieren aller möglichen Schlüssel eine automatisierte Prüfung auf sinnvolle Prüfmuster und somit auf ein korrektes Ergebnis der Entschlüsselung fehlschlagen. Ein Angriff auf den Intrinsischen Schlüssel durch Ausprobieren aller möglichen Schlüssel (Brute Force) erscheint damit unmöglich.There the initial data from random Numbers / byte sequences would exist in a "Brute Force" attack on the Initial data by trying all possible keys one automated testing on meaningful test samples and thus fail on a correct result of the decryption. An attack on the intrinsic key by trying out all possible ones key (Brute Force) seems impossible.
b) Berechnung des fraktalen Feldesb) Calculation of the fractal field
Das fraktale Feld basiert auf speziellen, in der Sitzungseröffnung festgelegten Startwerten und der eingesetzten fraktalen Berechnungsmethode (z.B. zur Berechnung von Mandelbrot und Juiliamengen) und bleibt als Basis für die Berechnung der Basisschlüsselfolge während der Sitzung erhalten. Die fraktale Berechnungsbasis wurde für das Einmalschlüsselgenerierungsverfahren gewählt, um sicherzustellen, daß keine schwachen Basisschlüssel möglich sind.The fractal field is based on special, set in the session opening Starting values and the fractal calculation method used (e.g. for the calculation of Mandelbrot and Juiliamengen) and remains as a basis for the Calculation of the base key sequence while received the meeting. The fractal calculation basis was for the single-key generation method selected to make sure that no weak base key possible are.
Fraktale
Berechnungen in der komplexen Ebene besitzen die Eigenschaft aufeinanderfolgende,
sprunghafte Punktfolgen abzubilden, die sich über die gesamte komplexe Ebene
erstrecken können
und parameterabhängige
Konvergenz- bzw. Divergenzeigenschaften besitzen. Außer einzelnen
Attraktionspunkten wird kein Punkt in sich selbst überführt. Aufeinanderfolgende
Punkte einer Berechnung sind demnach einmalig. [6], (
Diese Eigenschaften macht sich das Einmalschlüsselgenerierungsverfahren zunutze. Ausgehend vom Startwert werden Punktfolgen mit Hilfe von iterierten Funktionensystemen vom Grad n >= 2 (z.B. Mandelbrot oder Julia-Mengen) bestimmt und derart manipuliert, daß statistische Abhägigkeiten in den Punktfolgen weitgehend ausgeschlossen werden. Anschliessend werden die sich aus dieser Berechung ergebenden Daten punktweise als Datenbasis in ein Speicherfeld übernommen. Diese Punkte entsprechen digitalen Zahlendarstellungen mit mindestens 4 Byte Datenlänge pro Punkt, wobei die Anzahl der Bytes pro Punkt mit der Deklaration der benutzten Variablen im Programmcode festgelegt wird und Einfluß auf die Sicherheit der angestrebten Einmalschlüsselfolge hat.These Properties takes advantage of the one-time key generation method. outgoing From the start value, point sequences are calculated using iterated function systems of degree n> = 2 (e.g. Mandelbrot or Julia quantities) and manipulated such that statistical Abhägigkeiten be largely excluded in the point sequences. Subsequently the data resulting from this calculation will be pointwise taken as database in a memory field. These points correspond digital number representations with at least 4 bytes of data length per Point, where the number of bytes per point with the declaration the variables used in the program code is determined and influence on the Security of the targeted one-time key sequence.
Unter anderem eignen sich hierbei fraktale Berechnungsmethoden für Mandelbrot- und Juliamengen. Fraktale Funktionen sind einerseits stetig, andererseits jedoch nirgends differenzierbar [6]. Abhängig von festen Startpunkten in der komplexen Gausschen Ebene werden weitere Folgepunkte in der komplexen Ebene mit unterschiedlicher Dynamik sowie Konvergenz- bzw. Divergenzeigenschaften errechnet. Bekannte grafische Darstellungen Mandelbrot und Juliamengen geben die Dynamik der Divergenz- bzw. Konvergenzeigenschaften bei der Berechnung von Punktefolgen in der komplexen Zahlenebene anschaulich wieder. Die größte Dynamik findet sich dabei in den Randbereichen der Mandelbrot- und Juliamengen. Die berechneten Punkte in der komplexen Ebene sind eindeutig reproduzierbare Folgen von Wertepaaren. Die Startwerte für die Berechnung sollten wegen der besonderen Dynamik der Punktefolgen möglichst in den Bereichen der größten Dynamik (z.B. in den Randbereichen der Mandelbrot- bzw. Juliamengen) liegen. [6]Under fractal calculation methods for almond bread and Juliamengen. Fractal functions are on the one hand continuous, on the other hand but nowhere differentiable [6]. Depending on fixed starting points in the complex Gaussian plane further follow - up points will be in the complex level with different dynamics and convergence or divergence properties. Known graphic representations Mandelbrot and Juliamengen give the dynamics of divergence or Convergence properties in the calculation of point sequences in the complex number level vividly again. The greatest dynamics can be found here in the margins of the Mandelbrot and Juliamengen. The calculated Points in the complex plane are clearly reproducible sequences of value pairs. The starting values for the calculation should be due the special dynamics of the points, if possible in the areas of greatest dynamics (for example in the margins of the Mandelbrot or Juliamen gene). [6]
Aus der fraktalen Berechnung werden mindestens 4-Byte lange Gleitkommazahlen als Wertepaare erhalten und in einem mindestens 1024-Byte großen Datenfeld abgelegt. Für den Fall einer 4-Byte Variablentiefe und einen 1024 Byte großen Datenfeld sind 128 Wertepaare in der komplexen Ebene zu berechnen. Dies erfolgt mit einer Mischung von Berechnungen zu Mandelbrot- und Juliamengen. Nach jeweils 4 Punkten wird der Startwert für die Berechnung der nächsten 4 Punkte um den Sprungwert aus der Initialsierung verändert. Dieses Verfahren schützt unter anderem auch vor dem Überlauf von Variablen und verringert die Möglichkeit von statistischen Abhängigkeiten in den berechneten Basisschlüsseln.From the fractal calculation at least 4-byte floating-point numbers are obtained as value pairs and stored in a data field of at least 1024 bytes. In the case of a 4-byte Variable depth and a 1024-byte data field are 128 value pairs in the complex plane to calculate. This is done with a mixture of calculations to Mandelbrot and Juliamengen. After 4 points each, the start value for the calculation of the next 4 points is changed by the jump value from the initialization. Among other things, this method protects against the overflow of variables and reduces the possibility of statistical dependencies in the calculated base keys.
Wegen der Selbstähnlichkeit der Abbildungen in der komplexen Ebene werden die absoluten Werte der berechneten Punkte nach der Berechnung miteinander verknüpft. Dies erfolgt mit dem Hintergrund, die Punktfolgen für das fraktale Feld weiter zu durchmischen und damit eine erweiterte Unabhängigkeit von den eingesetzten fraktalen Rechenvorschriften zu erreichen.Because of the self-similarity The figures in the complex plane become the absolute values the calculated points are linked together after the calculation. This takes place with the background, the point sequences for the fractal field on to mix and thus an extended independence from the used fractal computational rules to achieve.
Für die Erzeugung des fraktalen Feldes können beliebige komplexwertige Funktionen vom Grad >= 2 eingesetzt werden. Unter anderem eignen sich die Berechnungsverfahren zu Mandelbrot- und Julia-Mengen, die im Folgenden Beispielhaft das Verfahren verdeutlichen sollen:
- Mandelbrot-Menge: z1 = z0^2 + c mit x0 = y0 = 0 und Variation von c
- Julia-Menge: z1 = z0^2 + c mit c = konstant und Variation von z
- Mandelbrot set: z1 = z0 ^ 2 + c with x0 = y0 = 0 and variation of c
- Julia set: z1 = z0 ^ 2 + c with c = constant and variation of z
Dabei gilt für die komplexen Rechenvorschriften z = x + iy mit x = Realteil und y = Imaginärteil eines Punktes in der komplexen Gausschen Zahlenebene. Ein Punkt entspricht einem Wertepaar bei der Berechnung des Fraktalen Feldes. Besonders günstige dynamische Eigenschaften ergeben sich beispielsweise durch die Wahl der Startwerte für die Berechnung im Randbereich der Mandelbrot- oder Juliamengen. [6]there applies to the complex computational rules z = x + iy with x = real part and y = imaginary part of a Point in the complex Gaussian number plane. One point corresponds a value pair in the calculation of the fractal field. Particularly favorable dynamic Properties arise, for example, through the choice of starting values for the calculation in the border area of the Mandelbrot or Juliamengen. [6]
Durch Variation der Konstanten c (Mandelbrot) oder durch Variation des Startpunktes z0 (x0 + iy0) (Julia) über einen vorgegebenen Bereich der Gauschen Komplexen Ebene, können Punktefolgen als Basis für die Berechnung des fraktalen Feldes gewonnen werden. Es gibt zu jeder Konstanten c eine eigene Juliamenge und damit unendlich viele Punkte. Die große Menge an möglichen Punktefolgen, sowie die sprunghafte Abfolge der aufeinanderfolgenden, berechneten Punkte ist der Grund für die Auswahl eines fraktal berechneten Feldes als Basis für das Einmalschüsselgenerierungsverfahren.By Variation of the constant c (Mandelbrot) or by variation of the Starting point z0 (x0 + iy0) (Julia) over a given range the Gauschen complex level, can Score sequences as basis for the calculation of the fractal field can be obtained. There is too every constant c has its own amount of july and thus infinitely many Points. The size Amount of possible Point sequences, as well as the erratic sequence of successive, calculated Points is the reason for the selection of a fractal calculated field as a basis for the single-key generation process.
Insbesondere Divergenz-, Konvergenz- und Zufallseigenschaften (Bifurkationen) erhöhen die Eignung fraktaler Berechnungen für die Erzeugung von Zahlenfolgen für das fraktale Feld.Especially Divergence, convergence and random properties (bifurcations) increase the suitability of fractal calculations for the generation of sequences of numbers for the fractal field.
Die Kombination von Mandelbrot und Julia-Mengen bedeutet im Berechnungsbeispiel, daß sowohl die Konstante c als auch die Werte für x0 und y0 im Laufe der Berechnung des fraktalen Feldes variiert werden. Bei der Berechnung werden Gleitkommaberechnungen mit mindestens 4 Bytes grossen Variablen durchgeführt. Die berechneten Wertepaare werden vor der Speicherung im fraktalen Feld miteinander in Beziehung gesetzt und mathematisch nach behandelt, was eine weitere Konfusion der Zahlenwerte bewirkt. Dadurch sollen Selbstähnlichkeiten und sich wiederholende relative Konvergenzeigenschaften der berechneten Punktefolgen in der komplexen Zahlenebene zusätzlich unkenntlich gemacht werden, sodaß sich ein Feld mit möglichst zufälligen, sich nicht wiederholenden Werten ergibt.The Combination of Mandelbrot and Julia quantities means in the calculation example, that both the constant c as well as the values for x0 and y0 in the course of the calculation of the fractal field can be varied. In the calculation will be Floating-point calculations with at least 4-byte variables carried out. The calculated value pairs are in fractal before storage Interrelated field and mathematically treated according to which causes a further confusion of numerical values. This should Self similarities and repetitive relative convergence properties of the calculated Point sequences in the complex number plane are additionally blurred, so that a field with as possible random, yourself results in non-repetitive values.
Ziel ist die Schaffung von pseudozufälligen Bytefolgen aus den berechneten Punkten der komplexen Ebene als Schlüsselbasis und somit der konsequente Ausschluß von schlechten, leicht zu erratenden Basisschlüsselfolgen. [3]aim is the creation of pseudorandom byte sequences from the calculated points of the complex plane as the key base and thus the consistent exclusion of bad, easy too guessing basic key sequences. [3]
Beispielberechnung eines fraktalen Feldes im Detail:Example calculation of a fractal field in detail:
Als
Vorgabe für
die Berechnung der Punktefolge mit den Funktionen zur Berechnung
von Fraktalen wird ein Startpunkt in der komplexen Ebene festgelegt.
Im Rahmen der Berechnung wird die Variation dieses Punktes nur in
einer Umgebung des Startwertes zugelassen. Hier sind jedoch auch
andere Vorgaben oder Verfahren möglich.
Die Anzahl der berechneten Bytewerte sollte eine Anzahl von 1024
nicht unterschreiten. In drei Schleifen werden die Daten für das Fraktale
Feld ermittelt:
Die erste Programmschleife mit 4 Durchläufen ändert den
Startwert der Berechnung um den festgelegten x-Sprungwert im Realteil (x-Richtung)
des Startpunktes. In der darin eingebetteten zweiten Programmschleife
mit 4 Durchläufen
wird jeweils der Imaginärteil
(iy-Richtung) des Startwertes um den y-Sprungwert geändert. In
der innersten, dritten Programmschleife werden jeweils vier aufeinanderfolgende
Iterationen mit den Fraktalen Rechenmethoden durchgeführt. Aus
zwei aufeinanderfolgenden Punkten einer Iteration werden jeweils
4 neue Werte für
das fraktale Feld berechnet. Die berechneten Werte sind jeweils
mindestens 4 Byte lang, entsprechend der eingesetzten Variablentiefe.
Zu jeweils zwei Wertepaaren werden die Realteile und Imaginaerteile
mittels XOR verknüpft,
zusätzlich
wird der Abstand zum Ursprung (Radius) berechnet und durch Verknüpfung mit
dem berechneten Radius zwei weitere Werte für das Fraktale Feld bestimmt.As a guideline for the calculation of the point sequence with the functions for the calculation of fractals, a starting point in the complex plane is defined. In the calculation, the variation of this point is allowed only in an environment of the starting value. However, other specifications or procedures are also possible here. The number of calculated byte values should not be less than 1024. The data for the fractal field is determined in three loops:
The first program loop with 4 passes changes the starting value of the calculation by the defined x-grade value in the real part (x-direction) of the starting point. In the embedded therein second program loop with 4 passes each of the imaginary part (iy direction) of the starting value is changed by the y-jump value. In the innermost, third program loop, four consecutive iterations are each performed with the fractal calculation methods. From two consecutive points of an iteration, each time 4 new values for the fractal field are calculated. The calculated values are each at least 4 bytes long, according to the variable depth used. For each two pairs of values, the real parts and imaginary parts are linked by XOR, in addition, the distance to the origin (radius) is calculated and determined by linking with the calculated radius two more values for the fractal field.
Auf diese Weise werden im obigen Beispiel aus 64 fraktal berechneten Punkten durch die Nachbearbeitung der Punkte in der innersten Schleife 256 Werte, und bei 4 Bytes pro Punkt demnach 1024 Bytes für das Feld generiert.On In the above example, this is calculated from 64 fractals Points by reworking the points in the innermost loop 256 values, and at 4 bytes per point, therefore, 1024 bytes for the field generated.
c) Schar von Selektionsfunktionenc) Flock of selection functions
Die zweite Basis für das Einmalschlüsselverfahren stellt eine Liste von Auswahlfunktionen dar, mit deren Hilfe Bytefolgen aus dem fraktal berechneten Bytefeld entnommen und zu einem Basisschlüssel zusammengestellt werden. Die mathematisch beliebig strukturierten Selektionsfunktionen greifen über den Index auf die jeweiligen Inhalte des Bytefeldes zu und stellen einen neuen, ausreichend langen Basisschlüssel zusammen.The second base for the one-time-key method represents a list of selection functions that can be used to build byte sequences taken from the fractal calculated byte field and assembled into a base key become. The mathematically arbitrarily structured selection functions grab over Set the index to the contents of the byte field and set a new, sufficiently long basic key together.
Um die statistische Unabhängigkeit der einzelnen Schlüsselbytes bei der Auswahl durch die selbe Selektionsfunktion aus dem Bytefeld zusätzlich zu erhöhen, wird ein quasizufälliger Offsetparameter für die Selektionsfunktionen durch eine konfigurierbare Maskierung aus dem aktuellen Wert des Zufallszahlengenerators abgeleitet.Around statistical independence the single key byte when selecting by the same selection function from the byte field additionally to increase, becomes a quasi-random one Offset parameter for the Selection functions by a configurable masking from the derived from the current value of the random number generator.
Eine zusätzliche Erhöhung der Sicherheit des Gesamtsystems wird dadurch erreicht, daß die Schar von Selektionsfunktionen durch eine in Wartungsintervallen zur Laufzeit durchgeführte Umprogrammierung eines Programmsegments gewechselt werden kann. Sie sind damit austauschbarer Bestandteil des Einmalschlüssels und können auch automatisiert gewartet werden. Anzahl und Komplexität der Selektionsfunktionen wirken sich auf die Sicherheit des Einmalschlüsselverfahrens aus. Der Austausch kann unabhängig von persönlichen Schlüsselteilen erfolgen und von einer unabhängigen Administration oder durch Automatismen ausgeführt werden.A additional increase The security of the entire system is achieved by the fact that the crowd of selection functions by one in maintenance intervals at runtime conducted Reprogramming a program segment can be changed. They are thus interchangeable with the disposable key and can also be serviced automatically. Number and complexity of the selection functions affect the security of the one-time-key procedure. The exchange can be independent from personal key parts done and by an independent Administration or by automatisms.
Die letztendlich gültige pseudozufällige Basisschlüsselsequenz wird mit Hilfe von Selektionsfunktionen aus dem Fraktalen Feld entnommen. Die Anzahl der Selektionsfunktionen muß mindestens 16 betragen. Die Anzahl der Funktionen hat direkten Einfluß auf die Sicherheit des Einmalschlüsselgenerierungsverfahrens.The ultimately valid pseudorandom Base key sequence is taken from the fractal field using selection functions. The number of selection functions must be at least 16. The Number of functions directly affects the security of the one-time key generation method.
Gesteuert wird die Auswahl der Selektionsfunktion durch eine Bitfolge aus dem aktuellen Wert eines Pseudozufallsgenerators, die durch Maskierung des aktuellen Zufallswertes erhalten wird. Die Maskierung stellt eine der wartbaren Parametrisierungen dar. Die so erhaltene Bytefolge wird als Basisschlüssel für das anschließend aufgerufene Standard-Schlüsselerweiterungsverfahren (z.B. der KeyScheduler beim AES-Rijndael [2], Abbildung 1) des eingesetzten Blockverschlüsselungsalgorithmus verwendet.controlled The selection of the selection function is characterized by a bit sequence the current value of a pseudo-random generator that is masked of the current random value is obtained. The masking poses one of the serviceable parameterizations. The byte sequence thus obtained is used as a base key for the subsequently called standard key extension methods (For example, the KeyScheduler at AES-Rijndael [2], Figure 1) of the block encryption algorithm used.
Die Selektionsfunktionen sind als Zeiger auf Funktionen einzurichten und können deshalb über die Startadresse im Programmcode aufgerufen werden. Struktur und Komplexität der Selektionsfunktionen sollen ähnlich aufgebaut sein und sehr ähnliches Laufzeitverhalten aufweisen. Damit ein Angriff durch Vermessen der Laufzeitunterschiede bei der Auswahl oder während der Ausführung der Funktionen weitgehend verhindert wird. [4]The Selection functions are to be set up as pointers to functions and can therefore about the Start address can be called in the program code. Structure and complexity of the selection functions should be similar be constructed and very similar runtime behavior exhibit. Thus an attack by measuring the transit time differences in the selection or during the execution the functions is largely prevented. [4]
Welche der mindestens 16 Funktionen aufgerufen wird, steuert ein Teil des aktuellen Zufallswertes des Pseudozufallszahlengenerators. Die Selektionsfunktionen beinhalten beliebige mathematischen Anweisungen, mit denen aus dem zuvor berechneten Fraktalen Feld sprunghaft einzelne Bytes ausgewählt werden. Die selektierte Anzahl der Bytes entspricht der vorgegebenen Schlüssellänge zum Basisschlüssels für den eingesetzten Blockverschlüsselungsalgorithmus.Which which is called at least 16 functions controls part of the current random value of the pseudo-random number generator. The selection functions contain arbitrary mathematical instructions with which from the previously calculated fractals field leaps and bounds single bytes are selected. The selected number of bytes corresponds to the given key length to the base key for the inserted Block encryption algorithm.
Die Selektionsfunktionen ermitteln Werte auf der Basis eines Index über das fraktale Feld. Die Funktionen werden durch Maskierung der Berechnungsergebnisse so begrenzt, daß der berechnete Index niemals die Größe des maximal zulässigen Index des fraktalen Feldes überschreitet. Um die Durchmischung von erzeugten Bytefolgen noch weiter zu erhöhen, wird aus dem Zufallszahlenwert zusätzlich ein Offsetwert für die Indexberechnung hinzugefügt.The Selection functions determine values based on an index over the fractal field. The functions are made by masking the calculation results so limited that the index never calculated the size of the maximum permissible Index of the fractal field exceeds. To further increase the mixing of generated byte sequences, from the random number value additionally an offset value for added the index calculation.
Die Selektionsfunktionen liegen in einem Codebereich, der in Wartungsintervallen ausgetauscht werden kann. Damit sind diese Funktionen austauschbar. Es ist bei der Implementierung des Einmalschlüsselgenerierungsverfahrens darauf zu achten, daß die Auswahl der nächsten Selektionsfunktion über einen direkte adressierten Funktionsaufruf im Programmlauf erfolgt, damit aus der Laufzeit der Selektion nicht auf die benutzte Funktion geschlossen werden kann.The Selection functions are in a code area that is in maintenance intervals can be exchanged. This makes these functions interchangeable. It is in the implementation of the one-time key generation method to make sure that the Selection of the next Selection function over a direct addressed function call is executed in the program run, so that the runtime of the selection does not affect the function used can be closed.
Die Selektionsfunktionen sind eine besonders wirksame Möglichkeit das Ermitteln von Schlüsselinformationen und Schlüsselberechnungsverfahren aus den verschlüsselten Daten zu erschweren, sodaß aus einer Sammlung von bekannten Paaren von Klartext und Geheimtextdatenblöcken nicht einfach auf die Schlüsselgenerierungsverfahren zurückgeschlossen werden kann.The Selection functions are a particularly effective option determining key information and key calculation methods from the encrypted Complicate data, so off a collection of known pairs of plaintext and ciphertext data blocks simply on the key generation process deduced can be.
d) Pseudozufallszahlengeneratord) Pseudo-random number generator
Der eingesetzte Pseudozufallszahlengenerator soll mindestens über eine Periode von 2^60 verfügen [5], sodaß die damit erzeugten Zufallszahlenfolgen einen Ausreichend großen Zahlenraum beinhalten. Die damit erzeugten Sequenzen von Zufallszahlen werden maskiert und zur Auswahl einer Selektionsfunktion, sowie zur Ableitung von Indexstartwerten (Offsetwerten) zur Berücksichtigung durch die Selektionsfunktion beim Zugriff auf das fraktale Feld verwendet.Of the used pseudo-random number generator should have at least one Period of 2 ^ 60 [5], so that the thus generated random number sequences a sufficient number space include. The sequences of random numbers generated with it are masked and to select a selection function, as well as for derivation index starting values (offset values) for consideration by the selection function used when accessing the fractal field.
Im Rahmen der Sitzungseröffnung werden die neuen Startwerte für den Pseudozufallszahlengenerator ermittelt. Um eine einwandfreie Entschlüsselung zu gewährleisten, müssen die Startwerte des Zufallszahlengenerators vor dem Beginn einer Verschlüsselung unbedingt gesichert und vor der Entschlüsselung wieder hergestellt werden. Der Wert des Zufallszahlengenerators wird nach jeder Verschlüsselung/Entschlüsselung eines Datenblockes verändert.in the Frame of session opening will be the new starting values for determines the pseudo-random number generator. To be a flawless decryption to ensure, have to the seeds of the random number generator before the start of a encoding necessarily secured and restored before decryption become. The value of the random number generator will be after each encryption / decryption changed a data block.
Für die Beurteilung
der Patentfähigkeit
in Betracht gezogene Druckschriften:
Patente
patents
LiteraturlisteBibliography
- [1] AES Proposal, The Rijndael Block Cipher, Rijndael Documentation, Version 2, September 1999, http://csrc.nist.gov/CryptoToolkit/aes[1] AES Proposal, The Rijndael Block Cipher, Rijndael Documentation, Version 2, September 1999, http://csrc.nist.gov/CryptoToolkit/aes
- [2] J. Daemen, V. Rijmen: The Design of Rijndael, Springer Verlag 2002[2] J. Daemen, V. Rijmen: The Design of Rijndael, Springer Verlag 2002
- [3] Reinhard Wobst, Abenteuer Kryptologie, Methoden, Risiken und Nutzen der Datenverschlüsselung, Addison Wessley, Bonn, 3. Auflage 2001[3] Reinhard Wobst, Adventure Cryptology, Methods, Risks and Benefits of Data Encryption, Addison Wessley, Bonn, 3rd edition 2001
- [4] P. Kocher, J. Jaffe, B. Jun, Introduction to Differential Power Analysis and Related Attacks, Cryptography Research, San Francisco 1998[4] P. Kocher, J. Jaffe, B. Jun, Introduction to Differential Power Analysis and Related Attacks, Cryptography Research, San Francisco 1998
- [5] Henk C.A. van Tilborg, Fundamentals of Cryptology, Kluver Academic Publishers, Second Printing 2001[5] Henk C.A. van Tilborg, Fundamentals of Cryptology, Kluver Academic Publishers, Second Printing 2001
- [6] J. Dufner, A. Roser, F. Unseld, Fraktale und Julia-Mengen, Verlag Harry Deutsch, 1998[6] J. Dufner, A. Roser, F. Unseld, fractals and Julia sets, Publisher Harry Deutsch, 1998
- [7] H. Golawski, Fraktales Verschlüsselungssystem, Elektronik 07/2005, S. 48 ff[7] H. Golawski, fractal encryption system, electronics 07/2005, p. 48 ff
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200410006570 DE102004006570B4 (en) | 2004-02-11 | 2004-02-11 | One-time key generation method on a fractal basis for block encryption algorithms |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200410006570 DE102004006570B4 (en) | 2004-02-11 | 2004-02-11 | One-time key generation method on a fractal basis for block encryption algorithms |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102004006570A1 DE102004006570A1 (en) | 2005-09-29 |
DE102004006570B4 true DE102004006570B4 (en) | 2007-06-21 |
Family
ID=34894840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE200410006570 Expired - Fee Related DE102004006570B4 (en) | 2004-02-11 | 2004-02-11 | One-time key generation method on a fractal basis for block encryption algorithms |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102004006570B4 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020047582A1 (en) * | 2018-09-03 | 2020-03-12 | Wolfgang Flatow | Management system |
AU2019203281B2 (en) * | 2018-05-11 | 2024-05-16 | Wolfgang Flatow | Management system |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080165965A1 (en) * | 2007-01-05 | 2008-07-10 | John Almeida | Method of two strings private key (symmetric) encryption and decryption algorithm |
DE202009008987U1 (en) * | 2009-06-29 | 2009-10-15 | Compugroup Holding Ag | Device for encrypting data |
US8675864B2 (en) | 2010-09-14 | 2014-03-18 | CompuGroup Medical AG | Apparatus for encrypting data |
US11165557B2 (en) | 2019-06-19 | 2021-11-02 | Facebook Technologies, Llc | Encryption engine having randomized round scheduling to prevent side channel attacks |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1292066A1 (en) * | 2001-09-08 | 2003-03-12 | Amphion Semiconductor Limited | An apparatus for generating encryption or decryption keys |
EP1292067A1 (en) * | 2001-09-08 | 2003-03-12 | Amphion Semiconductor Limited | Block encryption/decryption apparatus for Rijndael/AES |
US20030099352A1 (en) * | 2001-10-04 | 2003-05-29 | Chih-Chung Lu | Apparatus for encryption and decryption, capable of use in encryption and decryption of advanced encryption standard |
WO2003053001A1 (en) * | 2001-12-18 | 2003-06-26 | Analog Devices, Inc. | Programmable data encryption engine for advanced encryption standard algorithm |
US20030198345A1 (en) * | 2002-04-15 | 2003-10-23 | Van Buer Darrel J. | Method and apparatus for high speed implementation of data encryption and decryption utilizing, e.g. Rijndael or its subset AES, or other encryption/decryption algorithms having similar key expansion data flow |
WO2003101020A1 (en) * | 2002-05-23 | 2003-12-04 | Atmel Corporation | Advanced encryption standard (aes) hardware cryptographic engine |
-
2004
- 2004-02-11 DE DE200410006570 patent/DE102004006570B4/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1292066A1 (en) * | 2001-09-08 | 2003-03-12 | Amphion Semiconductor Limited | An apparatus for generating encryption or decryption keys |
EP1292067A1 (en) * | 2001-09-08 | 2003-03-12 | Amphion Semiconductor Limited | Block encryption/decryption apparatus for Rijndael/AES |
US20030099352A1 (en) * | 2001-10-04 | 2003-05-29 | Chih-Chung Lu | Apparatus for encryption and decryption, capable of use in encryption and decryption of advanced encryption standard |
WO2003053001A1 (en) * | 2001-12-18 | 2003-06-26 | Analog Devices, Inc. | Programmable data encryption engine for advanced encryption standard algorithm |
US20030198345A1 (en) * | 2002-04-15 | 2003-10-23 | Van Buer Darrel J. | Method and apparatus for high speed implementation of data encryption and decryption utilizing, e.g. Rijndael or its subset AES, or other encryption/decryption algorithms having similar key expansion data flow |
WO2003101020A1 (en) * | 2002-05-23 | 2003-12-04 | Atmel Corporation | Advanced encryption standard (aes) hardware cryptographic engine |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2019203281B2 (en) * | 2018-05-11 | 2024-05-16 | Wolfgang Flatow | Management system |
WO2020047582A1 (en) * | 2018-09-03 | 2020-03-12 | Wolfgang Flatow | Management system |
US11463248B2 (en) | 2018-09-03 | 2022-10-04 | Munia Limited | Management system |
Also Published As
Publication number | Publication date |
---|---|
DE102004006570A1 (en) | 2005-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2605445B1 (en) | Method and apparatus for securing block ciphers against template attacks | |
DE69031736T2 (en) | ENCRYPTION METHOD | |
EP3219042B1 (en) | Hardened white box implementation 2 | |
DE69937007T2 (en) | METHOD AND DEVICE FOR ENCRYPTION AND DECOMPOSITION OF DATA | |
EP0012974B1 (en) | Method for enciphering data blocks of a given length | |
WO2010133355A1 (en) | Encoding methods | |
DE19744961A1 (en) | Generate clear and unpredictable values | |
DE10148415C2 (en) | Method and device for encrypting and decrypting data | |
DE69911815T2 (en) | SELF-CORRECTING RANDOM ENCRYPTION SYSTEM AND METHOD | |
DE69729297T2 (en) | ENCRYPTION DEVICE FOR BINARY CODED MESSAGES | |
DE102004042826B4 (en) | Method and device for data encryption | |
DE102004006570B4 (en) | One-time key generation method on a fractal basis for block encryption algorithms | |
DE102008010794B3 (en) | Method for unmanipulable, tap-proof and non-hackable P2P communication in multi-subscriber networks | |
EP3369205B1 (en) | Alternative representation of the crypto algorithm des | |
DE3244537A1 (en) | Method for encrypting and decrypting data blocks | |
DE102019216203A1 (en) | Proof-of-work based on block encryption | |
EP2184695A1 (en) | Method of combining data with a device to be used for processing data, corresponding functionality to execute the individual steps in the procedure and computer program to implement the procedure | |
EP2288073B1 (en) | Apparatus for encrypting data | |
DE102006009725A1 (en) | Public code authenticating method, involves producing signature from combination of public code and generated authentication characteristic, and publishing public code, authentication characteristic and produced signature | |
DE10162991A1 (en) | Process for computer-aided encryption and decryption of data | |
WO1997032417A1 (en) | Process for generating a check word for a bit sequence for verifying the integrity and authenticity of the bit sequence | |
DE19735922A1 (en) | Cryptographic method based on synchronous stream ciphering with one time pad | |
DE10158003B4 (en) | Method for generating keys for data encryption and method for data encryption | |
EP3734486B1 (en) | Computer implemented method for replacing a data string | |
DE10224473A1 (en) | Data encryption system has iterative part block encryption and decryption key generation using base decryption and encryption keys |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ON | Later submitted papers | ||
OP8 | Request for examination as to paragraph 44 patent law | ||
8364 | No opposition during term of opposition | ||
8320 | Willingness to grant licenses declared (paragraph 23) | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20130903 |