DE10158003A1 - Generating keys for data encoding and decoding involves using results of coupled recursion formulas for fixed instance value and across range of parameter values to generate key - Google Patents

Generating keys for data encoding and decoding involves using results of coupled recursion formulas for fixed instance value and across range of parameter values to generate key

Info

Publication number
DE10158003A1
DE10158003A1 DE2001158003 DE10158003A DE10158003A1 DE 10158003 A1 DE10158003 A1 DE 10158003A1 DE 2001158003 DE2001158003 DE 2001158003 DE 10158003 A DE10158003 A DE 10158003A DE 10158003 A1 DE10158003 A1 DE 10158003A1
Authority
DE
Germany
Prior art keywords
encryption
values
key
data
decryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE2001158003
Other languages
German (de)
Other versions
DE10158003B4 (en
Inventor
F F 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

The method involves generating number sequences for use as data encoding and decoding keys using a number of coupled recursion formulas with different parameters and/or initial values. The results of the recursion formulas for a fixed instance value and across the range of parameter values are used to generate 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 invention relates to a method for generating sequences of numbers Use as a key in data encryption and Data decryption according to the preamble of claim 1 and the Use 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. These keys are usually Generated random number generator so that they are as secure as possible against cryptanalysis. The quality of a random sequence generator is based on the Equal distribution, the lack of correlations and the non-periodicity of the generated sequences of numbers determined.

Aus der EP 994 598 ist ein Verschlüsselungssystem bekannt, bei dem zu verschlüsselnde bzw. zu entschlüsselnde Daten mittels dynamisch erzeugter Schlüssel sowohl verschlüsselt als auch entschlüsselt werden. An encryption system is known from EP 994 598, in which Data to be encrypted or decrypted using dynamic generated key are both encrypted and decrypted.

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. The invention has for its object, both a aforementioned Method for generating keys as well as a method for To create data encryption in which the keys are as good as possible Properties regarding equal distribution, non-periodicity and absence of correlations of the sequences of numbers. Furthermore, that should Data encryption procedures as secure as possible Be 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. This object is achieved by the features of claims 1 and 10. Advantageous and preferred configurations of the invention are Subject of the subclaims and are explained in more detail below. The content of the claims becomes by express reference Content of the description made.

Bei dem erfindungsgemäßen Verfahren werden ein Parameter a und eine Anfangszahl y0 iterativ auf eine Rekursionsformel angewendet. Diese ist die gemäß yi = axi 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 applied iteratively to a recursion formula. This is the logistic equation transformed according to y i = 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 the 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 sizes a and y is 0 constant and of short length. In order to improve the statistical properties of the keys generated in this way without significantly reducing the speed of the method, a number m of recursion formulas of the type mentioned above, 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 equations that arise can be described as follows:

Y i + 1, j = y i, j (a j - y i, j ), with 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 understood 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.

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

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 of y' i, j > a j, the iterations would quickly go against -∞, capping by using the modulo operation is preferred

y " i, j = y ' i, j mod a j

carried out. The modulo operation can be implemented either by using the "fmod" function for real numbers, which is standard in C or C ++, or, if y ' i, j is not much larger than a j , saving computing time by repeatedly subtracting a j . This results in an excellent distribution of the values without periodicity or gaps in the distribution. 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 werden Several, in particular eight, recursion formulas are particularly preferably coupled. Each component y i, j is a variable of the "double" type (in C programs) consisting of 8 bytes when the method is carried out with a 32-bit microprocessor. Of these, however, only the 4 least significant bytes of the mantissa are used to construct the key S i . For each iteration, this results in an extension of the key S i by 32 bytes for such a group of 8 coupled logistic equations. Several such groups of 8 can advantageously be used. When using processors with a larger register width, e.g. B. 64-bit microprocessors, corresponding higher accuracies can be used for floating point numbers, and thus more than 4 bytes of the mantissa can be used

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 = A k = Si XOR k

und die Dechiffrierung gemäß

k = A-1 c = Si XOR c.
The encryption or decryption itself can be done using several different basic methods. On the one hand, the XOR addition method is advantageously used. XOR is the exclusive OR, synonymous with bit-wise addition without carry, which can be carried out simultaneously on all 32 bits in one step in 32-bit computers. The same applies to z. B. for 64-bit computers. This method is a symmetrical "stream" method in which encryption and decryption are carried out with the same operator A, that is to say the encryption of the plain text k using the key S i to the encryption text c in accordance with

c = A k = S i XOR k

and decoding 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. The term "text" stands for any data in this context binary form.

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. In a particularly fast minimal version of the invention only used this XOR addition. In another embodiment of the Invention, a substitution is additionally applied to the plain text, in which each value of the plain text that can be represented by a byte after a given table is assigned to another byte. About that In addition, this substitution can also be advantageous from the The position of the sign can be made dependent. That way avoided the known relative frequency of certain Letters can be used for cryptanalysis of the key.

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. Furthermore, it is additionally or alternatively possible that the Plain text a transposition is applied. The transposition is in a block of e.g. B. 256 bytes after the position of the individual bytes swapped a particular table. So in this variant there is one triple encryption instead, the order of XOR Addition on the one hand and position-dependent substitution + transposition on the other hand, can be swapped with another Result. When deciphering, the reverse order of the Methods how to proceed with the encryption. The mentioned Tables are also described using the 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. In contrast to XOR addition, substitution and transposition are asymmetrical processes in which 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. A separate code is used to determine the initial values y 0, j and the parameters a j of the logistic equations used to generate the tables mentioned above.

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 for encryption are generated anew with each iteration step i using the XOR addition, a key S s for generating the substitution table and a key S t for generating the transposition table become by inserting the associated 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 a key 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 codes determining the initial values come from one in the Encryption and decryption device identical deposited code database, in which different data records are deposited. For example, there are a thousand data records of 256 bytes each. On A record in the code database is made using a pointer directed. The pointer is sent from the encryption device to the Decryption device indirectly, by specifying the position of the Pointer in a pointer list, transmitted. This pointer list is in the Encryption and the decryption device also deposited identically. The code database and pointer list are separate generated with the described or other random number generators, There are various ways to initialize them. This will further attack the encryption system difficult.

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. Such pointers are known as so-called transaction numbers TAN. Such a TAN can preferably be a six-digit decimal number, whose two three-digit parts each have a data record of 256 Show byte.

Mit Hilfe der so gewonnenen Parameter und Anfangswerte fängt die Entschlüsselungsstation vorteilhaft an, die übersandten verschlüsselten Daten zu entschlüsseln. With the help of the parameters and initial values thus obtained, the Decryption station advantageously sent to the encrypted 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. The code determining all initial values is in that Embodiment 512 bytes = 4096 bits long, which is a 1233-digit Decimal number of different possibilities corresponds to each other. He is therefore not easy to guess by systematic trial and error.

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 as follows between the basic methods used: Each logistic equation contains a parameter a j and an initial value y 0, j , which are real numbers of the "double" type with a representation of 8 bytes. The constant rough setting specified in the program is fine-tuned by 6 bytes from the code, resulting in 12 bytes per logistic equation or 96 bytes per group of 8. 4 different groups of 8 are now used alternately for XOR encryption, which results in 384 bytes. So that every single bit of the entire code actually affects all encrypted bytes and not just a quarter, these variables are mixed by linear combination before the parameters and initial values are calculated. Since for the calculation of the mentioned tables for the position-dependent substitution and the transposition own random number generators from a coupled logistic equation are required, which would use 2 further groups of 8, i.e. 192 bytes, according to the same scheme, but the total number should result in 512 and not 576 , only 4 instead of 6 bytes per "double" size are used for this. This complicated process 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, a personal identification number PIN can be used Identification of users authorized for the procedure be, 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, a method using the key is advantageous created, which is constructed as a so-called master-slave system. Encryption methods are advantageously used for this which the operator for encryption and his inverse for Decryption are no longer identical, as is the case with positional Substitution and transposition and thus also with the XOR Method composite overall transformation is the case. This means that a master is superior to several slaves and with each of these slaves can communicate bidirectionally. The slaves in turn cannot communicate with each other. On in this way 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. An additional increase in security can be achieved by that the encrypted data itself is hidden. This is possible through so-called steganography. You can do this at Transmission of the encrypted data hidden in other data be, preferably in data from graphics or sound. Here in the case of Pixel graphics or sound files a hidden transmission encrypted data. In the case of pixel graphics particularly preferably uses files in Targa format in which the red, Green and blue values (RGB) of each pixel, i.e. each pixel, with 256 levels of brightness in one byte of 8 bits each without data compression get saved. Although information is stored digitally, are often analog devices with a on the recording side Background noise in the game. The eye can, however, be pure even with one on one digital technology based application, such a fine gradation do not differentiate. This is at least the least significant bit of each byte is redundant and can be replaced by external information such as replacing a bit of a cryptographic file. The same applies to the least significant bit of each byte of a sound file in the Wave format, e.g. B. a phone call.

Besonders bevorzugt wird das Verfahren mit einem Mikroprozessor bzw. Computer durchgeführt. The method with a microprocessor or Computer performed.

Claims (15)

1. 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 - 1
mit 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.
1.Procedure for generating sequences of numbers for use as a key in data encryption and decryption, in which recursion formulas of Art
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 ), with i = 0, 1, 2,. , . j = 0, 1, 2,. , ., m - 1
are coupled with 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 to generate the key.
2. 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


