EP2647157A1 - Method and apparatus for performing symmetrical stream encryption of data - Google Patents

Method and apparatus for performing symmetrical stream encryption of data

Info

Publication number
EP2647157A1
EP2647157A1 EP11796910.5A EP11796910A EP2647157A1 EP 2647157 A1 EP2647157 A1 EP 2647157A1 EP 11796910 A EP11796910 A EP 11796910A EP 2647157 A1 EP2647157 A1 EP 2647157A1
Authority
EP
European Patent Office
Prior art keywords
bit sequence
input
shift register
code
memory element
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
Application number
EP11796910.5A
Other languages
German (de)
French (fr)
Inventor
René-Michael Cordes
Ernst Schobesberger
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of EP2647157A1 publication Critical patent/EP2647157A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0457Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • 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
    • H04L9/0668Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator producing a non-linear pseudorandom sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • G06F7/584Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register
    • 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/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

Definitions

  • the invention relates to a method for performing a symmetric stream encryption of data using a keystream and for transmitting the encrypted data, wherein the generation of the keystream is performed using at least one feedback shift register, which is filled to its initialization with a defined bit sequence.
  • the invention further relates to a corresponding method for decrypting encrypted data by means of a symmetric stream encryption.
  • the invention further relates to a device for encrypting data by means of a symmetric stream encryption using a keystream, wherein for generating the keystream at least one fed-back shift register is provided, which is filled to its initialization each with a defined bit sequence.
  • the invention further relates to a device for decrypting encrypted data by means of a symmetric stream encryption.
  • At least one feedback shift register is used to generate the keystream.
  • Linear feedback shift registers can be efficiently implemented both directly in hardware such as FPGAs and in software.
  • Feedback shift registers are fast and produce pseudo-random sequences with good statistical properties.
  • a feedback shift register is implemented in digital technology as a shift register with n memory elements. The individual memory elements are typically D flip-flops, which can each store one bit. In contrast to a conventional shift register, there are branches between certain D flip-flops, which represent the feedback.
  • an XOR function is usually used in each case. Instead of the XOR link, however, an XNOR link can also be used.
  • the shift register can be filled with XOR feedback with arbitrary values which determine the key stream generated by the shift register in the sequence.
  • linear feedback shift registers are generally used, which are usually of different lengths and have different feedback polynomials. This combines linear feedback shift registers to non-linear generators.
  • a disadvantage of code generators in the form of conventional feedback shift registers is the fact that the structure of the generator can easily be deduced from the code sequence, so that it can be regenerated with an identically constructed generator. A significant improvement is achieved in this regard by the known from WO 03/075507 AI code generator.
  • Another disadvantage of conventional data stream encryption is the fact that it can only be used for packet-switched data transmission (eg, via the Internet via the IP protocol) while reducing encryption security.
  • packet-switched data transmission each data packet must be encrypted separately and used for the encryption of each data packet.
  • the key used must be known to the recipient for the purpose of decryption in order to enable decryption even if individual data packets are lost, packets arrive twice at the receiver, packets take different paths or packets arrive fragmented at the receiver.
  • the simplest way to guarantee a clear assignment of data with the key or keystream even under the conditions of these malfunctions is to use the same key stream for each data packet. This makes it easier to break the encryption.
  • the present invention therefore aims to provide a method and an apparatus for encrypting and / or decrypting data using a power encryption and decryption, wherein the encrypted data should be in packets of any size, so that they are simultaneous Transmission of high frequency binary data streams over long periods in packet-organized data networks are suitable.
  • the encryption should be as secure as possible, with a break in the encryption should be virtually impossible.
  • the encryption method of the type mentioned at the outset is developed in such a way that the data to be encrypted are divided into data packets, that each data packet is encrypted separately, wherein the feedback shift register (s) for the Ver - Initialization of each data packet is reinitialized or, wherein for initialization of the or the feedback shift register respectively at least a first bit sequence and a second bit sequence is used, wherein the first bit sequence is added to the respective encrypted data packet in plain text or in coded form and the second bit sequence represents a secret key which is not added to the encrypted data packets, and in that the encrypted data packets together with the respective added bit sequence and possibly header data are transmitted packet-switched.
  • the data to be decrypted are received as data packets, that each received data packet is decrypted separately, wherein the feedback shift register (s) for the decryption of each data packet is re-initialized or de-initialized
  • the feedback shift register (s) for the decryption of each data packet is re-initialized or de-initialized
  • at least one first bit sequence and one second bit sequence are used to initialize the feedback shift register, the first bit sequence being read out of the respective data packet to be decrypted in plaintext or in coded form and the second bit sequence representing a secret key that can not be read from the data packets to be decrypted.
  • each data packet contains the first bit sequence in plain text or in coded form which was used to encrypt the respective data packet, this first bit sequence can be read from the recipient of the respective data package and used for decrypting. This makes it possible to encrypt each data packet with a different key, thus making it difficult to break the encryption.
  • the first bit sequence selected is a bit sequence which is unique to the data packet to be encrypted and which is added to the respective encrypted data packet as a packet identifier in plain text or in coded form, it is ensured that two data packets with the same clear text content are not are also encrypted identically, so the encrypted data packets differ from each other. Conclusions on the transmitted characters by a statistical evaluation of the data packets are made more difficult.
  • the second bit sequence ie the secret key
  • a unique identifier here, for example, a hardware identifier of the transmitter or the receiver can be used, in particular a stamped chip number or the like.
  • the generation of the second bit sequence is preferably done by linking the unique identifier of the transmitter and the unique identifier of the receiver using a XOR function. For this it is necessary that the transmitters and receivers exchange their identifiers before the data transmission.
  • the first and second bit sequences are used in the context of encryption and decryption to initialize the feedback shift register (s).
  • the procedure is such that at least a first feedback shift register is filled with the first bit sequence for its initialization and at least one second feedback loop is filled Shift register is filled to its initialization with the second bit sequence.
  • a third bit sequence is used for initializing the feedback shift register (s).
  • the third bit sequence is generated with advantage from a current date and / or time.
  • the third bit sequence is preferably fed for initialization to a third feedback shift register.
  • a further advantage of the method according to the invention is that the generation of the keystream can already begin as soon as at least one of the feedback shift registers is filled with the first bit from the respective bit sequence.
  • the feedback shift registers become simultaneously with the respective bit sequence filled.
  • the structure of the key-current generator is preferably such that at least one XOR gate is used for the feedback of the shift register or registers.
  • the complexity of the generator can be increased in a simple manner in that the feedback shift registers are interconnected in such a way that, depending on the state of a shift register, the at least one XOR gate of the other shift register is switched on or off.
  • an encryption and a decryption direction an encryption and a decryption direction.
  • the device for encrypting data by means of a symmetric stream encryption using a key stream, wherein at least one feedback shift register is provided for generating the key stream, which is filled in each case with a defined bit sequence for its initialization, characterized in that the data in that there are provided means for generating and / or storing at least one first bit sequence and a second bit sequence which interact with the shift register (s) such that at least the first bit sequence and the second bit sequence are used for initialization the feedback shift register (s) are re-initialized for the encryption of each data packet, and data packet processing means are provided with which the means for generating or storing are provided n of the first and the second bit sequence cooperate in such a way that the first bit sequence is added to the respective encrypted data packet in plain text or in coded form and the second bit sequence represents a secret key which is not added to the encrypted data packets and in that data transmission means are packet-switched Sending the encrypted data packets together with the respective added bit sequence and possibly header data are provided.
  • the device for decrypting data encrypted by means of a symmetric stream encryption using a keystream, at least one being used for generating the keystream.
  • peltes shift register is provided, which is filled in each case with a defined bit sequence for its initialization, is characterized in that the encrypted data is divided into data packets that means for reading a first bit sequence in plain text or in coded form from the data packets and means for generating and / or storing at least one second bit sequence which cooperate with the shift register (s) such that at least the first bit sequence and the second bit sequence are used to initialize the feedback shift register (s), the feedback one or more (n) shift register is re-initialized for the decryption of each data packet, the second bit sequence representing a secret key which can not be read from the encrypted data packets.
  • FIG. 2 shows a decoding device according to the invention
  • FIGS. 3, 4, 5 and 6 show various configurations of a key-current generator used in the device.
  • a data packet to be encrypted is designated by 1, wherein the data packet 1 comprises a plurality of bits in plain text.
  • the encryption is carried out in principle such that the bits of the bit stream 2 of the plaintext with the bits of a keystream 3 individually by means of a XOR gates 4 are linked.
  • the generation of the key flow 3 is a code generator 5, which will be described in more detail with reference to FIGS. 3 to 6.
  • the code generator 5 generates the key stream 3 on the basis of a plurality of bit strings 6, 7 and 8, which are supplied to the code generator 5 as a key.
  • a first bit sequence 6 is stored in a memory 9 and represents a unique identifier of the data packet 1 to be encrypted.
  • the uniqueness here must be given at least within the total number of data packets to be transmitted coherently.
  • the second bit sequence 7 is stored in a memory 10 and is generated from a unique identifier 11 of the sender and a unique identifier 12 of the receiver. The generation of the second bit sequence 7 takes place in that the bits of the unique identifier 11 and the bits of the unique identifier 12 are linked together by means of an XOR gate 13. Due to the use of the second bit sequence 7 as the key for the generation of the key stream 3, it is ensured that only the recipient, who must also be aware of the unique identifiers 11 and 12, can decrypt the encrypted data packets.
  • the third bit sequence 8 is stored in a memory 14 or is generated there, based on a current date or time.
  • the bit sequence 8 corresponds to the current date.
  • key stream 3 has a completely different structure every day, making it difficult to break encryption.
  • the encrypted data of the data packet are now supplied to data packet processing means 15, with which the memory 9 cooperates for the first bit sequence 6 such that the first bit sequence 6 is added to the encrypted data packet in plain text.
  • the second bit sequence 7 and the third bit sequence 8 are not added to the encrypted data packet, but are known anyway at the receiver.
  • the data packet processing means 15 further ensure that the encrypted data packet is provided with the usual header data required for the packet-switched transmission in a computer network.
  • the data packet prepared for the transmission thus consists of header data 16, the first bit sequence as packet identifier 17 and the encrypted user data 18.
  • the data transmission means for packet-switched transmission of the data packet are designated by 19.
  • the device shown in Fig. 2 for decrypting the encrypted data packets is constructed essentially analog.
  • the packet containing the header data 16, the first bit sequence as packet identifier 17 and the encrypted user data 18 is supplied on arrival to read means 20, in which the second bit sequence 17 is read out and fed to a memory 21.
  • the encrypted user data 18 are subsequently fed to an XOR gate 22, in which the bits of the encrypted bit stream 23 and the bits of the keystream 3 are linked to one another in order to obtain the decrypted data packet 1 in this way.
  • the keystream 3 used to decrypt a particular data packet must be the same as the keystream used to encrypt that data packet.
  • the same bit strings 6, 7 and 8 are supplied to the generator 5 as a key and used for decryption Generator 5 is identical to the generator 5 used for the encryption.
  • the memory for the second bit sequence 7 is denoted by 24.
  • the memory 24, the coupled via the XOR gate 25 transmitter and receiver identifiers 11 and 12 are supplied.
  • the third bit sequence 8 is stored in the memory 26 or is generated there.
  • FIG. 3 shows a basic circuit of a key-current generator 5 with a shift register 27, which consists of a plurality of memory elements which are combined to form a code-producing row, namely flip-flops FF1, FF2,... FF9.
  • An XOR gate XORpl is connected so that one input of the XOR gate XORpl is connected to the output of the memory element FF2 located in the code-producing line, and the other input of the XOR gate XORpl is connected to the output of the memory element located in the code-producing line FF5 and the output of the XOR gates XORP1 is connected to the input of the memory element FF3 in the series downstream of the memory element FF3 connected in series with the one input of the XOR gate XORpl, in other words recursively.
  • the last memory element FF9 is connected to the first memory element FF1 via an inverter INV.
  • the shift register 27 is filled with a bit sequence, a code sequence is obtained with this circuit. If, as is the case with the embodiment according to FIG. 3, only a single shift register is used, the bit sequences 6, 7 and 8 are supplied to the shift register 27 in such a way that first the bit sequences 6 and 7 are reset by means of an XOR Gate 28 are linked together and then the linked bit sequence with the bit string 8 using the XOR gate 29 is linked.
  • the Shift register 27 is not longer than this corresponds to the number of memory elements in the shift register 27, since the bit sequence would otherwise be superimposed ge of the next via the inverter INV from the memory elements FF9 Bitfol- ge.
  • a total of three shift registers 30, 31 and 32 are used.
  • the memory elements of the individual shift registers are interconnected recursively in this example in the same way as in FIG. 3.
  • the shift registers are further interconnected such that the function of the XOR gate XORpl of the recursive interconnection depends on the state of the second shift register 31 of the first shift register 30 is switched on and off.
  • the function of the XOR gate XORppl of the recursive connection of the second shift register 31 is in turn switched on and off in dependence on the state of the third shift register 32.
  • the output of the flip-flop FFp2 or FFpp2 of the one shift register 31 and 32, respectively, is connected to the input of an AND gate ANDpl or UNDppl, which is connected to the respective recursive function XORpl or XORppl of the shift registers 30 and 31, respectively is inserted.
  • the result is a code generator 5 with three levels, wherein the code generation is influenced on each level by initializing the respective shift register 30, 31 and 32 with the bit sequence 6, 7 and 8.
  • the initialization can preferably take place such that the first bit sequence 6 is supplied to the shift register 30 of the first level, the second bit sequence 7 to the shift register 31 of the second level, and the third bit sequence 8 to the shift register 32 of the third level, the bit sequences 6, 7 and 8 is preferred are defined as in FIGS. 1 and 2 described.
  • the structure shown in FIG. 4 is made even more complex and, in particular, longer code-producing series and a plurality of recursive interconnections are provided.
  • a number of continuously connected in series memory elements in the form of shift registers SRG1, SRG2, ... realized that functionally together form a shift register 33 in the context of the invention. It doubles the length of the code per added memory element, so the length of the code is calculated as follows
  • the code runs for more than a year without repeating the sequence so that a signal to be encrypted can be sent and decrypted encrypted over a long period of time over a dedicated line so that transfers Live over an equally long period are possible.
  • an XOR gate XORpl, p2, p3 is connected to a plurality of locations of this shift register 33 between a memory element FF1, 2, 3, 4 and the next in-line memory element FF2, 3, 4, 5 Inserting p4 and then feeding it with the signal from a third memory element FF8,15,20,23, so you changed each of the code generated thereby ( Figure 5).
  • the code-programming memory elements FFpl, p2, p3, p4 can be interconnected to form a shift register 34.
  • the code-programming memory elements FFpl, p2, p3, p4 shift register 34 can in turn be recursively interconnected with the aid of an XOR gate XORppl.
  • Nc 2 pn - 1
  • the probability of recognizing the correct continuation of the code sequence depends both on the number of memory elements used in the code generation FFl, 2, ... n as well as those of the programmable, code-changing XOR gates XORpl, p2 pn. This results in a probability to discover the programming underlying the code and thus to predict the further course of the code from: Nb
  • the programming can be carried out in two stages.
  • another programming level can be added by connecting the code-repeating XOR gate XORppl itself, with the interposition of an AND gate UNDppl, to a memory element row RRR and thus making it programmable, again using an XOR gate XORpppl for the recursive Circuit of the shift register 37 is used ( Figure 6). Based on the above calculation example, this ensures that the (2 283 -l) * (2 50 -l) different states are decomposed into 2 50 -l different sections, one of which is selected in the first programming phase.
  • ppn number of primes contained in the number of primes used in programming (50), ie 16).
  • ppn number of primes contained in the number of primes used in programming (50), ie 16).
  • a programming clock frequency of 1 MHz this process is completed in 0.065 seconds. A period of time that is likely to be measured with each programming because it is below the reaction time of humans, which is why it is ensured that no conclusions about the programming of the keys can be drawn from the actually elapsed programming time.

