Nothing Special   »   [go: up one dir, main page]

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 PDF

Info

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
Application number
DE200410006570
Other languages
German (de)
Other versions
DE102004006570A1 (en
Inventor
Herbert Golawski
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Golawski Herbert Dipl-Ing
Original Assignee
Golawski Herbert Dipl-Ing
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Golawski Herbert Dipl-Ing filed Critical Golawski Herbert Dipl-Ing
Priority to DE200410006570 priority Critical patent/DE102004006570B4/en
Publication of DE102004006570A1 publication Critical patent/DE102004006570A1/en
Application granted granted Critical
Publication of DE102004006570B4 publication Critical patent/DE102004006570B4/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/005Countermeasures against attacks on cryptographic mechanisms for timing attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking 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.

Figure 00000001
Figure 00000001

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. (1)This requirement can be met approximately with modern block encryption methods. For this purpose, for example, the known block encryption algorithm AES-Rijndael [1, 2] uses simple data manipulations, such as linking a data block with the key, moving characters within the block structure, exchanging characters within the block structure and replacing individual characters with so-called "S The manipulations are usually performed repeatedly over several rounds with a round key derived from the fixed base key. 1 )

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], (2)The single-key generation method to be protected generates a continuous sequence of basic keys for the symmetric block encryption method employed. For each plaintext data block of an encryption session, the method generates an independent base key, transfers it to the used block encryption algorithm, and encrypts it. The key sequence is unique for each session and depends solely on the initialization parameters of the one-time key generation method. The new one-time key generation method is not a new encryption algorithm, but merely an extension to existing symmetric block encryption algorithms. [7], ( 2 )

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 DE 101 29 285 C2 sehr allgemeingültig beschrieben, ist das Ziel eines Einmalschlüsselverfahrens die Erweiterung der Einsetzbarkeit und Erhöhung der Sicherheit eines Verschlüsselungssystems durch die Nutzung einer Schlüsselsequenz anstelle eines festen Schlüssels.As in the patent DE 101 29 285 C2 described very generally, the goal of a one-time encryption method is to extend the usability and increase the security of an encryption system by using a key sequence instead of a fixed key.

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 DE 101 29 285 C2 unter Punkt [0002] werden am Beginn einer Sitzung Initialdaten benötigt, um den Einmalschlüsselgenerator vorzubereiten. Hierzu können mit den bekannten Verfahren wie Diffie-Hellmann oder RSA initiale Daten zwischen Sender und Empfänger ausgetauscht werden. In der Regel wird dabei der Sitzungsschlüssel ausgetauscht.As described in the specification DE 101 29 285 C2 at point [0002], initial data is needed at the beginning of a session to prepare the one-time key generator. For this purpose, with the known methods such as Diffie-Hellmann or RSA initial data between transmitter and receiver can be exchanged. As a rule, the session key is exchanged.

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 DE 101 29 285 C2 beschriebenen Eigenschaften lassen sich nachfolgende Neuerungen und wichtige funktionale Abweichungen beim vorgestellten Einmalschlüsselgenerierungsverfahren feststellen:

  • – 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 unter Patentanspruch 1.ii bzw. unter [0008] eine Abhängigkeit der Schlüsselberechnung von allen Schlüsseln (S0 – Si), allen Teilschlüsseln (TS1 – TSi+1) und von allen Daten (D0 – Di) beschrieben.
  • – 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 übermittelt zusammen mit jedem verschlüsselten Datensatz auch den verschlüsselten Teilschlüssel.
  • – Im neuen Einmalschlüsselgenerierungsverfahren ist es im Gegensatz zum Verfahren aus DE 101 29 285 C2 (Teile [0008] und [0030]) nicht notwendig, weder die gesamte Menge noch die korrekte Reihenfolge der übermittelten, verschlüsselten Daten zu kennen, um den Datenstrom zu entschlüsseln. Fehlende Datenblöcke unterbrechen nicht die Entschlüsselung der nachfolgenden Datenblöcke.
  • – 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 , [0001])
Notwithstanding that in the patent DE 101 29 285 C2 The following new features and important functional deviations can be found in the described one-time key generation procedure:
  • - 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 in claim 1.ii or under [0008] a dependence of the key calculation of all keys (S0 - Si), all subkeys (TS1 - TSi + 1) and of all data (D0 - Di) described.
  • - 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 also transmits the encrypted subkey together with each encrypted record.
  • In the new one-time key generation method, it is unlike the method DE 101 29 285 C2 (Parts [0008] and [0030]) do not need to know either the total amount or the correct order of the transmitted encrypted data to decrypt the data stream. Missing data blocks do not interrupt the decryption of the subsequent data blocks.
  • 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 , [0001]

Ausführliche Beschreibung der AbbildungenFull Description of the pictures

1: Übersicht zum Blockverschlüsselungsverfahren AES-Rijndael. Neben der Schlüsselerweiterungsfunktion für die benötigten 11–15 Rundenschlüssel sind die Kernroutinen des Rijndael-Verschlüsselungsalgorithmus dargestellt. 1 : Overview of the block encryption procedure AES-Rijndael. In addition to the key extension function for the required 11-15 round keys, the core routines of the Rijndael encryption algorithm are shown.

