DE10158003B4 - Method for generating keys for data encryption and method for data encryption - Google Patents

Method for generating keys for data encryption and method for data encryption Download PDF

Info

Publication number
DE10158003B4
DE10158003B4 DE2001158003 DE10158003A DE10158003B4 DE 10158003 B4 DE10158003 B4 DE 10158003B4 DE 2001158003 DE2001158003 DE 2001158003 DE 10158003 A DE10158003 A DE 10158003A DE 10158003 B4 DE10158003 B4 DE 10158003B4
Authority
DE
Germany
Prior art keywords
encryption
values
data
key
further characterized
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
DE2001158003
Other languages
German (de)
Other versions
DE10158003A1 (en
Inventor
F.F. Prof. Dr. Seelig
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.)
KEY2CRYPT GmbH
Original Assignee
KEY2CRYPT GmbH
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 KEY2CRYPT GmbH filed Critical KEY2CRYPT GmbH
Priority to DE2001158003 priority Critical patent/DE10158003B4/en
Publication of DE10158003A1 publication Critical patent/DE10158003A1/en
Application granted granted Critical
Publication of DE10158003B4 publication Critical patent/DE10158003B4/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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box

Landscapes

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

Abstract

Verfahren zur Erzeugung von Zahlenfolgen zur Verwendung als Schlüssel in der Datenverschlüsselung und Datenentschlüsselung, bei dem Rekursionsformeln der Art yi+1 = yi(a – yi), mit i = 0, 1, 2, ...benutzt werden,
dadurch gekennzeichnet, dass
eine Anzahl m derartiger Rekursionsformeln yi+1,j = yi,j(aj – yi,j), mit i = 0, 1, 2, ...; j = 0, 1, 2, ..., m – 1mit jeweils verschiedenen Parametern aj und/oder Anfangswerten y0,j gekoppelt werden und die Werte yi,j für einen festen Wert von i und über alle j zur Erzeugung des Schlüssels verwendet werden.
Method for generating number sequences for use as keys in data encryption and data decryption, in which recursion formulas of the type y i + 1 = y i (a - y i ), with i = 0, 1, 2, ... to be used,
characterized in that
a number m of such recursion formulas y i + 1, j = y i, j (a j - y i, j ), where i = 0, 1, 2, ...; j = 0, 1, 2, ..., m - 1 with respective different parameters a j and / or initial values y 0, j , and the values y i, j are used for a fixed value of i and over all j for generating the key.

Description

Die Erfindung betrifft ein Verfahren zur Erzeugung von Zahlenfolgen zur Verwendung als Schlüssel in der Datenverschlüsselung und Datenentschlüsselung nach dem Oberbegriff des Anspruchs 1 sowie die Verwendung des Schlüssels zur Datenverschlüsselung und Datenentschlüsselung.The The invention relates to a method for generating numerical sequences for use as a key in the data encryption and data decryption according to the preamble of claim 1 and the use of the key for data encryption and data decryption.

Üblicherweise werden diese Schlüssel mit Hilfe eines Zufallszahlengenerators erzeugt, damit sie möglichst sicher gegen Kryptoanalyse sind. Die Qualität eines Zufallsfolgengenerators wird anhand der Gleichverteilung, dem Fehlen von Korrelationen und der Nichtperiodizität der erzeugten Zahlenfolgen bestimmt.Usually become these keys generated with the help of a random number generator so they as possible are safe against cryptanalysis. The quality of a random sequence generator is determined by the equal distribution, the absence of correlations and nonperiodicity determined the generated number sequences.

Aus der EP 994 598 ist ein Verschlusselungssystem bekannt, bei dem zu verschlüsselnde bzw. zu entschlüsselnde Daten mittels dynamisch erzeugter Schlüssel sowohl verschlüsselt als auch entschlüsselt werden.From the EP 994 598 An encryption system is known in which data to be encrypted or decrypted is both encrypted and decrypted by means of dynamically generated keys.

Der Erfindung liegt die Aufgabe zugrunde, sowohl ein vorgenanntes Verfahren zum Erzeugen von Schlüsseln als auch ein Verfahren zur Datenverschlüsselung zu schaffen, bei dem die Schlüssel möglichst gute Eigenschaften bezüglich Gleichverteilung, Nichtperiodizität und Fehlen von Korrelationen der Zahlenfolgen aufweisen. Des weiteren soll das Verfahren zur Datenverschlüsselung möglichst sicher gegen Kryptoanalyse sein.Of the Invention is based on the object, both an aforementioned method for generating keys as well as to provide a method of data encryption in which the keys as possible good characteristics regarding Equal distribution, nonperiodicity and lack of correlations of Number sequences have. Furthermore, the method for data encryption preferably be safe against cryptanalysis.

Diese Aufgabe wird gelöst durch die Merkmale der Ansprüche 1 und 10. Vorteilhafte sowie bevorzugte Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche und werden im folgenden näher erläutert. Der Inhalt der Ansprüche wird durch ausdrückliche Bezugnahme zum Inhalt der Beschreibung gemacht.These Task is solved by the features of the claims 1 and 10. Advantageous and preferred embodiments of the invention are the subject of the dependent claims and will be closer in the following explained. The content of the claims is by express Reference made to the content of the description.

