DE102019214379B4 - Device and method for encryption - Google Patents
Device and method for encryption Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 44
- 239000011159 matrix material Substances 0.000 claims abstract description 162
- 239000013598 vector Substances 0.000 claims abstract description 100
- 230000015654 memory Effects 0.000 claims abstract description 45
- 230000004913 activation Effects 0.000 claims abstract description 26
- 238000012360 testing method Methods 0.000 claims abstract description 18
- 230000005540 biological transmission Effects 0.000 claims abstract description 9
- 230000006870 function Effects 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 10
- 230000002441 reversible effect Effects 0.000 claims description 2
- 230000002427 irreversible effect Effects 0.000 claims 1
- 108090000623 proteins and genes Proteins 0.000 claims 1
- 230000009467 reduction Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001212 derivatisation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
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. 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.
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
Die
Die
Die
Die
Die
Die
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
- -
1 the procedure - -
2 a preferred device and in - -
3 an example of generating a binary key
Die
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
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
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
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
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
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
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
Die
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
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
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
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
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
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
Die
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,
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)
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)
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 |
-
2019
- 2019-09-20 DE DE102019214379.2A patent/DE102019214379B4/en active Active
Patent Citations (7)
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 |
---|---|---|
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 | |
EP2940924A1 (en) | PUF based Derivation of a device-specific value | |
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 | |
DE102004013480B4 (en) | Random number generator and method for generating random numbers | |
DE3138698C2 (en) | ||
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 | |
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 | |
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 | |
DE10162991A1 (en) | Process for computer-aided encryption and decryption of data | |
DE2639806C2 (en) | Method and device for encrypting or decrypting data blocks in binary representation | |
EP0624839B1 (en) | Method and circuitry for producing a pseudo random sequence and its use | |
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 | |
DE102023106166B3 (en) | SAFETY CONTROLLER AND METHOD FOR PERFORMING A SELECTION FUNCTION | |
EP1595356B1 (en) | Generation of result values having a predefined characteristic |
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 |