Abstract

In a method for performing symmetrical stream encryption of data using a key stream and for transmitting the encrypted data, wherein the key stream is generated using at least one feedback shift register which is filled with a defined bit sequence in order to initialize it, the data to be encrypted are split into data packets, with each data packet being encrypted separately. The feedback shift register(s) is/are reinitialised for the encryption of each data packet, with the feedback shift register(s) being initialized by using at least a first bit sequence and a second bit sequence in each case, wherein the first bit sequence is added to the respectively encrypted data packet in plain text or in encoded form and the second bit sequence represents a secret key, which is not added to the encrypted data packets. The encrypted data packets are transmitted in packet-switched fashion together with the respective added bit sequence and possibly header data.

Description

Verfahren und Vorrichtung zur Durchführung einer symmetrischen Stromverschlüsselung von Daten Method and apparatus for performing symmetric stream encryption of data
Die Erfindung betrifft ein Verfahren zur Durchführung einer symmetrischen Stromverschlüsselung von Daten unter Verwendung eines Schlüsselstroms und zur Übertragung der verschlüsselten Daten, wobei die Generierung des Schlüsselstroms unter Verwendung wenigstens eines rückgekoppelten Schieberegisters erfolgt, das zu seiner Initialisierung mit einer definierten Bitfolge gefüllt wird. The invention relates to a method for performing a symmetric stream encryption of data using a keystream and for transmitting the encrypted data, wherein the generation of the keystream is performed using at least one feedback shift register, which is filled to its initialization with a defined bit sequence.
Die Erfindung betrifft weiters ein entsprechendes Verfahren zum Entschlüsseln von mittels einer symmetrischen Stromverschlüsselung verschlüsselten Daten. The invention further relates to a corresponding method for decrypting encrypted data by means of a symmetric stream encryption.
Die Erfindung betrifft weiters eine Vorrichtung zum Verschlüsseln von Daten mit Hilfe einer symmetrischen Stromverschlüsselung unter Verwendung eines Schlüsselstroms, wobei zur Generierung des Schlüsselstroms wenigstens ein rückgekoppeltes Schieberegister vorgesehen ist, das zu seiner Initialisierung jeweils mit einer definierten Bitfolge gefüllt wird. Die Erfindung betrifft weiters eine Vorrichtung zum Entschlüsseln von mittels einer symmetrischen Stromverschlüsselung verschlüsselten Daten. The invention further relates to a device for encrypting data by means of a symmetric stream encryption using a keystream, wherein for generating the keystream at least one fed-back shift register is provided, which is filled to its initialization each with a defined bit sequence. The invention further relates to a device for decrypting encrypted data by means of a symmetric stream encryption.
Als Stromverschlüsselung bezeichnet man einen kryptographi- schen Algorithmus, bei dem Zeichen des Klartextes mit den Zeichen eines Schlüsselstroms einzeln verknüpft werden. Im Fall der Stromverschlüsselung von digitalen Daten - es kommen nur die Zeichen 0 und 1 zum Einsatz - erfolgt die Verknüpfung des Klartextstroms mit dem Schlüsselstrom mit Hilfe der XOR-Funktion . Der Schlüsselstrom ist eine pseudozufällige Zeichenfolge. Die meisten Stromchiffrierungen be- nutzen einen symmetrischen Schlüssel. Der Schlüssel bestimmt den Initialzustand des Systems. Current encryption is a cryptographic algorithm in which characters of the plain text are linked individually with the characters of a key stream. In the case of power encryption of digital data - only the characters 0 and 1 are used - the clear text stream is linked to the keystream using the XOR function. The keystream is a pseudo-random string. Most stream ciphers use a symmetric key. The key determines the initial state of the system.
Zur Erzeugung des Schlüsselstroms wird in der Regel wenigs- tens ein rückgekoppeltes Schieberegister verwendet. Linear rückgekoppelte Schieberegister können effizient sowohl direkt in Hardware, wie beispielsweise FPGAs, als auch in Software implementiert werden. Rückgekoppelte Schieberegister sind schnell und produzieren Pseudozufallsfolgen mit guten statistischen Eigenschaften. Ein rückgekoppeltes Schieberegister ist in der Digitaltechnik als ein Schieberegister mit n Speicherelementen realisiert. Die einzelnen Speicherelemente sind typischerweise D-Flipflops, welche je ein Bit speichern können. Im Gegensatz zu einem herkömmli- chen Schieberegister bestehen zwischen bestimmten D- Flipflops Abzweigungen, welche die Rückkopplungen darstellen. Zur Rückkoppelung wird in der Regel jeweils eine XOR- Funktion verwendet . Statt der XOR-Verknüpfung kann aber auch eine XNOR-Verknüpfung eingesetzt werden. At least one feedback shift register is used to generate the keystream. Linear feedback shift registers can be efficiently implemented both directly in hardware such as FPGAs and in software. Feedback shift registers are fast and produce pseudo-random sequences with good statistical properties. A feedback shift register is implemented in digital technology as a shift register with n memory elements. The individual memory elements are typically D flip-flops, which can each store one bit. In contrast to a conventional shift register, there are branches between certain D flip-flops, which represent the feedback. For feedback, an XOR function is usually used in each case. Instead of the XOR link, however, an XNOR link can also be used.
Zur Initialisierung kann das Schieberegister mit XOR- Rückkopplung mit beliebigen Werten gefüllt werden, die den vom Schieberegister in der Folge generierten Schlüsselstrom bestimmen. Wie jedes andere Schieberegister verfügt auch das rückgekoppelte Schieberegister über einen Takteingang: Bei jedem Taktimpuls wird in den Folgezustand gewechselt, d.h. wenn ein Bit ausgegeben werden soll, werden alle Bits im Schieberegister um einen Speicherplatz verschoben; das neue Bit am Ende des Schieberegisters wird abhängig von den anderen Bits berechnet. Dieser Vorgang zählt als ein Takt. Für einen vollständigen Durchlauf aller Kombinationen sind 2n_1 Taktimpulse notwendig. Eine derartige Codesequenz hat somit eine Länge von 2n_1 bit (n = Anzahl der codegenerie- W For initialization, the shift register can be filled with XOR feedback with arbitrary values which determine the key stream generated by the shift register in the sequence. Like any other shift register, the feedback shift register also has a clock input: at each clock pulse, the sequence state is changed, ie when a bit is to be output, all bits in the shift register are shifted by one memory location; the new bit at the end of the shift register is calculated depending on the other bits. This process counts as one bar. For a complete run of all combinations 2 n_1 clock pulses are necessary. Such a code sequence thus has a length of 2 n_1 bits (n = number of code-generating units). W
- 3 - renden in Reihe geschalteten Speicherelemente des Schieberegisters) . Als Schlüsselstromgenerator werden in der Regel mehrere lineare rückgekoppelte Schieberegister eingesetzt, die meist unterschiedlich lang sind und unterschiedliche Rückkopplungspolynome haben. Damit kombiniert man lineare rückgekoppelte Schieberegister zu nichtlinearen Generatoren .  - 3 - connected in series memory elements of the shift register). As a key-current generator, a plurality of linear feedback shift registers are generally used, which are usually of different lengths and have different feedback polynomials. This combines linear feedback shift registers to non-linear generators.
Je größer die Länge der Codesequenz des Schlüsselstroms bzw. des Codes ist, desto schwerer ist dieser zu entschlüsseln. Beispielsweise brauchte ein unendlicher Code gar nicht versteckt zu werden, da er ja nie ganz bekannt ist. Funktionell ist jeder Code als unendlich anzusehen, der sich nicht vor dem Ende der zu verschlüsselnden Information wiederholt. Ein funktionell unendlicher Code hat den Nachteil, dass er nicht übertragen werden kann; er muss generiert werden. The greater the length of the code sequence of the key stream or the code, the harder it is to decrypt. For example, an infinite code did not need to be hidden because it is never known. Functionally, any code that is not repeated before the end of the information to be encrypted is considered to be infinite. A functionally infinite code has the disadvantage that it can not be transmitted; it has to be generated.
Nachteilig bei Codegeneratoren in der Form von herkömmli- chen rückgekoppelten Schiebregistern ist die Tatsache, dass von der Codesequenz leicht auf die Struktur des Generators geschlossen werden kann, so dass sie mit einem gleichgebauten Generator nachgeneriert werden kann. Eine wesentliche Verbesserung wird in dieser Hinsicht durch den aus der WO 03/075507 AI bekannten Codegenerator erzielt. A disadvantage of code generators in the form of conventional feedback shift registers is the fact that the structure of the generator can easily be deduced from the code sequence, so that it can be regenerated with an identically constructed generator. A significant improvement is achieved in this regard by the known from WO 03/075507 AI code generator.
Ein weiterer Nachteil bei der herkömmlichen Stromverschlüsselung von Daten ist der Umstand, dass sie bei der paketvermittelten Datenübertragung (z.B. im Internet über das IP-Protokoll ) nur unter Verringerung der Verschlüsselungssicherheit verwendet werden kann. Bei der paketvermittelten Datenübertragung muss jedes Datenpaket gesondert verschlüsselt werden und der für die Verschlüsselung jedes Datenpa- W Another disadvantage of conventional data stream encryption is the fact that it can only be used for packet-switched data transmission (eg, via the Internet via the IP protocol) while reducing encryption security. In the case of packet-switched data transmission, each data packet must be encrypted separately and used for the encryption of each data packet. W
- 4 - kets verwendete Schlüssel muss beim Empfänger zum Zwecke der Entschlüsselung bekannt sein, um eine Entschlüsselung auch dann zu ermöglichen, wenn einzelne Datenpakete verloren gehen, Pakete doppelt beim Empfänger ankommen, Pakete verschiedene Wege nehmen oder Pakete fragmentiert beim Empfänger ankommen. Die einfachste Möglichkeit, auch unter den Bedingungen dieser Fehlfunktionen eine eindeutige Zuordnung von Daten mit dem Schlüssel bzw. Schlüsselstrom zu gewährleisten, ist es für jedes Datenpaket denselben Schlüssel- ström zu verwenden. Dies erleichtert es aber, die Verschlüsselung zu brechen.  The key used must be known to the recipient for the purpose of decryption in order to enable decryption even if individual data packets are lost, packets arrive twice at the receiver, packets take different paths or packets arrive fragmented at the receiver. The simplest way to guarantee a clear assignment of data with the key or keystream even under the conditions of these malfunctions is to use the same key stream for each data packet. This makes it easier to break the encryption.
Die vorliegende Erfindung zielt daher darauf ab, ein Verfahren und eine Vorrichtung zum Ver- und/oder Entschlüsseln von Daten unter Verwendung einer Stromver- bzw. -entSchlüsselung zu schaffen, wobei die verschlüsselten Daten in Paketen beliebiger Größe vorliegen sollen, so dass diese zur simultanen Übermittlung von binären Datenströmen hoher Frequenz über lange Zeiträume in paketorganisierten Datennetzen geeignet sind. Die Verschlüsselung soll so sicher wie möglich sein, wobei ein Brechen der Verschlüsselung so gut wie verunmöglicht werden soll. The present invention therefore aims to provide a method and an apparatus for encrypting and / or decrypting data using a power encryption and decryption, wherein the encrypted data should be in packets of any size, so that they are simultaneous Transmission of high frequency binary data streams over long periods in packet-organized data networks are suitable. The encryption should be as secure as possible, with a break in the encryption should be virtually impossible.
Zur Lösung dieser Aufgabe ist gemäß einem ersten Aspekt der Erfindung das Verschlüsselungsverfahren der eingangs genannten Art dahingehend weitergebildet, dass die zu verschlüsselnden Daten in Datenpakete aufgeteilt werden, dass jedes Datenpaket gesondert verschlüsselt wird, wobei das bzw. die rückgekoppelte (n) Schieberegister für die Ver- Schlüsselung jedes Datenpakets neu initialisiert wird bzw. werden, wobei zur Initialisierung des bzw. der rückgekoppelten Schieberegister jeweils wenigstens eine erste Bitfolge und eine zweite Bitfolge verwendet wird, wobei die erste Bitfolge dem jeweils verschlüsselten Datenpaket im Klartext oder in codierter Form hinzugefügt wird und die zweite Bitfolge einen geheimen Schlüssel darstellt, die den verschlüsselten Datenpaketen nicht hinzugefügt wird, und dass die verschlüsselten Datenpakete samt der jeweiligen hinzugefügten Bitfolge und ggf. Kopfdaten paketvermittelt übertragen werden. In order to achieve this object, according to a first aspect of the invention, the encryption method of the type mentioned at the outset is developed in such a way that the data to be encrypted are divided into data packets, that each data packet is encrypted separately, wherein the feedback shift register (s) for the Ver - Initialization of each data packet is reinitialized or, wherein for initialization of the or the feedback shift register respectively at least a first bit sequence and a second bit sequence is used, wherein the first bit sequence is added to the respective encrypted data packet in plain text or in coded form and the second bit sequence represents a secret key which is not added to the encrypted data packets, and in that the encrypted data packets together with the respective added bit sequence and possibly header data are transmitted packet-switched.
Zum Entschlüsseln der Datenpakete ist gemäß einem zweiten Aspekt der Erfindung vorgesehen, dass die zu entschlüsselnden Daten als Datenpakete empfangen werden, dass jedes empfangene Datenpaket gesondert entschlüsselt wird, wobei das bzw. die rückgekoppelte (n) Schieberegister für die Entschlüsselung jedes Datenpakets neu initialisiert wird bzw. werden, wobei zur Initialisierung des bzw. der rückgekoppelten Schieberegister jeweils wenigstens eine erste Bitfolge und eine zweite Bitfolge verwendet wird, wobei die erste Bitfolge aus dem jeweils zu entschlüsselnden Datenpaket im Klartext oder in codierter Form ausgelesen wird und die zweite Bitfolge einen geheimen Schlüssel darstellt, die aus den zu entschlüsselnden Datenpaketen nicht ausgelesen werden kann. In order to decrypt the data packets, it is provided according to a second aspect of the invention that the data to be decrypted are received as data packets, that each received data packet is decrypted separately, wherein the feedback shift register (s) for the decryption of each data packet is re-initialized or de-initialized In each case, at least one first bit sequence and one second bit sequence are used to initialize the feedback shift register, the first bit sequence being read out of the respective data packet to be decrypted in plaintext or in coded form and the second bit sequence representing a secret key that can not be read from the data packets to be decrypted.
Erfindungsgemäß wird somit sämtliche für die Entschlüsse- lung jedes einzelnen Datenpakets erforderliche Information mit Ausnahme des geheimen Schlüssels im jeweiligen Paket mitgeführt, sodass die Kommunikationspartner lediglich den geheimen Schlüssel bzw. die für die Generierung des geheimen Schlüssels erforderlichen Informationen vor der Daten- Übermittlung austauschen müssen. Dadurch, dass erfindungsgemäß jedes Datenpaket die erste Bitfolge im Klartext oder in codierter Form enthält, die zur Verschlüsselung des jeweiligen Datenpakets verwendet wurde, kann diese erste Bit- folge vom Empfänger aus dem jeweiligen Datenpaket ausgelesen und zum Entschlüsseln herangezogen werden. Dies ermöglicht es, jedes Datenpaket mit einem anderen Schlüssel zu verschlüsseln, sodass ein Brechen der Verschlüsselung er- schwert wird. Wenn, wie dies einer bevorzugten Verfahrensweise entspricht, als erste Bitfolge eine für das zu verschlüsselnde Datenpaket eindeutige Bitfolge gewählt wird, die dem jeweils verschlüsselten Datenpaket als Paketkennung im Klartext oder in codierter Form hinzugefügt wird, wird sichergestellt, dass zwei Datenpakete mit dem gleichen Klartextinhalt nicht auch identisch verschlüsselt werden, die verschlüsselten Datenpakete sich also voneinander unterscheiden. Rückschlüsse auf die übertragenen Zeichen durch eine statistische Auswertung der Datenpakete werden dadurch erschwert. Thus, according to the invention, all the information required for the decryption of each individual data packet except the secret key is carried in the respective packet, so that the communication partners only have to exchange the secret key or the information required for the generation of the secret key before the data transmission. Since, according to the invention, each data packet contains the first bit sequence in plain text or in coded form which was used to encrypt the respective data packet, this first bit sequence can be read from the recipient of the respective data package and used for decrypting. This makes it possible to encrypt each data packet with a different key, thus making it difficult to break the encryption. If, as is the case with a preferred procedure, the first bit sequence selected is a bit sequence which is unique to the data packet to be encrypted and which is added to the respective encrypted data packet as a packet identifier in plain text or in coded form, it is ensured that two data packets with the same clear text content are not are also encrypted identically, so the encrypted data packets differ from each other. Conclusions on the transmitted characters by a statistical evaluation of the data packets are made more difficult.
Die zweite Bitfolge, d.h. der geheime Schlüssel, wird bevorzugt aus einer eindeutigen Kennung des Senders und einer eindeutigen Kennung des Empfängers generiert. Als eindeuti- ge Kennung kann hierbei beispielsweise eine Hardwarekennung des Senders bzw. des Empfängers herangezogen werden, insbesondere eine herstellseitig eingeprägte Chipnummer oder dgl. Die Generierung der zweiten Bitfolge erfolgt bevorzugt durch Verknüpfung der eindeutigen Kennung des Senders und der eindeutigen Kennung des Empfängers mit Hilfe einer XOR- Funktion. Hierzu ist es erforderlich, dass die Sender und Empfänger vor der Datenübertragung ihre Kennungen austauschen . Wie erwähnt werden die erste und die zweite Bitfolge im Rahmen der Ver- bzw. Entschlüsselung dazu verwendet, das oder die rückgekoppelte (n) Schieberegister zu initialisieren. Dies erfolgt insbesondere dann, wenn zur Generierung des Schlüsselstroms lediglich ein einziges rückgekoppeltes Schieberegister verwendet wird, derart, dass die erste und die zweite Bitfolge mit Hilfe einer XOR-Funktion verknüpft werden und die sich aus der Verknüpfung ergebende Bitfolge zur Initialisierung dem rückgekoppelten Schieberegister zugeführt wird. Alternativ, und zwar insbesondere für den Fall, dass wenigstens zwei miteinander verschaltete rückgekoppelte Schieberegister für die Generierung des Schlüsselstroms verwendet werden, wird so vorgegangen, dass wenigs- tens ein erstes rückgekoppeltes Schieberegister zu seiner Initialisierung mit der ersten Bitfolge gefüllt wird und wenigstens ein zweites rückgekoppeltes Schieberegister zu seiner Initialisierung mit der zweiten Bitfolge gefüllt wird. Diese Vorgehensweise erschwert es, auf Grundlage der im Klartext mitübermittelten ersten Bitfolge die Struktur des Schlüsselstromgenerators und/oder den geheimen Schlüssel zu ermitteln. The second bit sequence, ie the secret key, is preferably generated from a unique identifier of the sender and a unique identifier of the recipient. As a unique identifier here, for example, a hardware identifier of the transmitter or the receiver can be used, in particular a stamped chip number or the like. The generation of the second bit sequence is preferably done by linking the unique identifier of the transmitter and the unique identifier of the receiver using a XOR function. For this it is necessary that the transmitters and receivers exchange their identifiers before the data transmission. As mentioned, the first and second bit sequences are used in the context of encryption and decryption to initialize the feedback shift register (s). This is done especially when generating the key stream only a single feedback shift register is used, such that the first and the second bit sequence are linked by means of an XOR function and the result of the combination bit sequence for initialization is supplied to the feedback shift register. Alternatively, and in particular for the case where at least two feedback shift registers interconnected with one another are used for generating the key stream, the procedure is such that at least a first feedback shift register is filled with the first bit sequence for its initialization and at least one second feedback loop is filled Shift register is filled to its initialization with the second bit sequence. This procedure makes it difficult to determine the structure of the key-current generator and / or the secret key on the basis of the first bit sequence transmitted in plain text.
Eine noch höhere Sicherheit ergibt sich, wenn, wie dies einer weiteren bevorzugten Verfahrensweise entspricht, zur Initialisierung des bzw. der rückgekoppelten Schieberegister weiters eine dritte Bitfolge verwendet wird. Die dritte Bitfolge wird dabei mit Vorteil aus einer jeweils aktuellen Datums- und/oder Zeitangabe generiert. Die dritte Bitfolge wird bevorzugt zur Initialisierung einem dritten rückgekoppelten Schieberegister zugeführt. An even higher level of security results if, as is the case with another preferred procedure, a third bit sequence is used for initializing the feedback shift register (s). The third bit sequence is generated with advantage from a current date and / or time. The third bit sequence is preferably fed for initialization to a third feedback shift register.
Ein weiterer Vorteil des erfindungsgemäßen Verfahrens ist, dass die Generierung des Schlüsselstroms schon beginnen kann, sobald wenigstens eines der rückgekoppelten Schieberegister mit dem ersten Bit aus der jeweiligen Bitfolge gefüllt wird. Insbesondere werden die rückgekoppelten Schieberegister gleichzeitig mit der jeweiligen Bitfolge gefüllt. A further advantage of the method according to the invention is that the generation of the keystream can already begin as soon as at least one of the feedback shift registers is filled with the first bit from the respective bit sequence. In particular, the feedback shift registers become simultaneously with the respective bit sequence filled.
Die Struktur des Schlüsselstromgenerators ist wie an sich bekannt bevorzugt so, dass zur Rückkoppelung des bzw. der Schieberegister wenigstens ein XOR-Gatter verwendet wird. Die Komplexität des Generators kann dabei in einfacher Weise dadurch erhöht werden, dass die rückgekoppelten Schieberegister derart miteinander verschaltet sind, dass in Abhängigkeit vom Zustand des einen Schieberegisters das we- nigstens eine XOR-Gatter des anderen Schieberegister an- oder abgeschaltet wird. As is known per se, the structure of the key-current generator is preferably such that at least one XOR gate is used for the feedback of the shift register or registers. The complexity of the generator can be increased in a simple manner in that the feedback shift registers are interconnected in such a way that, depending on the state of a shift register, the at least one XOR gate of the other shift register is switched on or off.
Eine überaus bevorzugte Weiterbildung ergibt sich, wenn ein Codegenerator zum Einsatz gelangt, wie er in der WO 03/075507 AI beschrieben ist, wobei auf die Ansprüche 15 und 16 sowie 31 bis 36 der vorliegenden Anmeldung verwiesen wird. Bei einem derartigen Codegenerator kann die Verschlüsselung nicht einmal dann gebrochen werden, wenn sowohl die Struktur des Codegenerators als auch der in ihm ablaufende Algorithmus bekannt sind. Die Struktur des Generators ist nämlich so geartet, dass sie eine derartig hohe Anzahl an unterschiedlichen Codes in einer derartig großen Länge zu generieren im Stande ist, dass die Entdeckung des gerade verwendeten Codes so wie die aktuell produzierte Stelle in der Codesequenz nur mit einer extrem geringen Wahrscheinlichkeit möglich ist. Der Code kann dann nicht nachgeneriert werden, wenn der Generator so viele verschiedene Codes erstellen kann, dass von einem Abschnitt des einzelnen Codes nicht auf dessen Fortsetzung geschlossen werden kann. A highly preferred development results when a code generator is used, as described in WO 03/075507 AI, reference being made to claims 15 and 16 and 31 to 36 of the present application. With such a code generator, the encryption can not even be broken if both the structure of the code generator and the algorithm running in it are known. Namely, the structure of the generator is such that it is capable of generating such a large number of different codes in such a large length that the discovery of the code just used as well as the currently produced position in the code sequence is extremely small Probability is possible. The code can not be regenerated if the generator can create so many different codes that one section of the single code can not conclude its continuation.
Gemäß einem weiteren Aspekt der vorliegenden Erfindung werden eine Verschlüsselungs- und eine Entschlüsselungsvor- richtung vorgeschlagen. According to another aspect of the present invention, an encryption and a decryption direction.
Die erfindungsgemäße Vorrichtung zum Verschlüsseln von Daten mit Hilfe einer symmetrischen Stromverschlüsselung un- ter Verwendung eines Schlüsselstroms, wobei zur Generierung des Schlüsselstroms wenigstens ein rückgekoppeltes Schieberegister vorgesehen ist, das zu seiner Initialisierung jeweils mit einer definierten Bitfolge gefüllt wird, ist dadurch gekennzeichnet, dass die Daten in Datenpakete auf- geteilt vorliegen, dass Mittel zum Generieren und/oder Speichern wenigstens einer ersten Bitfolge und einer zweiten Bitfolge vorgesehen sind, die mit dem bzw. den Schieberegister (n) derart zusammenwirken, dass wenigstens die erste Bitfolge und die zweite Bitfolge zur Initialisierung des bzw. der rückgekoppelten Schieberegister verwendet werden, wobei das bzw. die rückgekoppelte (n) Schieberegister für die Verschlüsselung jedes Datenpakets neu initialisiert wird bzw. werden, dass Datenpaketverarbeitungsmittel vorgesehen sind, mit denen die Mittel zum Generieren bzw. Spei- ehern der ersten und der zweiten Bitfolge derart zusammenwirken, dass die erste Bitfolge dem jeweils verschlüsselten Datenpaket im Klartext oder in codierter Form hinzugefügt wird und die zweite Bitfolge einen geheimen Schlüssel darstellt, die den verschlüsselten Datenpaketen nicht hinzuge- fügt wird, und dass Datenübertragungsmittel zum paketvermittelten Versenden der verschlüsselten Datenpakete samt der jeweiligen hinzugefügten Bitfolge und ggf. Kopfdaten vorgesehen sind. Die erfindungsgemäße Vorrichtung zum Entschlüsseln von mittels einer symmetrischen Stromverschlüsselung verschlüsselten Daten unter Verwendung eines Schlüsselstroms, wobei zur Generierung des Schlüsselstroms wenigstens ein rückgekop- peltes Schieberegister vorgesehen ist, das zu seiner Initialisierung jeweils mit einer definierten Bitfolge gefüllt wird, ist dadurch gekennzeichnet, dass die verschlüsselten Daten in Datenpakete aufgeteilt vorliegen, dass Mittel zum Auslesen einer ersten Bitfolge im Klartext oder in codierter Form aus den Datenpaketen und Mittel zum Generieren und/oder Speichern wenigstens einer zweiten Bitfolge vorgesehen sind, die mit dem bzw. den Schieberegister (n) derart zusammenwirken, dass wenigstens die erste Bitfolge und die zweite Bitfolge zur Initialisierung des bzw. der rückgekoppelten Schieberegister verwendet werden, wobei das bzw. die rückgekoppelte (n) Schieberegister für die Entschlüsselung jedes Datenpakets neu initialisiert wird bzw. werden, wobei die zweite Bitfolge einen geheimen Schlüssel darstellt, die aus den verschlüsselten Datenpaketen nicht ausgelesen werden kann. The device according to the invention for encrypting data by means of a symmetric stream encryption using a key stream, wherein at least one feedback shift register is provided for generating the key stream, which is filled in each case with a defined bit sequence for its initialization, characterized in that the data in that there are provided means for generating and / or storing at least one first bit sequence and a second bit sequence which interact with the shift register (s) such that at least the first bit sequence and the second bit sequence are used for initialization the feedback shift register (s) are re-initialized for the encryption of each data packet, and data packet processing means are provided with which the means for generating or storing are provided n of the first and the second bit sequence cooperate in such a way that the first bit sequence is added to the respective encrypted data packet in plain text or in coded form and the second bit sequence represents a secret key which is not added to the encrypted data packets and in that data transmission means are packet-switched Sending the encrypted data packets together with the respective added bit sequence and possibly header data are provided. The device according to the invention for decrypting data encrypted by means of a symmetric stream encryption using a keystream, at least one being used for generating the keystream. peltes shift register is provided, which is filled in each case with a defined bit sequence for its initialization, is characterized in that the encrypted data is divided into data packets that means for reading a first bit sequence in plain text or in coded form from the data packets and means for generating and / or storing at least one second bit sequence which cooperate with the shift register (s) such that at least the first bit sequence and the second bit sequence are used to initialize the feedback shift register (s), the feedback one or more (n) shift register is re-initialized for the decryption of each data packet, the second bit sequence representing a secret key which can not be read from the encrypted data packets.
Bevorzugte Weiterbildungen ergeben sich aus den Unteransprüchen . Preferred developments emerge from the subclaims.
Die Erfindung wird in der Folge anhand von in der Zeichnung schematisch dargestellten Ausführungsbeispielen näher erläutert. In dieser zeigen Fig.l eine erfindungsgemäße Verschlüsselungsvorrichtung, Fig.2 eine erfindungsgemäße Ent- Schlüsselungsvorrichtung, Fig.3, Fig.4, Fig.5 und Fig.6 verschiedene Ausbildungen eines in der Vorrichtung verwendeten Schlüsselstromgenerators. The invention will be explained in more detail below with reference to embodiments shown schematically in the drawing. 2 shows a decoding device according to the invention, FIGS. 3, 4, 5 and 6 show various configurations of a key-current generator used in the device.
In Fig. 1 ist ein zu verschlüsselndes Datenpaket mit 1 be- zeichnet, wobei das Datenpaket 1 eine Vielzahl von Bits im Klartext umfasst. Die Verschlüsselung erfolgt grundsätzlich derart, dass die Bits des Bitstroms 2 des Klartextes mit den Bits eines Schlüsselstroms 3 einzeln mit Hilfe eines XOR-Gatters 4 verknüpft werden. Der Erzeugung des Schlüsselstroms 3 dient ein Codegenerator 5, der an Hand der Fig. 3 bis 6 noch näher beschrieben werden wird. Der Codegenerator 5 erzeugt den Schlüsselstrom 3 auf Grundlage einer Mehrzahl von Bitfolgen 6, 7 und 8, die dem Codegenerator 5 als Schlüssel zugeführt werden. Eine erste Bitfolge 6 ist in einem Speicher 9 gespeichert und stellt eine einzigartige Kennung des zu verschlüsselnden Datenpakets 1 dar. Die Einzigartigkeit muss hierbei zumindest innerhalb der Ge- samtzahl der zusammenhängend zu übermittelten Datenpakete gegeben sein. Die Länge der ersten Bitfolge beträgt somit mindestens log(N;2) Bit (N = Gesamtzahl der übermittelten Pakete) . Die zweite Bitfolge 7 ist in einem Speicher 10 gespeichert und wird aus einer eindeutigen Kennung 11 des Senders und einer eindeutigen Kennung 12 des Empfängers generiert. Die Erzeugung der zweiten Bitfolge 7 erfolgt dabei dadurch, dass die Bits der eindeutigen Kennung 11 und die Bits der eindeutigen Kennung 12 mit Hilfe eines XOR- Gatters 13 miteinander verknüpft werden. Auf Grund der Ver- wendung der zweiten Bitfolge 7 als Schlüssel für die Erzeugung des Schlüsselstroms 3 wird sichergestellt, dass nur der Empfänger, dem ebenfalls die eindeutigen Kennungen 11 und 12 bekannt sein müssen, die verschlüsselten Datenpakete entschlüsseln kann. Die dritte Bitfolge 8 ist in einem Speicher 14 gespeichert bzw. wird dort generiert, und zwar auf Grundlage einer aktuellen Datums- oder Zeitangabe. Beispielsweise entspricht die Bitfolge 8 dem aktuellen Datum. Dies führt dazu, dass der Schlüsselstrom 3 jeden Tag eine gänzlich andere Struktur aufweist, sodass ein Brechen der Verschlüsselung erschwert wird. In Fig. 1, a data packet to be encrypted is designated by 1, wherein the data packet 1 comprises a plurality of bits in plain text. The encryption is carried out in principle such that the bits of the bit stream 2 of the plaintext with the bits of a keystream 3 individually by means of a XOR gates 4 are linked. The generation of the key flow 3 is a code generator 5, which will be described in more detail with reference to FIGS. 3 to 6. The code generator 5 generates the key stream 3 on the basis of a plurality of bit strings 6, 7 and 8, which are supplied to the code generator 5 as a key. A first bit sequence 6 is stored in a memory 9 and represents a unique identifier of the data packet 1 to be encrypted. The uniqueness here must be given at least within the total number of data packets to be transmitted coherently. The length of the first bit sequence is thus at least log (N; 2) bits (N = total number of transmitted packets). The second bit sequence 7 is stored in a memory 10 and is generated from a unique identifier 11 of the sender and a unique identifier 12 of the receiver. The generation of the second bit sequence 7 takes place in that the bits of the unique identifier 11 and the bits of the unique identifier 12 are linked together by means of an XOR gate 13. Due to the use of the second bit sequence 7 as the key for the generation of the key stream 3, it is ensured that only the recipient, who must also be aware of the unique identifiers 11 and 12, can decrypt the encrypted data packets. The third bit sequence 8 is stored in a memory 14 or is generated there, based on a current date or time. For example, the bit sequence 8 corresponds to the current date. As a result, key stream 3 has a completely different structure every day, making it difficult to break encryption.
Die verschlüsselten Daten des Datenpakets werden nun Daten- paketverarbeitungsmitteln 15 zugeführt, mit denen der Spei- eher 9 für die erste Bitfolge 6 derart zusammenwirkt, dass die erste Bitfolge 6 dem verschlüsselten Datenpaket im Klartext hinzugefügt wird. Die zweite Bitfolge 7 und die dritte Bitfolge 8 hingegen werden dem verschlüsselten Da- tenpaket nicht hinzugefügt, sondern sind beim Empfänger ohnehin bekannt. Die Datenpaketverarbeitungsmittel 15 sorgen weiters dafür, dass das verschlüsselte Datenpaket mit den üblichen Kopfdaten versehen wird, die für die paketvermittelte Übertragung in einem Computernetzwerk erforderlich sind. Das für die Versendung vorbereitete Datenpaket besteht somit aus Kopfdaten 16, der ersten Bitfolge als Pa- ketkennung 17 und den verschlüsselten Nutzdaten 18. Die Datenübertragungsmittel zum paketvermittelten Versenden des Datenpakets sind mit 19 bezeichnet. The encrypted data of the data packet are now supplied to data packet processing means 15, with which the memory 9 cooperates for the first bit sequence 6 such that the first bit sequence 6 is added to the encrypted data packet in plain text. By contrast, the second bit sequence 7 and the third bit sequence 8 are not added to the encrypted data packet, but are known anyway at the receiver. The data packet processing means 15 further ensure that the encrypted data packet is provided with the usual header data required for the packet-switched transmission in a computer network. The data packet prepared for the transmission thus consists of header data 16, the first bit sequence as packet identifier 17 and the encrypted user data 18. The data transmission means for packet-switched transmission of the data packet are designated by 19.
Die in Fig. 2 dargestellte Vorrichtung zum Entschlüsseln der verschlüsselten Datenpakete ist im wesentlichen analog aufgebaut. Das die Kopfdaten 16, die ersten Bitfolge als Paketkennung 17 und die verschlüsselten Nutzdaten 18 ent- haltende Paket wird beim Eintreffen Auslesemitteln 20 zugeführt, in denen die zweite Bitfolge 17 ausgelesen und einem Speicher 21 zugeführt wird. Die verschlüsselten Nutzdaten 18 werden in der Folge einem XOR-Gatter 22 zugeführt, in dem die Bits des verschlüsselten Bitstroms 23 und die Bits des Schlüsselstroms 3 miteinander verknüpft werden, um auf diese Weise das entschlüsselte Datenpaket 1 zu erhalten. The device shown in Fig. 2 for decrypting the encrypted data packets is constructed essentially analog. The packet containing the header data 16, the first bit sequence as packet identifier 17 and the encrypted user data 18 is supplied on arrival to read means 20, in which the second bit sequence 17 is read out and fed to a memory 21. The encrypted user data 18 are subsequently fed to an XOR gate 22, in which the bits of the encrypted bit stream 23 and the bits of the keystream 3 are linked to one another in order to obtain the decrypted data packet 1 in this way.
Der Schlüsselstrom 3, der für die Entschlüsselung eines bestimmten Datenpakets verwendet wird, muss der gleiche sein wie der Schlüsselstrom, der für die Verschlüsselung dieses Datenpakets verwendet wurde. Zu diesem Zweck werden dieselben Bitfolgen 6, 7 und 8 dem Generator 5 als Schlüssel zugeführt und der für die Entschlüsselung verwendete Generator 5 ist baugleich mit dem für die Verschlüsselung verwendeten Generator 5. Der Speicher für die zweite Bitfolge 7 ist mit 24 bezeichnet. Dem Speicher 24 sind die über das XOR-Gatter 25 miteinander verknüpften Sender- und Empfängerkennungen 11 und 12 zugeführt. Die dritte Bitfolge 8 ist im Speicher 26 gespeichert bzw. wird dort generiert. The keystream 3 used to decrypt a particular data packet must be the same as the keystream used to encrypt that data packet. For this purpose, the same bit strings 6, 7 and 8 are supplied to the generator 5 as a key and used for decryption Generator 5 is identical to the generator 5 used for the encryption. The memory for the second bit sequence 7 is denoted by 24. The memory 24, the coupled via the XOR gate 25 transmitter and receiver identifiers 11 and 12 are supplied. The third bit sequence 8 is stored in the memory 26 or is generated there.
Fig. 3 zeigt eine Prinzipschaltung eines Schlüsselstromgenerators 5 mit einem Schieberegister 27, das aus einer Mehrzahl von zu einer codeproduzierenden Reihe zusammeng- schalteten Speicherelementen, nämlich Flip-Flops FF1, FF2, ... FF9 besteht. Ein XOR-Gatter XORpl ist so verschaltet, dass der eine Eingang des XOR-Gatters XORpl mit dem Ausgang des in der codeproduzierenden Reihe befindlichen Spei- cherelements FF2 und der andere Eingang des XOR-Gatters XORpl mit dem Ausgang des in der codeproduzierenden Reihe befindlichen Speicherelements FF5 und der Ausgang der XOR- Gatters XORpl mit dem Eingang des in Flussrichtung dem mit dem einen Eingang des XOR-Gatters XORpl verbundenen Spei- cherelements FF2 in der Reihe nachfolgenden Speicherelements FF3 - sohin rekursiv - verbunden ist. Weiters ist ersichtlich, dass das letzte Speicherelement FF9 über einen Inverter INV mit dem ersten Speicherelement FF1 verbunden ist. Sobald man das Schieberegister 27 mit einer Bitfolge befüllt, erhält man mit dieser Schaltung eine Codesequenz. Wenn, wie dies bei der Ausbildung gemäß Fig. 3 der Fall ist, nur ein einziges Schieberegister zum Einsatz gelangt, werden die Bitfolgen 6, 7 und 8 dem Schieberegister 27 derart zugeführt, dass zunächst die Bitfolgen 6 und 7 mit Hil- fe eines XOR-Gatters 28 miteinander verknüpft werden und dann die verknüpfte Bitfolge mit der Bitfolge 8 mit Hilfe des XOR-Gatters 29 verknüpft wird. Dabei ist es bevorzugt, dass die aus den Bitfolgen 6, 7 und 8 generierte, dem Schieberegister 27 zugeführte Bitfolge nicht länger ist als dies der Anzahl der Speicherelemente im Schieberegister 27 entspricht, da die Bitfolge andernfalls von der über den Inverter INV aus dem Speicherelemente FF9 kommenden Bitfol- ge überlagert würde. 3 shows a basic circuit of a key-current generator 5 with a shift register 27, which consists of a plurality of memory elements which are combined to form a code-producing row, namely flip-flops FF1, FF2,... FF9. An XOR gate XORpl is connected so that one input of the XOR gate XORpl is connected to the output of the memory element FF2 located in the code-producing line, and the other input of the XOR gate XORpl is connected to the output of the memory element located in the code-producing line FF5 and the output of the XOR gates XORP1 is connected to the input of the memory element FF3 in the series downstream of the memory element FF3 connected in series with the one input of the XOR gate XORpl, in other words recursively. Furthermore, it can be seen that the last memory element FF9 is connected to the first memory element FF1 via an inverter INV. As soon as the shift register 27 is filled with a bit sequence, a code sequence is obtained with this circuit. If, as is the case with the embodiment according to FIG. 3, only a single shift register is used, the bit sequences 6, 7 and 8 are supplied to the shift register 27 in such a way that first the bit sequences 6 and 7 are reset by means of an XOR Gate 28 are linked together and then the linked bit sequence with the bit string 8 using the XOR gate 29 is linked. It is preferred that the generated from the bit sequences 6, 7 and 8, the Shift register 27 is not longer than this corresponds to the number of memory elements in the shift register 27, since the bit sequence would otherwise be superimposed ge of the next via the inverter INV from the memory elements FF9 Bitfol- ge.
Bei der abgewandelten Ausbildung gemäß Fig. 4 gelangen insgesamt drei Schieberegister 30, 31 und 32 zum Einsatz. Die Speicherelemente der einzelnen Schieberegister sind in die- sem Beispiel jeweils auf gleiche Weise rekursiv verschaltet wie in Fig. 3. Die Schieberegister sind weiters derart miteinander verschaltet, dass in Abhängigkeit vom Zustand des zweiten Schieberegisters 31 die Funktion des XOR-Gatters XORpl der rekursiven Verschaltung des ersten Schieberegis- ters 30 an- und abgeschaltet wird. Die Funktion des XOR- Gatters XORppl der rekursiven Verschaltung des zweiten Schieberegisters 31 wird wiederum in Abhängigkeit vom Zustand des dritten Schieberegisters 32 an- und abgeschaltet. Zu diesem Zweck ist der Ausgang des Flip-Flops FFp2 bzw. FFpp2 des einen Schiebregisters 31 bzw. 32 mit dem Eingang eines UND-Gatters UNDpl bzw. UNDppl verbunden, das in die jeweilige rekursive Funktion XORpl bzw. XORppl der Schieberegister 30 bzw. 31 eingefügt ist. Es entsteht somit ein Codegenerator 5 mit drei Ebenen, wobei die Codegenerierung auf jeder Ebene durch Initialisieren des jeweiligen Schieberegisters 30, 31 und 32 mit der Bitfolge 6, 7 und 8 beeinflusst wird. Die Initialisierung kann dabei bevorzugt so erfolgen, dass dem Schieberegister 30 der ersten Ebene die erste Bitfolge 6, dem Schieberegister 31 der zweiten Ebene die zweite Bitfolge 7 und dem Schieberegister 32 der dritten Ebene die dritte Bitfolge 8 zugeführt wird, wobei die Bitfolgen 6, 7 und 8 bevorzugt so definiert sind wie in den Fig. 1 und 2 beschrieben. In the modified embodiment according to FIG. 4, a total of three shift registers 30, 31 and 32 are used. The memory elements of the individual shift registers are interconnected recursively in this example in the same way as in FIG. 3. The shift registers are further interconnected such that the function of the XOR gate XORpl of the recursive interconnection depends on the state of the second shift register 31 of the first shift register 30 is switched on and off. The function of the XOR gate XORppl of the recursive connection of the second shift register 31 is in turn switched on and off in dependence on the state of the third shift register 32. For this purpose, the output of the flip-flop FFp2 or FFpp2 of the one shift register 31 and 32, respectively, is connected to the input of an AND gate ANDpl or UNDppl, which is connected to the respective recursive function XORpl or XORppl of the shift registers 30 and 31, respectively is inserted. The result is a code generator 5 with three levels, wherein the code generation is influenced on each level by initializing the respective shift register 30, 31 and 32 with the bit sequence 6, 7 and 8. In this case, the initialization can preferably take place such that the first bit sequence 6 is supplied to the shift register 30 of the first level, the second bit sequence 7 to the shift register 31 of the second level, and the third bit sequence 8 to the shift register 32 of the third level, the bit sequences 6, 7 and 8 is preferred are defined as in FIGS. 1 and 2 described.
Bei der Ausbildung gemäß Fig. 5 ist die in Fig. 4 gezeigte Struktur noch komplexer ausgestaltet und es sind insbeson- dere längere codeproduzierende Reihen und eine Mehrzahl von rekursiven Verschaltungen vorgesehen. Dabei ist eine Anzahl ununterbrochen in Reihe geschalteter Speicherelemente in Form von Schieberegister SRG1, SRG2,... verwirklicht, die funktionell gesehen gemeinsam ein Schieberegister 33 im Sinne der Erfindung bilden. Es verdoppelt sich die Länge des Codes pro hinzugefügtem Speicherelement, so dass sich die Länge des Codes wie folgt berechnet In the embodiment according to FIG. 5, the structure shown in FIG. 4 is made even more complex and, in particular, longer code-producing series and a plurality of recursive interconnections are provided. In this case, a number of continuously connected in series memory elements in the form of shift registers SRG1, SRG2, ... realized that functionally together form a shift register 33 in the context of the invention. It doubles the length of the code per added memory element, so the length of the code is calculated as follows
Lc = 2n-l Lc = 2 n -l
(Lc = Länge der Codesequenz; n = Anzahl der codegenerierenden in Reihe geschalteten Speicherelemente) (Lc = length of the code sequence, n = number of code-generating memory elements connected in series)
Wenn diese Einheit mit einem bestimmten Takt betrieben wird gilt für die Dauer des Codes: If this unit is operated with a specific clock, the duration of the code is as follows:
2n - 1 2 n - 1
Tc =  Tc =
fc  fc
(Tc = Dauer bis sich der Code wiederholt; fc = Codegenerierungstakt frequenz ) (Tc = duration until code repeats; fc = code generation rate frequency)
Mit weniger als 50 Speicherelementen bei einer Codegenerie- rungstaktfrequenz von 384.000 Bit/s läuft der Code länger als ein Jahr ohne dass sich die Sequenz wiederholt, so dass ein zu verschlüsselndes Signal simultan über einen ebenso langen Zeitraum verschlüsselt über eine Standleitung übersendet und entschlüsselt werden kann, so dass Übertragungen live über einen ebenso langen Zeitraum möglich sind. With less than 50 memory elements at a code generation clock rate of 384,000 bps, the code runs for more than a year without repeating the sequence so that a signal to be encrypted can be sent and decrypted encrypted over a long period of time over a dedicated line so that transfers Live over an equally long period are possible.
Wenn man nun bei entsprechender Länge des Schieberegisters 33 an mehren Stellen dieses Schieberegisters 33 zwischen einem Speicherelement FF1,2,3,4 und dem nächsten in der Reihe befindlichen Speicherelement FF2,3,4,5 ein XOR-Gatter XORpl,p2,p3,p4 einfügt und dieses dann mit dem Signal von einem dritten Speicherelement FF8,15,20,23 speist, so verändert man jeweils den dadurch erzeugten Code (Fig. 5). If, with a corresponding length of the shift register 33, an XOR gate XORpl, p2, p3, is connected to a plurality of locations of this shift register 33 between a memory element FF1, 2, 3, 4 and the next in-line memory element FF2, 3, 4, 5 Inserting p4 and then feeding it with the signal from a third memory element FF8,15,20,23, so you changed each of the code generated thereby (Figure 5).
Bei einer Mehrzahl von codeverändernden XOR-Gattern XORpl, p2 , p3, p4 , siehe Fig. 5, soll sichergestellt sein, dass die verschiedenen codeverändernden XOR-Gatter XORpl , p2 , p3, p , deren erster Eingang von einem Ausgang ei- nes Speicherelements FF1,2,3,4 gespeist wird, ihren zweiten Eingang jeweils vom Ausgang eines Speicherelements FF8,15,20,23 gespeist erhalten, welches eine Anzahl von Speicherelementen in Flussrichtung vom erstgenannten Speicherelement FF1,2,3,4 entfernt ist, welche jeweils einer unterschiedlichen Primzahl entspricht, die größer als 1 aber kein Teilbetrag der Gesamtzahl der in Reihe R geschalteten Speicherelemente ist, sodass es bei der Beeinflussung der Codesequenz zu keinen codesequenzverkürzenden Resonanzeffekten kommt. Zwischen den entsprechenden Speicherele- mentpaaren FF1,8; FF2,15; FF3,20; FF4,23 liegt also jeweils eine Anzahl von 7, 13, 17 und 19 (Primzahlen) Speicherelementen . With a plurality of code-changing XOR gates XORpl, p2, p3, p4, see FIG. 5, it should be ensured that the various code-changing XOR gates XORpl, p2, p3, p, have their first input from an output of a memory element FF1, 2, 3, 4, each having its second input fed from the output of a memory element FF8, 15, 20, 23, which is a number of memory elements in the flow direction away from the first-mentioned memory element FF1, 2, 3, 4, respectively corresponds to a different prime number that is greater than 1 but not a fractional amount of the total number of memory elements connected in series R, so that no code sequence shortening resonance effects occur in influencing the code sequence. Between the corresponding memory element pairs FF1,8; FF2,15; FF3,20; Thus, FF4, 23 each has a number of 7, 13, 17 and 19 (prime numbers) memory elements.
Wenn man an einen der beiden Eingänge des jeweiligen XOR- Gatters XORpl bzw. XORpl , p2 , p3 , p4 den Ausgang eines UND- Gatters UNDpl bzw. UNDpl, p2, p3, p4 dessen einer Eingang am Ausgang des Speicherelements FF3 bzw. FF8,15,20,23 hängt, anschließt, dann kann man dieses XOR-Gatter XORpl bzw. XORpl,p2,p3,p4 in seiner codeverändernden Wirkung über den zweiten Eingang des UND-Gatters UNDpl bzw. UNDpl , p2 , p3 , p4 an- und abschalten und wenn man daran jeweils ein weiteres Speicherelement FFpl bzw. FFpl , p2 , p3 , p4 anschließt, das An- und Abschalten der codebeeinflussenden Wirkung des XOR- Gatters XORpl bzw. XORpl , 2 , p3 , p4 programmierbar machen. Die codeprogrammierenden Speicherelemente FFpl , p2 , p3 , p4 können dabei zu einem Schieberegister 34 zusammengeschaltet sein. In weiterer Folge können die codeprogrammierenden Speicherelemente FFpl , p2 , p3 , p4 Schieberegisters 34 selbst wiederum mit Hilfe eines XOR-Gatters XORppl rekursiv verschaltet werden. If one of the two inputs of the respective XOR gate XORpl or XORpl, p2, p3, p4, the output of an AND gate UNDpl or ANDP1, p2, p3, p4 whose one input at the output of the memory element FF3 or FF8, 15,20,23 hangs, connects, then you can XORP this XOR gate or XORpl, p2, p3, p4 in its code-changing effect via the second input of the AND gate ANDP1 and ANDP1, p2, p3, p4 on and off and if you have a further memory element FFpl or FFpl, p2, p3, p4, the activation and deactivation of the code-influencing effect of the XOR gate XORpl or XORpl, 2, p3, p4 make programmable. The code-programming memory elements FFpl, p2, p3, p4 can be interconnected to form a shift register 34. As a further consequence, the code-programming memory elements FFpl, p2, p3, p4 shift register 34 can in turn be recursively interconnected with the aid of an XOR gate XORppl.
Die Anzahl der programmierbaren unterschiedlichen berechnet sich wie folgt: The number of programmable differences is calculated as follows:
Nc = 2pn - 1 Nc = 2 pn - 1
(Nc = Anzahl der möglichen unterschiedlichen Codes; pn = Anzahl der programmierbaren XOR - Gatter(Nc = number of possible different codes, pn = number of programmable XOR gates
XORpl, p2, ...pn) XORpl, p2, ... pn)
Wenn man nun im Besitz eines identen Codegenerators ist, und an Hand einer bestimmten Anzahl von Bits den weiteren Verlauf der Codesequenz erschließen möchte so hängt die Wahrscheinlichkeit, mit der man die richtige Fortsetzung der Codesequenz erkennt, sowohl von der Anzahl der in der Codegenerierung verwendeten Speicherelemente FFl,2,...n als auch jener der programmierbaren, codeverändernden XOR- Gatter XORpl , p2 pn ab. Daraus ergibt sich eine Wahrscheinlichkeit, die dem Code zugrunde liegende Programmierung zu entdecken und sohin den weiteren Verlauf des Codes vorauszusagen von: Nb Now, if you are in possession of an identical code generator, and want to deduce the further course of the code sequence on the basis of a certain number of bits, then the probability of recognizing the correct continuation of the code sequence depends both on the number of memory elements used in the code generation FFl, 2, ... n as well as those of the programmable, code-changing XOR gates XORpl, p2 pn. This results in a probability to discover the programming underlying the code and thus to predict the further course of the code from: Nb
W =  W =
(2n - 1) * (2pn - 1) (2 n - 1) * (2 pn - 1)
(Nb = Anzahl der beobachteten Bits der Codesequenz; n = Anzahl der codegenerierenden in Reihe geschalteten Speicherelemente FFl,2,...n; pn = Anzahl der programmierbar den Code verändernden XOR-Gatter XORpl,p2, ...pn) (Nb = number of bits observed in the code sequence; n = number of code-generating series-connected memory elements FFl, 2, ... n; pn = number of programmable code-changing XOR gates XORpl, p2, ... pn)
Beispiel : Example:
233 ist die 52. Primzahl. Wenn man die 1 nicht nützt und die 233 die Gesamtzahl der in Reihe geschalteten Speicherelemente ausdrückt, so befinden sich auf dieser Strecke 50 unterschiedliche Speicherelemente, welche sich jeweils in Entfernung von einem Ausgangs-Speicherelement befinden, die einer Primzahl entspricht (np = 50) . Da jedes rekursive XOR-Gatter 1-50 jeweils zwischen einem nächsten Speicherelement 1-50 beginnend vom ersten in Reihe eingeschaltet ist, verlängert sich die Gesamtlänge der Speicherelemente auf (n = 233 + 50 = 283) . Daraus folgt: 233 is the 52nd prime. If one does not use 1 and 233 expresses the total number of memory elements connected in series, then there are 50 different memory elements on this path, which are each at a distance from an output memory element which corresponds to a prime number (np = 50). Since each recursive XOR gate 1-50 is turned on between a next memory element 1-50 starting from the first one in series, the total length of the memory elements is extended to (n = 233 + 50 = 283). It follows:
(2n - 1) * (2pn - 1 ) (2283 - 1) * (250 - 1 ) (2 n - 1) * (2 pn - 1) (2 283 - 1) * (2 50 - 1)
Nb Nb
(1, 5541351138 * 1085 - 1) * (1, 1258999068 * 1015 - 1) Nb (1, 5541351138 * 10 85 - 1) * (1, 1258999068 * 10 15 - 1) Nb
1, 7498005798 * 10100 Mit anderen Worten man muss die Codesequenz 1,7498005798 * 10100 Taktschritte lang beobachten, damit man mit der Wahrscheinlichkeit 1 eine bestimmte Sequenz entdeckt. Wenn die Taktfrequenz 384000 Hz beträgt ergibt dies eine notwendige Beobachtungszeit von 1, 4449430312*1087 Jahren. 1, 7498005798 * 10 100 In other words, you have to observe the code sequence 1.7498005798 * 10 100 clock steps long, so that with the probability 1 discovered a particular sequence. If the clock frequency is 384,000 Hz, this gives a necessary observation time of 1, 4449430312 * 10 87 years.
Indem man die codeprogrammierenden Speicherelemente ( FFpl , p2 , p3 , p4 , 5 , p6) des Schieberegisters 34 rekursiv miteinander verschaltet, so dass sie innerhalb des Zeitintervalls By recursively interconnecting the code-programmed memory elements (FFpl, p2, p3, p4, 5, p6) of the shift register 34 so that they are within the time interval
2pn - 1 2 pn - 1
T pn=  T pn =
fp  fp
(T pn = Durchlaufzeit aller möglichen Programmierzustände; pn = Anzahl der Programm-Speicherelemente; fp = Programmiertaktfrequenz) sämtliche mögliche Zustandskombinationen durchlaufen, ergibt sich die Programmierung aus einer bestimmte Zeit¬ spanne, in der die codeprogrammierenden Speicherelemente mit einem Programmtakt versorgt werden. (T pn = flow time of all possible programming states; pn = number of program-storage elements; fp = Programming clock frequency) run through all possible state combinations, results in the programming of a certain time span ¬ in which the code-programming storage elements are supplied with a program clock.
Damit aus der Programmierdauer auch nicht annähernd die Programmierung erschließbar ist kann die Programmierung zweistufig erfolgen. Hierzu kann eine weitere Programmierungs-Ebene hinzugefügt werden, indem das codeprogammieren- de XOR-Gatter XORppl selbst wiederum unter Zwischenschaltung eines UND-Gatters UNDppl mit einer Speicherelementen- Reihe RRR verbunden und somit programmierbar gemacht wird, wobei wiederum ein XOR-Gatter XORpppl zur rekursiven Ver- schaltung des Schieberegisters 37 verwendet wird (Fig.6). Ausgehend von obigen Rechenbeispiel wird dadurch gewährleistet, dass die (2283-l) * (250-l) verschiedenen Zustände in 250-l verschiedene Abschnitte zergliedert werden, von welchen einer in der ersten Programmierphase ausgewählt wird. Dieser Auswahlvorgang erfolgt in maximal 2ppn - 1 Schritten (ppn = Anzahl der Primzahlen, die in der Anzahl der bei der Programmierung verwendeten Primzahlen (50) enthalten sind, also 16) Dies bedeutet, dass maximal 216 Schritte erfolgen müssen, ehe sämtliche Abschnitte aufgesucht sind. Bei einer Programmiertaktfrequenz von 1 MHz ist dieser Vorgang in 0,065 Sekunden abgeschlossen. Ein Zeitraum, der wohl bei jeder Programmierung durchmessen wird, da er unter der Reaktionszeit des Menschen liegt, weshalb gewährleistet ist, dass aus der tatsächlich verstrichenen Programmierzeit keine Rückschlüsse auf die Programmierung der Schlüssel gezogen werden können. In order to ensure that the programming time can not be approximated, the programming can be carried out in two stages. For this purpose, another programming level can be added by connecting the code-repeating XOR gate XORppl itself, with the interposition of an AND gate UNDppl, to a memory element row RRR and thus making it programmable, again using an XOR gate XORpppl for the recursive Circuit of the shift register 37 is used (Figure 6). Based on the above calculation example, this ensures that the (2 283 -l) * (2 50 -l) different states are decomposed into 2 50 -l different sections, one of which is selected in the first programming phase. This selection process is carried out in a maximum of 2 ppn - 1 steps (ppn = number of primes contained in the number of primes used in programming (50), ie 16). This means that a maximum of 2 16 steps must be taken before all sections are visited. At a programming clock frequency of 1 MHz, this process is completed in 0.065 seconds. A period of time that is likely to be measured with each programming because it is below the reaction time of humans, which is why it is ensured that no conclusions about the programming of the keys can be drawn from the actually elapsed programming time.