Bei dem erfindungsgemäßen Verfahren werden ein Parameter a und eine Anfangszahl y0 iterativ auf eine Rekursionsformel angewendet. Diese ist die gemäß yj = a xi transformierte logistische Gleichung yi+1 = yi(a – yi) mit i = 0, 1, 2 ... In the method according to the invention, a parameter a and an initial number y 0 are iteratively applied to a recursion formula. This is the logistic equation transformed according to y j = ax i y i + 1 = y i (a - y i ) with i = 0, 1, 2 ...

Die Folge der yi zeigt chaotisches Verhalten für 3.7 < a < 4. Dagegen geht sie schnell gegen –∞ für a > 4. Während ein aus den yi konstruierter Schlüssel beliebig lang sein kann, ist ein die Größen a und y0 festlegender Code konstant und von geringer Länge. Um die statistischen Eigenschaften der so erzeugten Schlüssel zu verbessern, ohne die Geschwindigkeit des Verfahrens wesentlich zu verringern, werden eine Anzahl m von Rekursionformeln des oben genannten Typs, aber mit jeweils verschiedenen Größen a und y0, gekoppelt.The sequence of y i shows chaotic behavior for 3.7 <a <4. On the other hand, it quickly goes against -∞ for a> 4. While a key constructed from the y i can be of any length, a code defining the quantities a and y 0 is constant and of short length. In order to improve the statistical properties of the keys thus generated, without significantly reducing the speed of the method, a number m of recursion formulas of the above type, but with different sizes a and y 0 , are coupled.

Die Menge der dabei entstehenden Gleichungen kann wie folgt beschrieben werden: yi+1,j = yi,j(aj – yi,j), mit i = 0, 1, 2, ...; j = 0, 1, 2, ..., m – 1 The set of resulting equations can be described as follows: y i + 1, j = y i, j (a j - y i, j ), where i = 0, 1, 2, ...; j = 0, 1, 2, ..., m - 1

Die Menge der yi,j für einen festen Wert von i können als Komponenten eines Vektors der Dimension m aufgefasst werden, wobei dieser Vektor Ausgangspunkt für die Berechnung eines Schlüssels Si ist.The set of y i, j for a fixed value of i can be construed as components of a vector of dimension m, this vector being the starting point for the calculation of a key S i .

Zur Kopplung werden vorzugsweise die Werte yi,j der verschiedenen Komponenten derselben Iterationsstufe i addiert. Diese Summe oder ein Bruchteil K davon wird für jede Komponente zu dem jeweiligen Wert yi,j auf der rechten Seite der Rekursionsformel aufaddiert.

Figure 00030001
For coupling, the values y i, j of the various components of the same iteration stage i are preferably added together. This sum or fraction K thereof is added for each component to the respective value y i, j on the right side of the recursion formula.
Figure 00030001

Da für die so erhaltenen neuen Werte y'i,j im Falle y'i,j > aj die Iterationen schnell gegen –∞ gehen würden, wird bevorzugt ein Kappen durch Anwendung der Modulo-Operation gemäß y''i,j = y'i,j mod aj durchgeführt. Die Modulo-Operation kann entweder durch die standardmäßig in C oder C++ vorhandene Funktion „fmod" für reelle Zahlen oder, falls y'i,j nicht viel größer als aj ist, Rechenzeit sparend durch wiederholtes Subtrahieren von aj realisiert werden. Damit wird eine hervorragende Verteilung der Werte ohne Periodizität oder Lücken in der Verteilung erzielt. Dies erlaubt auch die vorteilhafte Verwendung von Parametern aj > 4.Since for the new values y ' i, j thus obtained in the case y' i, j > a j, the iterations would quickly approach -∞, capping by application of the modulo operation is preferred y '' i, j = y ' i, j mod a j carried out. The modulo operation can be realized either by the function "fmod" for real numbers present in C or C ++, or, if y ' i, j is not much larger than a j , saving time by repeatedly subtracting a j an excellent distribution of the values without periodicity or gaps in the distribution achieved This also allows the advantageous use of parameters a j > 4.

Die so gewonnenen Werte y''i,j werden anstatt der Werte yi,j für einen nächsten Iterationsschritt i + 1 verwendet.The values y " i, j obtained in this way are used instead of the values y i, j for a next iteration step i + 1.