durchgeführt wird.
2. The 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


is carried out.
3. 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.
3. The method according to claim 2, further characterized in that on the values y ' i, j for a fixed value of i 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.
4. Verfahren nach einem der Ansprüche 1 bis 3, weiter dadurch gekennzeichnet, dass m = 8 Rekursionsformeln gekoppelt werden. 4. The method according to any one of claims 1 to 3, further thereby characterized in that m = 8 recursion formulas are coupled. 5. Verfahren nach einem der Ansprüche 1 bis 4, weiter dadurch gekennzeichnet, dass für alle Rekursionsformeln aj > 4 gilt. 5. The method according to any one of claims 1 to 4, further characterized in that a j > 4 applies to all recursion formulas. 6. 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. 6. The method according to any one of claims 1 to 5, further characterized in that a key S i of an iteration level i is formed by combining all the values y i, j for a fixed value of i and for combining the y i, j in a floating point representation only the mantissa or a low-order part of the mantissa of the values y i, j is used. 7. 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.
7. The method according to any 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 stored identically in the encryption and decryption device, different codes being stored therein,
reference is made to the initial values y 0, j and parameters a j in a code database by means of a pointer,
the pointer to a specific code is transmitted indirectly by the encryption device to the decryption device by specifying the position of the pointer in a table.
8. Verfahren nach Anspruch 7, weiter dadurch gekennzeichnet, dass der Zeiger eine sechsstellige Dezimalzahl ist. 8. The method according to claim 7, further characterized in that the pointer is a six-digit decimal number. 9. 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. 9. The method of claim 7 or 8, further thereby marked that in addition a password to identify for the Approved users are used, the password in the Encryption and decryption device identical is deposited. 10. Verwendung eines Schlüssels nach einem der Ansprüche 1 bis 9 zur Datenverschlüsselung und Datenentschlüsselung. 10. Use of a key according to one of claims 1 to 9 for data encryption and data decryption. 11. 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 k
und 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.
11. Use according to claim 10, further characterized in that during encryption, a ciphertext c is generated by XOR-adding a plaintext k with the key S i according to the following relationship:
c = S i XOR k
and when decrypting, the plaintext k is generated by XOR-adding the ciphertext c with the key S i according to the following relationship:
k = S i XOR c.
12. 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. 12. Use according to claim 10 or 11, further characterized in that during the encryption and decryption, characters are exchanged for other characters depending on the position and a table used for the exchange is generated with the aid of a key S s . 13. Verwendung nach einem der Ansprüche 10 bis 12, weiter dadurch gekennzeichnet, dass bei einer Verschlüsselung und Entschlüsselung die Position eines Zeichen gegen die Position eines anderen Zeichens ausgetauscht wird und eine zur Vertauschung verwendete Tabelle mit Hilfe eines Schlüssels St erzeugt wird. 13. Use according to one of claims 10 to 12, further characterized in that during encryption and decryption, the position of a character is exchanged for the position of another character and a table used for the exchange is generated with the aid of a key S t . 14. 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. 14. Use according to any one of claims 10 to 13, further thereby characterized that the data encrypted in this way in other data hidden, especially in data from graphics or sound. 15. 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. 15. Use according to any one of claims 10 to 14, further thereby characterized that the method for data encryption and Data decryption a higher-level system and one or more has subordinate systems, the use of asymmetric encryption methods only between the parent system and the child systems, but not can be communicated between the subordinate systems.
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 true DE10158003A1 (en) 2003-06-12
DE10158003B4 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)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007018403B4 (en) * 2007-04-17 2009-06-25 Vita-X Ag Computer system and method for storing data
DE102008042406B4 (en) * 2008-09-26 2010-10-07 Compugroup Holding Ag Process for the secure exchange of data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Family Cites Families (1)