Claims

Patentansprüche : Claims:
1. Verfahren zur Durchführung einer symmetrischen Stromverschlüsselung von Daten unter Verwendung eines Schlüssel- Stroms und zur Übertragung der verschlüsselten Daten, wobei die Generierung des Schlüsselstroms unter Verwendung wenigstens eines rückgekoppelten Schieberegisters erfolgt, das zu seiner Initialisierung mit einer definierten Bitfolge gefüllt wird, dadurch gekennzeichnet, dass die zu ver- schlüsselnden Daten in Datenpakete aufgeteilt werden, dass jedes Datenpaket gesondert verschlüsselt wird, wobei das bzw. die rückgekoppelte (n) Schieberegister für die Verschlüsselung jedes Datenpakets neu initialisiert wird bzw. werden, wobei zur Initialisierung des bzw. der rückgekop- pelten Schieberegister jeweils wenigstens eine erste Bitfolge und eine zweite Bitfolge verwendet wird, wobei die erste Bitfolge dem jeweils verschlüsselten Datenpaket im Klartext oder in codierter Form hinzugefügt wird und die zweite Bitfolge einen geheimen Schlüssel darstellt, die den verschlüsselten Datenpaketen nicht hinzugefügt wird, und dass die verschlüsselten Datenpakete samt der jeweiligen hinzugefügten Bitfolge und ggf. Kopfdaten paketvermittelt übertragen werden. Method for performing a symmetric stream encryption of data using a key stream and for transmitting the encrypted data, wherein the generation of the key stream is performed using at least one feedback shift register which is filled with a defined bit sequence for its initialization, characterized in that the data to be encrypted are divided into data packets, that each data packet is encrypted separately, wherein the feedback shift register (s) for the encryption of each data packet are reinitialized, whereby the initialization of the data is back-triggered. At least one first bit sequence and a second bit sequence are used, wherein the first bit sequence is added to the respective encrypted data packet in plain text or in coded form and the second bit sequence represents a secret key which contains the versc keyed data packets is not added, and that the encrypted data packets are transmitted together with the respective added bit sequence and possibly header data packet-switched.
2. Verfahren zum Entschlüsseln von mittels einer symmetrischen Stromverschlüsselung verschlüsselten Daten unter Verwendung eines Schlüsselstroms, wobei die Generierung des Schlüsselstroms unter Verwendung wenigstens eines rückgekoppelten Schieberegisters erfolgt, das zu seiner Initiali- sierung jeweils mit einer definierten Bitfolge gefüllt wird, dadurch gekennzeichnet, dass die zu entschlüsselnden Daten als Datenpakete empfangen werden, dass jedes empfangene Datenpaket gesondert entschlüsselt wird, wobei das bzw. die rückgekoppelte (n) Schieberegister für die Entschlüsselung jedes Datenpakets neu initialisiert wird bzw. werden, wobei zur Initialisierung des bzw. der rückgekoppelten Schieberegister jeweils wenigstens eine erste Bit- folge und eine zweite Bitfolge verwendet wird, wobei die erste Bitfolge aus dem jeweils zu entschlüsselnden Datenpaket im Klartext oder in codierter Form ausgelesen wird und die zweite Bitfolge einen geheimen Schlüssel darstellt, die aus den zu entschlüsselnden Datenpaketen nicht ausgelesen werden kann. 2. A method for decrypting encrypted by means of a symmetric stream encryption data using a keystream, wherein the generation of the keystream is carried out using at least one feedback shift register, which is filled to its initialization in each case with a defined bit sequence, characterized in that the decrypting data are received as data packets that each received data packet is decrypted separately, the or the feedback shift register (s) for the decryption of each data packet is reinitialized, wherein at least one first bit sequence and one second bit sequence are used to initialize the feedback shift register (s), the first bit sequence being from the respective one to be decrypted data packet in plain text or in coded form is read out and the second bit sequence represents a secret key that can not be read from the data packets to be decrypted.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die erste und die zweite Bitfolge mit Hilfe einer XOR-Funktion verknüpft werden und die sich aus der Verknüp- fung ergebende Bitfolge zur Initialisierung dem rückgekoppelten Schieberegister zugeführt wird. 3. The method according to claim 1 or 2, characterized in that the first and the second bit sequence are linked by means of an XOR function and the bit sequence resulting from the combination is fed to the feedback shift register for initialization.
4. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass wenigstens ein erstes rückgekoppeltes Schiebere- gister zu seiner Initialisierung mit der ersten Bitfolge gefüllt wird und wenigstens ein zweites rückgekoppeltes Schieberegister zu seiner Initialisierung mit der zweiten Bitfolge gefüllt wird. 4. The method of claim 1 or 2, characterized in that at least a first feedback shift register is filled to its initialization with the first bit sequence and at least a second feedback shift register is filled to its initialization with the second bit sequence.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass als erste Bitfolge eine für das zu verschlüsselnde Datenpaket eindeutige Bitfolge gewählt wird, die dem jeweils verschlüsselten Datenpaket als Paket- kennung im Klartext oder in codierter Form hinzugefügt wird. 5. The method according to any one of claims 1 to 4, characterized in that as the first bit sequence for the data packet to be encrypted unique bit sequence is selected, which is added to the respective encrypted data packet as a packet identifier in plain text or in coded form.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die zweite Bitfolge aus einer eindeu- tigen Kennung des Senders und einer eindeutigen Kennung des Empfängers generiert wird. 6. The method according to any one of claims 1 to 5, characterized in that the second bit sequence from a clear tigen identifier of the sender and a unique identifier of the recipient is generated.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass die Generierung der zweiten Bitfolge durch Verknüpfung der eindeutigen Kennung des Senders und der eindeutigen Kennung des Empfängers mit Hilfe einer XOR-Funktion erfolgt . 7. The method according to claim 6, characterized in that the generation of the second bit sequence by linking the unique identifier of the transmitter and the unique identifier of the receiver by means of an XOR function.
8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass zur Initialisierung des bzw. der rückgekoppelten Schieberegister weiters eine dritte Bitfolge verwendet wird. 8. The method according to any one of claims 1 to 7, characterized in that for initialization of the or the feedback shift register further a third bit sequence is used.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass die dritte Bitfolge aus einer jeweils aktuellen Datums- und/oder Zeitangabe generiert wird. 9. The method according to claim 8, characterized in that the third bit sequence is generated from a respective current date and / or time.
10. Verfahren nach Anspruch 8 oder 9, dadurch gekennzeich- net, dass die dritte Bitfolge zur Initialisierung einem dritten rückgekoppelten Schieberegister zugeführt wird. 10. The method according to claim 8 or 9, characterized marked, that the third bit sequence for initialization is supplied to a third feedback shift register.
11. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass die Generierung des Schlüsselstroms beginnt, sobald wenigstens eines der rückgekoppelten Schieberegister mit dem ersten Bit aus der jeweiligen Bitfolge gefüllt wird. 11. The method according to any one of claims 1 to 10, characterized in that the generation of the key stream begins as soon as at least one of the feedback shift registers is filled with the first bit from the respective bit sequence.
12. Verfahren nach einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, dass die rückgekoppelten Schieberegister gleichzeitig mit der jeweiligen Bitfolge gefüllt werden. 12. The method according to any one of claims 1 to 11, characterized in that the feedback shift registers are filled simultaneously with the respective bit sequence.
13. Verfahren nach einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, dass zur Rückkoppelung des bzw. der Schieberegister wenigstens ein XOR-Gatter verwendet wird. 13. The method according to any one of claims 1 to 12, characterized in that at least one XOR gate is used to feed back the shift register or registers.
14. Verfahren nach einem der Ansprüche 1 bis 13, dadurch gekennzeichnet, dass die rückgekoppelten Schieberegister derart miteinander verschaltet sind, dass in Abhängigkeit vom Zustand des einen Schieberegisters das wenigstens eine XOR-Gatter des anderen Schieberegister an- oder abgeschaltet wird. 14. The method according to any one of claims 1 to 13, characterized in that the feedback shift registers are interconnected in such a way that depending on the state of a shift register, the at least one XOR gate of the other shift register is turned on or off.
15. Verfahren nach einem der Ansprüche 1 bis 14, dadurch gekennzeichnet, dass das wenigstens eine rückgekoppelte Schieberegister eine Mehrzahl von zu einer codeproduzierenden Reihe geschalteten Speicherelementen aufweist, wobei der Ausgang des in der Reihe letzten Speicherelements mit dem Eingang des in der Reihe ersten Speicherelements zu einem Kreis zusammengeschlossen ist, wobei die Rückkoppelung mit Hilfe des wenigstens einen XOR-Gatters derart erfolgt, dass der erster Eingang des XOR-Gatters mit dem Aus- gang eines in der codeproduzierenden Reihe befindlichen Speicherelements, der zweite Eingang mit dem Ausgang eines weiteren in der codeproduzierenden Reihe befindlichen Speicherelements und der Ausgang mit dem Eingang des in der codeproduzierenden Reihe dem mit dem ersten Eingang des XOR-Gatters verbundenen Speicherelement nachfolgenden Speicherelements verbunden ist. 15. The method according to any one of claims 1 to 14, characterized in that the at least one feedback shift register has a plurality of memory elements connected to a codeproduzierenden row, wherein the output of the last row in the memory element to the input of the first memory element in the row is connected together with the aid of the at least one XOR gate in such a way that the first input of the XOR gate with the output of a memory element located in the codeproducing row, the second input with the output of another in the code-producing row memory element and the output is connected to the input of the code-producing row in the memory element connected to the first input of the XOR gate subsequent memory element.
16. Verfahren nach Anspruch 15, dadurch gekennzeichnet, dass in die den zweiten Eingang des wenigstens einen XOR- Gatters und den Ausgang des weiteren in der codeproduzierenden Reihe befindlichen Speicherelements verbindende Leitung ein UND-Gatter derart geschalten ist, dass der Ausgang des UND-Gatters mit dem zweiten Eingang des XOR-Gatters, der erste Eingang des UND-Gatters mit dem Ausgang des weiteren in der codeproduzierenden Reihe befindlichen Speicherelements und der zweite Eingang des UND-Gatters mit dem Ausgang eines codeprogrammierenden Speicherelements verbun- den ist, wobei als codeprogrammierendes Speicherelement ein Speicherelement eines weiteren rückgekoppelten Schieberegisters verwendet wird, und dass bevorzugt der Ausgang eines in der codeproduzierenden Reihe befindlichen Speicherelements mit dem Eingang eines Inverters und der Aus- gang des Inverters mit dem Eingang eines anderen in der codeproduzierenden Reihe angeordneten Speicherelements verbunden ist. 16. The method according to claim 15, characterized in that in the second input of the at least one XOR gate and the output of the other in the codeproducing row located memory element line connecting an AND gate is connected such that the output of the AND gate with the second input of the XOR gate, the first input of the AND gate is connected to the output of the further memory element located in the code-producing row, and the second input of the AND gate is connected to the output of a code-coding memory element, a memory element of a further feedback shift register being used as code-coding memory element, and in that preferably the output of a memory element located in the code-producing row is connected to the input of an inverter and the output of the inverter is connected to the input of another memory element arranged in the code-producing row.
17. Vorrichtung zum Verschlüsseln von Daten mit Hilfe ei- ner symmetrischen Stromverschlüsselung unter Verwendung eines Schlüsselstroms (3), insbesondere zur Durchführung des Verfahrens nach einem der Ansprüche 1 und 3 bis 16, wobei zur Generierung des Schlüsselstroms (3) wenigstens ein rückgekoppeltes Schieberegister (27; 30,31,32; 33,34; 35,36,37) vorgesehen ist, das zu seiner Initialisierung jeweils mit einer definierten Bitfolge gefüllt wird, dadurch gekennzeichnet, dass die Daten in Datenpakete (1) aufgeteilt vorliegen, dass Mittel (9,10) zum Generieren und/oder Speichern wenigstens einer ersten Bitfolge (6) und einer zweiten Bitfolge (7) vorgesehen sind, die mit dem bzw. den Schieberegister (n) (27; 30,31,32; 33,34; 35,36,37) derart zusammenwirken, dass wenigstens die erste Bitfolge (6) und die zweite Bitfolge (7) zur Initialisierung des bzw. der rückgekoppelten Schieberegister (27; 30,31,32; 33,34; 35,36,37) verwendet werden, wobei das bzw. die rückgekoppeltein) Schieberegister (27; 30,31,32; 33,34; 35,36,37) für die Verschlüsselung jedes Datenpakets (1) neu initialisiert wird bzw. werden, dass Datenpaketverarbei- tungsmittel (15) vorgesehen sind, mit denen die Mittel (9,10) zum Generieren bzw. Speichern der ersten (6) und der zweiten (7) Bitfolge derart zusammenwirken, dass die erste Bitfolge (6) dem jeweils verschlüsselten Datenpaket im Klartext (17) oder in codierter Form hinzugefügt wird und die zweite Bitfolge (7) einen geheimen Schlüssel darstellt, die den verschlüsselten Datenpaketen nicht hinzugefügt wird, und dass Datenübertragungsmittel (19) zum paketvermittelten Versenden der verschlüsselten Datenpakete samt der jeweiligen hinzugefügten Bitfolge (17) und ggf. Kopfdaten (16) vorgesehen sind. 17. An apparatus for encrypting data by means of a symmetric stream encryption using a keystream (3), in particular for carrying out the method according to one of claims 1 and 3 to 16, wherein at least one feedback shift register (11) is used to generate the keystream (3). 27, 30, 31, 32, 33, 34, 35, 36, 37), which is filled with a defined bit sequence for its initialization, characterized in that the data are divided into data packets (1) such that means ( 9, 10) are provided for generating and / or storing at least one first bit sequence (6) and a second bit sequence (7) which are connected to the shift register (s) (27; 30, 31, 32; 33, 34; 35, 36, 37) cooperate in such a way that at least the first bit sequence (6) and the second bit sequence (7) are used to initialize the feedback shift register (s) (27, 30, 31, 32; 33, 34; ), the feedback being) eregister (27; 30,31,32; 33.34; 35, 36, 37) for the encryption of each data packet (1) is reinitialized or that data packet processing is initiated. are provided, with which the means (9,10) for generating or storing the first (6) and the second (7) bit sequence cooperate in such a way that the first bit sequence (6) is transmitted to the respective encrypted data packet in plaintext ( 17) or in coded form and the second bit string (7) represents a secret key which is not added to the encrypted data packets, and that data transmission means (19) for packet-switching the encrypted data packets together with the respective added bit sequence (17) and if necessary . Header data (16) are provided.
18. Vorrichtung zum Entschlüsseln von mittels einer symmetrischen Stromverschlüsselung verschlüsselten Daten unter Verwendung eines Schlüsselstroms (3), insbesondere zur Durchführung des Verfahrens nach einem der Ansprüche 2 bis 16, wobei zur Generierung des Schlüsselstroms (3) wenigstens ein rückgekoppeltes Schieberegister (27; 30,31,32; 33,34; 35,36,37) vorgesehen ist, das zu seiner Initialisie- rung jeweils mit einer definierten Bitfolge gefüllt wird, dadurch gekennzeichnet, dass die verschlüsselten Daten in Datenpakete (1) aufgeteilt vorliegen, dass Mittel (20) zum Auslesen einer ersten Bitfolge (6) im Klartext oder in codierter Form aus den Datenpaketen und Mittel (24) zum Gene- rieren und/oder Speichern wenigstens einer zweiten Bitfolge (7) vorgesehen sind, die mit dem bzw. den Schieberegisterin) (27; 30,31,32; 33,34; 35,36,37) derart zusammenwirken, dass wenigstens die erste Bitfolge (6) und die zweite Bitfolge (7) zur Initialisierung des bzw. der rückgekoppel- ten Schieberegister (27; 30,31,32; 33,34; 35,36,37) verwendet werden, wobei das bzw. die rückgekoppelte (n) Schieberegister (27; 30,31,32; 33,34; 35,36,37) für die Entschlüsselung jedes Datenpakets neu initialisiert wird bzw. werden, wobei die zweite Bitfolge (7) einen geheimen Schlüssel darstellt, die aus den verschlüsselten Datenpaketen nicht ausgelesen werden kann. 18. An apparatus for decrypting data encrypted by means of a symmetrical stream encryption using a keystream (3), in particular for carrying out the method according to one of claims 2 to 16, wherein at least one feedback shift register (27; 31,32; 33,34; 35,36,37), which is filled in each case with a defined bit sequence for its initialization, characterized in that the encrypted data is divided into data packets (1) such that means (20 ) are provided for reading out a first bit sequence (6) in plain text or in coded form from the data packets and means (24) for generating and / or storing at least one second bit sequence (7) which is connected to the shift register or registers (6). 27, 30, 31, 32, 33, 34, 35, 36, 37) cooperate in such a way that at least the first bit sequence (6) and the second bit sequence (7) are used to initialize the feedback Sc bat register (27; 30,31,32; 33.34; 35, 36, 37), wherein the feedback shift register (s) (27; 30, 31, 32; 33, 34; 35, 36, 37) is re-initialized for the decryption of each data packet, wherein the second bit string (7) represents a secret key that can not be read from the encrypted data packets.
19. Vorrichtung nach Anspruch 17 oder 18, dadurch gekennzeichnet, dass die Mittel (9,10; 20,21,24) zum Generieren, Speichern bzw. Auslesen der ersten (6) und der zweiten (7) Bitfolge mit einem XOR-Gatter (28) derart zusammenwirken, dass die erste Bitfolge (6) und die zweite Bitfolge (7) mit Hilfe einer XOR-Funktion verknüpft werden, wobei die sich aus der Verknüpfung ergebende Bitfolge zur Initialisierung dem rückgekoppelten Schieberegister (27) zugeführt ist. 19. The apparatus of claim 17 or 18, characterized in that the means (9,10; 20,21,24) for generating, storing or reading the first (6) and the second (7) bit sequence with an XOR gate (28) cooperate in such a way that the first bit sequence (6) and the second bit sequence (7) are linked by means of an XOR function, the bit sequence resulting from the combination being fed to the feedback shift register (27) for initialization.
20. Vorrichtung nach Anspruch 17 oder 18, dadurch gekenn- zeichnet, dass die erste Bitfolge (6) wenigstens einem ersten rückgekoppelten Schieberegister (30; 33; 35) zu dessen Initialisierung zugeführt ist und die zweite Bitfolge (7) wenigstens einem zweiten rückgekoppelten Schieberegister (31;34;36) zu dessen Initialisierung zugeführt ist. 20. Device according to claim 17 or 18, characterized in that the first bit sequence (6) is fed to at least one first feedback shift register (30; 33; 35) for its initialization and the second bit sequence (7) to at least one second feedback shift register (31; 34; 36) is fed to its initialization.
21. Vorrichtung nach einem der Ansprüche 17 bis 20, dadurch gekennzeichnet, dass die erste Bitfolge (6) eine für das zu verschlüsselnde Datenpaket (1) eindeutige Bitfolge ist, die dem jeweils verschlüsselten Datenpaket als Paketkennung (17) im Klartext oder in codierter Form hinzugefügt ist. 21. Device according to one of claims 17 to 20, characterized in that the first bit sequence (6) is a for the data packet to be encrypted (1) unique bit sequence, the respective encrypted data packet as a packet identifier (17) in plain text or in coded form is added.
22. Vorrichtung nach einem der Ansprüche 17 bis 21, dadurch gekennzeichnet, dass Mittel (13;25) zum Generieren der zweiten Bitfolge (7) aus einer eindeutigen Kennung (11) des Senders und einer eindeutigen Kennung (12) des Empfängers vorgesehen sind. 22. Device according to one of claims 17 to 21, characterized in that means (13; 25) are provided for generating the second bit sequence (7) from a unique identifier (11) of the transmitter and a unique identifier (12) of the receiver.
23. Vorrichtung nach Anspruch 22, dadurch gekennzeichnet, dass die Mittel (13; 25) zum Generieren der zweiten Bitfolge (7) ein XOR-Gatter umfasst, dessen einem Eingang die eindeutige Kennung (11) des Senders und dessen anderem Eingang die eindeutige Kennung (12) des Empfängers zugeführt ist. 23. The device according to claim 22, characterized in that the means (13; 25) for generating the second bit sequence (7) comprises an XOR gate whose one input the unique identifier (11) of the transmitter and the other input the unique identifier (12) of the receiver is supplied.
24. Vorrichtung nach einem der Ansprüche 17 bis 23, dadurch gekennzeichnet, dass Mittel (14;26) zum Generieren und/oder Speichern wenigstens einer dritten Bitfolge (8) vorgesehen sind, die mit dem bzw. den Schieberegister (n) (27;32;37) derart zusammenwirken, dass auch die dritte Bitfolge (8) zur Initialisierung des bzw. der rückgekoppelten Schieberegister (27;32;37) verwendet wird. 24. Device according to one of claims 17 to 23, characterized in that means (14; 26) for generating and / or storing at least one third bit sequence (8) are provided, which with the or the shift register (s) (27; 32, 37) cooperate in such a way that also the third bit sequence (8) is used to initialize the feedback shift register (s) (27; 32; 37).
25. Vorrichtung nach Anspruch 24, dadurch gekennzeichnet, dass die dritte Bitfolge (8) aus einer jeweils aktuellen Datums- und/oder Zeitangabe generiert wird. 25. The apparatus of claim 24, characterized in that the third bit sequence (8) is generated from a respective current date and / or time.
26. Vorrichtung nach Anspruch 24 oder 25, dadurch gekenn- zeichnet, dass die dritte Bitfolge (8) zur Initialisierung einem dritten rückgekoppelten Schieberegister (32; 37) zugeführt ist. 26. Device according to claim 24 or 25, characterized in that the third bit sequence (8) is fed to a third feedback shift register (32, 37) for initialization.
27. Vorrichtung nach einem der Ansprüche 17 bis 26, dadurch gekennzeichnet, dass die Generierung des Schlüsselstroms (3) beginnt, sobald wenigstens eines der rückgekoppelten Schieberegister (27; 30,31,32; 33,34; 35,36,37) mit dem ersten Bit aus der jeweiligen Bitfolge gefüllt wird. 27. The device according to one of claims 17 to 26, characterized in that the generation of the key stream (3) begins as soon as at least one of the feedback shift registers (27; 30,31,32; 33,34; 35,36,37) with the first bit from the respective bit sequence is filled.
28. Vorrichtung nach einem der Ansprüche 17 bis 27, dadurch gekennzeichnet, dass die rückgekoppelten Schieberegister (30,31,32; 33,34; 35,36,37) gleichzeitig mit der jeweiligen Bitfolge gefüllt werden. 28. Device according to one of claims 17 to 27, characterized in that the feedback shift registers (30,31,32; 33,34; 35,36,37) are filled simultaneously with the respective bit sequence.
29. Vorrichtung nach einem der Ansprüche 17 bis 28, dadurch gekennzeichnet, dass zur Rückkoppelung des bzw. der Schieberegister (27; 30,31,32; 33,34; 35,36,37) wenigstens ein XOR-Gatter (XORpl, XORp2, XORp3, XORp4, XORppl, XORpppl) eingesetzt ist. 29. Device according to one of claims 17 to 28, characterized in that for the feedback of the or the shift register (27; 30,31,32; 33,34; 35,36,37) at least one XOR gate (XORpl, XORp2 , XORp3, XORp4, XORppl, XORpppl).
30. Vorrichtung nach einem der Ansprüche 17 bis 29, dadurch gekennzeichnet, dass die rückgekoppelten Schiebere- gister (30,31,32; 33,34; 35,36,37) derart miteinander verschaltet sind, dass in Abhängigkeit vom Zustand des einen Schieberegisters das wenigstens eine XOR-Gatter (XORpl, XORp2, XORp3, XORp4, XORppl) des anderen Schieberegister an- oder abgeschaltet wird. 30. Device according to one of claims 17 to 29, characterized in that the feedback shift registers (30, 31, 32; 33, 34; 35, 36, 37) are interconnected in such a way that, depending on the state of the one shift register the at least one XOR gate (XORpl, XORp2, XORp3, XORp4, XORppl) of the other shift register is turned on or off.
31. Vorrichtung nach einem der Ansprüche 17 bis 30, dadurch gekennzeichnet, dass das wenigstens eine rückgekoppelte Schieberegister (30,31,32; 33,34; 35,36,37) eine Mehrzahl von zu einer codeproduzierenden Reihe geschalteten Speicherelementen (FFl, FF2 , ... ; FFpl, FFp2,...; FFppl, FFpp2,...) aufweist, wobei der Ausgang des in der Reihe letzten Speicherelements mit dem Eingang des in der Reihe ersten Speicherelements zu einem Kreis zusammengeschlossen ist, wobei die Rückkoppelung mit Hilfe des wenigstens einen XOR-Gatters (XORpl, XORp2, XORp3, XORp4, XORppl, XORpppl) derart erfolgt, dass der erster Eingang des XOR-Gatters mit dem Ausgang eines in der codeproduzierenden Reihe befindlichen Speicherelements (FF2), der zweite Eingang mit dem Ausgang eines weiteren in der codeproduzierenden Reihe be- findlichen Speicherelements (FF5) und der Ausgang mit dem Eingang des in der codeproduzierenden Reihe dem mit dem ersten Eingang des XOR-Gatters verbundenen Speicherelement nachfolgenden Speicherelements (FF3) verbunden ist. 31. Device according to one of claims 17 to 30, characterized in that the at least one feedback shift register (30,31,32; 33,34; 35,36,37) has a plurality of memory elements (FF1, FF2.) Connected to a code-producing row , ...; FFpl, FFp2, ...; FFppl, FFpp2, ...), the output of the last memory element in the row being connected to the input of the first memory element in the series to form a circuit, wherein the feedback with the aid of the at least one XOR gate (XORpl, XORp2, XORp3, XORp4, XORppl, XORpppl) such that the first input of the XOR gate is connected to the output of a memory element (FF2) located in the code-producing row, the second input to the output of another memory element (FF5) located in the code-producing row, and the output having the input of the code in the code-producing row following the memory element connected to the first input of the XOR gate eicherelements (FF3) is connected.
32. Vorrichtung nach Anspruch 31, dadurch gekennzeichnet, dass in die den zweiten Eingang des wenigstens einen XOR- Gatters (XORpl) und den Ausgang des weiteren in der code- produzierenden Reihe (30; 33; 35) befindlichen Speicherelements (FF5) verbindende Leitung ein UND-Gatter (UNDpl) derart geschalten ist, dass der Ausgang des UND-Gatters (UNDpl) mit dem zweiten Eingang des XOR-Gatters (XORpl), der erste Eingang des UND-Gatters (UNDpl) mit dem Ausgang des weiteren in der codeproduzierenden Reihe (30; 33; 35) befindlichen Speicherelements (FF5) und der zweite Eingang des UND-Gatters (UNDpl) mit dem Ausgang eines codeprogrammierenden Speicherelements (FFp2) verbunden ist und dass bevorzugt der Ausgang eines in der codeproduzierenden Reihe (30; 33; 35) befindlichen Speicherelements (FF9) mit dem Eingang eines Inverters (INV) und der Ausgang des Inverters (INV) mit dem Eingang eines anderen in der codeproduzierenden Reihe (30; 33; 35) angeordneten Speicherelements (FFl) verbunden ist, wobei als codeprogrammierendes Speicherele- ment ein Speicherelement eines weiteren rückgekoppelten Schieberegisters (31; 34; 36) verwendet wird. 32. Device according to claim 31, characterized in that the line connecting the second input of the at least one XOR gate (XORpl) and the output of the further memory element (FF5) located in the code-producing row (30; 33; 35) an AND gate (ANDpl) is connected such that the output of the AND gate (ANDpl) to the second input of the XOR gate (XORpl), the first input of the AND gate (ANDpl) to the output of the other in the and the second input of the AND gate is connected to the output of a code-pro- gramming memory element (FFp2) and that preferably the output of one of the code-producing series (30; 33 35), is connected to the input of an inverter (INV) and the output of the inverter (INV) is connected to the input of another memory element (FF1) arranged in the code producing line (30; 33; 35) a memory element of a further feedback shift register (31; 34; 36) is used.
33. Vorrichtung nach Anspruch 31 oder 32, dadurch gekennzeichnet, dass eine Mehrzahl von XOR-Gattern (XORpl , p2 , p3 , p4 ) vorgesehen ist, deren erster Eingang jeweils von einem Ausgang eines in der codeproduzierenden Reihe (30;33;35) befindlichen Speicherelements (FFl, 2, 3, 4) gespeist wird und deren zweiter Eingang jeweils vom Ausgang eines weiteren in der codeproduzierenden Reihe (30; 33; 35) befindlichen Speicherelements ( FF8 , 15 , 20 , 23 ) gespeist wird, welches eine Anzahl von Speicherelementen in Flussrichtung der Reihe (30; 33; 35) von dem jeweils mit dem ersten Eingang verbundenen Speicherelement (FFl, 2, 3, ) entfernt ist, wel- che jeweils einer unterschiedlichen Primzahl entspricht, die größer als 1 und kein Teilbetrag der Gesamtzahl der in Reihe (30;33;35) geschalteten Speicherelemente (FFl,2,...n) ist . 33. Apparatus according to claim 31 or 32, characterized in that a plurality of XOR gates (XORpl, p2, p3, p4) is provided, whose first input is in each case from an output of one in the codeproduzierenden series (30; 33; 35) and the second input of which is fed in each case by the output of a further memory element (FF8, 15, 20, 23) located in the code-producing row (30; 33; 35) which has a number of stored memory elements (FF1, 2, 3, 4) of storage elements in the flow direction of the row (30; 33; 35) is removed from the respective storage element (FF1,2,3,3) connected to the first input. each corresponds to a different prime number which is greater than 1 and is not a partial amount of the total number of memory elements (FF1, 2, ..., n) connected in series (30; 33; 35).
34. Vorrichtung nach einem der Ansprüche 31 bis 33, dadurch gekennzeichnet, dass eine Mehrzahl von codeprogrammierenden, jeweils einem UND-Gatter (UNDpl , p2 , p3 , p ) und einem XOR-Gatter (XORpl , p2 , p3 , p ) zugeordneten Speicherele- menten ( FFpl , p2 , p3 , p4 , ... pn) vorgesehen und in einer zu einem Kreis geschlossenen Reihe (31; 34; 36) geschalten ist und wenigstens ein XOR-Gatter (XORppl) angeordnet ist, dessen erster Eingang mit dem Ausgang eines in der codeprogrammierenden Reihe (31; 34; 36) befindlichen Speicherele- ments (FFp6), dessen zweiter Eingang mit dem Ausgang eines weiteren in der codeprogrammierenden Reihe (31; 34; 36) befindlichen Speicherelements (FFp5) und dessen Ausgang mit dem Eingang des in der codeprogrammierenden Reihe (31; 34; 36) dem mit dem ersten Eingang des XOR-Gatters (XORppl) verbundenen Speicherelement (FFp6) nachfolgenden Speicherelements (FFpl) verbunden ist. 34. Device according to one of claims 31 to 33, characterized in that a plurality of code-programming, in each case an AND gate (ANDP1, p2, p3, p) and an XOR gate (XORP1, p2, p3, p) associated Speicherele - Menten (FFpl, p2, p3, p4, ... pn) is provided and connected in a closed loop in a row (31; 34; 36) and at least one XOR gate (XORppl) is arranged, the first input with the output of a memory element (FFp6) located in the code-programming series (31; 34; 36), whose second input is connected to the output of another memory element (FFp5) located in the code-programming series (31; 34; 36) and whose output is connected to the input of the code-programmable row (31; 34; 36) to the memory element (FFp6) connected to the first input of the XOR gate (XORppl), which is connected to the first input of the XOR gate (XORppl).
35. Vorrichtung nach einem der Ansprüche 31 bis 34, dadurch gekennzeichnet, dass in die den zweiten Eingang des wenigstens einen XOR-Gatters (XORppl) und den Ausgang des weiteren in der codeprogrammierenden Reihe (31; 34; 36) befindlichen Speicherelements (FFp3) verbindende Leitung ein UND-Gatter (UNDppl) derart geschalten ist, dass der Ausgang des UND-Gatters (UNDppl) mit dem zweiten Eingang des XOR- Gatters (XORppl), der erste Eingang des UND-Gatters (UNDppl) mit dem Ausgang des weiteren in der codeprogrammierenden Reihe (31; 34; 36) befindlichen Speicherelements (FFp3) und der zweite Eingang des UND-Gatters (UNDppl) mit dem Ausgang eines der Programmierung der codeprogrammierenden Reihe (31; 34; 36) dienenden Speicherelements (FFpp5) verbunden ist. 35. Device according to one of claims 31 to 34, characterized in that in the second input of the at least one XOR gate (XORppl) and the output of the further in the code-programming row (31; 34; 36) located memory element (FFp3) connecting line is an AND gate (ANDppl) connected such that the output of the AND gate (ANDppl) to the second input of the XOR gate (XORppl), the first input of the AND gate (ANDppl) to the output of the other in the code-programming series (31; 34; 36) located memory element (FFp3) and the second input of the AND gate (UNDppl) with connected to the output of a memory element (FFpp5) serving to program the code-programming series (31; 34; 36).
36. Vorrichtung nach einem der Ansprüche 31 bis 35, dadurch gekennzeichnet, dass eine Mehrzahl von der Programmierung der codeprogrammierenden Reihe (31; 34; 36) dienenden, jeweils einem UND-Gatter (UNDppl) und einem XOR-Gatter (XORppl) zugeordneten Speicherelementen (FFppl,pp2,pp3,pp4, ... ppn) vorgesehen und in einer zu einem Kreis geschlossenen Reihe (32; 37) geschalten ist und wenigstens ein XOR-Gatter (XORpppl) angeordnet ist, dessen erster Eingang mit dem Ausgang eines in der Reihe (32;37) befindlichen Speicherelements (FFppl), dessen zweiter Ein- gang mit dem Ausgang eines weiteren in der Reihe (32;37) befindlichen Speicherelements (FFpp3) und dessen Ausgang mit dem Eingang des in der Reihe (32; 37) dem mit dem ersten Eingang des XOR-Gatters (XORpppl) verbundenen Speicherelement (FFppl) nachfolgenden Speicherelements (FFpp2) verbun- den ist. 36. Device according to one of claims 31 to 35, characterized in that a plurality of the programming of the code-programming series (31; 34; 36) serving, in each case an AND gate (ANDppl) and an XOR gate (XORppl) associated memory elements (FFppl, pp2, pp3, pp4, ... ppn) and is connected in a closed series (32, 37) and at least one XOR gate (XORpppl) is arranged, the first input of which is connected to the output of an in the second input is connected to the output of another memory element (FFpp3) in the row (32, 37) and whose output is connected to the input of the in-line (32, 37) memory element (FFppl) ) connected to the first input of the XOR gate (XORpppl) connected storage element (FFppl) subsequent storage element (FFpp2) is connected.
EP11796910.5A 2010-12-02 2011-12-01 Method and apparatus for performing symmetrical stream encryption of data Withdrawn EP2647157A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
ATA2007/2010A AT510730B1 (en) 2010-12-02 2010-12-02 METHOD AND DEVICE FOR IMPLEMENTING A SYMMETRIC ENERGY ENCRYPTION OF DATA
PCT/AT2011/000483 WO2012071597A1 (en) 2010-12-02 2011-12-01 Method and apparatus for performing symmetrical stream encryption of data