Besonders bevorzugt werden mehrere, insbesondere acht, Rekursionsformeln gekoppelt. Jede Komponente yi,j ist bei der Durchführung des Verfahrens mit einem 32-bit-Mikroprozessor eine Variable vom Typ „double" (in C-Programmen) bestehend aus 8 Bytes. Von diesen werden insbesondere aber nur die 4 niederwertigsten Bytes der Mantisse zur Konstruktion des Schlüssels Si verwertet. Das ergibt bei jeder Iteration eine Verlängerung des Schlüssels Si um 32 Bytes für eine solche Gruppe von 8 gekoppelten logistischen Gleichungen. Vorteilhaft können mehrere solcher 8-er-Gruppen verwendet werden. Bei Verwendung von Prozessoren größerer Registerbreite, z.B. 64-Bit-Mikroprozessoren, können entsprechende höhere Genauigkeiten für Fließkommazahlen verwendet werden, und somit auch mehr als 4 Bytes der Mantisse verwertet werdenParticularly preferably, several, in particular eight, recursion formulas are coupled. Each component y i, j is in the implementation of the method with a 32-bit microprocessor a variable of the type "double" (in C programs) consisting of 8 bytes of which, however, in particular only the 4 least significant bytes of the mantissa recycled construction of the key S i. This results in an extension of the key S i of 32 bytes of such a group of 8 coupled logistic equations at each iteration. Advantageously, a plurality of such 8-membered groups may be used. When using processors of larger register width, eg 64-bit microprocessors, corresponding higher accuracies for floating-point numbers can be used, and thus more than 4 bytes of the mantissa can be utilized

Die Chiffrierung beziehungsweise Dechiffrierung selbst kann mit mehreren verschiedenen Grundmethoden erfolgen. Zum einen kommt vorteilhaft die Methode der XOR-Addition zur Anwendung. XOR ist das exklusive ODER, gleichbedeutend mit einer bitweisen Addition ohne Übertrag, das bei 32-bit-Computern bei allen 32 Bit gleichzeitig in einem Schritt durchgeführt werden kann. Analoges gilt z.B. für 64-Bit-Computer. Diese Methode ist eine symmetrische „Stream"-Methode, bei der Chiffrierung und Dechiffrierung mit demselben Operator A durchgeführt werden, also die Chiffrierung des Klartexts k mit Hilfe des Schlüssels Si zum Chiffretext c gemäß c = Ak = Si XOR kund die Dechiffrierung gemäß k = A–1 c = Si XOR c. The enciphering or deciphering itself can be done with several different basic methods. On the one hand, the method of XOR addition is advantageously used. XOR is the exclusive OR, equivalent to a bitwise add-on without carry, which can be done on 32-bit computers on all 32-bit concurrently in one step. The same applies, for example, to 64-bit computers. This method is a symmetric "stream" method, in which ciphering and deciphering are performed with the same operator A, that is, the ciphering of the plaintext k by means of the key S i to the ciphertext c according to c = Ak = S i XOR k and deciphering according to k = A -1 c = S i XOR c.

Der Begriff "Text" steht in diesem Zusammenhang für beliebige Daten in binärer Form.Of the Term "text" is in this Context for any data in binary Shape.

Hier sind also Operator A = (Si XOR) und sein Inverses A–1 identisch.Here, operator A = (S i XOR) and its inverse A -1 are identical.

Bei einer besonders schnellen Minimalversion der Erfindung wird nur diese XOR-Addition verwendet. Bei einer anderen Ausführungsform der Erfindung wird auf den Klartext zusätzlich eine Substitution angewendet, bei der jeder durch ein Byte darstellbare Wert des Klartexts nach einer vorgegebenen Tabelle einem anderen Byte zugeordnet wird. Darüber hinaus kann vorteilhaft diese Substitution zusätzlich noch von der Stellung des Zeichens abhängig gemacht werden. Auf diese Weise wird vermieden, dass die bekannte relative Häufigkeit von bestimmten Buchstaben zur Kryptoanalyse des Schlüssels verwendet werden kann.at a particularly quick minimal version of the invention is only uses this XOR addition. In another embodiment The invention additionally applies substitution to the plaintext, at every value of the plaintext that can be represented by a byte a given table is assigned to another byte. Furthermore Advantageously, this substitution may be additional to the position depending on the character be made. In this way it avoids that the well-known relative frequency used by certain letters for cryptanalysis of the key can be.

Des weiteren ist es zusätzlich oder alternativ möglich, dass auf den Klartext eine Transposition angewendet wird. Bei der Transposition wird in einem Block von z.B. 256 Bytes die Stellung der einzelnen Bytes nach einer bestimmten Tabelle vertauscht. In dieser Variante findet also eine dreifache Verschlüsselung statt, wobei die Reihenfolge von XOR-Addition einerseits und stellungsabhängiger Substitution + Transposition andererseits vertauscht werden kann, mit jeweils einem anderen Resultat. Bei der Dechiffrierung muß in der umgekehrten Reihenfolge der Methoden wie bei der Chiffrierung vorgegangen werden. Die erwähnten Tabellen werden ebenfalls mit Hilfe des beschriebenen Zufallszahlengenerators erzeugt.Of further it is additional or alternatively possible, that a transposition is applied to the plaintext. In the Transposition is performed in a block of e.g. 256 bytes the position of the individual bytes exchanged for a specific table. In this Variant thus takes place a triple encryption, whereby the order from XOR addition on the one hand and position-dependent Substitution + transposition, on the other hand, can be reversed with each with a different result. When deciphering must in the the reverse order of the methods as in the enciphering proceeded become. The mentioned Tables are also using the described random number generator generated.

