DE102019214379B4 - Device and method for encryption - Google Patents

Device and method for encryption Download PDF

Info

Publication number
DE102019214379B4
DE102019214379B4 DE102019214379.2A DE102019214379A DE102019214379B4 DE 102019214379 B4 DE102019214379 B4 DE 102019214379B4 DE 102019214379 A DE102019214379 A DE 102019214379A DE 102019214379 B4 DE102019214379 B4 DE 102019214379B4
Authority
DE
Germany
Prior art keywords
binary
matrix
key
data
generate
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.)
Active
Application number
DE102019214379.2A
Other languages
German (de)
Other versions
DE102019214379A1 (en
Inventor
Hans-Joachim Bentz
Andreas Dierks
Fabian Rosenschein
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
Priority to DE102019214379.2A priority Critical patent/DE102019214379B4/en
Publication of DE102019214379A1 publication Critical patent/DE102019214379A1/en
Application granted granted Critical
Publication of DE102019214379B4 publication Critical patent/DE102019214379B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Abstract

Vorrichtung zur Verschlüsselung von Daten (8) mit einem Eingabegerät (23) zur Eingabe eines Passworts (10) und zur reproduzierbaren Erzeugung eines Startvektors (3) aus der Eingabe des Passworts (10), einem elektronischen Bauteil (20), das zur Erzeugung zumindest eines binären Schlüssels (6) eingerichtet ist und das zur Übertragung des zumindest einen binären Schlüssels (6) mit einem elektronischen Bauteil (27) verbunden ist, das zur Verschlüsselung von Daten (8) zu Kryptoblöcken (9) eingerichtet ist, das einen Eingang (28) für Daten (8) und einen Ausgang (29) für Kryptoblöcke (9) aufweist, wobei das elektronische Bauteil (20), das zur Erzeugung des zumindest einen binären Schlüssels (6) eingerichtet ist, eine reproduzierbar erzeugte, binär gefüllte Matrix (1) enthält und eingerichtet ist, bei Eingabe eines Startvektors (3) in die binär gefüllte Matrix (1) zumindest einen primären Schlüsselvektor (4) zu erzeugen und aus diesem den zumindest einen binären Schlüssel (6) mittels Prüfwertreduktion zu erzeugen und diesen an das Bauteil (27) zu übermitteln, das zur Verschlüsselung von Daten (8) zu Kryptoblöcken (9) eingerichtet ist, wobei die Vorrichtung eine Aktivierungskontrolle (30) mit einem Aktivierungszähler (31) und einer Freigabeeinrichtung (32) aufweist, wobei die Vorrichtung keinen Speicher für ein Passwort aufweist und bei jeder Eingabe in das Eingabegerät (23) zur Eingabe eines Passworts (10) aktiviert wird und dass die Vorrichtung eingerichtet ist, den binären Schlüssel (6) als Eingabe in eine Matrix einzugeben, um einen weiteren binären Schlüssel (6) zu erzeugen, wobei die Vorrichtung eingerichtet ist, diese Schleife, in der jeweils der binäre Schlüssel (6) wieder in eine Matrix eingeben wird, zumindest einmal zu wiederholen, um eine Abfolge von binären Schlüsseln (6) zu erzeugen.

Figure DE102019214379B4_0000
Device for encrypting data (8) with an input device (23) for entering a password (10) and for the reproducible generation of a start vector (3) from the entry of the password (10), an electronic component (20) for generating at least a binary key (6) and which is connected to an electronic component (27) for the transmission of the at least one binary key (6), which is set up for encrypting data (8) into crypto blocks (9), which has an input ( 28) for data (8) and an output (29) for crypto blocks (9), wherein the electronic component (20), which is set up to generate the at least one binary key (6), has a reproducibly generated, binary-filled matrix ( 1) contains and is set up to generate at least one primary key vector (4) when a start vector (3) is entered into the binary-filled matrix (1) and from this to generate the at least one binary key (6) using test values eduction and to transmit this to the component (27) which is set up for encrypting data (8) into crypto blocks (9), the device having an activation control (30) with an activation counter (31) and a release device (32) has, wherein the device does not have a memory for a password and is activated for each entry into the input device (23) for entering a password (10) and that the device is set up to enter the binary key (6) as an entry into a matrix, to generate a further binary key (6), the device being set up to repeat this loop, in which the binary key (6) is entered again in a matrix, at least once in order to generate a sequence of binary keys (6) to create.
Figure DE102019214379B4_0000

Description

Die vorliegende Erfindung betrifft eine elektronische Vorrichtung und ein elektronisches Verfahren zur Verschlüsselung, die eingerichtet sind, auf Grundlage eines Passworts zumindest einen Schlüssel aus einer extrem großen Anzahl möglicher Schlüssel zu erzeugen und damit Daten zu verschlüsseln und die verschlüsselten Daten, z.B. nach Speicherung und/oder Übertragung, anschließend zu entschlüsseln. Die Vorrichtung und das damit durchführbare Verfahren haben den Vorteil, dass ausgehend von dem Schlüssel das ursprüngliche Passwort mit extrem hoher Wahrscheinlichkeit nicht bestimmt werden kann und der Schlüssel ohne die Verfahrensschritte bzw. ohne die Vorrichtung mit extrem hoher Wahrscheinlichkeit nicht reproduziert werden kann. Die Vorrichtung und das Verfahren bieten den Vorteil, dass der Schlüssel auch mit großem Rechenaufwand ohne Kenntnis des Passworts und/oder ohne Kenntnis der Verfahrensschritte nicht errechnet werden kann. Generell bevorzugt ist der Schlüssel binär. In bevorzugter Ausführungsform ist die Vorrichtung bzw. das Verfahren eingerichtet, die Daten abschnittsweise mit jeweils anderen Schlüsseln zu verschlüsseln.The present invention relates to an electronic device and an electronic method for encryption, which are set up to generate at least one key from an extremely large number of possible keys based on a password and thus to encrypt data and the encrypted data, e.g. after storage and/or Transmission, then to decrypt. The device and the method that can be carried out with it have the advantage that, based on the key, the original password cannot be determined with an extremely high probability and the key cannot be reproduced without the method steps or without the device with an extremely high probability. The device and the method offer the advantage that the key cannot be calculated without knowledge of the password and/or without knowledge of the method steps, even with a great deal of computing effort. Generally preferred, the key is binary. In a preferred embodiment, the device or the method is set up to encrypt the data in sections with different keys.

Ein Vorteil der Erfindung liegt darin, dass das Passwort selbst nicht oder nicht vollständig gespeichert ist, so dass auch eine Analyse der Vorrichtung bzw. die Kenntnis des Verfahrens nicht das Passwort erkennen lässt.An advantage of the invention is that the password itself is not stored or is not completely stored, so that even an analysis of the device or knowledge of the method does not reveal the password.

Stand der TechnikState of the art

Die US 4,777,622 beschreibt eine Matrix als assoziativen Speicher, bei dem eine binäre Eingabe aus Null und Eins in die Matrix eingegeben wird und mittels der Matrix eine Ausgabe dadurch erzeugt wird, dass in der Matrix für jede Stelle der Eingabe festgelegt ist, ob und an welcher Stelle ein Ausgabesignal erzeugt wird. Das Ausgabesignal wird bevorzugt dadurch überarbeitet, dass für jede Stelle die Ausgabesignale addiert werden und von diesem Wert ein vorbestimmter Wert als Schwellenwert abgezogen wird. Dieser Schwellenwert kann z.B. die Anzahl der Einsen der Eingabe verringert um 1 sein, so dass nur dann eine Eins ausgegeben wird, wenn die aufaddierten Ausgabesignale dieser Stelle zumindest gleich der Anzahl der Einsen der Eingabe ist.The U.S. 4,777,622 describes a matrix as an associative memory in which a binary input of zero and one is entered into the matrix and an output is generated by means of the matrix in that it is specified in the matrix for each position of the input whether and at which position an output signal is given is produced. The output signal is preferably revised in that the output signals are added for each point and a predetermined value is subtracted from this value as a threshold value. This threshold value can be, for example, the number of ones in the input reduced by 1, so that a one is only output if the output signals added up at this point are at least equal to the number of ones in the input.

Die WO 2006/045114 A2 beschreibt die Verschlüsselung eines Klartexts mit einem binären Schlüssel, z.B. mittels der bekannten XOR-Funktion, bei der aus einem Schlüssel und Daten, die vorzugsweise beide binär vorliegen, verschlüsselte Daten erzeugt werden, die nur bei Kenntnis des Schlüssels wieder zu den Daten als Klartext entschlüsselt werden können. Dabei wird der Schlüssel, der ein Schlüsselstrom sein kann, aus einem festgelegten Arbeitsschlüssel, einer festgelegten Quasigruppe und einem Teil der Daten gebildet, wobei bevorzugt die Quasigruppe ein Autotop einer anfänglichen Quasigruppe ist und auf Basis eines geheimen anfänglichen Schlüssels einer auswählbaren Länge festgelegt ist.The WO 2006/045114 A2 describes the encryption of plain text with a binary key, for example using the known XOR function, in which encrypted data are generated from a key and data, which are preferably both binary, which is only decrypted back to the data as plain text if the key is known can become. The key, which can be a key stream, is formed from a specified working key, a specified quasi-group and part of the data, with the quasi-group preferably being an autotope of an initial quasi-group and being specified on the basis of a secret initial key of a selectable length.

Die US 2015/0110269 A1 beschreibt zur Verschlüsselung eine Matrix, die auf zwei Primzahlen beruht. Eine Wechselwirkung mit einer Passworteingabe ist nicht beschrieben.The US 2015/0110269 A1 describes a matrix for encryption that is based on two prime numbers. An interaction with entering a password is not described.

Die US 9,703, 979 B1 beschreibt ein Verschlüsselungsverfahren, bei dem Schlüssel bestimmt werden und mit vorgewählten Überarbeitungsmechanismen derivatisiert werden.The US 9,703,979 B1 describes an encryption method in which keys are determined and derivatized with preselected revision mechanisms.

Die US 8,254, 571 B1 beschreibt das Derivatisieren eines eingegebenen Passwortes durch eine Schleife, deren Ergebnis zur Verschlüsselung eingesetzt werden kann. Die Schleife soll dabei so lange wiederholt durchlaufen werden, bis ein Vergleich mit einer Verifikationsinformation positiv ausfällt.The US 8,254,571 B1 describes the derivatization of an entered password through a loop, the result of which can be used for encryption. The loop should be run through repeatedly until a comparison with verification information turns out to be positive.

Die US 2017/0279606 A1 verwendet durchgängig einen analogen Speicher, von dem für einzelne Zellen die erforderliche Spannung zum Erreichen eines Schwellwerts gemessen wird. Die Zellen können z.B. nach einem ersten Hashwert ausgewählt werden. Als analoger Speicher wird nur ein NAND-Flash-Speicher genannt, für dessen Zellen die erforderliche Anzahl an Spannungsimpulsen gemessen wird. Dabei hängt die Anzahl erforderlicher Spannungsimpulse von dem individuellen Speicherbaustein ab, bzw. ist für verschiedene Speicherbausteine unterschiedlich und erlaubt einen individuellen Fingerabdruck, die auf den Herstellungsprozeß zurückgehen und eine „physikalisch nicht klonierbare Funktion“ („PUF“) ergeben.The U.S. 2017/0279606 A1 uses analog memory throughout, measuring the voltage required for individual cells to reach a threshold value. For example, the cells can be selected according to a first hash value. Only NAND flash memory is mentioned as an analog memory, for whose cells the required number of voltage pulses is measured. The number of voltage pulses required depends on the individual memory chip or is different for different memory chips and allows an individual fingerprint that goes back to the manufacturing process and results in a “physically non-clonable function” (“PUF”).

Die DE 101 48 415 A1 beschreibt zum Verschlüsseln die Eingabe eines kleinen Schlüsselinformationsvektors in eine öffentliche, binär gefüllte Matrix zur Erzeugung eines großen Schlüsselvektors, mit dem anschließend ein Klartext komplett oder abschnittsweise verschlüsselt wird.The DE 101 48 415 A1 describes the entry of a small key information vector into a public, binary-filled matrix to encrypt a large key vector, with which a plain text is then encrypted completely or in sections.

Aufgabe der Erfindungobject of the invention

Der Erfindung stellt sich die Aufgabe, eine alternative Vorrichtung und ein damit durchführbares alternatives Verfahren zur Verschlüsselung und Entschlüsselung bereitzustellen, bei denen bevorzugt die Erzeugung von Schlüsseln von dem Schritt der Verschlüsselung von Daten getrennt ist. Weiter bevorzugt sollen die Vorrichtung und das Verfahren Schlüssel erzeugen können, von denen nicht auf das Verfahren oder ein anfängliches Passwort rückgeschlossen werden kann.The object of the invention is to provide an alternative device and an alternative method for encryption and decryption that can be carried out with it, in which the generation of keys is preferably separated from the step of encrypting data. More preferably, the device and the method should be able to generate keys from which the method or an initial password cannot be inferred.

Beschreibung der ErfindungDescription of the invention

Die Erfindung löst die Aufgabe mit den Merkmalen der Ansprüche und stellt insbesondere eine Vorrichtung bereit, die zur Erzeugung von Schlüsseln eingerichtet ist, und stellt ein Verfahren bereit, mit dem zumindest ein Schlüssel oder eine Abfolge von Schlüsseln erzeugt werden, wobei mit dem zumindest einen Schlüssel bzw. der Abfolge von Schlüsseln Daten verschlüsselt werden und die verschlüsselten Daten entschlüsselt werden können. Im Verfahren erfolgt die Erzeugung des Schlüssels getrennt von der Verschlüsselung der Daten, die den Klartext bilden, so dass aus den verschlüsselten Daten, auch als Kryptoblock bezeichnet, ohne Kenntnis des Schlüssels nicht auf den Schlüssel rückgeschlossen werden kann. Entsprechend ist die Vorrichtung eingerichtet, den zumindest einen Schlüssel oder eine Abfolge von Schlüsseln in elektronischen Bauteilen zu erzeugen, die von einem elektronischen Bauteil, das zur Verschlüsselung von Daten eingerichtet ist, getrennt sind und mit diesem bevorzugt nur zur Übermittlung von Schlüsseln verbunden sind. Bevorzugt sind die elektronischen Bauteile, die zur Erzeugung des zumindest einen Schlüssels eingerichtet sind, nur zur Übermittlung des zumindest einen Schlüssels an das elektronische Bauteil, das zur Verschlüsselung und Entschlüsselung von Daten eingerichtet ist, verbunden. Dabei kann die Verbindung zur Übermittlung des zumindest einen Schlüssels nur in einer Richtung als zulässig eingerichtet sein, nämlich von den elektronischen Bauteilen, die zur Erzeugung des zumindest einen Schlüssels eingerichtet sind, zu dem elektronischen Bauteil, das zur Verschlüsselung und Entschlüsselung von Daten eingerichtet ist. Alternativ kann die Verbindung zur Übermittlung des zumindest einen Schlüssels von den elektronischen Bauteilen, die zur Erzeugung des zumindest einen Schlüssels eingerichtet sind, zu dem elektronischen Bauteil, das zur Verschlüsselung und Entschlüsselung von Daten eingerichtet ist, als zulässig eingerichtet sein und auch die Übermittlung zumindest eines Kryptoblocks von dem elektronischen Bauteil, das zur Verschlüsselung und Entschlüsselung von Daten eingerichtet ist, zu den elektronischen Bauteilen, die zur Erzeugung des zumindest einen Schlüssels eingerichtet sind, als zulässig eingerichtet sein. Das elektronische Bauteil, das zur Verschlüsselung von Daten eingerichtet ist, weist einen Ausgang für verschlüsselte Daten auf und ist z.B. eingerichtet, einen oder mehrere Kryptoblöcke, die verschlüsselte Daten enthalten, auszugeben, z.B. an eine Datenleitung oder an einen Speicher für Kryptoblöcke. The invention solves the problem with the features of the claims and provides in particular a device that is set up for generating keys, and provides a method with which at least one key or a sequence of keys are generated, with the at least one key or the sequence of keys data is encrypted and the encrypted data can be decrypted. In the process, the key is generated separately from the encryption of the data that form the plain text, so that the key cannot be deduced from the encrypted data, also referred to as a crypto block, without knowledge of the key. Accordingly, the device is set up to generate the at least one key or a sequence of keys in electronic components that are separate from an electronic component that is set up for encrypting data and is preferably connected to it only for the transmission of keys. The electronic components that are set up to generate the at least one key are preferably connected only for the transmission of the at least one key to the electronic component that is set up to encrypt and decrypt data. The connection for transmitting the at least one key can only be set up as permissible in one direction, namely from the electronic components set up to generate the at least one key to the electronic component set up to encrypt and decrypt data. Alternatively, the connection for transmitting the at least one key from the electronic components that are set up to generate the at least one key to the electronic component that is set up for encrypting and decrypting data can be set up as permissible and also the transmission of at least one Crypto blocks from the electronic component, which is set up for encrypting and decrypting data, to the electronic components, which are set up to generate the at least one key, be set up as permissible. The electronic component, which is set up for encrypting data, has an output for encrypted data and is set up, for example, to output one or more crypto blocks containing encrypted data, e.g. to a data line or to a memory for crypto blocks.

Das elektronische Bauteil, das zur Verschlüsselung von Daten eingerichtet ist, ist mit einer Datenleitung mit den elektronischen Bauteilen, die zur Erzeugung zumindest eines Schlüssels eingerichtet sind, verbunden, wobei optional die Datenleitung eingerichtet ist, Schlüssel nur in der Richtung von den elektronischen Bauteilen, die zur Erzeugung von Schlüsseln eingerichtet sind, zu dem elektronischen Bauteil zu übermitteln, das zur Verschlüsselung und Entschlüsselung von Daten eingerichtet ist. Zur Eingabe von Daten ist das zur Verschlüsselung und Entschlüsselung von Daten eingerichtete elektronische Bauteil eingerichtet, Daten aufzunehmen, z.B. weist es einen Eingang auf, z.B. eine Datenleitung für eingehende Daten oder einen Speicher, aus dem eingehende Daten ausgelesen werden können. Die Daten können jedwede Daten sein, einschließlich elektronischer Dateien, elektrischer Signale, z.B. Telefonsignale.The electronic component, which is set up for encrypting data, is connected to a data line with the electronic components, which are set up to generate at least one key, with the data line optionally being set up, key only in the direction of the electronic components that are set up to generate keys to transmit to the electronic component that is set up to encrypt and decrypt data. To enter data, the electronic component set up for encrypting and decrypting data is set up to receive data, e.g. it has an input, e.g. a data line for incoming data or a memory from which incoming data can be read. The data can be any data, including electronic files, electrical signals, e.g., telephone signals.

Bevorzugt sind in der Vorrichtung die elektronischen Bauteile, die zur Erzeugung der Schlüssel eingerichtet sind, mit Ausnahme einer Datenleitung zur Übermittlung von Schlüsseln von den elektronischen Bauteilen getrennt, die zur Verschlüsselung und Entschlüsselung der Daten mit dem Schlüssel eingerichtet sind. Entsprechend laufen die Verfahrensschritte, die zur Erzeugung des Schlüssels ablaufen, bevorzugt getrennt von den Verfahrensschritten zur Verschlüsselung und Entschlüsselung der Daten ab, wobei bevorzugt Schlüssel nur in der Richtung von der Erzeugung von Schlüsseln zu der Verschlüsselung und Entschlüsselung der Daten übertragen werden. Das Verfahren läuft in elektronischen Bauteilen ab, z.B. in elektronischen Rechnern und Speichern, bevorzugt in elektronischen Rechnern, die zum Auslesen und/oder Speichern von Daten mit elektronischen Speichern verbunden sind.In the device, the electronic components that are set up to generate the key are preferably separate, with the exception of a data line for transmitting keys, from the electronic components that are set up to encrypt and decrypt the data with the key. Correspondingly, the procedural steps that take place to generate the key preferably run separately from the procedural steps for encrypting and decrypting the data, with keys preferably only being transmitted in the direction from generating keys to encrypting and decrypting the data. The method runs in electronic components, e.g. in electronic computers and memories, preferably in electronic computers which are connected to electronic memories for reading out and/or storing data.

Generell werden mit dem Verfahren die Vorrichtung und deren elektronische Bauteile beschrieben, die für die Schritte des Verfahrens eingerichtet sind, und die Einrichtung der Vorrichtung bzw. die Einrichtung von deren elektronischen Bauteilen beschreibt das Verfahren.In general, the method describes the device and its electronic components that are set up for the steps of the method, and the setting up of the device or the setting up of its electronic components describes the method.

Zur Entschlüsselung läuft das Verfahren zur Erzeugung von zumindest einem Schlüssel gleich ab, bzw. die Vorrichtung zur Erzeugung von zumindest einem Schlüssel ist gleich, wobei das Bauteil zur Verschlüsselung, bevorzugt ein XOR-Rechner, an seinem Eingang verschlüsselte Daten erhält und am Ausgang Daten als Klartext ausgegeben werden. Daher ist das elektronische Bauteil, das zur Verschlüsselung eingerichtet ist, auch zu Entschlüsselung eingerichtet. Daher ist das elektronische Bauteil, das zur Verschlüsselung eingerichtet ist, auch das elektronische Bauteil oder ist gleich dem elektronischen Bauteil, das zur Entschlüsselung eingerichtet ist.For decryption, the method for generating at least one key is the same, or the device for generating at least one key is the same, with the component for encryption, preferably an XOR computer, receiving encrypted data at its input and data as at the output be output in plain text. Therefore, the electronic component that is set up for encryption is also set up for decryption. Therefore, the electronic component that is set up for encryption is also the electronic component or is the same as the electronic component that is set up for decryption.

Die Bestandteile binärer Daten, z.B. binärer Schlüssel oder binär gefüllter Matrizen, werden vorliegend auch als Null oder als Nicht-Null bzw. Eins bezeichnet, wie dies für binäre Daten üblich ist.The components of binary data, e.g. binary keys or binary-filled matrices, are also referred to herein as zero or non-zero or one, as is usual for binary data.

Der Schlüssel wird durch Eingeben und Verarbeiten eines binären Startvektors in einer binär gefüllten Matrix erzeugt. Aus der primären Ausgabe, die aus der Matrix ausgeben wird, auch primärer Schlüsselvektor genannt, wird ein binärer Schlüssel erzeugt.The key is generated by entering and processing a binary start vector in a binary-filled matrix. A binary key is generated from the primary output that is output from the matrix, also called the primary key vector.

Das Erzeugen eines binären Schlüssels aus dem binären Startvektor durch die binäre Matrix erfolgt nach einer festgelegten Regel, die bevorzugt darin besteht, dass jeweils eine Stelle des Startvektors in genau eine Zeile der Matrix eingegeben wird und in jeder Spalte der Matrix, in der eine Eins in dieser Zeile vorliegt, eine Eins für diese Spalte ausgegeben wird, wobei die ausgegebenen Einsen für die Spalte zumindest teilweise oder vollständig aufaddiert werden, um einen primären Schlüsselvektor zu erhalten. Der primäre Schlüsselvektor kann den Schlüssel bilden.A binary key is generated from the binary start vector by the binary matrix according to a fixed rule, which preferably consists of entering one position of the start vector in exactly one row of the matrix and in each column of the matrix in which a one is in this row is present, a one is output for this column, the output ones for the column being at least partially or completely added up in order to obtain a primary key vector. The primary key vector can form the key.

Das Eingeben und Verarbeiten eines binären Startvektors in die Matrix zur Erzeugung des primären Schlüsselvektors umfasst das Eingeben des Startvektors, jeweils eine Stelle in jeweils eine Zeile der Matrix, und das Aufaddieren der Einsen in den einzelnen Spalten der Matrix. Dabei kann das Aufaddieren zumindest teilweise erfolgen, z.B. für eine vorgegebene Reihenfolge der Zeilen, z.B. bis ein vorgegebener Prüfwert jeweils von den einzelnen Stellen des primären Schlüsselvektors überschritten wird, oder mittels Aktivierungszählung und Wertfreigabe. Optional kann das Eingeben des Startvektors für alle Zeilen und das Aufaddieren entlang der Spalten der Matrix gleichzeitig erfolgen.Entering and processing a binary start vector in the matrix to generate the primary key vector comprises entering the start vector, one digit in each row of the matrix, and adding up the ones in each column of the matrix. The adding up can take place at least partially, e.g. for a predetermined sequence of the lines, e.g. until a predetermined test value is exceeded by the individual positions of the primary key vector, or by means of activation counting and value release. Optionally, entering the start vector for all rows and adding them up along the columns of the matrix can be done simultaneously.

Eine Aktivierungszählung bestimmt die Anzahl der Einsen in einem binären Schlüssel, entsprechend ist ein Aktivierungszähler eingerichtet, die Anzahl der Einsen in einem binären Schlüssel zu bestimmen. Eine Wertfreigabe bestimmt die einzustellende Anzahl der Einsen in einem binären Schlüssel.An activation count determines the number of ones in a binary key, correspondingly an activation counter is set up to determine the number of ones in a binary key. A value release determines the number of ones to be set in a binary key.

Für das Einstellen eines ersten Prüfwerts so, dass für eine vorgegebene Anzahl von Stellen im primären Schlüsselvektor der Prüfwert überschritten wird, kann vorgesehen sein, den primären Schlüsselvektor, optional während des Aufaddierens der Einsen jeder Spalte oder anschließend, mittels einer Aktivierungszählung und Wertfreigabe auf die Anzahl der Stellen zu prüfen, in denen dieser Prüfwert überschritten wird. Nur wenn die Wertfreigabe an mindestens der vorgegebenen Anzahl von Stellen den Prüfwert überschreitet, wird der binäre Schlüssel aus dem primären Schlüsselvektor erzeugt. Wenn die Wertfreigabe nicht an mindestens der vorgegebenen Anzahl von Stellen den Prüfwert überschreitet, wird der Prüfwert vermindert, z.B. um 1, und der so erzeugte binäre Schlüssel wird mittels der Aktivierungszählung und Wertfreigabe geprüft. Der Prüfwert kann daher auch als ein zu testender Wert bezeichnet werden, wobei dieser ein fester Wert oder ein einstellbarer Wert sein kann oder veränderlich sein kann. Diese Verminderung des Prüfwerts kann auch als MINA-Verfahren bezeichnet werden.For setting a first check value such that the check value is exceeded for a predetermined number of digits in the primary key vector, the primary key vector can be provided, optionally during the addition of the ones of each column or subsequently, by means of an activation count and value release to the number of the points in which this test value is exceeded. The binary key is only generated from the primary key vector if the value release exceeds the check value at least at the specified number of positions. If the value release does not exceed the check value in at least the specified number of places, the check value is reduced, e.g. by 1, and the binary key thus generated is checked by means of the activation count and value release. The test value can therefore also be referred to as a value to be tested, which can be a fixed value or an adjustable value or can be variable. This reduction in the test value can also be referred to as the MINA method.

Entsprechend kann der primäre Schlüsselvektor, optional während des Aufaddierens der Einsen jeder Spalte oder anschließend, mit einem zu testenden Wert zu einem binären Schlüssel umgerechnet werden und mittels einer Aktivierungszählung und Wertfreigabe der binäre Schlüssel auf die Anzahl der Stellen geprüft werden, die eine Eins enthalten. Nur wenn die Aktivierungszählung an mindestens der von der Wertfreigabe vorgegebenen Anzahl von Stellen eine Eins ergibt, wird der binäre Schlüssel aus dem primären Schlüsselvektor erzeugt. Wenn die Wertfreigabe nicht an mindestens der vorgegebenen Anzahl von Stellen eine Eins ergibt, wird der Prüfwert als zu testender Wert vermindert, z.B. um 1, und erneut ein binärer Schlüssel erzeugt und mittels der Aktivierungszählung und Wertfreigabe geprüft. Für die Aktivierungszählung kann die Vorrichtung einen Aktivierungszähler aufweisen, der optional eingerichtet sein kann, die Summe der Einsen in einem binären Schlüssel in weniger als einem oder in maximal einem Zeitschritt eines Taktsignals zu bestimmen. Bevorzugt weist daher die Vorrichtung einen Aktivierungszähler und eine Freigabeeinrichtung auf, die die Wertfreigabe bilden.Correspondingly, the primary key vector can be converted to a binary key with a value to be tested, optionally during the addition of the ones in each column or afterwards, and the binary key can be checked for the number of digits containing a one by means of an activation count and value release. The binary key is generated from the primary key vector only if the activation count is one in at least the number of positions specified by the value enable. If the value release does not result in a one in at least the specified number of places, the test value is reduced as the value to be tested, e.g. by 1, and a binary key is generated again and checked using the activation count and value release. For the activation count, the device can have an activation counter, which can optionally be set up to determine the sum of the ones in a binary key in less than one or in at most one time step of a clock signal. The device therefore preferably has an activation counter and a release device, which form the value release.

Die Wertfreigabe kann z.B. auf 20 bis 80%, z.B. 30 bis 70% oder 40% bis 60%, bevorzugt 50% bis 55%, z.B. 20%, 30%, 40%, 50%, 55%, 60%, 70% oder 80%, jeweils mit einem Bereich von +/- 5% oder +/- 4% oder +/- 3% oder +/- 2%, der Anzahl der Zeilen der Matrix eingestellt werden. Bevorzugt werden die Einsen an den Stellen der einzelnen Spalten aufaddiert, welche z.B. durch eine oder mehrere der Zeilen mit Einsen in der Eingabe bestimmt sind, bis der Prüfwert, bzw. der Anteil des binären Schlüssels an Einsen, in 20 bis 80%, z.B. 30 bis 70% oder 40% bis 60%, bevorzugt 50% bis 55%, z.B. 20%, 30%, 40%, 50%, 55%, 60%, 70% oder 80%, jeweils mit einem Bereich von +/- 5% oder +/- 4% oder +/-3% oder +/- 2% der Stellen des primären Schlüsselvektors eingestellt ist.The value release can, for example, be set to 20 to 80%, e.g. 30 to 70% or 40% to 60%, preferably 50% to 55%, e.g. 20%, 30%, 40%, 50%, 55%, 60%, 70% or 80%, each with a range of +/- 5% or +/- 4% or +/- 3% or +/- 2% of the number of rows of the matrix. The ones are preferably added up at the positions in the individual columns which are determined, for example, by one or more of the rows with ones in the input, until the check value or the proportion of ones in the binary key is 20 to 80%, e.g. 30 to 70% or 40% to 60%, preferably 50% to 55%, for example 20%, 30%, 40%, 50%, 55%, 60%, 70% or 80%, each with a range of +/- 5% or +/- 4% or +/- 3% or +/- 2% of the digits of the primary key vector.

Alternativ oder zusätzlich kann ein zweiter Prüfwert in Abhängigkeit vom ersten Prüfwert erzeugt werden, z.B. durch Multiplikation des ersten Prüfwerts mit einer Konstanten oder Addition einer Konstanten zum ersten Prüfwert, wobei für jede Spalte der Matrix bzw. jede Stelle des primären Schlüsselvektors eine Null im binären Schlüssel erzeugt wird, für die die Summe bzw. die Stelle des primären Schlüsselvektors den zweiten Prüfwert mindestens erreicht. Dieses Verfahren wird hier als SIGMA-Verfahren bezeichnet.Alternatively or additionally, a second check value can be generated as a function of the first check value, e.g. by multiplying the first check value by a constant or adding a constant to the first check value, with a zero in the binary key for each column of the matrix or each position of the primary key vector is generated for which the sum or the position of the primary key vector at least reaches the second check value. This method is referred to here as the SIGMA method.

Alternativ kann der Prüfwert willkürlich vorgewählt und eingegeben sein, z.B. mittels eines Steuereingangs in die Vorrichtung einzugeben sein.Alternatively, the test value can be arbitrarily preselected and entered, eg entered into the device by means of a control input.

Bei nur teilweisem Aufaddieren der Einsen, die in jeder einzelnen Spalte der Matrix ausgegeben werden, bis ein erster Prüfwert zumindest erreicht oder überschritten ist, kann aus dem so erzeugten primären Schlüsselvektor dadurch ein binärer Schlüssel erzeugt werden, dass für diesen nur an den Stellen eine Eins erzeugt wird, für die die Summe der aufaddierten Einsen gleich oder größer als der erste Prüfwert und kleiner als der zweite Wert ist, und an den anderen Stellen eine Null erzeugt wird.If the ones that are output in each individual column of the matrix are only partially added up, until a first test value is at least reached or exceeded, a binary key can be generated from the primary key vector generated in this way, in that a one is only entered for this in the positions is generated for which the sum of the added ones is equal to or greater than the first test value and less than the second value, and a zero is generated in the other places.

Bevorzugt wird der primäre Schlüsselvektor mittels eines Prüfwerts zu einem binären Schlüssel umgerechnet, indem vom Wert jeder Stelle des primären Schlüsselvektors ein Prüfwert subtrahiert wird, wobei eine Null ausgegeben wird, wenn der Wert der Stelle gleich dem Prüfwert ist oder das Ergebnis der Subtraktion des Prüfwerts vom Wert der Stelle kleiner als Null ist.The primary key vector is preferably converted to a binary key using a check value by subtracting a check value from the value of each digit in the primary key vector, with a zero being output if the value of the digit is equal to the check value or the result of the subtraction of the check value from value of the digit is less than zero.

Der Prüfwert kann generell die Summenzahl der (Einsen des Startvektors)-1 sein oder der Prüfwert kann eine kleinere Zahl sein. Durch die Subtraktion eines ersten Prüfwerts vom primären Schlüsselvektor weist der binäre Schlüssel an jeder Stelle, in der der Wert des primären Schlüsselvektors gleich dem oder kleiner als der erste Prüfwert ist, eine Null auf und weist nur an den Stellen eine Eins auf, in denen der primäre Schlüsselvektor einen Wert hat, der größer als der erste Prüfwert ist.The check value can generally be the sum number of (ones of the start vector)-1 or the check value can be a smaller number. By subtracting a first check value from the primary key vector, the binary key will have a zero wherever the value of the primary key vector is equal to or less than the first check value, and will have a one only where the primary key vector has a value greater than the first check value.

Entsprechend kann vorgesehen sein, als ersten Prüfwert die Summenzahl der Einsen des Startvektors zu bestimmen und davon Eins zu subtrahieren. Alternativ kann vorgesehen sein, als Prüfwert die größte Zahl oder eine kleinere Zahl, z.B. den Wert in der ersten oder zweiten Stelle oder einen vorbestimmten der Werte, die kleiner als die größte Zahl sind, in den Stellen des primären Schlüsselvektors zu bestimmen und optional von dieser Zahl Eins zu subtrahieren. Dann kann der Prüfwert unabhängig von der Größe der Matrix bestimmt werden und der Prüfwert von den Ergebnissen der Stellen des primären Schlüsselvektors subtrahiert werden.Accordingly, it can be provided that the total number of ones in the start vector is determined as the first test value and one is subtracted from it. Alternatively, it can be provided that the largest number or a smaller number, e.g. the value in the first or second digit or a predetermined one of the values that are smaller than the largest number, in the digits of the primary key vector and optionally from this can be determined as the test value Subtract number one. Then the check value can be determined independently of the size of the matrix and the check value subtracted from the results of the locations of the primary key vector.

Optional kann vor der Umrechnung des primären Schlüsselvektors zu einem binären Schlüssel jede Stelle des primären Schlüsselvektors zusätzlich transformiert werden, z.B. mittels einer Modulo-Berechnung (Restklassenberechnung), bei der die jeweilige Summenzahl der Einsen für jede Stelle zyklisch mit einer kleineren Zahl reduziert wird. Die Modulo-Berechnung kann z.B. das Aufaddieren der Einsen für jede Spalte in einem Modulo-Zähler sein. Weiter optional kann der primäre Schlüsselvektor vor der Umrechnung zu einem binären Schlüssel mittels des SIGMA-Verfahrens und/oder der Modulo2-Funktion transformiert werden.Optionally, before converting the primary key vector to a binary key, each digit of the primary key vector can be additionally transformed, e.g. by means of a modulo calculation (residual class calculation), in which the respective total number of ones for each digit is reduced cyclically with a smaller number. For example, the modulo calculation can be adding up the ones for each column in a modulo counter. As a further option, the primary key vector can be transformed into a binary key using the SIGMA method and/or the modulo2 function before the conversion.

Weiter optional kann die Vorrichtung eingerichtet sein, bei der Umrechnung des primären Schlüsselvektors in einen binären Schlüssel bei den Stellen des primären Schlüsselvektors, die einen zweiten Prüfwert überschreiten, eine Null auszugeben. In dieser Ausführungsform wird nur für die Stellen des primären Schlüsselvektors, deren Werte größer als der erste Prüfwert und kleiner als der zweite Prüfwert ist, im binären Schlüssel eine Eins erzeugt, für die Stellen des primären Schlüsselvektors, deren Werte gleich oder kleiner als der erste Prüfwert sind und größer als der zweite Prüfwert, wird im binären Schlüssel eine Null erzeugt. Der zweite Prüfwert kann z.B. die Summe aus dem ersten Prüfwert mit einer einzugebenden ganzen Zahl sein.As a further option, the device can be set up, when converting the primary key vector into a binary key, to output a zero for the positions in the primary key vector that exceed a second test value. In this embodiment, a one is generated in the binary key only for those positions in the primary key vector whose values are greater than the first check value and less than the second check value, for positions in the primary key vector whose values are equal to or less than the first check value are greater than the second check value, a zero is generated in the binary key. The second check value can, for example, be the sum of the first check value and an integer to be entered.

Die Matrix ist binär gefüllt und weist bevorzugt einen Gehalt an Einsen von 30 bis 70% ihrer Stellen auf, bevorzugter einen Gehalt an Eins von 40 bis 60%, noch bevorzugter einen Gehalt von 45 bis 55% oder von 48 bis 52% an Einsen auf.The matrix is binary filled and preferably has from 30 to 70% of its digits ones, more preferably from 40 to 60% ones, still more preferably from 45 to 55% or from 48 to 52% ones content .

Die Matrix ist reproduzierbar erzeugt, bevorzugt wird die Matrix vor jeder Erzeugung eines Schlüssels neuerlich erzeugt und die Matrix wird zwischenzeitlich gelöscht, z.B. durch Stromlosschalten des elektronischen Bauteils, in dem die Matrix enthalten ist. Z.B. kann die Matrix nach der Erzeugung eines Schlüssels, nach einer vorbestimmten Betriebszeit, oder durch ein vorbestimmtes Signal gesteuert gelöscht werden. Das vorbestimmte Signal kann z.B. ein Signal sein, das von einem an der Vorrichtung angebrachten Abstandssensor, der z.B. ein elektromagnetisches Bauteil, ein Transponder oder RFID-Chip ist, bei Überschreiten eines vorgegebenen Abstands von einem Fixpunkt erzeugt werden, an dem ein mit dem Abstandssensor wechselwirkendes Element angebracht ist. Das elektronische Bauteil enthält bevorzugt einen reversiblen Speicher, aus dem die Matrix bei Stromlosschalten gelöscht wird, bzw. in dem die Matrix nur bei Stromversorgung gespeichert ist. Das Stromlosschalten kann alternativ oder zusätzlich durch Unterbrechen der Stromversorgung des elektronischen Bauteils ausgelöst sein, z.B. durch Betätigung eines Schalters, der beim Öffnen eines Gehäuses betätigt wird oder durch Unterbrechen einer Leitung der Vorrichtung. Entsprechend ist bevorzugt das elektronische Bauteil, in dem die Matrix gespeichert ist, eingerichtet, die Matrix vor jeder Erzeugung eines Schlüssels zu erzeugen bzw. zu speichern und die Matrix nach jeder Erzeugung eines Schlüssels zu löschen.The matrix is generated in a reproducible manner, preferably the matrix is generated again before each generation of a key and the matrix is deleted in the meantime, e.g. by switching off the power to the electronic component in which the matrix is contained. For example, the matrix can be erased after generation of a key, after a predetermined period of operation, or under the control of a predetermined signal. The predetermined signal can, for example, be a signal that is generated by a distance sensor attached to the device, which is e.g. an electromagnetic component, a transponder or RFID chip, when a predetermined distance from a fixed point is exceeded, at which a item is attached. The electronic component preferably contains a reversible memory from which the matrix is deleted when the power is switched off, or in which the matrix is only stored when the power is supplied. The de-energization can alternatively or additionally be triggered by interrupting the power supply of the electronic component, e.g. by actuating a switch that is actuated when a housing is opened or by interrupting a line of the device. Accordingly, the electronic component in which the matrix is stored is preferably set up to generate or store the matrix before each generation of a key and to delete the matrix after each generation of a key.

Bevorzugt ist das elektronische Bauteil, das eine Matrix enthält, eingerichtet, eine Matrix reversibel zu speichern und zu löschen. Dabei kann dieses elektronische Bauteil mit einem Pseudozufallszahlengenerator oder einem Generator zur Erzeugung einer regelbasierten oder vorgegebenen Matrix verbunden sein.The electronic component, which contains a matrix, is preferably set up to reversibly store and erase a matrix. This can electronic component can be connected to a pseudo-random number generator or a generator for generating a rule-based or predetermined matrix.

Optional kann das elektronische Bauteil, das eine Matrix enthält, eingerichtet sein, die Matrix irreversibel zu enthalten. Das elektronische Bauteil, in dem die Matrix enthalten ist, wird vorliegend auch als Speicher für eine binäre Matrix bezeichnet. Dieses elektronische Bauteil ist eingerichtet, bei Eingabe des Startvektors in die Matrix zumindest einen primären Schlüsselvektor und daraus einen binären Schlüssel zu erzeugen. Das elektronische Bauteil ist daher eingerichtet, die Matrix zu enthalten und bei Eingabe des Startvektors in die Matrix zumindest einen primären Schlüsselvektor und daraus zumindest einen binären Schlüssel zu erzeugen. Dieses elektronische Bauteil wird vorliegend auch als Computerchip bzw. als elektronisches Bauteil zur Erzeugung von Schlüsseln bezeichnet.Optionally, the electronic component that contains a matrix can be set up to irreversibly contain the matrix. The electronic component in which the matrix is contained is also referred to here as a memory for a binary matrix. This electronic component is set up to generate at least one primary key vector and from this a binary key when the start vector is entered into the matrix. The electronic component is therefore set up to contain the matrix and to generate at least one primary key vector and from this at least one binary key when the start vector is entered into the matrix. In the present case, this electronic component is also referred to as a computer chip or as an electronic component for generating keys.

Erfindungsgemäß bevorzugt ist das elektronische Bauteil, das zur Verschlüsselung und/oder Entschlüsselung der Daten mittels des Schlüssels eingerichtet ist, ein von dem elektronischen Bauteil, in dem die Matrix enthalten ist, separates Bauteil, wobei diese nur zur Übermittlung binärer Schlüssel verbunden sind, z.B. mittels eines zwischengeschalteten Prozessors, der zur Erzeugung eines binären Schlüssels aus einem primären Schlüsselvektor eingerichtet ist. Das elektronische Bauteil, das die Matrix enthält und bevorzugt eingerichtet ist, bei Eingabe eines Startvektors einen primären Schlüsselvektor zu erzeugen, wird vorliegend als Speicher für die Matrix und auch als Matrixspeicher bezeichnet. Dabei kann der Matrixspeicher eingerichtet sein, den primären Schlüsselvektor ausschließlich an einen Prozessor zur Prüfwertreduktion zu übermitteln, der aus dem primären Schlüsselvektor einen binären Schlüssel erzeugt und eingerichtet ist, diesen an das elektronische Bauteil zu übermitteln, das zur Verschlüsselung und/oder Entschlüsselung der Daten eingerichtet ist.According to the invention, the electronic component that is set up for encrypting and/or decrypting the data using the key is a component that is separate from the electronic component in which the matrix is contained, with the latter only being connected for the transmission of binary keys, e.g an intermediate processor arranged to generate a binary key from a primary key vector. The electronic component that contains the matrix and is preferably set up to generate a primary key vector when a start vector is input is referred to here as a memory for the matrix and also as a matrix memory. The matrix memory can be set up to transmit the primary key vector exclusively to a processor for checking value reduction, which generates a binary key from the primary key vector and is set up to transmit this to the electronic component that is set up to encrypt and/or decrypt the data is.

Durch die Anordnung des elektronischen Bauteils, das die Matrix enthält, separat von dem elektronischen Bauteil, das zur Verschlüsselung und/oder Entschlüsselung der Daten mittels des Schlüssels eingerichtet ist, ist die Vorrichtung bzw. das Verfahren gegen einen Angriff sicher, der auf das elektronische Bauteil gerichtet ist, das zur Verschlüsselung eingerichtet ist. Denn in diesem Bauteil ist der Schlüssel nicht dauerhaft gespeichert, sondern bevorzugt nur während der eigentlichen Verschlüsselung, z.B. mit der XOR-Funktion, separat vorhanden. Bevorzugt ist auch dieses elektronische Bauteil eingerichtet, im stromlosen Zustand keine Daten gespeichert zu enthalten, bzw. nur einen leeren Speicher aufzuweisen.By arranging the electronic component, which contains the matrix, separately from the electronic component, which is set up for encrypting and/or decrypting the data using the key, the device or the method is secure against an attack on the electronic component that is set up for encryption. Because the key is not permanently stored in this component, but is preferably only available separately during the actual encryption, e.g. with the XOR function. This electronic component is preferably also set up so that it does not contain any stored data in the de-energized state, or only has an empty memory.

In einer Ausführungsform ist die Matrix pseudo-zufällig binär gefüllt bzw. erzeugt, z.B. unter Verwendung eines Pseudozufallszahlengenerators mit großer Periode und durch Eingabe eines Startwerts, wobei die Befüllung optional spaltenweise erfolgen kann, bis jeweils der Gehalt der Matrix an Einsen erreicht ist. Ein solcher Startwert, der in den Pseudozufallszahlengenerator eingegeben wird, kann Teil des Startvektors sein oder Teil eines Passworts, auf dessen Basis der Startvektor erzeugt wird.In one embodiment, the matrix is filled or generated in a pseudo-random binary manner, e.g. using a pseudo-random number generator with a large period and by entering a start value, with the filling optionally taking place column-by-column until the matrix content of ones is reached. Such a start value, which is entered into the pseudo-random number generator, can be part of the start vector or part of a password on the basis of which the start vector is generated.

Der Pseudozufallszahlengenerator kann ein rückgekoppeltes Schieberegister sein, welches eine Periode von ca. 10200 aufweist. Die Erzeugung bzw. Befüllung der Matrix mit Pseudozufallswerten kann durch linear rückgekoppelte Schieberegister erfolgen, so dass die Positionen der Matrix auf Null oder Eins gesetzt werden. Bevorzugt ist der Pseudozufallszahlengenerator aus einer anfänglichen Matrix gebildet, wobei sich die Pseudozufallszahlen jeweils aus den binären Schlüsseln ergeben, die nach einem der vorliegend beschriebenen Verfahren mit einer anfänglichen Matrix erzeugt sind und die binären Schlüssel wieder als Eingabe in die anfängliche Matrix eingegeben werden, so dass eine Abfolge binärer Schlüssel erzeugt wird, mit der die Matrix befüllt wird. Diese anfängliche Matrix kann durch ein rückgekoppeltes Schieberegister oder regelbasiert gefüllt sein. Die Befüllung der Matrix kann alternativ eine vorgegebene Befüllung sein.The pseudo-random number generator can be a feedback shift register which has a period of approximately 10,200 . The matrix can be generated or filled with pseudo-random values using linear feedback shift registers, so that the positions of the matrix are set to zero or one. The pseudo-random number generator is preferably formed from an initial matrix, with the pseudo-random numbers each resulting from the binary keys that are generated using one of the methods described here with an initial matrix and the binary keys are entered again as input in the initial matrix, so that a sequence of binary keys is generated, with which the matrix is filled. This initial matrix can be filled by a feedback shift register or rule-based. Alternatively, the filling of the matrix can be a predetermined filling.

Die Matrix kann z.B. eine Größe von zumindest 100 Zeilen, bevorzugter zumindest 1000 Zeilen aufweisen und unabhängig von der Anzahl der Zeilen zumindest 100 Spalten, bevorzugter zumindest 1000 Spalten oder mehr aufweisen. Die Matrix kann z.B. 100 × 100 Stellen, bevorzugt von 1000 × 1000 Stellen oder mehr aufweisen. Bevorzugt weist die Matrix 2n Zeilen und 2m Spalten auf, wobei n und m jeweils unabhängig voneinander oder gleich eine ganze Zahl von zumindest 5 ist, z.B. bis 15, und n und m unabhängig voneinander oder gleich vorzugsweise zumindest 6, 7, 8, 9, 10, 11, 12, 13 oder zumindest 14 ist.The matrix can, for example, have a size of at least 100 rows, more preferably at least 1000 rows, and independently of the number of rows, have at least 100 columns, more preferably at least 1000 columns or more. The matrix can have, for example, 100×100 positions, preferably 1000×1000 positions or more. The matrix preferably has 2n rows and 2m columns, where n and m are independent of one another or are equal to an integer of at least 5, for example up to 15, and n and m are independent of one another or are equal, preferably at least 6, 7, 8, 9, 10, 11, 12, 13 or at least 14.

Ein binärer Schlüssel kann eine Länge entsprechend eines Anteils der gesamten oder eines Vielfachen der Anzahl der Spalten der Matrix aufweisen. Optional kann ein binärer Schlüssel eine Länge aufweisen, die zumindest einen Anteil von zumindest zwei binären Schlüsseln umfasst, die aus einer Abfolge von binären Schlüsseln stammen.A binary key may have a length equal to a fraction of the total or a multiple of the number of columns in the matrix. Optionally, a binary key can have a length that includes at least a portion of at least two binary keys that come from a sequence of binary keys.

Der Startvektor kann eine Größe haben, die kleiner als, die gleich der oder die größer als die Anzahl der Zeilen der Matrix ist.The starting vector can have a size less than, equal to, or greater than the number of rows in the matrix.

Der Startvektor wird bevorzugt reproduzierbar aus der Eingabe eines Passworts erzeugt, z.B. mittels Eingabe eines Passworts in ein Eingabegerät, das z.B. ein Tastenfeld oder ein Datenanschluss zum Einlesen einer Datei sein kann, wobei die Eingabe des Passworts bevorzugt mittels eines Pseudozufallszahlengenerators den Startvektor erzeugt. Bevorzugt weist das Eingabegerät zumindest 9, bevorzugter zumindest 16 verschiedene auswählbare Symbole auf und ist zur Anzeige dieser Symbole eingerichtet, aus denen ein Passwort durch manuelle Auswahl bestimmt werden kann. Die auswählbaren Symbole können vorbestimmte Ausschnitte eines Bildes sein. Generell kann die Reihenfolge der manuellen Auswahl der Symbole einen Teil des Startvektors bilden. Dabei ist die Vorrichtung bevorzugt eingerichtet, die manuelle Auswahl von Symbolen in ein Passwort umzuwandeln, das einer Zeichenfolge aus einem Zeichenvorrat entspricht, wie z.B. alphanumerische Passwörter.The start vector is preferably generated reproducibly from the input of a password, e.g by entering a password into an input device, which can be, for example, a keypad or a data connection for reading in a file, with the entry of the password preferably generating the start vector by means of a pseudo-random number generator. The input device preferably has at least 9, more preferably at least 16, different symbols that can be selected and is set up to display these symbols, from which a password can be determined by manual selection. The symbols that can be selected can be predetermined sections of an image. In general, the order of manual selection of the symbols can form part of the start vector. The device is preferably set up to convert the manual selection of symbols into a password that corresponds to a character string from a set of characters, such as alphanumeric passwords.

In Ausführungsformen, in denen die Matrix reproduzierbar zufällig, insbesondere pseudozufällig erzeugt ist, ist der Matrixspeicher z.B. mit einem Pseudozufallszahlengenerator verbunden und eingerichtet, so dass nach Eingabe eines Startwerts der Matrixspeicher mit einer Matrix gefüllt wird.In embodiments in which the matrix is generated reproducibly randomly, in particular pseudo-randomly, the matrix memory is connected to a pseudo-random number generator, for example, and set up so that after a start value has been entered, the matrix memory is filled with a matrix.

Das elektronische Bauteil, das zur Verschlüsselung und/oder Entschlüsselung der Daten eingerichtet ist, ist bevorzugt ein Rechner, der zur Ausführung der XOR-Funktion für den Datenabschnitt des Klartexts und einen binären Schlüssel eingerichtet ist, und wird vorliegend auch stellvertretend als XOR-Rechner bezeichnet. Der XOR-Rechner weist eine Schnittstelle zur Eingabe des Schlüssels auf, eine Schnittstelle zur Eingabe und/oder Ausgabe für die Daten, die den Klartext bilden, und eine Schnittstelle zur Eingabe und/oder Ausgabe des Kryptoblocks.The electronic component that is set up to encrypt and/or decrypt the data is preferably a computer that is set up to perform the XOR function for the data section of the plain text and a binary key, and is also referred to here as an XOR computer . The XOR calculator has an interface for inputting the key, an interface for inputting and/or outputting the data constituting the plaintext, and an interface for inputting and/or outputting the crypto block.

In einer bevorzugten Ausführungsform ist die Vorrichtung eingerichtet, die Daten in Datenabschnitte zu unterteilen und diese Abschnitte separat zu verschlüsseln. Die Abschnitte können jeweils dieselbe Länge, bzw. Anzahl an Stellen, aufweisen oder unterschiedliche Längen. Bevorzugt weist der binäre Schlüssel dieselbe Länge bzw. Anzahl an Stellen auf, wie der zu verschlüsselnde Abschnitt der Daten, die den Klartext bilden.In a preferred embodiment, the device is set up to divide the data into data sections and to encrypt these sections separately. The sections can each have the same length or number of points, or different lengths. The binary key preferably has the same length or number of positions as the section of the data to be encrypted that forms the plain text.

Weiter bevorzugt ist die Vorrichtung eingerichtet, eine Abfolge von Schlüsseln zu erzeugen und Abschnitte der Daten mit den Schlüsseln zu verschlüsseln, z.B. mit den Schlüsseln in ihrer Abfolge, in der sie erzeugt wurden oder mit vorbestimmten Schlüsseln ihrer Abfolge.More preferably, the device is set up to generate a sequence of keys and to encrypt sections of the data with the keys, e.g. with the keys in the sequence in which they were generated or with predetermined keys in their sequence.

Zur Erzeugung der Abfolge von Schlüsseln ist die Vorrichtung eingerichtet, einen binären Schlüssel zu erzeugen und diesen als Eingabe in die Matrix einzugeben und einen weiteren binären Schlüssel zu erzeugen, und diesen ebenfalls wieder als Eingabe in die Matrix einzugeben, um einen noch weiteren binären Schlüssel zu erzeugen, die die Abfolge von Schlüsseln bilden. Dabei erzeugt jeder Durchlauf eines binären Schlüssels durch eine Matrix einen weiteren primären Schlüsselvektor und daraus einen weiteren binären Schlüssel.To generate the sequence of keys, the device is set up to generate a binary key and enter this as input into the matrix and to generate another binary key and also enter this again as input into the matrix to generate yet another binary key generate which form the sequence of keys. Each passage of a binary key through a matrix generates another primary key vector and from this another binary key.

Zur Erzeugung einer Abfolge von Schlüsseln kann die Vorrichtung optional eingerichtet sein, einen Kryptoblock als Eingabe in die Matrix einzugeben und einen weiteren binären Schlüssel zu erzeugen, mit dem ein nächster Datenabschnitt verschlüsselt wird. Bei dieser Ausführung ist jeder folgende binäre Schlüssel von dem vorher erzeugten Schlüssel und einem Datenabschnitt abhängig. Dabei ist zumindest einer der Kryptoblöcke, bevorzugt jeder Kryptoblock, aus einem binären Schlüssel und einem Datenabschnitt des Klartexts erzeugt. In order to generate a sequence of keys, the device can optionally be set up to enter a crypto block as input into the matrix and to generate a further binary key with which a next data section is encrypted. In this implementation, each subsequent binary key is dependent on the previously generated key and a data portion. At least one of the crypto blocks, preferably each crypto block, is generated from a binary key and a data section of the plain text.

In bevorzugter Ausführungsform ist die Vorrichtung eingerichtet, einen Klartext in eine Reihe von zumindest 3 aneinander angrenzenden Datenabschnitten zu teilen und mit einem ersten binären Schlüssel den zweiten Datenabschnitt zu einem ersten Kryptoblock zu verschlüsseln, den ersten Kryptoblock als Eingabe in die Matrix einzugeben und damit einen weiteren binären Schlüssel zu erzeugen und mit diesem den nächsten Datenabschnitt zu verschlüsseln. In dieser Ausführungsform wird der letzte Datenabschnitt der Reihe mit einem binären Schlüssel verschlüsselt, der durch Eingabe des Kryptoblocks zu dem vorletzten Datenabschnitt erzeugt wurde. Der erste Datenabschnitt wird schließlich mit dem Schlüssel verschlüsselt, der durch Eingabe des Kryptoblocks zu dem letzten Datenabschnitt der Reihe in die Matrix erzeugt wurde. In dieser Ausführungsform kann die Entschlüsselung durch eine Vorrichtung erfolgen, die eingerichtet ist, den einen Kryptoblock als Eingabe in die Matrix einzugeben, um den Schlüssel für den nächsten Krytoblock zu erzeugen und diesen zu entschlüsseln.In a preferred embodiment, the device is set up to divide a plain text into a series of at least 3 adjacent data sections and to encrypt the second data section to form a first crypto block with a first binary key, to enter the first crypto block as input into the matrix and thus to enter another generate a binary key and use it to encrypt the next section of data. In this embodiment, the last data section of the series is encrypted with a binary key that was generated by entering the crypto block for the penultimate data section. The first data chunk is finally encrypted with the key generated by entering the cryptoblock associated with the last data chunk of the series into the matrix. In this embodiment, the decryption can be performed by a device that is set up to enter the one cryptoblock as input into the matrix in order to generate the key for the next cryptoblock and to decrypt it.

Beim Verfahren zur Erzeugung einer Abfolge von Schlüsseln ist generell bevorzugt, dass die Datenabschnitte, die binären Schlüssel und/oder die Kryptoblöcke mit einem Index für ihre Reihenfolge versehen werden. Entsprechend kann die Vorrichtung eingerichtet sein, Datenabschnitte, binäre Schlüssel und/oder Kryptoblöcke mit einem Index für ihre Reihenfolge zu versehen. Bevorzugt wird der Index als Teil des Kryptoblocks verschlüsselt.In the method for generating a sequence of keys, it is generally preferred that the data sections, the binary keys and/or the crypto blocks are provided with an index for their sequence. Accordingly, the device can be set up to provide data sections, binary keys and/or crypto blocks with an index for their order. Preferably the index is encrypted as part of the crypto block.

Bevorzugt ist die Vorrichtung eingerichtet, für jede Erzeugung eines weiteren Schlüssels dieselbe Matrix zu verwenden. Alternativ kann die Vorrichtung eingerichtet sein, jeden oder bestimmte aus der Abfolge der binären Schlüssel in eine andere Matrix einzugeben, um einen weiteren Schlüssel zu erzeugen. Bei Erzeugung einer Abfolge von primären Schlüsseln kann jeder Schlüssel aus der Abfolge von Schlüsseln zur Verschlüsselung der Abschnitte der Daten eingesetzt werden, oder nur eine vorbestimmte Anzahl oder weitere Schlüssel, die durch eine vorbestimmte Anzahl von Durchläufen durch eine Matrix, optional durch zumindest zwei Matrizen, erzeugt wurden. Dabei ist die Vorrichtung bevorzugt eingerichtet, die Anzahl der Eingaben bzw. der Durchläufe binärer Schlüssel durch die Matrix aufzuzeichnen und optional diese Anzahl auszugeben, z.B. an einen binären Schlüssel anzuhängen, z.B. nur an einen Schlüssel oder eine Kopie eines Schlüssels, der nur an den XOR-Rechner übermittelt wird und nicht erneut als Eingabe in die Matrix eingegeben wird. Alternativ kann die Anzahl der Durchläufe binärer Schlüssel durch die Matrix an einen binären Schlüssel angehängt werden, der anschließend als Eingabe in die Matrix eingegeben wird, um einen weiteren Schlüssel zu erzeugen, so dass die an einen binären Schlüssel angehängten Daten für die Anzahl der Durchläufe den weiteren Schlüssel beeinflussen. Hier kann das Anhängen der Daten für die Anzahl der Durchläufe an einen binären Schlüssel z.B. das Anfügen der Anzahl an den Anfang, innerhalb oder an das Ende des Schlüssels sein.The device is preferably set up to use the same matrix for each generation of a further key. Alternatively, the device can be set up to enter each or specific ones from the sequence of binary keys into another matrix in order to generate a further key. When generating a sequence of primary Keys can be any key from the sequence of keys used to encrypt the portions of the data, or only a predetermined number or further keys generated by a predetermined number of passes through a matrix, optionally at least two matrices. The device is preferably set up to record the number of inputs or runs of binary keys through the matrix and optionally to output this number, e.g. to append to a binary key, e.g. only to a key or a copy of a key that only to the XOR -Calculator and not re-entered as input to the matrix. Alternatively, the number of passes of binary keys through the matrix can be appended to a binary key which is then fed as input to the matrix to generate another key such that the data appended to a binary key for the number of passes the affect another key. Here, appending the data for the number of runs to a binary key can be, for example, appending the number at the beginning, inside or at the end of the key.

Ein Vorteil der Erfindung liegt darin, dass mit nur einer Matrix oder mit einer Anzahl von zumindest zwei Matrizen jeweils ein binärer Schlüssel bzw. zumindest zwei binäre Schlüssel auf Basis eines Startvektors erzeugt werden, wobei die Erzeugung des binären Schlüssels von der Verschlüsselung der Daten separat abläuft und nur von einem Prozessor aus primären Schlüsselvektoren erzeugte binäre Schlüssel in Richtung zu dem elektronischen Bauteil zur Verschlüsselung und Entschlüsselung übermittelt werden.An advantage of the invention is that with only one matrix or with a number of at least two matrices, one binary key or at least two binary keys are generated on the basis of a start vector, the binary key being generated separately from the encryption of the data and only binary keys generated by a processor from primary key vectors are communicated towards the electronic component for encryption and decryption.

In Ausführungsformen, in denen ein erzeugter binärer Schlüssel als Eingabe in eine Matrix eingegeben wird, um einen weiteren binären Schlüssel zu erzeugen, wobei diese Schleife, in der jeweils der binäre Schlüssel wieder in eine Matrix eingeben wird, zumindest einmal wiederholt wird, liegt ein Vorteil darin, dass mit nur einem Startvektor und mit nur einer Matrix, oder mit zumindest zwei unterschiedlichen Matrizen, eine Abfolge einer großen Anzahl von binären Schlüsseln erzeugt werden kann, wobei überdies mit überwiegender Wahrscheinlichkeit nicht von einem binären Schlüssel auf einen anderen binären Schlüssel der Abfolge geschlossen werden kann.An advantage resides in embodiments in which a generated binary key is input into an array to generate another binary key, repeating this loop at least once each time the binary key is input back into an array in that with only one start vector and with only one matrix, or with at least two different matrices, a sequence of a large number of binary keys can be generated, with the majority of probability not being inferred from one binary key to another binary key in the sequence can be.

Optional weist der XOR-Rechner in dieser Ausführungsform eine Schnittstelle zur Ausgabe des Schlüssels bzw. der Abfolge von Schlüsseln auf, die zur Übermittlung von Schlüsseln an den Matrixspeicher eingerichtet ist. Bevorzugt weist der XOR-Rechner in dieser Ausführungsform nur einen Eingang zur Eingabe von Schlüsseln auf und ein elektronisches Bauteil, das zwischen dem Matrixspeicher und dem XOR-Rechner angeordnet ist, leitet Schlüssel einmal an den XOR-Rechner und einmal als Eingabe an den Matrixspeicher. Bevorzugt weist der XOR-Rechner ein erstes Register auf, das mit einer Schnittstelle, die bevorzugt eine serielle Schnittstelle ist, verbunden ist. Das erste Register ist eingerichtet, die Daten und/oder den Kryptoblock in binärem Format zu speichern. Der binäre Schlüssel ist bevorzugt in einem zweiten Register eines elektronischen Bauteils enthalten, das mit dem XOR-Rechner verbunden ist, um den binären Schlüssel in den XOR-Rechner zu übertragen. Das elektronische Bauteil, in dem die Matrix enthalten ist, weist ein drittes Register auf, in dem die Matrix reversibel oder festgelegt bzw. irreversibel enthalten ist. Zur Erzeugung des primären Schlüsselvektors ist das Bauteil, das das dritte Register enthält, eingerichtet, für jede Zeile die durch die Eingabe des Startvektors erzeugten Werte für jede Spalte aufzusummieren. Das dritte Register kann z.B. in einem bitweise adressierbaren Speicher, bevorzugt mit wahlfreiem Zugriff (RAM), enthalten sein. Dabei kann das dritte Register auf mehrere RAM-Blöcke verteilt vorliegen. Bevorzugt sind mehrere RAM-Blöcke so verschaltet, dass darauf parallel zugegriffen werden kann.In this embodiment, the XOR computer optionally has an interface for outputting the key or the sequence of keys, which is set up for transmitting keys to the matrix memory. In this embodiment, the XOR calculator preferably has only one input for entering keys, and an electronic component which is arranged between the matrix memory and the XOR calculator routes keys once to the XOR calculator and once as an input to the matrix memory. The XOR calculator preferably has a first register which is connected to an interface which is preferably a serial interface. The first register is set up to store the data and/or the crypto block in binary format. The binary key is preferably contained in a second register of an electronic component which is connected to the XOR calculator in order to transfer the binary key into the XOR calculator. The electronic component in which the matrix is contained has a third register in which the matrix is contained reversibly or fixed or irreversibly. In order to generate the primary key vector, the component which contains the third register is set up to sum up the values generated by the input of the start vector for each column for each row. For example, the third register may be contained in a bit-addressable memory, preferably random access memory (RAM). The third register can be distributed over several RAM blocks. A plurality of RAM blocks are preferably interconnected in such a way that they can be accessed in parallel.

Das dritte Register weist einen Ausgang auf, der mit einem Rechner zur Prüfwertreduktion und mit dem zweiten Register verbunden ist, um den aus der Ausgabe des dritten Registers bestimmten binären Schlüssel in das zweite Register zu übertragen. Der Rechner zur Prüfwertreduktion weist z.B. ein viertes Register auf, das eingerichtet ist, positive ganzzahlige Einträge aufzunehmen und das zur Übertragung des aus dem primären Schlüsselvektor erzeugten binären Schlüssels mit dem zweiten Register verbunden ist.The third register has an output connected to a check value reduction calculator and to the second register for transferring the binary key determined from the output of the third register to the second register. For example, the check value reduction calculator has a fourth register configured to receive positive integer entries and connected to the second register for transmitting the binary key generated from the primary key vector.

Das zweite Register ist bevorzugt mit der Eingabe des elektronischen Bauteils verbunden, in dem die Matrix in einem dritten Register enthalten ist, um den binären Schlüssel in das dritte Register einzugeben und einen weiteren binären Schlüssel zu erzeugen.The second register is preferably connected to the input of the electronic component in which the matrix is contained in a third register in order to enter the binary key in the third register and generate another binary key.

Optional sind das erste und das zweite Register eingerichtet, binäre Daten aufzunehmen.The first and second registers are optionally set up to hold binary data.

Optional ist die Vorrichtung eingerichtet, dass sie bei Betätigung des Eingabegeräts für jede Eingabe, bzw. unabhängig von der Eingabe, aktiviert wird und das Verfahren durchführt, insbesondere den zumindest einen Schlüssel zu erzeugen und in das elektronische Bauteil zur Verschlüsselung eingegebene Daten mit dem Schlüssel zu verschlüsseln oder für eingegebene Kryptoblöcke das Entschlüsselungsverfahren mit dem Schlüssel ablaufen zu lassen. Dabei ist die Vorrichtung eingerichtet, das Verfahren für jede Eingabe, auch für nicht zutreffende Passworteingaben, ablaufen zu lassen. So wird ein Klartext bei jeder Eingabe in das Eingabegerät zur Eingabe eines Passworts verschlüsselt und jeder Kryptoblock wird mit dem Entschlüsselungsverfahren behandelt, wobei allerdings für Eingaben, die nicht dem Passwort entsprechen, ein anderer binärer Schlüssel erzeugt wird und entsprechend das Entschlüsselungsverfahren aus Kryptoblöcken, die mit einem Schlüssel auf Basis eines anderen Passworts erzeugt wurden, nicht der ursprüngliche Klartext erzeugt wird.Optionally, the device is set up so that it is activated when the input device is actuated for each input, or independently of the input, and carries out the method, in particular generating the at least one key and data entered into the electronic component for encryption with the key encrypt or run the decryption process with the key for entered crypto blocks. The device is set up, the Ver run for each entry, including incorrect password entries. A plain text is encrypted each time it is entered into the input device for entering a password, and each crypto block is treated with the decryption process, although for inputs that do not correspond to the password, a different binary key is generated and the decryption process from crypto blocks that are generated with a key based on another password, the original plain text is not generated.

Optional weist die Vorrichtung keinen Speicher für ein Passwort auf, und das Verfahren weist keinen Schritt des Vergleichens der Eingabe eines Passworts mit einem gespeicherten Passwort auf.Optionally, the device has no memory for a password and the method does not have a step of comparing the input of a password with a stored password.

Optional kann die Vorrichtung eingerichtet sein, bei jeder Eingabe in das Eingabegerät zur Eingabe eines Passworts ein Antwortsignal auszugeben, das dem Nutzer eine direkte Kontrolle gibt, ob die Eingabe dem korrekten Passwort entspricht. Da die Vorrichtung dieser Ausführungsform so eingerichtet sein kann, bei jeder Eingabe ein Antwortsignal auszugeben, ist am Antwortsignal nicht erkennbar, ob die Eingabe, z.B. durch manuelle Auswahl von Symbolen, dem korrekten Passwort entspricht. Der Nutzer muss daher das Antwortsignal unabhängig von der Vorrichtung erkennen und dem korrekten Passwort zuordnen können. Das Antwortsignal kann z.B. akustisch und/oder optisch sein, z.B. die Darstellung eines Bilds auf einer Anzeige. Optional kann die Vorrichtung, z.B. das Eingabegerät zur Eingabe eines Passworts, einen Speicher mit einer vorbestimmten Funktion zur Erzeugung eines Antwortsignals in Reaktion auf die Eingabe aufweisen oder eine Vielzahl von vorgespeicherten Antwortsignalen, die Eingaben zugeordnet sind. Das Antwortsignal kann für jede Eingabe individuell sein oder für mehrere Eingaben, z.B. für 10 bis 100 unterschiedliche Eingaben, gleich sein.Optionally, the device can be set up to output a response signal for each entry into the input device to enter a password, which gives the user direct control as to whether the entry corresponds to the correct password. Since the device of this embodiment can be set up in such a way that a response signal is output for each input, the response signal does not indicate whether the input, e.g. by manually selecting symbols, corresponds to the correct password. The user must therefore be able to recognize the response signal independently of the device and assign it to the correct password. For example, the response signal may be audible and/or visual, such as the presentation of an image on a display. Optionally, the device, e.g., the input device for entering a password, may include a memory having a predetermined function for generating a response signal in response to the input, or a plurality of pre-stored response signals associated with inputs. The response signal can be individual for each input or be the same for multiple inputs, e.g., for 10 to 100 different inputs.

Die Erfindung wird näher anhand von Figuren beschrieben, die schematisch in

  • - 1 das Verfahren,
  • - 2 eine bevorzugte Vorrichtung und in
  • - 3 ein Beispiel für die Erzeugung eines binären Schlüssels
zeigen.The invention is described in more detail with reference to figures that are shown schematically in
  • - 1 the procedure
  • - 2 a preferred device and in
  • - 3 an example of generating a binary key
show.

Die 1 zeigt, dass eine Matrix 1 von einem Matrixgenerator 2 gefüllt bzw. erzeugt wird. Der Matrixgenerator 2 kann z.B. einen Pseudozufallszahlengenerator enthalten oder einen Speicher, der zumindest eine vorbestimmte Anweisung zur Erzeugung einer Matrix enthält. Ein Startvektor 3 wird in die Matrix 1 eingegeben und die Matrix 1 gibt einen primären Schlüsselvektor 4 aus. Dabei wird z.B. jede Stelle des Startvektors 3 z.B. in jeweils eine Zeile der Matrix 1 eingegeben und die Matrix 1 gibt am Ende jeder Spalte die Summe der Einsen aus, welche in der Spalte erzeugt wird. Dabei bewirkt die Matrix, dass nur an den Stellen, an denen eine Eins angeordnet ist, und nur für eine in die Zeile eingegebene Eins des Startvektors eine Eins in der Spalte aufsummiert wird.The 1 shows that a matrix 1 is filled or generated by a matrix generator 2 . The matrix generator 2 can contain, for example, a pseudo-random number generator or a memory that contains at least one predetermined instruction for generating a matrix. A start vector 3 is input into matrix 1 and matrix 1 outputs a primary key vector 4 . In this case, for example, each position of the start vector 3 is entered, for example, in a respective row of the matrix 1 and the matrix 1 outputs the sum of the ones at the end of each column, which is generated in the column. The effect of the matrix is that a one is summed up in the column only at the points at which a one is arranged and only for a one of the start vector entered in the row.

Der primäre Schlüsselvektor 4 wird mittels Prüfwertreduktion 5, optional mit der Aktivierungskontrolle 30, zu einem binären Schlüssel 6 umgerechnet. Dabei wird bevorzugt der Prüfwert 5 so eingestellt, dass der binäre Schlüssel 6 einen Gehalt von 40 bis 60% an Einsen aufweist. Der binäre Schlüssel 6 wird an ein elektronisches Bauteil zur Verschlüsselung 7 übergeben, die z.B. die XOR-Funktion für den binären Schlüssel 6 und die eingegebenen Daten 8 ausführt, um daraus den Kryptoblock 9 zu erzeugen.The primary key vector 4 is converted to a binary key 6 by means of check value reduction 5, optionally with the activation check 30. The check value 5 is preferably set in such a way that the binary key 6 has a content of 40 to 60% of ones. The binary key 6 is transferred to an electronic component for encryption 7 which, for example, performs the XOR function for the binary key 6 and the entered data 8 in order to generate the crypto block 9 therefrom.

Eine Aktivierungskontrolle 30 ist aus dem Aktivierungszähler 31 und einer Freigabeeinrichtung 32 gebildet. Der Aktivierungszähler 31 ist zur Ermittlung der Anzahl der Einsen im binären Schlüssel 6 eingerichtet und die Freigabeeinrichtung 32 ist eingerichtet, den Prüfwert zu verringern, so dass die Anzahl der Einsen der Stellen des binären Schlüssels 6 einen vorbestimmten Wert erreicht, z.B. 40% bis 60%, bevorzugt 50% bis 55% der Anzahl der Stellen des Schlüssels 6.An activation control 30 is formed from the activation counter 31 and a release device 32 . The activation counter 31 is set up to determine the number of ones in the binary key 6 and the release device 32 is set up to reduce the check value so that the number of ones in the digits of the binary key 6 reaches a predetermined value, e.g. 40% to 60%. , preferably 50% to 55% of the number of digits of the key 6.

Die Matrix 1, der Matrixgenerator 2, der Startvektor 3, der primäre Schlüsselvektor 4, die Prüfwertreduktion 5 und die Aktivierungskontrolle 30 sowie der zunächst erzeugte binäre Schlüssel 6 laufen in elektronischen Bauteilen ab, die bevorzugt ausschließlich mit dem Bauteil zur Verschlüsselung 7, z.B. einem XOR-Rechner, nur zur Übergabe, insbesondere nur zur Übergabe in eine Richtung, des binären Schlüssels 6 an dieses Bauteil zur Verschlüsselung 7 verbunden sind, und z.B. von Speichern für den Kryptoblock 9 und von Speichern für die Daten 8 getrennt sind.The matrix 1, the matrix generator 2, the start vector 3, the primary key vector 4, the test value reduction 5 and the activation control 30 as well as the initially generated binary key 6 run in electronic components, which are preferably used exclusively with the component for encryption 7, e.g. an XOR computer, only for the transfer, in particular only for the transfer in one direction, of the binary key 6 to this component for encryption 7 are connected, and e.g. are separated from memories for the crypto block 9 and from memories for the data 8.

Im Verfahren laufen die Schritte des Erzeugens des primären Schlüssels 6 unabhängig von der Verschlüsselung 7, bzw. außerhalb des elektronischen Bauteils zur Verschlüsselung 7 ab. Durch diese Trennung ist der Weg der Erzeugung des binären Schlüssels 6 nicht ableitbar und nicht reproduzierbar, wenn das Bauteil zur Verschlüsselung 7 abgehört oder kopiert wird.In the method, the steps of generating the primary key 6 run independently of the encryption 7, or outside of the electronic component 7 for encryption. As a result of this separation, the way in which the binary key 6 was generated cannot be derived and cannot be reproduced if the encryption component 7 is tapped or copied.

Die Entschlüsselung läuft ab, indem ein Kryptoblock 9 in das elektronische Bauteil zur Verschlüsselung 7 eingegeben wird, in das auch ein binärer Schlüssel 6 eingegeben wird, um daraus die Daten 8 als Klartext zu erzeugen, insbesondere mittels der XOR-Funktion.The decryption takes place by a crypto block 9 is entered into the electronic component for encryption 7, in which a binary key 6 is also entered to derive the To generate data 8 as plain text, in particular by means of the XOR function.

Der Startvektor 3 kann durch Eingabe eines Passworts 10 erzeugt werden. Bevorzugt ist ein Eingabegerät, z.B. ein Tastenfeld, zur Eingabe eines Passworts 10 nur mit dem elektronischen Bauteil verbunden, das den Startvektor erzeugt, und dieses nur mit dem elektronischen Bauteil, das die Matrix 1 enthält.The start vector 3 can be generated by entering a password 10. Preferably, an input device, such as a keypad, for entering a password 10 is connected only to the electronic component that generates the start vector and only to the electronic component that contains the matrix 1.

Die Ausführungsform, bei der ein Datenabschnitt mit einem Schlüssel verschlüsselt wird und dieser erzeugte Kryptoblock als Eingabe in die Matrix 1 eingegeben wird, ist durch den Pfeil angedeutet, der von dem elektronischen Bauteil zur Verschlüsselung 7 zur Matrix 1 führt. Diese Ausführungsform ist in 2 durch den Pfeil angedeutet, der von dem elektronischen Bauteil 27 zur Verschlüsselung zur Eingabevorrichtung 25 führt.The embodiment in which a data section is encrypted with a key and this generated crypto block is entered as input into the matrix 1 is indicated by the arrow leading from the electronic component 7 to the matrix 1 for encryption. This embodiment is in 2 indicated by the arrow, which leads from the electronic component 27 to the input device 25 for encryption.

Die 2 zeigt schematisch den Aufbau einer Ausführungsform der Vorrichtung, die zur Durchführung des Verfahrens eingerichtet ist und einen Computerchip 20 zur Erzeugung einer Abfolge von Schlüsseln enthält. Der Computerchip 20 bildet ein elektronisches Bauteil 20 zur Erzeugung eines Schlüssels und kann als ein elektronisches Bauteil oder eine Kombination mehrerer elektronischer Bauteile ausgeführt sein. Der Computerchip 20 enthält einen Speicher 21 für eine binäre Matrix, der mit einem Prozessor 22 verbunden ist, der eine Matrix erzeugen kann, z.B. mittels eines Pseudozufallszahlengenerators oder eines Speichers, der eine Vielzahl von Matrizen enthält. Der Prozessor 22 bildet ein elektronisches Bauteil zur Erzeugung einer Matrix 1. Der Prozessor 22 kann mit einem Eingabegerät 23 verbunden sein, das einen Startwert für einen Pseudozufallszahlengenerator übermittelt oder es kann zumindest einen Teil eines solchen Startwerts dadurch umgewandelt werden, dass er in eine Matrix eingegeben wird und die Ausgabe der Matrix verwendet wird. Dann bildet der umgewandelte Startwert den eigentlichen Startwert. Die Matrix kann aus einem Speicher stammen.The 2 shows schematically the structure of an embodiment of the device, which is set up for carrying out the method and contains a computer chip 20 for generating a sequence of keys. The computer chip 20 forms an electronic component 20 for generating a key and can be designed as an electronic component or a combination of several electronic components. The computer chip 20 includes a binary matrix memory 21 connected to a processor 22 capable of generating a matrix, for example by means of a pseudo-random number generator or a memory containing a plurality of matrices. The processor 22 forms an electronic component for generating a matrix 1. The processor 22 can be connected to an input device 23 which transmits a seed value for a pseudo-random number generator or at least a part of such a seed value can be converted by being entered into a matrix and the output of the matrix is used. Then the converted start value forms the actual start value. The matrix can come from a memory.

Der Prozessor 22 kann mit einem Eingabegerät 23 verbunden sein, das einen Startwert für eine Pseudozufallsgenerator übermittelt oder es kann zumindest ein Teil eines solchen Startwerts dadurch umgewandelt werden, dass er in eine Matrix eingegeben wird und die Ausgabe der Matrix als Startwert an den Prozessor 22 übermittelt wird. Der Startwert kann ein Teil eines in das Eingabegerät 23 eingegebenen Passworts oder ein vollständiges Passwort sein.The processor 22 may be connected to an input device 23 which transmits a seed for a pseudo-random number generator, or at least part of such a seed may be converted by entering it into a matrix and transmitting the output of the matrix to the processor 22 as a seed becomes. The seed can be part of a password entered into the input device 23 or a complete password.

Das Eingabegerät 23 ist z.B. nur mit dem Computerchip 20 verbunden und vorzugsweise mit dessen Prozessor 22 nur zur Übermittlung eines Startwerts verbunden.The input device 23 is only connected to the computer chip 20, for example, and is preferably connected to its processor 22 only to transmit a start value.

Weiter ist das Eingabegerät 23 mit einem Prozessor 24 zur Übermittlung eines in das Eingabegerät 23 eingegebenen Passworts verbunden. Der Prozessor 24 kann Teil des Computerchips 20 sein. Der Prozessor 24 ist eingerichtet, auf Basis des Passworts einen Startvektor zu erzeugen und ist mittels einer Eingabevorrichtung 25 mit dem Speicher 21 verbunden, um den Startvektor in die Matrix einzugeben.The input device 23 is also connected to a processor 24 for transmitting a password entered into the input device 23 . The processor 24 can be part of the computer chip 20 . The processor 24 is set up to generate a start vector on the basis of the password and is connected to the memory 21 by means of an input device 25 in order to enter the start vector into the matrix.

Der Speicher 21 ist an seinem Ausgang mit einem Prozessor 26 verbunden, der eingerichtet ist, aus dem aus der Matrix des Speichers 21 ausgegebenen primären Schlüsselvektor einen binären Schlüssel zu erzeugen. Der Prozessor 26, der bevorzugt eine Aktivierungskontrolle enthält, ist z.B. zur Prüfwertreduktion des primären Schlüsselvektors eingerichtet, und ist bevorzugt eingerichtet, den Schlüssel mit einem vorbestimmten Gehalt an Einsen zu erzeugen, und kann Teil des Computerchips 20 sein.The memory 21 is connected at its output to a processor 26 which is set up to generate a binary key from the primary key vector output from the matrix of the memory 21 . The processor 26, which preferably contains an activation control, is set up, for example, for check value reduction of the primary key vector, and is preferably set up to generate the key with a predetermined content of ones, and can be part of the computer chip 20.

Der Prozessor 26 ist bevorzugt mit der Eingabevorrichtung 25 verbunden, um binäre Schlüssel in die Matrix des Speichers 21 einzugeben, so dass beim mehrfachen Durchlaufen der Matrix eine Abfolge von Schlüsseln erzeugt wird. Der Prozessor 26 ist zur Übermittlung binärer Schlüssel in das elektronische Bauteil 27 zur Verschlüsselung mit diesem verbunden, bevorzugt nur zur Übermittlung binärer Schlüssel in Richtung auf das elektronische Bauteil 27 zur Verschlüsselung.The processor 26 is preferably connected to the input device 25 in order to input binary keys into the matrix of the memory 21, so that a sequence of keys is generated when the matrix is run through several times. The processor 26 is connected to the electronic component 27 for encryption in order to transmit binary keys to the latter, preferably only to transmit binary keys in the direction of the electronic component 27 for encryption.

Das elektronische Bauteil 26 zur Verschlüsselung weist einen Eingang 28 für Daten und einen Ausgang 29 für Kryptoblöcke auf, wobei für das Entschlüsseln Kryptoblöcke in den Eingang 28 eingegeben werden und entschlüsselte Daten am Ausgang 29 ausgegeben werden.The electronic component 26 for encryption has an input 28 for data and an output 29 for crypto blocks, with crypto blocks being input into the input 28 for decryption and decrypted data being output at the output 29 .

Die 3 zeigt einen Startvektor 3 aus 8 Stellen, die in jeweils die ihr entsprechende Zeile der Matrix 1 eingegeben werden. Die hier gezeigte Matrix hat 23 = 8 Zeilen und Spalten. Hier sind Einsen als schwarze Stellen gezeigt, leere Stellen zeigen Nullen. Für jede Eins des Startvektors 3 wird an jeder Eins der entsprechenden Matrixzeile eine Eins erzeugt, an jeder Null der Matrix eine Null. Für jede Null des Startvektors wird sowohl an jeder Null der Matrix als auch an jeder Eins der Matrix eine Null erzeugt. Die in der Matrix erzeugten Einsen werden für jede Spalte der Matrix aufsummiert und ergeben den primären Schlüsselvektor 4, der für die Ausführungsform gezeigt ist, in der alle Einsen spaltenweise aufsummiert werden. Bei einem ersten Prüfwert gleich der Summe der Einsen des Startvektors 3, hier gleich 4, vermindert um 1, also erster Prüfwert = 3, ergäbe sich aus diesem primären Schlüsselvektor 4 ein binärer Schlüssel 6, der an allen Stellen Null aufweist, da der primäre Schlüsselvektor 4 an allen Stellen Werte aufweist, die nicht größer als ein erster Prüfwert = 3 sind.The 3 shows a start vector 3 made up of 8 digits, which are entered in the corresponding row of matrix 1. The matrix shown here has 2 3 = 8 rows and columns. Here, ones are shown as black digits, blank digits show zeros. For each one of the start vector 3, a one is generated at each one of the corresponding matrix row, and a zero is generated at each zero of the matrix. For each zero of the starting vector, a zero is generated at each zero of the matrix as well as at each one of the matrix. The 1's generated in the matrix are summed for each column of the matrix, yielding the primary key vector 4 shown for the embodiment in which all 1's are summed column by column. With a first test value equal to the sum of the ones of the start vector 3, here equal to 4, reduced by 1, ie first test value =3, this primary key vector 4 would result in a binary key 6 which has zero at all points, since the primary key vector 4 has values at all points that are not greater than a first check value=3.

Bei Reduktion des ersten Prüfwerts um 1, also 3 - 1 = 2, ergibt sich der gezeigte binäre Schlüssel 6, bei weiterer Reduktion des ersten Prüfwerts auf 1 ergibt sich eine Aktivierungszählung gleich 7 und der gezeigte binäre Schlüssel 6b. Bei Verwendung eines ersten Prüfwerts = 1 und eines zweiten Prüfwerts = 3 ergibt sich eine Aktivierungszählung gleich 4 und der gezeigte binäre Schlüssel 6c, wenn für jede Spalte der Matrix bzw. jede Stelle des primären Schlüsselvektors 4 ein Null im binären Schlüssel 6 erzeugt wird, für die die Summe bzw. die Stelle des primären Schlüsselvektors den zweiten Prüfwert mindestens erreicht.Reducing the first check value by 1, ie 3−1=2, results in the binary key 6 shown, further reducing the first check value to 1 results in an activation count equal to 7 and the binary key 6b shown. Using a first check value = 1 and a second check value = 3 results in an activation count equal to 4 and the binary key 6c shown if a zero is generated in the binary key 6 for each column of the matrix or each digit of the primary key vector 4, for which the sum or the position of the primary key vector at least reaches the second test value.

In der Ausführungsform der Erzeugung eines binären Schlüssels aus dem primären Schlüsselvektor mittels eines Modulozählers, z.B. Modulo = 2, wird für jede gerade Anzahl an Einsen im primären Schlüsselvektor eine Null erzeugt und für jede ungerade Anzahl eine Eins erzeugt, in diesem Beispiel der binäre Schlüssel 6d.In the embodiment of generating a binary key from the primary key vector by means of a modulo counter, e.g. modulo = 2, a zero is generated for every even number of ones in the primary key vector and a one is generated for every odd number, in this example the binary key 6d .

BezugszeichenlisteReference List

11
Matrixmatrix
22
Matrixgeneratormatrix generator
33
Startvektorstart vector
44
primärer Schlüsselvektorprimary key vector
55
Prüfwertreduktiontest value reduction
6, 6a, 6b, 6c, 6d6, 6a, 6b, 6c, 6d
binärer Schlüsselbinary key
77
Verschlüsselung, elektronisches Bauteil zur VerschlüsselungEncryption, electronic component for encryption
88th
eingegebene Daten (Klartext)entered data (plain text)
99
Kryptoblockcrypto block
1010
Passwortpassword
2020
Computerchip, elektronisches Bauteil zur Erzeugung von SchlüsselnComputer chip, electronic component for generating keys
2121
Speicher für binäre Matrix, MatrixspeicherBinary matrix memory, matrix memory
2222
Prozessor, elektronisches Bauteil zur Erzeugung der Matrix 1Processor, electronic component for generating the matrix 1
2323
Eingabegerätinput device
2424
Prozessor zur Übermittlung eines PasswortsProcessor for transmitting a password
2525
Eingabevorrichtunginput device
2626
Prozessorprocessor
2727
elektronisches Bauteil zur Verschlüsselungelectronic component for encryption
2828
Eingang für Daten oder KryptoblöckeInput for data or crypto blocks
2929
Ausgang für Kryptoblöcke oder DatenOutput for crypto blocks or data
3030
Aktivierungskontrolleactivation control
3131
Aktivierungszähleractivation counter
3232
Freigabeeinrichtungrelease device

Claims (22)

Vorrichtung zur Verschlüsselung von Daten (8) mit einem Eingabegerät (23) zur Eingabe eines Passworts (10) und zur reproduzierbaren Erzeugung eines Startvektors (3) aus der Eingabe des Passworts (10), einem elektronischen Bauteil (20), das zur Erzeugung zumindest eines binären Schlüssels (6) eingerichtet ist und das zur Übertragung des zumindest einen binären Schlüssels (6) mit einem elektronischen Bauteil (27) verbunden ist, das zur Verschlüsselung von Daten (8) zu Kryptoblöcken (9) eingerichtet ist, das einen Eingang (28) für Daten (8) und einen Ausgang (29) für Kryptoblöcke (9) aufweist, wobei das elektronische Bauteil (20), das zur Erzeugung des zumindest einen binären Schlüssels (6) eingerichtet ist, eine reproduzierbar erzeugte, binär gefüllte Matrix (1) enthält und eingerichtet ist, bei Eingabe eines Startvektors (3) in die binär gefüllte Matrix (1) zumindest einen primären Schlüsselvektor (4) zu erzeugen und aus diesem den zumindest einen binären Schlüssel (6) mittels Prüfwertreduktion zu erzeugen und diesen an das Bauteil (27) zu übermitteln, das zur Verschlüsselung von Daten (8) zu Kryptoblöcken (9) eingerichtet ist, wobei die Vorrichtung eine Aktivierungskontrolle (30) mit einem Aktivierungszähler (31) und einer Freigabeeinrichtung (32) aufweist, wobei die Vorrichtung keinen Speicher für ein Passwort aufweist und bei jeder Eingabe in das Eingabegerät (23) zur Eingabe eines Passworts (10) aktiviert wird und dass die Vorrichtung eingerichtet ist, den binären Schlüssel (6) als Eingabe in eine Matrix einzugeben, um einen weiteren binären Schlüssel (6) zu erzeugen, wobei die Vorrichtung eingerichtet ist, diese Schleife, in der jeweils der binäre Schlüssel (6) wieder in eine Matrix eingeben wird, zumindest einmal zu wiederholen, um eine Abfolge von binären Schlüsseln (6) zu erzeugen.Device for encrypting data (8) with an input device (23) for entering a password (10) and for the reproducible generation of a start vector (3) from the entry of the password (10), an electronic component (20) for generating at least a binary key (6) and which is connected to an electronic component (27) for the transmission of the at least one binary key (6), which is set up for encrypting data (8) into crypto blocks (9), which has an input ( 28) for data (8) and an output (29) for crypto blocks (9), wherein the electronic component (20), which is set up to generate the at least one binary key (6), has a reproducibly generated, binary-filled matrix ( 1) contains and is set up to generate at least one primary key vector (4) when a start vector (3) is entered into the binary-filled matrix (1) and from this to generate the at least one binary key (6) using test values eduction and to transmit this to the component (27) which is set up for encrypting data (8) into crypto blocks (9), the device having an activation control (30) with an activation counter (31) and a release device (32) has, wherein the device does not have a memory for a password and is activated for each entry into the input device (23) for entering a password (10) and that the device is set up to enter the binary key (6) as an entry into a matrix, to generate another binary key (6). gene, the device being set up to repeat this loop, in which the respective binary key (6) is entered back into a matrix, at least once in order to generate a sequence of binary keys (6). Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass das elektronische Bauteil (20), das zur Erzeugung des zumindest einen binären Schlüssels (6) eingerichtet ist, die binär gefüllte Matrix (1) in einem reversiblen Speicher enthält, aus dem bei Stromlosschalten die binär gefüllte Matrix (1) gelöscht wird, wobei dieses Bauteil (20) mit einem Prozessor (22) mit einem Pseudozufallszahlengenerator oder einem Generator zur Erzeugung einer pseudozufälligen, einer regelbasierten oder vorgegebenen, binär gefüllten Matrix (1) verbunden ist.device after claim 1 , characterized in that the electronic component (20), which is set up to generate the at least one binary key (6), contains the binary-filled matrix (1) in a reversible memory from which the binary-filled matrix (1) is removed when the power is switched off. is deleted, this component (20) being connected to a processor (22) with a pseudo-random number generator or a generator for generating a pseudo-random, rule-based or predetermined, binary-filled matrix (1). Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass das elektronische Bauteil (20), das zur Erzeugung des zumindest einen binären Schlüssels (6) eingerichtet ist, die binär gefüllte Matrix (1) in einem irreversiblen Speicher enthält.device after claim 1 , characterized in that the electronic component (20), which is set up to generate the at least one binary key (6), contains the binary-filled matrix (1) in an irreversible memory. Vorrichtung nach einem der voranstehenden Ansprüche, dadurch gekennzeichnet, dass die Aktivierungskontrolle (30) eingerichtet ist, den zumindest einen binären Schlüssel (6) mit einem vorbestimmten Gehalt an Einsen zu erzeugen.Device according to one of the preceding claims, characterized in that the activation control (30) is set up to generate the at least one binary key (6) with a predetermined content of ones. Vorrichtung nach einem der voranstehenden Ansprüche, dadurch gekennzeichnet, dass sie eingerichtet ist, am Eingang (28) eingehende Daten (8) in Datenabschnitte zu unterteilen und diese mit dem zumindest einen binären Schlüssel (6) zu verschlüsseln.Device according to one of the preceding claims, characterized in that it is set up to subdivide incoming data (8) into data sections at the input (28) and to encrypt them with the at least one binary key (6). Vorrichtung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass sie eingerichtet ist, die Daten (8) in eine Reihe von Datenabschnitten zu teilen und zumindest einen Datenabschnitt mit dem binären Schlüssel (6) zu zumindest einem Kryptoblock (9) zu verschlüsseln und diesen Kryptoblock (9) in die binär gefüllte Matrix (1) einzugeben, um einen nächsten binären Schlüssel (6) zu erzeugen, und mit diesem einen weiteren Datenabschnitt zu verschlüsseln.Device according to one of Claims 1 until 4 , characterized in that it is set up to divide the data (8) into a series of data sections and to encrypt at least one data section with the binary key (6) to form at least one crypto block (9) and to encrypt this crypto block (9) in the binary Enter a filled matrix (1) to generate a next binary key (6) and use this to encrypt another data section. Vorrichtung nach einem der voranstehenden Ansprüche, dadurch gekennzeichnet, dass das elektronische Bauteil (27), das zur Verschlüsselung von Daten (8) eingerichtet ist, einen XOR-Rechner aufweist oder daraus besteht.Device according to one of the preceding claims, characterized in that the electronic component (27), which is set up for the encryption of data (8), has or consists of an XOR computer. Vorrichtung nach einem der voranstehenden Ansprüche, dadurch gekennzeichnet, dass das elektronische Bauteil (20), das zur Erzeugung des zumindest einen binären Schlüssels (6) eingerichtet ist, zur Übertragung von binären Schlüsseln (6) nur in Richtung zu dem Bauteil (27), das zur Verschlüsselung von Daten (8) eingerichtet ist, mit diesem verbunden ist.Device according to one of the preceding claims, characterized in that the electronic component (20), which is set up to generate the at least one binary key (6), for the transmission of binary keys (6) only in the direction of the component (27), which is set up for encrypting data (8) is connected to it. Vorrichtung nach einem der voranstehenden Ansprüche, dadurch gekennzeichnet, dass das Eingabegerät (23) mit einem Prozessor (22) verbunden ist, der einen Pseudozufallszahlengenerator enthält und eingerichtet ist, mit diesem auf Basis des Passworts (10) einen binären Startvektor (3) zu erzeugen und mit dem elektronischen Bauteil (20) verbunden ist, das zur Erzeugung des zumindest einen binären Schlüssels (6) eingerichtet ist, um den binären Startvektor (3) in die binär gefüllte Matrix (1) einzugeben.Device according to one of the preceding claims, characterized in that the input device (23) is connected to a processor (22) which contains a pseudo-random number generator and is set up to generate a binary start vector (3) with this on the basis of the password (10). and is connected to the electronic component (20), which is set up to generate the at least one binary key (6) in order to enter the binary start vector (3) into the binary-filled matrix (1). Vorrichtung nach einem der voranstehenden Ansprüche, dadurch gekennzeichnet, dass das Eingabegerät (23) zur Eingabe eines Passworts (10) eingerichtet ist, bei jeder Eingabe ein Antwortsignal auszugeben.Device according to one of the preceding claims, characterized in that the input device (23) for entering a password (10) is set up to output a response signal with each entry. Vorrichtung nach einem der voranstehenden Ansprüche, dadurch gekennzeichnet, dass sie eingerichtet ist, Datenabschnitte, binäre Schlüssel (6) und/oder Kryptoblöcke (9) mit einem Index für ihre Reihenfolge zu versehen.Device according to one of the preceding claims, characterized in that it is set up to provide data sections, binary keys (6) and/or crypto blocks (9) with an index for their order. Vorrichtung nach einem der voranstehenden Ansprüche, dadurch gekennzeichnet, dass sie eingerichtet ist, für jede Erzeugung eines weiteren binären Schlüssels dieselbe Matrix zu verwenden.Device according to one of the preceding claims, characterized in that it is set up to use the same matrix for each generation of a further binary key. Vorrichtung nach einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, dass sie eingerichtet ist, für jede Erzeugung eines weiteren binären Schlüssels, jeden oder bestimmte aus der Abfolge der binären Schlüssel in eine andere Matrix einzugeben, um einen weiteren Schlüssel zu erzeugen.Device according to one of Claims 1 until 11 , characterized in that it is set up, for each generation of a further binary key, to enter each or specific ones from the sequence of binary keys into another matrix in order to generate a further key. Verfahren zur Verschlüsselung von Daten (8) mittels zumindest eines Schlüssels, wobei in einem elektronischen Bauteil, das einen Speicher (21) für eine binäre Matrix (1) enthält, eine binäre Matrix (1) reproduzierbar erzeugt und bereitgestellt wird, ein Startvektor (3) in die binäre Matrix (1) eingegeben wird und die binäre Matrix (1) einen primären Schlüsselvektor (4) ausgibt, aus diesem ein binärer Schlüssel (6) erzeugt wird, und nur dieser an ein elektronisches Bauteil (27), das zur Verschlüsselung eingerichtet ist, übertragen wird, in dieses Bauteil (27), das zur Verschlüsselung eingerichtet ist, die Daten (8) eingegeben, mit dem binären Schlüssel (6) verschlüsselt werden und daraus als zumindest ein Kryptoblock (9) ausgeben werden, wobei der Startvektor (3) reproduzierbar aus der Eingabe eines Passworts erzeugt wird und das Verfahren keinen Schritt des Vergleichens eines Passworts mit einem gespeicherten Passwort aufweist, wobei der binäre Schlüssel (6) als Eingabe in eine binäre Matrix (1) eingegeben wird, um einen weiteren binären Schlüssel (6) zu erzeugen und diese Schleife, in der jeweils der binäre Schlüssel (6) in eine binäre Matrix (1) eingeben wird, zumindest einmal wiederholt wird, um eine Abfolge von binären Schlüsseln (6) zu erzeugen.Method for encrypting data (8) using at least one key, a binary matrix (1) being reproducibly generated and provided in an electronic component which contains a memory (21) for a binary matrix (1), a start vector (3 ) is entered into the binary matrix (1) and the binary matrix (1) outputs a primary key vector (4), from which a binary key (6) is generated, and only this to an electronic component (27) used for encryption is set up, is transmitted, the data (8) is input into this component (27), which is set up for encryption, is encrypted with the binary key (6) and is output from it as at least one crypto block (9), the start vector (3) is generated reproducibly from the input of a password and the method has no step of comparing a password with a stored password, the binary key (6) being input into a binary Matrix (1) is entered to generate another binary key (6) and this loop, in which the binary key (6) is entered into a binary matrix (1), is repeated at least once to generate a sequence of binary generate keys (6). Verfahren nach Anspruch 14, dadurch gekennzeichnet, dass die Matrix (1) dadurch in dem elektronischen Bauteil, das einen Speicher (21) für die binäre Matrix (1) enthält, bereitgestellt wird, dass ein Startwert in einen Pseudozufallszahlengenerator eingegeben wird und die binäre Matrix (1) aus dessen Ausgabe erzeugt wird oder dass die binäre Matrix (1) regelbasiert erzeugt wird oder aus einem Speicher ausgelesen wird, wobei die binäre Matrix (1) in das elektronische Bauteil, das einen Speicher (21) für eine binäre Matrix (1) enthält, übertragen wird.procedure after Claim 14 , characterized in that the matrix (1) is provided in the electronic component, which contains a memory (21) for the binary matrix (1), that a seed value is entered into a pseudo-random number generator and the binary matrix (1) out the output of which is generated or that the binary matrix (1) is generated based on rules or is read out from a memory, the binary matrix (1) being transferred to the electronic component which contains a memory (21) for a binary matrix (1). becomes. Verfahren nach Anspruch 14 oder 15, dadurch gekennzeichnet, dass die binäre Matrix (1) dadurch in dem elektronischen Bauteil, das einen Speicher (21) für die binäre Matrix (1) enthält, bereitgestellt wird, dass dieses elektronische Bauteil die binäre Matrix (1) irreversibel enthält.procedure after Claim 14 or 15 , characterized in that the binary matrix (1) is provided in the electronic component containing a memory (21) for the binary matrix (1) in that this electronic component contains the binary matrix (1) irreversibly. Verfahren nach einem der Ansprüche 14 bis 16, dadurch gekennzeichnet, dass die Daten (8) mittels der XOR-Funktion mit dem binären Schlüssel (6) verschlüsselt werden.Procedure according to one of Claims 14 until 16 , characterized in that the data (8) are encrypted using the XOR function with the binary key (6). Verfahren nach einem der Ansprüche 14 bis 17, dadurch gekennzeichnet, dass der Startvektor (3) durch Eingabe des Passworts (10) in das Eingabegerät (23) erzeugt wird, das zur Übermittlung des Startvektors (3) nur in Richtung in das elektronische Bauteil verbunden ist, das einen Speicher (21) für die binäre Matrix (1) enthält, und der Startvektor (3) in dieses Bauteil übertragen wird und in die binäre Matrix (1) eingegeben wird.Procedure according to one of Claims 14 until 17 , characterized in that the start vector (3) is generated by entering the password (10) into the input device (23) which is connected to the transmission of the start vector (3) only in the direction into the electronic component which has a memory (21) for the binary matrix (1), and the start vector (3) is transferred into this component and entered into the binary matrix (1). Verfahren nach einem der Ansprüche 14 bis 18, dadurch gekennzeichnet, dass die Daten (8) in Datenabschnitte unterteilt werden und diese Datenabschnitte mit jeweils einem der binären Schlüssel (6) aus der Abfolge von binären Schlüsseln (6) zu Kryptoblöcken (9) verschlüsselt werden.Procedure according to one of Claims 14 until 18 , characterized in that the data (8) are divided into data sections and these data sections are each encrypted with one of the binary keys (6) from the sequence of binary keys (6) to form crypto blocks (9). Verfahren nach einem der Ansprüche 14 bis 19, dadurch gekennzeichnet, dass die Daten (8) in Datenabschnitte unterteilt werden und die binären Schlüssel (6) dieselbe Länge wie die Datenabschnitte aufweisen.Procedure according to one of Claims 14 until 19 , characterized in that the data (8) are divided into data sections and the binary keys (6) have the same length as the data sections. Verfahren nach einem der Ansprüche 14 bis 20, dadurch gekennzeichnet, dass für jede Erzeugung eines weiteren binären Schlüssels dieselbe Matrix verwendet wird.Procedure according to one of Claims 14 until 20 , characterized in that the same matrix is used for each generation of a further binary key. Verfahren nach einem der Ansprüche 14 bis 20, dadurch gekennzeichnet, dadurch gekennzeichnet, dass für jede Erzeugung eines weiteren binären Schlüssels, jeden oder bestimmte aus der Abfolge der binären Schlüssel in eine andere Matrix eingegeben werden, um einen weiteren Schlüssel zu erzeugen.Procedure according to one of Claims 14 until 20 , characterized in that for each generation of a further binary key, each or certain ones of the sequence of binary keys are entered into a different matrix in order to generate a further key.
DE102019214379.2A 2019-09-20 2019-09-20 Device and method for encryption Active DE102019214379B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102019214379.2A DE102019214379B4 (en) 2019-09-20 2019-09-20 Device and method for encryption

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019214379.2A DE102019214379B4 (en) 2019-09-20 2019-09-20 Device and method for encryption

Publications (2)

Publication Number Publication Date
DE102019214379A1 DE102019214379A1 (en) 2021-03-25
DE102019214379B4 true DE102019214379B4 (en) 2023-03-09

Family

ID=74845834

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019214379.2A Active DE102019214379B4 (en) 2019-09-20 2019-09-20 Device and method for encryption

Country Status (1)

Country Link
DE (1) DE102019214379B4 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4777622A (en) 1985-11-26 1988-10-11 Max-Planck-Gesellschaft Zur Foerderung Der Wissenschaften E.V. Associative data storage system
DE10148415A1 (en) 2001-09-29 2003-04-24 Univ Braunschweig Tech Method and device for encrypting and decrypting data
WO2006045114A2 (en) 2004-10-13 2006-04-27 The Regents Of The University Of California Cryptographic primitives, error coding, and pseudo-random number improvement methods using quasigroups
US8254571B1 (en) 2007-12-21 2012-08-28 Voltage Security, Inc. Cryptographic system with halting key derivation function capabilities
US20150110269A1 (en) 2012-04-02 2015-04-23 Crypto Basic Corporation Encryption device, decryption device, encryption method, decryption method, and program
US9703979B1 (en) 2014-06-13 2017-07-11 BicDroid Inc. Methods and computer program products for encryption key generation and management
US20170279606A1 (en) 2016-03-24 2017-09-28 Samsung Electronics Co., Ltd. Device bound encrypted data

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4777622A (en) 1985-11-26 1988-10-11 Max-Planck-Gesellschaft Zur Foerderung Der Wissenschaften E.V. Associative data storage system
DE10148415A1 (en) 2001-09-29 2003-04-24 Univ Braunschweig Tech Method and device for encrypting and decrypting data
WO2006045114A2 (en) 2004-10-13 2006-04-27 The Regents Of The University Of California Cryptographic primitives, error coding, and pseudo-random number improvement methods using quasigroups
US8254571B1 (en) 2007-12-21 2012-08-28 Voltage Security, Inc. Cryptographic system with halting key derivation function capabilities
US20150110269A1 (en) 2012-04-02 2015-04-23 Crypto Basic Corporation Encryption device, decryption device, encryption method, decryption method, and program
US9703979B1 (en) 2014-06-13 2017-07-11 BicDroid Inc. Methods and computer program products for encryption key generation and management
US20170279606A1 (en) 2016-03-24 2017-09-28 Samsung Electronics Co., Ltd. Device bound encrypted data

Also Published As

Publication number Publication date
DE102019214379A1 (en) 2021-03-25

Similar Documents

Publication Publication Date Title
EP2940924A1 (en) PUF based Derivation of a device-specific value
DE102010029735A1 (en) Method for generating a bit vector
DE102013213316A1 (en) Random bitstream generator with improved backward commonality
DE10254320A1 (en) Circuit arrangement with non-volatile memory module and method for encrypting / decrypting data of the non-volatile memory module
EP3707854B1 (en) Method for linking a first data block to a second data block, method for checking the integrity of a blockchain structure, device and computer program product
EP1504336A2 (en) Device and method for generating a random number
DE102004013480B4 (en) Random number generator and method for generating random numbers
DE3138698C2 (en)
EP0616429A1 (en) Method and circuit for generating a pseudo-random sequence and its use
DE102019214379B4 (en) Device and method for encryption
DE102018116572A1 (en) PROTECTION AGAINST SIDE CHANNEL ATTACKS
WO2007107592A2 (en) Method and device for reducing a polynomial in a binary finite field, in particular for a cryptographic application
DE2360788A1 (en) ELECTRONIC DATA PROCESSING SYSTEM
DE102018113772B4 (en) Encryption method
EP3127272B1 (en) Encryption method and pseudo-random number generator
EP0135888B1 (en) Process for preventing the execution of a programme in a computer which is not allowed to execute said programme
DE19811593C1 (en) Matrix-controlled hash function for ensuring the integrity or authenticity of transmitted data
DE102004037814B4 (en) Apparatus and method for generating a sequence of numbers
DE102009029749A1 (en) System for generating arbitrarily long randomized bit lists on computers in normal operation
DE2435529A1 (en) DIGITAL COMPUTER
DE10324507A1 (en) Method for loading data into a storage device
DE112019007858T5 (en) FINAL EXPONENTIATION CALCULATION DEVICE, MATCHING OPERATION DEVICE, CRYPTOGRAPHIC PROCESSING DEVICE, FINAL EXPONENTIATION CALCULATION METHOD AND FINAL EXPONENTIATION CALCULATION PROGRAM
DE102014216392A1 (en) Symmetric iterated block ciphering method and corresponding device
EP1556754B1 (en) Device and method for generating a pseudo-random sequence of numbers
EP1137221B1 (en) Method and apparatus for increasing the security and regularity of a noise source

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final