Publications (1)

Publication Number Publication Date
EP2647157A1 true EP2647157A1 (en) 2013-10-09

Family

ID=45349333

Family Applications (1)

Application Number Title Priority Date Filing Date
EP11796910.5A Withdrawn EP2647157A1 (en) 2010-12-02 2011-12-01 Method and apparatus for performing symmetrical stream encryption of data

Country Status (4)

Country Link
US (1) US20170264598A1 (en)
EP (1) EP2647157A1 (en)
AT (1) AT510730B1 (en)
WO (1) WO2012071597A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT515814A1 (en) 2014-05-20 2015-12-15 Logodynamic Unit Gmbh Method and apparatus for performing symmetric stream encryption of data
AT516290B1 (en) * 2014-09-19 2019-09-15 Metadat It Beratungs Und Entw Gmbh code generator
WO2017177243A1 (en) 2016-04-14 2017-10-19 Metadat It-Beratungs- Und Entwicklungs-Gmbh Code generator
US11165758B2 (en) * 2018-04-09 2021-11-02 International Business Machines Corporation Keystream generation using media data
TWI736998B (en) * 2019-10-04 2021-08-21 東隆五金工業股份有限公司 Data encryption and decryption processing method
AU2020202883B1 (en) * 2020-01-10 2021-01-07 Mesinja Pty Ltd Systems and computer-implemented methods for generating pseudo random numbers
WO2022089014A1 (en) * 2020-11-02 2022-05-05 中国银联股份有限公司 Data encryption method, apparatus and device, data decryption method, apparatus and device, and storage medium
CN116166222B (en) * 2023-04-24 2023-07-11 上海米硅科技有限公司 Pseudo-random binary sequence generating device and checking device

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CH411983A (en) * 1963-10-18 1966-04-30 Gretag Ag Method for encrypting and decrypting pulse-shaped messages
US5365588A (en) * 1993-03-12 1994-11-15 Hughes Aircraft Company High speed encryption system and method
JP2541480B2 (en) * 1993-10-06 1996-10-09 日本電気株式会社 Pseudo random number generator
US5859912A (en) * 1996-03-22 1999-01-12 General Electric Company Digital information privacy system
US7043017B2 (en) * 2001-09-13 2006-05-09 Freescale Semiconductor, Inc. Key stream cipher device
AT412747B (en) * 2002-03-05 2005-06-27 Rene-Michael Mag Cordes CODEGENERATOR AND DEVICE FOR SYNCHRONOUS OR ASYNCHRONOUS, AS WELL AS PERMANENT IDENTIFICATION OR INTERLOCKING OF DATA OF ANY LENGTH
WO2007059558A1 (en) * 2005-11-23 2007-05-31 The University Of Sydney Wireless protocol for privacy and authentication

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2012071597A1 *