Substitution und Transposition sind im Gegensatz zur XOR-Addition asymmetrische Verfahren, bei denen der Operator A und sein Inverses A–1 nicht identisch sind.Substitution and transposition, in contrast to XOR addition, are asymmetric methods in which the operator A and its inverse A -1 are not identical.

Zur Bestimmung der Anfangswerte y0,j und der Parameter aj der logistischen Gleichungen, die zur Erzeugung der oben genannten Tabellen verwendet werden, wird jeweils ein eigener Code verwendet.In order to determine the initial values y 0, j and the parameter a j of the logistic equations used to generate the above-mentioned tables, a separate code is used in each case.

Während die Schlüssel Si zur Verschlüsselung mit Hilfe der XOR-Addition bei jedem Iterationsschritt i neu erzeugt werden, wird ein Schlüssel Ss zur Erzeugung der Substitutionstabelle und ein Schlüssel St zur Erzeugung der Transpositionstabelle durch einmaliges Einsetzen der zugehörigen Anfangswerte y0,j beziehungsweise der Parameter aj in die logistischen Gleichungen erzeugt.While the keys S i are newly generated for encryption by means of the XOR addition at each iteration step i, a key S s for generating the substitution table and a key S t for generating the transposition table by inserting the respective initial values y 0, j and the parameter a j is generated in the logistic equations.

Bei dem erfindungsgemäßen Verfahren zur Erzeugung von Zahlenfolgen zur Verwendung als Schlüssel in der Datenverschlüsselung und Datenentschlüsselung und der erfindungsgemäßen Verwendung eines Schlüssels zur Datenverschlüsselung und Datenentschlüsselung werden die Schlüssel ausgehend von den Anfangswerten y0,j und den Parametern aj der logistischen Gleichungen erzeugt.In the method according to the invention for generating sequences of numbers for use as keys in data encryption and data decryption and the use according to the invention of a key for data encryption and data decryption, the keys are generated on the basis of the initial values y 0, j and the parameters a j of the logistic equations.

Die die Anfangswerte bestimmenden Codes entstammen einer in der Verschlüsselungs- und der Entschlüsselungseinrichtung identisch hinterlegten Codedatenbank, wobei in dieser verschiedene Datensätze hinterlegt sind. Beispielsweise sind das tausend Datensätze á 256 Byte. Auf einen Datensatz in der Codedatenbank wird mittels eines Zeigers verwiesen. Der Zeiger wird von der Verschlüsselungseinrichtung an die Entschlüsselungseinrichtung indirekt, durch die Angabe der Stellung des Zeigers in einer Zeigerliste, übermittelt. Diese Zeigerliste ist in der Verschlüsselungs- und der Entschlüsselungseinrichtung ebenfalls identisch hinterlegt. Die Codedatenbank und die Zeigerliste werden separat mit dem beschriebenen oder anderen Zufallszahlengeneratoren erzeugt, wobei zu deren Initialisierung verschiedene Möglichkeiten bestehen. Dadurch wird ein Angriff auf das Verschlüsselungssystem weiter erschwert.The the initial values determining codes originate from one in the encryption and the decryption device identically deposited code database, wherein in this various records are deposited. For example, this is a thousand records of 256 bytes. To a record in the code database is indicated by a pointer directed. The pointer is sent from the encryption device to the decryption means indirectly, by indicating the position of the pointer in a pointer list. This pointer list is in the encryption and decryption facility also identically deposited. The code database and the pointer list are generated separately with the described or other random number generators, whereby there are various possibilities for their initialization. Thereby becomes an attack on the encryption system further complicated.

Bekannt sind solche Zeiger als sogenannte Transaktionsnummern TAN. Eine solche TAN kann bevorzugt eine sechsstellige Dezimalzahl sein, deren beide je dreistelligen Teile jeweils auf einen Datensatz von je 256 Byte zeigen.Known are such pointers as so-called transaction numbers TAN. A such TAN may preferably be a six digit decimal number, both of which each three-digit parts each on a data set of 256 bytes demonstrate.

Mit Hilfe der so gewonnenen Parameter und Anfangswerte fängt die Entschlüsselungsstation vorteilhaft an, die übersandten verschlüsselten Daten zu entschlüsseln.With Help of the thus obtained parameters and initial values catches the decryption station advantageous to those who sent encrypted To decrypt data.

Der alle Anfangswerte bestimmende Code ist in dem genannten Ausführungsbeispiel 512 Bytes = 4096 Bits lang, was einer 1233-stelligen Dezimalzahl von untereinander verschiedenen Möglichkeiten entspricht. Er ist somit nicht einfach durch systematisches Durchprobieren zu erraten.Of the all initial values determining code is in the mentioned embodiment 512 bytes = 4096 bits long, which is a 1233-digit decimal number of mutually different possibilities. He is therefore not easy to guess by systematic testing.

