WO2012071597A1 - Verfahren und vorrichtung zur durchführung einer symmetrischen stromverschlüsselung von daten - Google Patents

Verfahren und vorrichtung zur durchführung einer symmetrischen stromverschlüsselung von daten Download PDF

Info

Publication number
WO2012071597A1
WO2012071597A1 PCT/AT2011/000483 AT2011000483W WO2012071597A1 WO 2012071597 A1 WO2012071597 A1 WO 2012071597A1 AT 2011000483 W AT2011000483 W AT 2011000483W WO 2012071597 A1 WO2012071597 A1 WO 2012071597A1
Authority
WO
WIPO (PCT)
Prior art keywords
bit sequence
input
shift register
code
memory element
Prior art date
Application number
PCT/AT2011/000483
Other languages
English (en)
French (fr)
Inventor
René-Michael Cordes
Ernesto Schobesberger
Original Assignee
Cordes Rene-Michael
Ernesto Schobesberger
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 Cordes Rene-Michael, Ernesto Schobesberger filed Critical Cordes Rene-Michael
Priority to EP11796910.5A priority Critical patent/EP2647157A1/de
Priority to US13/991,389 priority patent/US20170264598A1/en
Publication of WO2012071597A1 publication Critical patent/WO2012071597A1/de

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.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Storage Device Security (AREA)

Abstract

Bei einem 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, werden die zu verschlüsselnden Daten in Datenpakete aufgeteilt werden, wobei jedes Datenpaket gesondert verschlüsselt wird. Das bzw. die rückgekoppelte(n) Schieberegister wird bzw. werden für die Verschlüsselung jedes Datenpakets neu initialisiert, 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. Die verschlüsselten Datenpakete werden samt der jeweiligen hinzugefügten Bitfolge und ggf. Kopfdaten paketvermittelt übertragen.

Description