Also Published As

Publication number Publication date
US20170264598A1 (en) 2017-09-14
WO2012071597A1 (en) 2012-06-07
AT510730A1 (en) 2012-06-15
AT510730B1 (en) 2013-06-15

Similar Documents

Publication Publication Date Title
AT510730B1 (en) METHOD AND DEVICE FOR IMPLEMENTING A SYMMETRIC ENERGY ENCRYPTION OF DATA
DE102009024604B4 (en) Generation of a session key for authentication and secure data transmission
DE69929251T2 (en) ENCRYPTION SYSTEM WITH A KEY OF CHANGING LENGTH
DE2715631A1 (en) ENCRYPTION AND SECURITY OF DATA
DE69937007T2 (en) METHOD AND DEVICE FOR ENCRYPTION AND DECOMPOSITION OF DATA
EP0032107A1 (en) Enciphering and deciphering system
DE60315700T2 (en) METHOD FOR GENERATING ENERGY ENCODING WITH SEVERAL KEYS
DE19924986A1 (en) Encryption conversion device for electronic toll collection
DE10129285A1 (en) Encryption of random data divided in N blocks of arbitrary size
DE102004042826B4 (en) Method and device for data encryption
EP0090771B1 (en) Method and apparatus for the enciphered transmission of information
DE102015001847A1 (en) One-time encryption of meter data
EP2807788A2 (en) Method for writing and reading data
EP1481509B1 (en) Code generator and device for synchronous or asynchronous and permanent identification or encoding and decoding of data of any particular length
DE102006003167B3 (en) Real-time communication protecting method for e.g. automation system, involves producing and managing code in discrete device for protecting real-time communication that takes place by protecting unit in connection layer of reference model
DE102004010666B4 (en) Key bit stream generation
WO2015176087A1 (en) Method and device for performing a symmetric stream encyption of data
DE19757370C2 (en) Process for the tactile generation of pseudo-random data words
EP2288073B1 (en) Apparatus for encrypting data
DE102008042406A1 (en) Method for encrypted transmission of data between communication subscribers, involves providing linkage between two encoded keys, and decoding encoded data using third key by receiver
DE4420967C2 (en) Decryption device for digital information and method for carrying out the encryption and decryption of this using the decryption device
DE2634353B1 (en) PCM communications system encoder - using modulo two adders and parallel:serial converter, for additive or multiplicative coding
DE2310654C1 (en) Bit type encoding and decoding installation for digital information
DE10303723B4 (en) Apparatus and method for calculating encrypted data from unencrypted data or unencrypted data from encrypted data
DE10224473A1 (en) Data encryption system has iterative part block encryption and decryption key generation using base decryption and encryption keys

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20130702

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20170701