Die 512 Bytes des Codes verteilen sich wie folgt auf die verwendeten Grundverfahren: Jede logistische Gleichung enthält einen Parameter aj und einen Anfangswert y0,j, die reelle Zahlen vom Typ „double" mit einer Darstellung von 8 Bytes sind. Die im Programm vorgegebene konstante Grobeinstellung wird durch je 6 Bytes aus dem Code fein eingestellt, ergibt 12 Bytes pro logistischer Gleichung oder 96 Bytes pro 8-er-Gruppe. Für die XOR-Verschlüsselung werden nun abwechselnd 4 verschiedene 8-er-Gruppen verwendet, das ergibt 384 Bytes. Damit tatsächlich jedes einzelne Bit des gesamten Codes sich auf alle verschlüsselten Bytes und nicht nur auf ein Viertel auswirkt, werden diese Größen vor der Berechnung der Parameter und Anfangswerte durch Linearkombination gemischt. Da für die Berechnung der erwähnten Tabellen für die stellungsabhängige Substituition und die Transposition eigene Zufallszahlengeneratoren aus gekoppelten logistischer Gleichung benötigt werden, was nach demselben Schema 2 weitere 8-er-Gruppen, also 192 Bytes verbrauchen würde, die Gesamtzahl aber 512 ergeben soll und nicht 576, werden hierfür nur 4 statt 6 Bytes pro „double"-Größe verwendet. Dieses komplizierte Verfahren ist für den Anwender völlig unsichtbar.The 512 bytes of the code are distributed among the basic methods used as follows: Each logistic equation contains a parameter a j and an initial value y 0, j , which are real numbers of type "double" with a representation of 8 bytes Constant coarse adjustment is finely adjusted by 6 bytes each from the code, resulting in 12 bytes per logistic equation or 96 bytes per group of 8. For XOR encryption, 4 different 8-er groups are used alternately, resulting in 384 bytes In order for every single bit of the entire code to have an effect on all encrypted bytes and not just a quarter, these values are mixed by linear combination before the parameters and initial values are calculated, since for the calculation of the above-mentioned position-dependent substitution and transposition tables own random number generators from coupled logistic equation are required, which after demselb If Scheme 2 consumed 8 more groups, ie 192 bytes, but the total number is 512, and not 576, only 4 instead of 6 bytes per "double" size are used. This complicated procedure is completely invisible to the user.

Zusätzlich kann eine Persönliche-Identifikations-Nummer PIN zur Identifizierung von für das Verfahren zugelassenen Benutzern verwendet werden, wobei die PIN in der Verschlüsselungs- und Entschlüsselungseinrichtung identisch hinterlegt ist. Diese PIN ist ein Passwort.In addition, can a personal identification number PIN for identifying for the procedure will be used by authorized users, with the PIN in the encryption and decryption device is stored identically. This PIN is a password.

Zusätzlich wird vorteilhaft ein Verfahren mit Verwendung des Schlüssels geschaffen, das als sogenanntes Master-Slave-System konstruiert ist. Dazu werden vorteilhaft Verschlüsselungsmethoden verwendet, bei denen der Operator zur Verschlüsselung und sein Inverses zur Entschlüsselung nicht mehr identisch sind, wie dies bei der stellungsabhängigen Substitution und Transposition und damit auch bei der mit der XOR-Methode zusammengesetzten Gesamttranformation der Fall ist. Dies bedeutet, dass ein Master mehreren Slaves übergeordnet ist und mit jedem dieser Slaves bidirektional kommunizieren kann. Die Slaves untereinander wiederum können nicht miteinander kommunizieren. Auf diese Weise kann die Sicherheit erhöht werden.In addition will advantageously a method is created using the key, which is constructed as a so-called master-slave system. To do this advantageously uses encryption methods, where the operator for encryption and its inverse to decryption are no longer identical, as in the position-dependent substitution and transposition, and thus also in the overall transformation formulated using the XOR method the case is. This means that one master is superior to several slaves is and can communicate bidirectionally with each of these slaves. The slaves themselves can not communicate with each other. In this way, the security can be increased.