2: Einbettung des Einmalschlüsselgenerierungsverfahrens in ein Blockverschlüsselungsverfahren 2 : Embedding the One-Time Key Generation Method into a Block Encryption Method

3: Details zum Einmalschlüsselgeneriergsverfahren: Initialisierung von Pseudozufallszahlengenerator und Berechnung des fraktalebn Feldes, Aufbau und Struktur des fraktalen Feldes, der Schar von Selektionsfunktionen und dem Pseudozufallszahlengenerator 3 Details of the single-key generation procedure: initialization of pseudo-random number generator and calculation of the fractal field, structure and structure of the fractal field, the set of selection functions and the pseudo-random number generator

4: Dynamik der Berechnung von Punktfolgen in der komplexen Zahlenebene am Beispiel der Abbildung z2 = z1^2 mit z = x + i*y und i^2 = –1 4 : Dynamics of the calculation of point sequences in the complex number plane using the example of the mapping z2 = z1 ^ 2 with z = x + i * y and i ^ 2 = -1

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. (3) An independent pseudo-random number generator is initialized and subsequently incremented in parallel to each new plaintext data block. A selection function is determined with the current value of the pseudo-random number generator. It is used to extract byte sequences from the fractal-computed byte field and to assemble them into a base key for the block encryption algorithm. ( 3 )

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], (4)Fractal calculations in the complex plane have the property of mapping successive, jumpy point sequences that can span the entire complex plane and have parameter-dependent convergence and divergence properties, respectively. Apart from individual attraction points, no point is converted into itself. Successive points of a calculation are therefore unique. [6], ( 4 )

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
For the generation of the fractal field arbitrary complex valued functions of degree> = 2 can be used. Among other things, the calculation methods for Mandelbrot and Julia quantities are suitable, which are to illustrate the method in the following by way of example:
  • 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 DE 101 29 285 C2
