DE19704069A1 - Data sequence encoding and decoding method - Google Patents
Data sequence encoding and decoding methodInfo
- Publication number
- DE19704069A1 DE19704069A1 DE1997104069 DE19704069A DE19704069A1 DE 19704069 A1 DE19704069 A1 DE 19704069A1 DE 1997104069 DE1997104069 DE 1997104069 DE 19704069 A DE19704069 A DE 19704069A DE 19704069 A1 DE19704069 A1 DE 19704069A1
- Authority
- DE
- Germany
- Prior art keywords
- insertion position
- bytes
- byte
- cipher
- data field
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
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
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
Abstract
Description
Die Erfindung betrifft ein Verfahren zur Ver- und Entschlüsselung einer Daten folge, wobei hierzu mit Hilfe eines Paßwortes durch einen Schlüsselgenerator ein Chiffrierschlüssel erzeugt wird, welcher mit dem Klartext verknüpft das Chiffrat bildet.The invention relates to a method for encrypting and decrypting data follow, with the help of a password through a key generator an encryption key is generated, which links this with the plain text Cipher forms.
Ein derart arbeitendes chiffrierverfahren ist bereits in der Fachliteratur unter dem Oberbegriff "Polyalphabetische Chiffrierung" bekannt.Such an encryption process is already in the specialist literature under the Generic term "polyalphabetic encryption" known.
Der für die Chiffrierung wichtige Schlüsselgenerator hat die Aufgabe aus einem Passwort begrenzter Lange einen fortlaufenden Chiffrierschlüssel zu erzeugen. Er ist jedoch bei den heutigen Verfahren entweder sehr rechenaufivendig konzipiert und bremst somit die Chiffrierung oder der erzeugte Schlüssel besitzt eine niedrige Periode oder gar ein durchschaubares Bildungsgesetz. Solche Schlüssel bieten einem Kryptoanalytiker leichte Anhaltspunkte ein Chiffrat zu brechen. Ferner ist es heute schon möglich durch speziell angefertigte Prozessoren alle Passwortkombinationen mancher Chiffrierverfahren in einer akzeptabelnen Zeit zu testen.The key generator that is important for encryption has the task of one Password of limited length to generate a continuous encryption key. However, in today's methods, it is either very computationally expensive conceives and brakes the encryption or the generated key a short period or even a transparent education law. Such Keys provide a cryptanalyst with easy clues to a cipher break. Furthermore, it is already possible today through specially made Processors all password combinations of some encryption methods in one to test acceptable time.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren anzugeben, das mit Hilfe eines eingegebenen Paßwortes und einem minimalen Rechenaufwand einen fortlaufenden Chiffrierschlüssel erzeugt, welcher eine sehr hohe Periode besitzt und nicht durch ein Bildungsgesetz nachvollzogen werden kann.The invention has for its object to provide a method that with With the help of an entered password and a minimal computing effort generates a continuous encryption key, which has a very high period owns and cannot be traced by an education law.
Die Aufgabe wird gelöst, wie im Anspruch 1 beschrieben. Die Unteransprüche geben vorteilhafte Weiterbildungen an.The object is achieved as described in claim 1. The subclaims indicate advantageous further training.
Die einzelnen Verfahrensschritte werden auf den nachfolgenden Seiten darge stellt. The individual process steps are shown on the following pages poses.
Nach dem unten erläuterten Prinzip wird eine Datenfolge mit Hilfe eines fortlaufenden Schlüssels chiffriert. Der Schlüssel wird durch einen Schlüsselgenerator erzeugt und ist nur vom Passwort abhängig. Nur kleine Veränderungen im Passwort haben einen völlig anderen Chiffrierschlüssel zufolge. Die gesamte Verschlüsselung wird auf binärer Ebene durchgeführt. Daher muß die zu verschlüsselnde Datenfolge in binarer Form vorliegen und in Bytes unterteilt sein.According to the principle explained below, a data sequence is created using a sequential key encrypted. The key is through one Key generator generated and only depends on the password. Only little Changes in the password have a completely different encryption key according to. All encryption is done at the binary level. The data sequence to be encrypted must therefore be in binary form and in Bytes.
In der Beschreibung wird als Hilfe ein fortführendes Beispiel verwendet. Die einzelnen Bytes des Chiffrierschlüssels werden im folgenden Text mit Chiffrierbytes bezeichnet.A continuation example is used in the description as an aid. The individual bytes of the encryption key are included in the following text Denoted cipher bytes.
Als erstes werden die Zeichen des Paßwortes der Reihe nach in Dezimalzahlen, die dem Zeichensatz entsprechen, und dann in Dualzahlen umgerechnet. Ferner wird ein Datenfeld definiert, wo jede Dualstelle eine eigene Positionsnummer besitzt. In dieses Datenfeld werden die Dualstellen des Paßwortes eingetragen und das Datenfeld anschließend abwechselnd mit Einsen und Nullen aufgefüllt.First, the characters of the password are sequentially in decimal numbers, that correspond to the character set, and then converted into dual numbers. Further a data field is defined where each dual digit has its own position number owns. The dual digits of the password are entered in this data field and the data field is then alternately padded with ones and zeros.
Schaubild 1Figure 1
Anschließend werden alle aufeinanderfolgenden Bytes mit der logischen Funktion XOR verknüpft.Then all consecutive bytes with the logical XOR function linked.
Schaubild 2Figure 2
In unserem Beispiel wird die Dualzahl 0 0 1 0 0 0 0 1 errechnet und ergibt in Dezimalschreibweise die Zahl 33. Nach dem ASCII-Code ist dies das Zeichen "!" und bildet das erste Chiffrierbyte.In our example, the dual number 0 0 1 0 0 0 0 1 is calculated and results in Decimal notation, the number 33. This is the character after the ASCII code "!" and forms the first cipher byte.
Um nun weitere Zeichen errechnen zu können, wird das Chiffrierbyte nach mehreren Verknüpfungen wieder in Bitstruktur des Datenfeldes eingesetzt. Die Einsetzposition verschiebt sich mit jedem weiteren Durchlauf um einen bestimmten Wert.To be able to calculate further characters, the cipher byte is added several links inserted again in the bit structure of the data field. The The insertion position shifts by one with each subsequent run certain value.
Um die erste Einsetzposition zu errechnen, werden die Dualstellen des
Chiffrierbytes als 8 Dezimale Werte angesehen und addiert. So kann als Ergebnis
nur ein Wert von 0 bis 8 erscheinen.
Chiffrierbyte: Dezimal: 33 Dual: 0 0 1 0 0 0 0 1
Addieren der Dualstellen: 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 = 2
Die erste Einsetzposition ist somit die Dualstelle 2.
In order to calculate the first insertion position, the dual digits of the encryption byte are viewed as 8 decimal values and added. As a result, only a value from 0 to 8 can appear.
Cipher byte: Decimal: 33 Dual: 0 0 1 0 0 0 0 1
Add the dual digits: 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 = 2
The first insertion position is therefore the dual position 2.
Mit diesen anfänglichen Rechnungen wurde das erste Chiffrierbyte und die erste Einsetzposition errechnet. Diese Rechnungen bilden die Grundlage für die jetzt folgenden Verknüpfungen die, in einer Schleife angeordnet, den fortlaufenden Chiffrierschlüssel erzeugen und damit alle weiteren Chiffrierbytes.With these initial calculations, the first cipher byte and the first Insert position calculated. These bills form the basis for now following links which, arranged in a loop, the continuous Generate encryption key and thus all other encryption bytes.
Es werden nun 16 Bit ab der Einsetzposition gelesen und in zwei Byte unterteilt.Now 16 bits are read from the insertion position and divided into two bytes.
Schaubild 3Figure 3
Die eingelesenen Bit sind in diesem Fall: 0 1 0 1 1 1 0 1 1 0 0 0 0 1 0 1
Diese werden wie schon angedeutet in zwei Byte zerlegt:
In this case, the bits read are: 0 1 0 1 1 1 0 1 1 0 0 0 0 1 0 1 As already indicated, these are broken down into two bytes:
Byte 1 = 0 1 0 1 1 1 0 1B = 93D
Byte 2 = 1 0 0 0 0 1 0 1B = 133D Byte 1 = 0 1 0 1 1 1 0 1 B = 93 D.
Byte 2 = 1 0 0 0 0 1 0 1 B = 133 D.
Anschließend wird Byte 2 mit dem vorherigen Chiffrierbyte über XOR Verknüpft
zu einem neuen Byte 3:
Then byte 2 is linked to the previous cipher byte via XOR to a new byte 3:
Um nun ein weiteres Chiffrierbyte zu erhalten, muß man das Byte 3 in das Datenfeld an der errechneten Einsetzposition wieder einsetzen. Anschließend kann man wie in Schaubild 2 gezeigt, alle Bytes des Datenfeldes untereinander mit XOR verknüpfen und erhält ein neues Chiffrierbyte. Diese vielen und äußerst zeitaufwendigen XOR-Verknüpfungen bei Schaubild 2 kann man allerdings ab dem zweiten Durchgang auf die drei folgenden Schritte reduzieren, ohne das sich das Ergebnis unterscheidet. To get another cipher byte, you have to add byte 3 to the Reinsert the data field at the calculated insertion position. Subsequently As shown in Figure 2, you can see all the bytes of the data field one below the other link with XOR and receives a new encryption byte. These many and extremely time-consuming XOR operations in Figure 2 can, however, be avoided Reduce the second round to the three following steps without the result differs.
Zu diesem Zweck wird das erste Byte ab der Einsetzposition gelesen, welches
schon zuvor als Byte 1 bezeichnet wurde, und mit dem Byte 3 über XOR
verknüpft.
For this purpose, the first byte is read from the insertion position, which was previously referred to as byte 1, and linked to byte 3 via XOR.
Das entstehende Byte entspricht einer Maske. Alle Einsen der Maske kennzeichnen, daß bei einem überschreiben des Bereiches in der Bitstruktur mit dem Byte 3 eine Veränderung des entsprechenden Bit auftritt. Dies kann man dann auf das vorherige Chiffrierbyte beziehen und so das neue Chiffrierbyte errechnen.The resulting byte corresponds to a mask. All ones of the mask indicate that if the area in the bit structure is overwritten with a change in the corresponding bit occurs in byte 3. You can then refer to the previous cipher byte and thus the new cipher byte calculate.
Da in den meisten Fällen die Einsetzposition nicht durch 8 teilbar ist, also durch
die Division ein Rest vorhanden bleibt, muß die Maske um diesen Rest nach
rechts rotiert werden.
Since in most cases the insertion position is not divisible by 8, i.e. a remainder remains through division, the mask must be rotated to the right by this remainder.
Einsetzposition: 2
2 DIV 8 = 0 Rest = 2Insert position: 2
2 DIV 8 = 0 remainder = 2
In diesem Fall muß die Maske um 2 Bitstellen nach rechts rotiert werden, das
heißt, daß die zwei letzten Bitstellen der Maske an die Position 7 und 6 wandern.
In this case, the mask must be rotated 2 bit positions to the right, which means that the last two bit positions of the mask move to positions 7 and 6.
Nach diesem Rotiervorgang wird die Maske direkt mit dem vorherigen
Chiffrierbyte nochmals über XOR verknüpft. Es entsteht somit das neue
Chiffrierbyte.
After this rotation process, the mask is directly linked to the previous encryption byte again via XOR. The new cipher byte is created.
Jetzt kann abschließend das Byte 3 an der Einsetzposition in die Bitstruktur eingesetzt werden.Finally, byte 3 can now be inserted in the bit structure be used.
Schaubild 4Figure 4
Wenn die Einsetzposition die Bedingung < 791 und ≦ 799 erfüllt, dann werden
die ersten Dualstellen normal eingesetzt und diejenigen, die über 799
hinauskommen, wieder bei der ersten Stelle weitergeführt. Dies soll in einem
willkürlich gewählten Beispiel verdeutlicht werden.
If the insertion position meets the condition <791 and ≦ 799, then the first dual digits are used normally and those that go beyond 799 are continued at the first digit. This will be illustrated in an arbitrarily chosen example.
Ferner wird mit dem Byte 3 noch die Erhöhung der Einsetzposition nach dem folgenden Schema errechnet.Furthermore, byte 3 is used to increase the insertion position after calculated the following scheme.
Die Dualstellen vom Byte 3 werden als 8 Dezimale Werte angesehen und addiert.
So kann als Ergebnis nur ein Wert von 0 bis 8 erscheinen.
The binary digits of byte 3 are considered and added as 8 decimal values. As a result, only a value from 0 to 8 can appear.
Byte 3: Dezimal: 164 Dual: 1 0 1 0 0 1 0 0
Addieren der Dualstellen: 1 + 0 + 1 + 0 + 0 + 1 + 0 + 0 = 3Byte 3: Decimal: 164 Dual: 1 0 1 0 0 1 0 0
Add the dual digits: 1 + 0 + 1 + 0 + 0 + 1 + 0 + 0 = 3
In unserem Beispiel ergibt die Summe der Dualstellen von Byte 3 die Dezimalzahl
3. Diese Dezimalzahl plus 7D (einer Konstanten), addiert mit der letzten
Einsetzposition, ergibt die neue Einsetzposition. Somit kann die Erhöhung der
Einsetzposition nur zwischen 7 und 15 Stellen liegen.
In our example, the sum of the dual digits of byte 3 results in the decimal number 3. This decimal number plus 7 D (a constant), added to the last insertion position, results in the new insertion position. Thus, the increase in the insertion position can only be between 7 and 15 digits.
Alte Einsetzposition: 2
Errechnete Erhöhung der Einsetzposition: 3 + 7 = 10
2+ 10= 12
Old insertion position: 2
Calculated increase in the insertion position: 3 + 7 = 10
2+ 10 = 12
Die neue Einsetzposition ist somit die Dualstelle 12.The new insertion position is therefore the dual position 12.
Wenn die errechnete Einsetzposition Bedingung < 799 erfüllt, dann wird von der errechneten Zahl, die Zahl 800 subtrahiert.If the calculated insertion position fulfills condition <799, then from the calculated number, subtracting the number 800.
Alte Einsetzposition : 797
Errechnete Erhöhung der Einsetzposition: 9
797 + 9 = 806
Da es keine Einsetzposition von der Größe 806 gibt, werden 800 subtrahiert.
806 - 800 = 6
Neue Einsetzposition : 6Old insertion position: 797
Calculated increase in insertion position: 9
797 + 9 = 806
Since there is no 806 insertion position, 800 is subtracted.
806 - 800 = 6
New insertion position: 6
Es wurde nun ein neues Chiffrierbyte errechnet und eine neue Einsetzposition. Nun kann wieder damit begonnen werden 16 Bits ab der neuen Einsetzposition zu lesen, aufruteilen, miteinander zu Verknüpfen um nun wiederum ein neues Chiffrierbyte und eine neue Einsetzposition zu errechnen.A new cipher byte has now been calculated and a new insertion position. Now you can start again 16 bits from the new insertion position to read, to divide, to link with each other in order to create a new one Cipher byte and to calculate a new insertion position.
Dies kann nun unendlich fortgeführt werden, wobei immer neue Chiffrierbytes entstehen. This can now be continued indefinitely, with new cipher bytes arise.
Um nun eine Datenfolge zu verschlüsseln, wird jeder originale Buchstabe mit einem Chiffrierbyte über die logische Funktion XOR verknüpft.To encrypt a data sequence, each original letter is included linked to a cipher byte via the logical function XOR.
Schaubild 5Figure 5
Die Dechiffrierung geschieht nach dem gleichen Prinzip wie die Chiffrierung, nur, daß bei der Dechiffrierung der originale Buchstabe in Schaubild 5 durch den chiffrierten Buchstaben ersetzt wird.The decryption is based on the same principle as the encryption, only that when deciphering the original letter in Figure 5 by the encrypted letters is replaced.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1997104069 DE19704069A1 (en) | 1997-02-04 | 1997-02-04 | Data sequence encoding and decoding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1997104069 DE19704069A1 (en) | 1997-02-04 | 1997-02-04 | Data sequence encoding and decoding method |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19704069A1 true DE19704069A1 (en) | 1998-08-06 |
Family
ID=7819212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1997104069 Withdrawn DE19704069A1 (en) | 1997-02-04 | 1997-02-04 | Data sequence encoding and decoding method |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE19704069A1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4319079A (en) * | 1979-09-13 | 1982-03-09 | Best Robert M | Crypto microprocessor using block cipher |
GB2216754A (en) * | 1988-03-24 | 1989-10-11 | Racal Guardata Financial Syst | Data-processing apparatus and method |
US5008935A (en) * | 1989-06-30 | 1991-04-16 | At&T Bell Laboratories | Efficient method for encrypting superblocks of data |
-
1997
- 1997-02-04 DE DE1997104069 patent/DE19704069A1/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4319079A (en) * | 1979-09-13 | 1982-03-09 | Best Robert M | Crypto microprocessor using block cipher |
GB2216754A (en) * | 1988-03-24 | 1989-10-11 | Racal Guardata Financial Syst | Data-processing apparatus and method |
US5008935A (en) * | 1989-06-30 | 1991-04-16 | At&T Bell Laboratories | Efficient method for encrypting superblocks of data |
Non-Patent Citations (2)
Title |
---|
ERICKSON,Charles R.: Datenschutz durch Datenverschlüsselung. In: Elektronik 1979, H.19, S.45-51 * |
WECK,Gerhard: Datensicherheit, B.G.Teubner, Stuttgart, 1984, S.290-295 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69929251T2 (en) | ENCRYPTION SYSTEM WITH A KEY OF CHANGING LENGTH | |
DE69736148T2 (en) | Method and device for data encryption | |
DE19827904C2 (en) | Block cipher or decipher method and block cipher or decipher device | |
EP0012974B1 (en) | Method for enciphering data blocks of a given length | |
DE2232256C3 (en) | Method for checking the authorization of users of a data processing network using data stations | |
DE2231835C3 (en) | Process for the encryption and decryption of binary data in several stages | |
DE2734456A1 (en) | DATA SCANNING SYSTEM FOR DETERMINING THE VALIDITY OF A RECORDING MEDIUM | |
DE19742417A1 (en) | Device and method for performing M-fold machine end-state entropy coding or entropy coding with a machine with a finite state | |
DE69729297T2 (en) | ENCRYPTION DEVICE FOR BINARY CODED MESSAGES | |
EP0189734B1 (en) | Method and apparatus for converting a digital data sequence into an enciphered form | |
DE69737806T2 (en) | Data encryption method | |
DE1964570A1 (en) | Procedure for retrieving stored information | |
DE60004409T2 (en) | Circuit and method for generating random numbers | |
DE19704069A1 (en) | Data sequence encoding and decoding method | |
DE2360788A1 (en) | ELECTRONIC DATA PROCESSING SYSTEM | |
EP1322062B1 (en) | Method for computer assisted encryption and decryption of data | |
DE102018113772B4 (en) | Encryption method | |
DE19757370C2 (en) | Process for the tactile generation of pseudo-random data words | |
EP1388230B1 (en) | Method and device for encrypting a discrete signal and method and device for decrypting the same | |
DE3837843C2 (en) | Data compression and decompression procedures | |
DE4107266C2 (en) | Process for fast encryption or decryption of large files using a chip card | |
DE2455477C3 (en) | Method for concealing speech by interchanging the speech segments over time | |
DE10206065A1 (en) | Symmetrical encryption of message, by determining which datum of key that is marked with pointer is linked with retrieved datum of message | |
DE19807020A1 (en) | Method of secure encoding of data for secure data communications | |
DE102013108424A1 (en) | Method for encrypting character strings |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OM8 | Search report available as to paragraph 43 lit. 1 sentence 1 patent law | ||
8139 | Disposal/non-payment of the annual fee |