Eine zusätzliche Erhöhung der Sicherheit kann dadurch erreicht werden, dass auch die verschlüsselten Daten an sich versteckt sind. Dies ist durch sogenannte Steganografie möglich. Hierzu können zur Übertragung der verschlüsselten Daten diese in anderen Daten versteckt werden, vorzugsweise in Daten von Grafik oder Ton. Hier kann im Falle von Pixelgrafiken oder auch Tondateien eine versteckte Übersendung verschlüsselter Daten erfolgen. Im Falle von Pixelgrafiken werden besonders bevorzugt Dateien im Targa-Format verwendet, in dem die Rot-, Grün- und Blauwerte (RGB) jedes Bildpunktes, also jedes Pixels, mit 256 Helligkeitsstufen in je einem Byte zu 8 Bits ohne Datenkompression gespeichert werden. Obwohl die Informationsspeicherung digital erfolgt, sind oft auf der Aufnahmeseite analoge Geräte mit einem Hintergrundrauschen im Spiel. Das Auge kann jedoch, selbst bei einer auf einer rein digitalen Technik basierenden Anwendung, eine solch feine Abstufung nicht differenzieren. Somit ist mindestens das jeweils niederwertigste Bit eines jeden Bytes redundant und kann durch eine fremde Information wie beispielsweise ein Bit einer kryptografischen Datei ersetzt werden. Analoges gilt für das niederwertigste Bit jedes Bytes einer Tondatei im Wave-Format, z.B. ein Telefongespräch.A additional increase Security can be achieved by encrypting Data is hidden in itself. This is through so-called steganography possible. You can do this for transmission the encrypted Data will be hidden in other data, preferably in data of graphics or sound. Here in the case of pixel graphics or even Sound files a hidden broadcast encrypted Data is done. In the case of pixel graphics are particularly preferred Targa files are used in which the red, green and blue values (RGB) of each pixel, ie each pixel, with 256 brightness levels stored in one byte each to 8 bits without data compression. Although information storage is digital, they are often on the recording side of analog devices with a background noise in the game. The eye can, however, itself in a purely digital technology based application, do not differentiate such a fine gradation. Thus, at least the least significant bit of each byte is redundant and can by a foreign information such as a bit of a Cryptographic file to be replaced. The same applies to the least significant one Bits of each byte of a sound file in wave format, e.g. a call.

Besonders bevorzugt wird das Verfahren mit einem Mikroprozessor bzw. Computer durchgeführt.Especially the method is preferred with a microprocessor or computer carried out.

Claims (15)