* 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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Also Published As

Publication number Publication date
DE10158003B4 (en) 2007-03-08

Similar Documents

Publication Publication Date Title
EP2605445B1 (en) Method and apparatus for securing block ciphers against template attacks
DE19827904C2 (en) Block cipher or decipher method and block cipher or decipher device
EP3218893B1 (en) Hardened white box implementation
EP2433241B1 (en) Encoding methods
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
EP1298834B1 (en) Method and apparatus for encrypting and decrypting data
DE602004007904T2 (en) ENCRYPTION PROCESS AND SYSTEM
DE69911815T2 (en) SELF-CORRECTING RANDOM ENCRYPTION SYSTEM AND METHOD
DE69729297T2 (en) ENCRYPTION DEVICE FOR BINARY CODED MESSAGES
DE10143728A1 (en) Device and method for calculating a result of a modular exponentiation
DE102004042826A1 (en) Method and device for data encryption
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
DE102017202940A1 (en) Method and apparatus for generating cryptographic keys
DE19757370C2 (en) Process for the tactile generation of pseudo-random data words
EP0173647B1 (en) Enciphering/deciphering method
DE19845073C2 (en) Procedure for securing DES encryption against spying on the keys by analyzing the current consumption of the processor
DE102018113772A1 (en) encryption method
DE102018208851A1 (en) Apparatus and method for converting input bit strings
EP1052801A2 (en) Method for implementing a cryptographic algorithm
DE202009008987U1 (en) Device for encrypting data
WO1997032417A1 (en) Process for generating a check word for a bit sequence for verifying the integrity and authenticity of the bit sequence
EP1520368B1 (en) Factorization-based encryption method

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