Verfahren und Vorrichtung zur Durchführung einer symmetrischen Stromverschlüsselung von Daten
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.
Die Erfindung betrifft weiters ein entsprechendes Verfahren zum Entschlüsseln von mittels einer symmetrischen Stromverschlüsselung verschlüsselten Daten.
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.
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.
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.
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
- 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 .
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.
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.
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
- 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Gemäß einem weiteren Aspekt der vorliegenden Erfindung werden eine Verschlüsselungs- und eine Entschlüsselungsvor- richtung vorgeschlagen.
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.
Bevorzugte Weiterbildungen ergeben sich aus den Unteransprüchen .
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.
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.
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.
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.
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.
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.
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.
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
Lc = 2n-l
(Lc = Länge der Codesequenz; n = Anzahl der codegenerierenden in Reihe geschalteten Speicherelemente)
Wenn diese Einheit mit einem bestimmten Takt betrieben wird gilt für die Dauer des Codes:
2n - 1
Tc =
fc
(Tc = Dauer bis sich der Code wiederholt; fc = Codegenerierungstakt frequenz )
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.
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).
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 .
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.
Die Anzahl der programmierbaren unterschiedlichen berechnet sich wie folgt:
Nc = 2pn - 1
(Nc = Anzahl der möglichen unterschiedlichen Codes; pn = Anzahl der programmierbaren XOR - Gatter
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
W =
(2n - 1) * (2pn - 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)
Beispiel :
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:
(2n - 1) * (2pn - 1 ) (2283 - 1) * (250 - 1 )
Nb
(1, 5541351138 * 1085 - 1) * (1, 1258999068 * 1015 - 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.
Indem man die codeprogrammierenden Speicherelemente ( FFpl , p2 , p3 , p4 , 5 , p6) des Schieberegisters 34 rekursiv miteinander verschaltet, so dass sie innerhalb des Zeitintervalls
2pn - 1
T pn=
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.
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.

Claims

Patentansprüche :
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.
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.
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.
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.
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.
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.
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 .
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.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass die dritte Bitfolge aus einer jeweils aktuellen Datums- und/oder Zeitangabe generiert wird.
10. Verfahren nach Anspruch 8 oder 9, dadurch gekennzeich- net, dass die dritte Bitfolge zur Initialisierung einem dritten rückgekoppelten Schieberegister zugeführt wird.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
25. Vorrichtung nach Anspruch 24, dadurch gekennzeichnet, dass die dritte Bitfolge (8) aus einer jeweils aktuellen Datums- und/oder Zeitangabe generiert wird.
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.
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.
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.
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.
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.
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.
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.
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 .
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.
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.
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.
PCT/AT2011/000483 2010-12-02 2011-12-01 Verfahren und vorrichtung zur durchführung einer symmetrischen stromverschlüsselung von daten WO2012071597A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP11796910.5A EP2647157A1 (de) 2010-12-02 2011-12-01 Verfahren und vorrichtung zur durchführung einer symmetrischen stromverschlüsselung von daten
US13/991,389 US20170264598A1 (en) 2010-12-02 2011-12-01 Method and apparatus for performing symmetrical stream encryption of data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
ATA2007/2010 2010-12-02
ATA2007/2010A AT510730B1 (de) 2010-12-02 2010-12-02 Verfahren und vorrichtung zur durchführung einer symmetrischen stromverschlüsselung von daten

Publications (1)

Publication Number Publication Date
WO2012071597A1 true WO2012071597A1 (de) 2012-06-07

Family

ID=45349333

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AT2011/000483 WO2012071597A1 (de) 2010-12-02 2011-12-01 Verfahren und vorrichtung zur durchführung einer symmetrischen stromverschlüsselung von daten

Country Status (4)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015176087A1 (de) 2014-05-20 2015-11-26 Logodynamic Unit Gmbh Verfahren und vorrichtung zur durchführung einer symmetrischen stromverschlüsselung von daten
TWI736998B (zh) * 2019-10-04 2021-08-21 東隆五金工業股份有限公司 資料加解密處理方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT516290B1 (de) * 2014-09-19 2019-09-15 Metadat It Beratungs Und Entw Gmbh Codegenerator
WO2017177243A1 (de) 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
AU2020202883B1 (en) * 2020-01-10 2021-01-07 Mesinja Pty Ltd Systems and computer-implemented methods for generating pseudo random numbers
CN112464258B (zh) * 2020-11-02 2024-03-19 中国银联股份有限公司 数据加、解密方法、装置、设备及存储介质
CN116166222B (zh) * 2023-04-24 2023-07-11 上海米硅科技有限公司 一种伪随机二进制序列发生装置及校验装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1062130A (en) * 1963-10-18 1967-03-15 Gretag Ag Method and apparatus for ciphering and deciphering messages
US5566099A (en) * 1993-10-06 1996-10-15 Nec Corporation Pseudorandom number generator
WO2003075507A1 (de) 2002-03-05 2003-09-12 Cordes Rene-Michael Codegenerator und vorrichtung zur synchronen oder asynchronen sowie permanenten identikation oder ver- und entschlüsselung von daten beliebiger lange
WO2007059558A1 (en) * 2005-11-23 2007-05-31 The University Of Sydney Wireless protocol for privacy and authentication

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5365588A (en) * 1993-03-12 1994-11-15 Hughes Aircraft Company High speed encryption system and method
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1062130A (en) * 1963-10-18 1967-03-15 Gretag Ag Method and apparatus for ciphering and deciphering messages
US5566099A (en) * 1993-10-06 1996-10-15 Nec Corporation Pseudorandom number generator
WO2003075507A1 (de) 2002-03-05 2003-09-12 Cordes Rene-Michael Codegenerator und vorrichtung zur synchronen oder asynchronen sowie permanenten identikation oder ver- und entschlüsselung von daten beliebiger lange
WO2007059558A1 (en) * 2005-11-23 2007-05-31 The University Of Sydney Wireless protocol for privacy and authentication

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015176087A1 (de) 2014-05-20 2015-11-26 Logodynamic Unit Gmbh Verfahren und vorrichtung zur durchführung einer symmetrischen stromverschlüsselung von daten
TWI736998B (zh) * 2019-10-04 2021-08-21 東隆五金工業股份有限公司 資料加解密處理方法

Also Published As

Publication number Publication date
AT510730A1 (de) 2012-06-15
US20170264598A1 (en) 2017-09-14
AT510730B1 (de) 2013-06-15
EP2647157A1 (de) 2013-10-09

Similar Documents

Publication Publication Date Title
AT510730B1 (de) Verfahren und vorrichtung zur durchführung einer symmetrischen stromverschlüsselung von daten
DE102009024604B4 (de) Erzeugung eines Session-Schlüssels zur Authentisierung und sicheren Datenübertragung
DE69929251T2 (de) Verschlüsselungssystem mit einem schlüssel veränderlicher länge
DE69031736T2 (de) Verschlüsselungsmethode
DE2715631A1 (de) Verschluesselung und absicherung von daten
DE60315700T2 (de) Verfahren zum erzeugen einer stromverschlüsselung mit mehreren schlüsseln
DE19924986A1 (de) Verschlüsselungs-Konversionsvorrichtung, Entschlüsselungs-Konversionsvorrichtung, kryptografisches Kommunikationssystem und elektronische Gebühren-Sammelvorrichtung
DE10129285A1 (de) Verschlüsselungsverfahren mit beliebig wählbaren Enmalschlüsseln
DE102004042826B4 (de) Verfahren und Vorrichtung zur Datenverschlüsselung
EP1298834A1 (de) Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten
EP0090771B1 (de) Verfahren und Vorrichtung zur chiffrierten Uebermittlung von Nachrichten
WO2013110103A2 (de) Verfahren zum schreiben und lesen von daten
DE102015001847A1 (de) Einmalverschlüsselung von Zählerdaten
EP1481509B1 (de) Kodegenerator und vorrichtung zur synchronen oder asynchronen sowie permanenten identifikation oder ver- und entschlüsselung von daten beliebiger länge
DE102006003167B3 (de) Sichere Echtzeit-Kommunikation
DE102004010666B4 (de) Schlüsselbitstromerzeugung
WO2015176087A1 (de) Verfahren und vorrichtung zur durchführung einer symmetrischen stromverschlüsselung von daten
DE19757370C2 (de) Verfahren zur taktilen Erzeugung pseudo-zufälliger Datenworte
DE102008042406A1 (de) Verfahren zum sicheren Austausch von Daten
DE69006774T2 (de) Verfahren zum Verschlüsseln einer Folge, die aus mindestens einem Symbol besteht.
EP3734486B1 (de) Computerimplementiertes verfahren zum ersetzen eines datenstrings
EP2288073A1 (de) Vorrichtung zur Verschlüsselung von Daten
DE4420967C2 (de) Entschlüsselungseinrichtung von digitalen Informationen und Verfahren zur Durchführung der Ver- und Entschlüsselung dieser mit Hilfe der Entschlüsselungseinrichtung
DE2634353B1 (de) Nachrichtenuebertragungssystem fuer pulscodemodulation mit sendeseitigem verwuerfler und synchronisiertem empfangsseitigem entwuerfler
DE2310654C1 (de) Einrichtung zum bitweisen Ver- und Entschlüsseln digitaler Information

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11796910

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2011796910

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2011796910

Country of ref document: EP