Verfahren zur Erzeugung von Zahlenfolgen zur Verwendung als Schlüssel in der Datenverschlüsselung und Datenentschlüsselung, bei dem Rekursionsformeln der Art yi+1 = yi(a – yi), mit i = 0, 1, 2, ...benutzt werden, dadurch gekennzeichnet, dass eine Anzahl m derartiger Rekursionsformeln yi+1,j = yi,j(aj – yi,j), mit i = 0, 1, 2, ...; j = 0, 1, 2, ..., m – 1mit jeweils verschiedenen Parametern aj und/oder Anfangswerten y0,j gekoppelt werden und die Werte yi,j für einen festen Wert von i und über alle j zur Erzeugung des Schlüssels verwendet werden.Method for generating number sequences for use as keys in data encryption and data decryption, in which recursion formulas of the type y i + 1 = y i (a - y i ), with i = 0, 1, 2, ... be used, characterized in that a number m of such recursion formulas y i + 1, j = y i, j (a j - y i, j ), where i = 0, 1, 2, ...; j = 0, 1, 2, ..., m - 1 with respective different parameters a j and / or initial values y 0, j , and the values y i, j are used for a fixed value of i and over all j for generating the key. Verfahren nach Anspruch 1, weiter dadurch gekennzeichnet, dass die Kopplung der Rekursionsformeln durch Addition eines Bruchteils K der Summe aller Werte yi,j für einen festen Wert von i zu den jeweiligen Werten yi,j
Figure 00100001
durchgeführt wird.
Method according to claim 1, further characterized in that the coupling of the recursion formulas by adding a fraction K of the sum of all values y i, j for a fixed value of i to the respective values y i, j
Figure 00100001
is carried out.
Verfahren nach Anspruch 2, weiter dadurch gekennzeichnet, dass auf die Werte y'i,j für einen festen Wert von i die Modulo-Operation y''i,j = y'i,j mod aj angewendet wird und die Werte y''i,j anstatt der Werte yi,j für einen nächsten Iterationsschritt i + 1 verwendet werden.Method according to claim 2, further characterized in that the values y ' i, j for a fixed value of i are the modulo operation y '' i, j = y ' i, j mod a j is applied and the values y '' i, j are used instead of the values y i, j for a next iteration step i + 1. Verfahren nach einem der Ansprüche 1 bis 3, weiter dadurch gekennzeichnet, dass m = 8 Rekursionsformeln gekoppelt werden.Method according to one of claims 1 to 3, further characterized characterized in that m = 8 recursion formulas are coupled. Verfahren nach einem der Ansprüche 1 bis 4, weiter dadurch gekennzeichnet, dass für alle Rekursionsformeln aj > 4 gilt.Method according to one of claims 1 to 4, further characterized in that for all recursion formulas a j > 4 applies. Verfahren nach einem der Ansprüche 1 bis 5, weiter dadurch gekennzeichnet, dass ein Schlüssel Si einer Iterationstufe i durch Kombination aller Werte yi,j für einen festen Wert von i gebildet wird und zur Kombination der yi,j in einer Fließkommazahlendarstellung nur die Mantisse oder ein niederwertiger Teil der Mantisse der Werte yi,j benutzt wird.Method according to one of Claims 1 to 5, further characterized in that a key S i of an iteration stage i is formed by combining all values y i, j for a fixed value of i and for combination of y i, j in a floating-point number representation only the Mantissa or a least significant part of the mantissa of the values y i, j is used. Verfahren nach einem der Ansprüche 1 bis 6, weiter dadurch gekennzeichnet, dass – die Anfangswerte y0,j und Parameter aj aus einer in der Verschlüsselungs- und der Entschlüsselungseinrichtung identisch hinterlegten Codedatenbank konstruiert werden, wobei in dieser verschiedene Codes hinterlegt sind, – auf die Anfangswerte y0,j und Parameter aj in einer Codedatenbank mittels eines Zeigers verwiesen wird, – der Zeiger auf einen bestimmten Code von der Verschlüsselungseinrichtung indirekt durch Angabe der Stellung des Zeigers in einer Tabelle an die Entschlüsselungseinrichtung übermittelt wird.Method according to one of claims 1 to 6, further characterized in that - the initial values y 0, j and parameters a j are constructed from a code database identically deposited in the encryption and decryption means, in which different codes are stored the initial values y 0, j and parameter a j are referenced in a code database by means of a pointer, - the pointer to a specific code is transmitted from the encryption device indirectly to the decryption device by specifying the position of the pointer in a table. Verfahren nach Anspruch 7, weiter dadurch gekennzeichnet, dass der Zeiger eine sechsstellige Dezimalzahl ist.Method according to claim 7, further characterized that the pointer is a six-digit decimal number. Verfahren nach Anspruch 7 oder 8, weiter dadurch gekennzeichnet, dass zusätzlich ein Passwort zur Identifizierung von für das Verfahren zugelassenen Benutzern verwendet wird, wobei das Passwort in der Verschlüsselungs- und der Entschlüsselungseinrichtung identisch hinterlegt ist.The method of claim 7 or 8, further characterized marked that in addition a password for the identification of approved for the process Users, with the password in the encryption key. and the decryption device is stored identically. Verwendung eines Schlüssels nach einem der Ansprüche 1 bis 9 zur Datenverschlüsselung und Datenentschlüsselung.Use of a key according to one of claims 1 to 9 for data encryption and data decryption. Verwendung nach Anspruch 10, weiter dadurch gekennzeichnet, dass bei der Verschlüsselung ein Chiffretext c durch XOR-Addition eines Klartextes k mit dem Schlüssel Si gemäß folgender Beziehung erzeugt wird: c = Si XOR kund bei einer Entschlüsselung der Klartetext k durch XOR-Addition des Chiffretexts c mit dem Schlüssel Si gemäß folgender Beziehung erzeugt wird: k = Si XOR c. Use according to claim 10, further characterized in that in the encryption a ciphertext c is generated by XOR addition of a plaintext k with the key S i according to the following relationship: c = S i XOR k and in a decryption the clear text k is generated by XOR addition of the ciphertext c with the key S i according to the following relationship: k = S i XOR c. Verwendung nach Anspruch 10 oder 11, weiter dadurch gekennzeichnet, dass bei der Verschlüsselung und Entschlüsselung Zeichen stellungsabhängig gegen andere Zeichen ausgetauscht werden und eine zur Vertauschung verwendete Tabelle mit Hilfe eines Schlüssels Ss erzeugt wird.Use according to claim 10 or 11, further characterized in that in the encryption and decryption characters are position-dependent exchanged for other characters and a table used for the exchange is generated using a key S s . Verwendung nach einem der Ansprüche 10 bis 12, weiter dadurch gekennzeichnet, dass bei einer Verschlüsselung und Entschlüsselung die Position eines Zeichens gegen die Position eines anderen Zeichens ausgetauscht wird und eine zur Vertauschung verwendete Tabelle mit Hilfe eines Schlüssels St erzeugt wird.Use according to one of claims 10 to 12, further characterized in that, in an encryption and decryption, the position of a character is exchanged for the position of another character and a table used for permutation is generated by means of a key S t . Verwendung nach einem der Ansprüche 10 bis 13, weiter dadurch gekennzeichnet, dass die so verschlüsselten Daten in anderen Daten versteckt werden, insbesondere in Daten von Grafik oder Ton.Use according to any one of claims 10 to 13, further thereto characterized in that the data so encrypted in other data be hidden, especially in data of graphics or sound. Verwendung nach einem der Ansprüche 10 bis 14, weiter dadurch gekennzeichnet, dass das Verfahren zur Datenverschlüsselung und Datenentschlüsselung ein übergeordnetes System und ein oder mehrere untergeordnete Systeme aufweist, wobei durch die Verwendung von asymmetrischen Verschlüsselungsmethoden nur zwischen dem übergeordnetem System und den untergeordneten Systemen, nicht jedoch zwischen den untergeordneten Systemen kommuniziert werden kann.Use according to any one of claims 10 to 14, further thereto characterized in that the method of data encryption and data decryption a parent System and one or more subordinate systems, wherein through the use of asymmetric encryption methods only between the parent System and its subordinate systems, not between them subordinate systems can be communicated.
DE2001158003 2001-11-22 2001-11-22 Method for generating keys for data encryption and method for data encryption Expired - Fee Related DE10158003B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2001158003 DE10158003B4 (en) 2001-11-22 2001-11-22 Method for generating keys for data encryption and method for data encryption

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2001158003 DE10158003B4 (en) 2001-11-22 2001-11-22 Method for generating keys for data encryption and method for data encryption

