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 keyInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/16—Obfuscation 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
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)
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.
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.
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.
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.
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.
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)
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)
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)
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 |
-
2001
- 2001-11-22 DE DE2001158003 patent/DE10158003B4/en not_active Expired - Fee Related
Patent Citations (2)
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 |