Documents considered for the assessment of patentability:
patents DE 101 29 285 C2

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)

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.One-time key generation method for generating one-time basic key sequences for block encryption algorithms based on the interaction of three main features for manipulating digitally encoded data, characterized in that after the initial computation of a sufficiently large byte field using fractal computational methods and storage in a byte field, a set of interchangeable selection functions (selection functions ) Byte strings from an indexed byte field are assembled into a sequence of base keys using an independent pseudorandom number generator incremented per frame with a sufficiently large period to derive from the current random number value the selection function and index seeds with which the next base key from the fractal calculated byte field is derived. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass in einem ersten Hauptmerkmal a) mit Hilfe von iterierten Funktionensystemen vom Grad >= 2 (im Folgenden als fraktale Funktionen bezeichnet), ausgehend von einem vorgegebenen Startwert, eine Folge von Punkten in der komplexen, Gaußschen Zahlenebene berechnet und in einem Datenfeld gespeichert wird b) die so berechneten Punkte bei der byteweisen Manipulation mit einfachen, mathematischen Verfahren zueinander in Relation gesetzt werden, sodaß eine erste Konfusion und Diffusion der berechneten Punktfolgen gegenüber dem benutzten Berechnungsverfahren erreicht wird und die im Speicher abgelegte Liste mit den errechneten Punkten anschließend als ein indexbehaftetes Feld von Bytes (Bytematrix, Bytefeld, Fraktales Feld) behandelt wird, wobei das Bytefeld als Basis für das anschließende Zusammenstellen einer Bytefolge zu einem Basisschlüssel mit Hilfe einer zufällig gewählten Selektionsfunktion dient; c) die mit iterierten Funktionensystemen in der komplexen Zahlenebene berechnete Punktefolge für jede neue Sitzung im Sender und Empfänger in Abhängigkeit von den Initialisierungswerten des Einmalschlüsselgenerierungsverfahrens neu erzeugt und als Bytefeld gespeichert wird.Method according to claim 1, characterized in that that in a first main feature a) with the help of iterated ones Function systems of degree> = 2 (hereinafter referred to as fractal functions), starting from a predetermined seed, a sequence of points in the Gaussian complex number plane calculated and stored in a data field b) the like calculated points in bytewise manipulation with simple, mathematical procedures are related to each other, so a first Confusion and diffusion of the calculated point sequences over the used calculation method is achieved and in the memory filed list with the calculated points subsequently as an indexed field of bytes (byte matrix, byte field, fractal Field), the byte field being used as the basis for subsequent compilation a sequence of bytes to a base key using a random selection function is used; c) with iterated function systems in the complex Pay level calculates scores for each new session in the sender and receiver dependent on from the initialization values of the one-time key generation method newly created and stored as a byte field. Verfahren nach Anspruch 1 und 2, dadurch gekennzeichnet, dass in einem zweiten Hauptmerkmal a) die Selektionsfunktionen mathematische Anweisungen beinhalten, die den Zugriff auf den Inhalt des Bytefeldes über den Feldindex erlauben, b) eine dieser Selektionsfunktionen aus der Liste der möglichen Selektionsfunktionen aufgrund des aktuellen Zahlenwertes eines Pseudozufallszahlengenerators ausgewählt wird, c) aus dem aktuellen Zahlenwert des Zufallszahlengenerators durch Maskierung ein Offsetwert entnommen wird, wobei der quasizufällige Offsetwert den Startwert der Indexberechnung im Bytefeld durch die Selektionsfunktion verschiebt, d) der nächste Teilschlüssel des Einmalschlüssels erhalten wird, indem aus der Bytematrix mittels der zufällig ausgewählten Selektionsfunktion die Anzahl von Bytes entnommen wird, die der aktuell eingestellten Schlüssellänge entspricht, e) die Selektionsfunktionen in einem Feld von Funktionen abgelegt sind und der Zugriff auf die nächste, zufällig ausgewählte Funktion über Zeiger auf diese Funktionen erfolgt, damit aus der Laufzeit zum Auffinden der Funktion im Code keine Rückschlüsse auf die benutzte Selektionsfunktion bei der Krypanalyse gezogen werden kann, f) die mit der jeweiligen Selektionsfunktion ausgewählte Bytefolge zum nächsten Basisschlüssel zusammengestellt wird und mit Hilfe dieses Basisschlüssels der nächstfolgende Datenblock über das eingesetzte Blockverschlüsselungsverfahren ver- bzw. entschlüsselt wird, g) alle in einer Schar gruppierten Selektionsfunktionen eine möglichst gleichlange Verarbeitungszeit aufweisen, wobei die Verarbeitungsdauer während der Auswahl einer Bytefolge aus dem Fraktalen Feld keinen Hinweis auf mathematische Einzelheiten der eingesetzten Selektionsfunktion für die Kryptanalyse liefern darf, h) die Schar der Selektionsfunktionen als Ganzes im Rahmen von Wartungsarbeiten ferngesteuert ausgetauscht werden kann, und somit ein automatisierter Wechsel eines Schlüsselanteils möglich ist.A method according to claim 1 and 2, characterized in that in a second main feature a) the selection functions include mathematical instructions that allow access to the contents of the byte array via the field index, b) one of these selection functions from the list of possible selection functions based on the current Numerical value of a pseudo-random number generator is selected, c) an offset value is taken from the current numerical value of the random number generator, whereby the quasi-random offset value shifts the start value of the index calculation in the byte field by the selection function, d) the next partial key of the time key is obtained by the byte matrix by means of the randomly selected selection function the number of bytes is taken which corresponds to the currently set key length, e) the selection functions are stored in one field of functions and the access to the next, random selected function via pointers to these functions, so that no conclusions about the used selection function in the Krypanalyse can be drawn from the runtime to find the function in the code, f) the selected with the respective selection function byte sequence is assembled to the next base key and using this Basic key the next block of data is encrypted or decrypted via the block encryption method used, g) all grouped in a group selection functions as long as possible processing time wherein the processing time during the selection of a byte sequence from the fractal field may not provide any indication of mathematical details of the selected cryptanalysis selection function, h) the set of selection functions as a whole can be remotely replaced during maintenance, and thus an automated change a key share is possible. Verfahren nach Anspruch 1, 2 und 3 dadurch gekennzeichnet, dass in einem dritten Hauptmerkmal a) ein unabhängig arbeitender Pseudozufallszahlengenerator, der mindestens über eine Periode von 2 exp 60 (ca. 1,153 E18) verfügt zum Einsatz kommt, b) aus den erzeugten Zufallszahlen durch eine erste Maskierung die Auswahl der nächsten Selektionsfunktion aus der Schar der verfügbaren Selektionsfunktionen quasizufällig gesteuert wird, c) aus den erzeugten Zufallszahlen durch eine zweite Maskierung die quasizufällige Auswahl des Indexstartwertes für die Indexberechnungen durch die Selektionsfunktionen gewährleistet wird, d) durch geeignete, dynamische Maskierung des Zufallszahlenwertes Gruppenfunktionen aufgebaut werden können,Method according to claims 1, 2 and 3, characterized that in a third main feature a) an independent worker Pseudo-random number generator, which is at least over a period of 2 exp 60 (about 1.153 E18) has is used, b) from the generated random numbers by a first masking selects the next selection function the crowd of available Selection functions quasi-random is controlled c) from the generated random numbers by a second masking the quasi-random Selection of the index start value for the index calculations are guaranteed by the selection functions becomes, d) by suitable, dynamic masking of the random number value Group functions can be set up, Verfahren nach Anspruch 2, bei dem die Funktionenen zur Berechnung von Mandelbrot- und Juliamengen eingesetzt werden.The method of claim 2, wherein the functions for the calculation of Mandelbrot and Juliamengen.
DE200410006570 2004-02-11 2004-02-11 One-time key generation method on a fractal basis for block encryption algorithms Expired - Fee Related DE102004006570B4 (en)

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)

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

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

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

Patent Citations (6)

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

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