Publications (2)

Publication Number Publication Date
DE10158003A1 DE10158003A1 (en) 2003-06-12
DE10158003B4 true DE10158003B4 (en) 2007-03-08

Family

ID=7707032

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2001158003 Expired - Fee Related DE10158003B4 (en) 2001-11-22 2001-11-22 Method for generating keys for data encryption and method for data encryption

Country Status (1)

Country Link
DE (1) DE10158003B4 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007018403A1 (en) * 2007-04-17 2008-10-23 Vita-X Ag Computer system and method for storing data
DE102008042406A1 (en) * 2008-09-26 2010-04-08 Compugroup Holding Ag Method for encrypted transmission of data between communication subscribers, involves providing linkage between two encoded keys, and decoding encoded data using third key by receiver

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5048086A (en) * 1990-07-16 1991-09-10 Hughes Aircraft Company Encryption system based on chaos theory
EP0656709A2 (en) * 1993-11-30 1995-06-07 Canon Kabushiki Kaisha Encryption device and apparatus for encryption/decryption based on the Montgomery method using efficient modular multiplication
DE69330070T2 (en) * 1992-12-30 2001-11-08 Telstra Corp Ltd METHOD AND DEVICE FOR GENERATING A Cipher sequence

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5048086A (en) * 1990-07-16 1991-09-10 Hughes Aircraft Company Encryption system based on chaos theory
DE69330070T2 (en) * 1992-12-30 2001-11-08 Telstra Corp Ltd METHOD AND DEVICE FOR GENERATING A Cipher sequence
EP0656709A2 (en) * 1993-11-30 1995-06-07 Canon Kabushiki Kaisha Encryption device and apparatus for encryption/decryption based on the Montgomery method using efficient modular multiplication

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007018403A1 (en) * 2007-04-17 2008-10-23 Vita-X Ag Computer system and method for storing data
DE102007018403B4 (en) * 2007-04-17 2009-06-25 Vita-X Ag Computer system and method for storing data
DE102008042406A1 (en) * 2008-09-26 2010-04-08 Compugroup Holding Ag Method for encrypted transmission of data between communication subscribers, involves providing linkage between two encoded keys, and decoding encoded data using third key by receiver
DE102008042406B4 (en) * 2008-09-26 2010-10-07 Compugroup Holding Ag Process for the secure exchange of data

Also Published As

Publication number Publication date
DE10158003A1 (en) 2003-06-12

Similar Documents

Publication Publication Date Title
EP2605445B1 (en) Method and apparatus for securing block ciphers against template attacks
EP3218893B1 (en) Hardened white box implementation
EP2433241B1 (en) Encoding methods
DE19827904C2 (en) Block cipher or decipher method and block cipher or decipher device
DE69721439T2 (en) CRYPTOGRAPHIC METHOD AND DEVICE FOR THE NON-LINEAR ASSEMBLY OF A DATA BLOCK AND A KEY
DE69929251T2 (en) ENCRYPTION SYSTEM WITH A KEY OF CHANGING LENGTH
DE69916160T2 (en) Cryptographic processing apparatus and method, and recording medium for recording a cryptographic processing program for performing fast cryptographic processing without sacrificing security
DE69831982T2 (en) CRYPTOGRAPHIC COMPUTING PROCESS AND DEVICE
DE10148415C2 (en) Method and device for encrypting and decrypting data
DE60315700T2 (en) METHOD FOR GENERATING ENERGY ENCODING WITH SEVERAL KEYS
DE69911815T2 (en) SELF-CORRECTING RANDOM ENCRYPTION SYSTEM AND METHOD
DE602004007904T2 (en) ENCRYPTION PROCESS AND SYSTEM
DE69729297T2 (en) ENCRYPTION DEVICE FOR BINARY CODED MESSAGES
DE102004042826B4 (en) Method and device for data encryption
DE10143728A1 (en) Device and method for calculating a result of a modular exponentiation
DE10158003B4 (en) Method for generating keys for data encryption and method for data encryption
EP3369205B1 (en) Alternative representation of the crypto algorithm des
DE10352680A1 (en) Encryption device and encryption method
DE19757370C2 (en) Process for the tactile generation of pseudo-random data words
EP0173647A2 (en) Enciphering/deciphering method
DE102018113772A1 (en) encryption method
DE19735922A1 (en) Cryptographic method based on synchronous stream ciphering with one time pad
WO1997032417A1 (en) Process for generating a check word for a bit sequence for verifying the integrity and authenticity of the bit sequence
EP3734486B1 (en) Computer implemented method for replacing a data string
DE202009008987U1 (en) Device for encrypting data

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee