DE69028748T2 - Verfahren und Einrichtung zur Verschlüsselung von Übertragungsdaten und zur Entschlüsselung verschlüsselter Daten und Computersystem, das eine solche Einrichtung enthält - Google Patents
Verfahren und Einrichtung zur Verschlüsselung von Übertragungsdaten und zur Entschlüsselung verschlüsselter Daten und Computersystem, das eine solche Einrichtung enthältInfo
- Publication number
- DE69028748T2 DE69028748T2 DE1990628748 DE69028748T DE69028748T2 DE 69028748 T2 DE69028748 T2 DE 69028748T2 DE 1990628748 DE1990628748 DE 1990628748 DE 69028748 T DE69028748 T DE 69028748T DE 69028748 T2 DE69028748 T2 DE 69028748T2
- Authority
- DE
- Germany
- Prior art keywords
- bit
- words
- word
- encrypted
- encryption circuit
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 26
- 230000005540 biological transmission Effects 0.000 title 1
- 238000006467 substitution reaction Methods 0.000 claims description 18
- 230000015654 memory Effects 0.000 claims description 13
- 238000012986 modification Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 claims 2
- 238000013478 data encryption standard Methods 0.000 description 6
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
- Die Erfindung bezieht sich auf ein Verfahren und eine Vorrichtung zur Verschlüsselung von Daten gemäß dem Oberbegriff des Anspruchs 1 bzw. 13 sowie auf ein Verfahren und eine Vorrichtung zur Entschlüsselung verschlüsselter Daten gemäß dem Oberbegriff des Anspruchs 7 bzw. 17.
- Derartige Verfahren und Vorrichtungen sind in G.E.C. Journal of Research, Bd. 2, Nr. 1, 1984, Seiten 30-36 offenbart.
- Das Speichern von Daten in einem Computerspeicher, wie z.B. einer Festplatteneinheit eines Personal-Computers, bringt das ernsthafte Risiko mit sich, daß unauthorisierte Personen die in dem Speicher gespeicherten Daten auslesen oder sogar die Speicherplatte entwenden, um den Datenspeicher, ohne gestört zu werden, auslesen zu können. Derartige Risiken werden in dem Maße größer, als die Benutzung von Personal-Computern anwächst und mehr vertrauliche Information in ihren Speichern gespeichert wird. Es existieren Software-Pakete, welche das oben beschriebene Problem lösen sollen durch zunächst Verschlüsseln der in einen Speicher zu schreibenden Daten. Eine Anzahl von diesen bekannten Programmen hat den Nachteil, daß der Benutzer diese speziell einschalten muß, was zu Fehlern führen kann, z.B. wenn die Verschlüsselung nicht angewendet wird, wenn sie angewendet werden sollte. Ein weiterer, sogar größerer Nachteil liegt in der Tatsache, daß jede existierende Software langsam ist, so daß Verschlüsselung zu unerwünschten Wartezeiten für den Benutzer führen kann, was wiederum ein Grund für den Benutzer sein kann, die Verschlüsselung wegzulassen.
- Die US-Patentbeschreibung 4,780,905 beschreibt ein System zur Verschlüsselung von Daten, die in einen Speicher eines Personal-Computer Systems zu schreiben sind, bei welchem die Daten unveränderlich verschlüsselt werden. Für die Verschlüsselung wird ein Schlüssel verwendet, der ein kleiner Teil eines sehr langen, insbesondere 64 KBits, Schlüssel ist. Der für eine spezielle Verschlüsselung zu wählende Schlüsselanteil kann abhängig von der speziellen Stelle, an der die Daten in den Speicher geschrieben werden, gewählt werden. Jedoch verursacht auch dieses bekannte System eine beträchtliche Verzögerung in der Geschwindigkeit des Lesens und Beschreibens des Speichers.
- Das Ziel der Erfindung ist es, diesen Nachteil der existierenden Software zu überwinden, und hierzu wird ein Verfahren und eine Vorrichtung des oben beschriebenen Typs geschaffen, zur Verschlüsselung und Entschlüsselung, jeweils gekennzeichnet durch die Merkmale der Ansprüche 1, 7, 13 und 17.
- Produktverschlüsselung ist ein Verschlüsselungsprinzip, welches aus der Kryptographie bekannt ist, und für eine Beschreibung ihres Prinzips kann auf "Kryptographie" von W. Fumy und H.P. Riesz; R. Oldenbourg Verlag, München, Wien 1988, insbesondere Kapitel 4.1 Bezug genommen werden. Das Prinzip der Produktverschlüsselung wird unter anderem bei DES (Data Encryption Standard) verwendet, einem Verschlüsselungsalgorithmus für die Datenkommunikation, wobei die zu verschlüsselnde Datenzufuhr in Blöcke von 64 Bits unterteilt wird, welche mittels eines 56-Bit-Schlüssels verschlüsselt werden. Jedoch werden beim DES die Blöcke einzeln verschlüsselt, d.h., der Benutzer muß periodisch warten, bis am Eingang des Produktverschlüsselungskreises ein zu codierender Block verfügbar ist, was DES verhältnismäßig langsam macht.
- Das Prinzip des DES-Algorithmus' für die Verwendung in einem lokalen Netzwerk (LAN) ist z.B. in dem oben erwähnten GEC Journal of Research, Bd. 2, Nr. 1, 1984 (Rugby G.B.) in einem Artikel von A.M. Jackson et al, "Project Universe Encryption Experiment", Seiten 30 bis 36 beschrieben. Dieser Artikel beschreibt die verschiedenartigen Betriebsarten von DES, bei welchen jedoch das Prinzip der Verschlüsselung serieller Datenblöcke unveränderlich beibehalten wird.
- Die Erfindung basiert auf der Erkenntnis, daß die von der Kryptographie bekannten Verschlüsselungsprinzipien, und spezieller der Produktverschlüsselung, mit Vorteil bei der Verschlüsselung von Daten, die in einen Speicher zu schreiben sind, vorteilhaft verwendet werden können, wenn die Anzahl von Eingängen des (Produkt-)Verschlüsselkreises der Breite des zu verschlüsselnden Datenwortes gleicht, welches über den Datenbus zugeführt wird. Tatsächlich wirkt der Produktverschlüsselkreis dann wie eine Verzögerungsleitung, die zwischen dem Datenbus, der die Datenwörter zuführt, und dem Speicher enthalten ist, so daß im Prinzip die Datenwörter mit der gleichen Geschwindigkeit verarbeitet werden können wie in dem Rest des Computer- Systems und der Verschlüsselungsprozeß keine Verzögerung verursacht, die dem Benutzer bemerkbar wäre.
- Für die Benutzung in dem Verfahren gemäß der Erfindung kann der Produktverschlüsselkreis beispielsweise abwechselnd elf lineare Permutationskästen, jeder mit einer Wortbreite von 16 Bits, in welche die Eingänge des ersten Permutationskastens und die Ausgänge des letzten Permutationskastens jeweils entsprechend die Eingänge und die Ausgänge des Produktverschlüsselkreises bilden, sowie zehn Gruppen von jeweils vier nichtlinearen Substitutionskästen, sogenannte S-Kästen, deren jeder eine Wortbreite von vier Bits aufweist. Jeder Permutationskasten kann z.B. vier Permutationen haben und kann dann mit einem 2-Bit-Schlüssel gesteuert werden. Jeder S-Kasten kann z.B. zwei Substitutionsalternativen haben und kann dann mit einem 1-Bit- Schlüssel gesteuert werden. Bei diesem Beispiel würde die Steuerung des ganzen Produktverschlüsselkreises dann einen Schlüssel von m = 62 Bits erfordern. Für den Fachmann ist es klar, daß er eine große Anzahl von Optionen beim Wählen der Anzahl von Permutationskästen, der Anzahl von Substitutionskästen, ihrer Sequenz und der Anzahl von Permutationen und Substitutionen hat, und daß das aufgeführte Beispiel nur eine von einer großen Anzahl möglicher Varianten ist. Die Permutationskästen und die S- Kästen werden derart verwirklicht, daß der Produktverschlüsselkreis sowohl zur Verschlüsselung als auch zur Entschlüsselung geeignet ist, und zur Entschlüsselung wird der gleiche 62-Bit-Schlüssel verwendet, aber wobei jedes der Schlüsselbits invertiert ist.
- Wenn das erfindungsgemäße Verfahren verwendet wird, wird mit dem gleichen Schlüssel ein Originaldatenwort unveränderlich in das gleiche verschlüsselte (Krypto-)Wort verschlüsselt. Dieses Prinzip ist bekannt unter dem Namen elektronisches Codebuch ("Electronic Code Book") und kann den Nachteil haben, daß, wenn eine Anzahl von Originaldatenwörtern und deren entsprechender Krypto-Worte bekannt sind, z.B. weil sie öffentlich bekannte Steuerbefehle, die auf jeder Speicherplatte auftreten, betrifft, die Entschlüsselung des Verschlüsselungsalgorithmus' und das Finden des Schlüssels erleichtert wird. Offensichtlich ist dieses unerwünscht.
- Gemäß der Erfindung wird jedes zu verschlüsselnde n-Bit-Datenwort logisch kombiniert mit einem n-Bit-Codierwort, bevor es dem Verschlüsselkreis zugeführt wird, wobei das Codierwort für den größeren Teil der Datenwörter von dem n-Bit-Krypto-Wort bei dem Ausgang des Verschlüsselkreises abgeleitet wird.
- Die logische Kombination ist vorzugsweise eine Modulo-2-Addition, und das von dem n-Bit-Krypto-Wort abgeleitete Wort an dem Ausgang des Verschlüsselkreises ist vorzugsweise dieses Wort selbst.
- Für das änfängliche Codierwort, das am Anfang eines Verschlüsselungsprozesses zu verwendende n-Bit-Codierwort, kann, wenn an dem Ausgang des Verschlüsselkreises noch kein Krypto-Wort verfügbar ist, ein n-Bit- Codierwort benutzt werden, welches durch den Benutzer über die Tastatur eingegeben wird. Wenn jedoch der Speicher eine Festplatteneinheit ist, ist es vorzuziehen, von der speziellen Sektorunterteilung der Daten auf einer derartigen Platte Gebrauch zu machen. Jeder Sektor bildet einen Teil von einer der konzentrischen Speicherspuren auf der Platte. Der Datentransfer von und zu der Speicherplatte wird sektorweise oder durch Vielfache von Sektoren durchgeführt, wobei ein Sektor beispielsweise 256 Datenwörter von 16 Bit enthält. Gemäß einem bevorzugten Ausführungsbeispiel der Erfindung wird daher das anfängliche n-Bit-Codierwort aus einem p-Bit-Codierwort, das durch den Benutzer einmal für jeden Benutzungszyklus eingegeben werden muß, und aus einem sektorspezifischen r-Bit-Codierwort, das durch den Computer für jeden neuen zu beschreibenden Sektor erzeugt wird, gebildet. Das r-Bit-Codierwort ist direkt auf denjenigen Sektor bezogen, in welchem die zu verschlüsselnden Daten zu schreiben sind, und wird durch eine Anzahl oder alle der folgenden Parameter bestimmt: die Nummer des Lese/Schreibkopfes in einer Platteneinheit mit einer Mehrzahl von Festplatten, und somit einer Mehrzahl von Lese/Schreibköpfen, die Seite der Platte, die Nummer der Spur auf dieser Seite und die Nummer des Sektors auf dieser Spur. Das anfängliche n-Bit-Codierwort kann dann durch eine logische Kombination von dem p-Bit- und dem r-Bit-Codierwort gebildet werden. Durch das oben beschriebene Verfahren wird erreicht, daß ein und dasselbe Datenwort, wenn verschlüsselt, zu verschiedenen Krypto-Wörtern in verschiedenen Sektoren führt. Dank der vorbestimmten Kombination der festgelegten p-Bit-Benutzer-Codierwörter und des r-Bit-sektorspezifischen Codierworts, das einheitlich durch den Computer auf der Basis der Sektordaten bestimmt wird, kann das Anfangscodierwort zum Entschlüsseln der Krypto-Wörter in jedem Sektor einheitlich bestimmt werden, so daß die Entschlüsselung keine Probleme bereiten wird, vorausgesetzt natürlich, daß der korrekte Schlüssel und das korrekte p-Bit-Codierwort durch den Benutzer eingegeben werden. Für die Entschlüsselung wird entweder das Anfangscodierwort oder das zu entschlüsselnde Krypto-Wort durch eine Modulo-2- Addition mit dem Datenwort bei dem Ausgang des Verschlüsselkreises kombiniert, um das Originaldatenwort zu erhalten.
- Obwohl der m-Bit-Schlüssel im Prinzip dem Verschlüsselkreis direkt zugeführt werden kann, werden, gemäß einem weiteren Ausführungsbeispiel der Erfindung, zur weiteren Verbesserung der Verschlüsselung der zu speichernden Datenwörter r Bits, mit r ≤ m, dieses Schlüssels logisch kombiniert mit dem Computer-generierten r-Bit-Codierwort, welches direkt auf einen Sektor bezogen ist. Diese logische Kombination ist vorzugsweise eine Modulo-2-Addition. Der durch diese Modulo-2-Addition erhaltene r-Bit- Schlüsselanteil wird dann durch die m - r Bits des Originalschlüssels ergänzt, um wiederum einen m-Bit-Schlüssel zu erhalten. Auf diese Weise wird ein unterschiedlicher Verschlüsselungs-Schlüssel für jeden Sektor erhalten, was noch stärker unauthorisierte Entschlüsselung verhindert.
- Des weiteren bezieht sich die Erfindung auf ein Computer-System mit einem Zentralprozessor und einer Festplatten-Speichereinheit, wobei die Vorrichtung gemäß der Erfindung in dem Datenbus enthalten ist, welcher den Zentralprozessor und die Speicherplatteneinheit verbindet.
- Die Erfindung wird nun weiter erklärt mit Bezug auf die beigefügte Zeichnung, welche ein Blockschaltbild eines Ausführungsbeispiels einer erfindungsgemäßen Vorrichtung zeigt.
- Die Vorrichtung gemäß dem Ausführungsbeispiel ist dazu bestimmt, Datenwörter mit einer Breite von 16 Bits zu verschlüsseln, aber kann leicht für Datenwörter mit einer unterschiedlichen Breite nach einer Anzahl von Anpassungen, welche für den Fachmann offensichtlich sind, passend gemacht werden.
- Die Vorrichtung enthält einen Produktverschlüsselkreis 1 mit 11 Permutationskästen 1-1 bis 1-11, wobei jeder 16 Eingänge und 16 Ausgänge hat, wobei die 16 Eingänge des Permutationskastens 1-1 die Eingänge des Produktverschlüsselkreises zum Empfangen des zu verschlüsselnden oder zu entschlüsselnden Datenwortes bilden und die 16 Ausgänge des Permutationskastens 1 - 11 die Ausgänge des Produktverschlüsselkreises zum Erzeugen des verschlüsselten oder entschlüsselten Datenwortes bilden. Der Produktverschlüsselkreis 1 enthält weiter 40 nichtlineare Substitutionskästen 1-12 bis 1- 51, wobei jeder vier Eingänge und vier Ausgänge aufweist. Die 40 Substitutionskästen, bekannt als S-Kästen, sind in 10 Gruppen von jeweils 4 S- Kästen unterteilt, wobei jede solche Gruppe in dem Kreis 1 zwischen jedem Paar von Permutationskästen angeordnet ist, wobei die 4 x 4 Eingänge einer Gruppe von S-Kästen mit den 16 Ausgängen des vorangehenden Permutationskastens verbunden sind und die 4 x 4 Ausgänge einer Gruppe von S- Kästen mit den 16 Eingängen des nächsten Permutationskastens verbunden sind, so daß Datenwörter von 16-Bit-Breite abwechselnd permutiert und substituiert werden. Die dem Eingang des Produktverschlüsselkreises 1 zugeführten Datenwörter werden kontinuierlich verschlüsselt oder entschlüsselt, wobei der Kreis 1 tatsächlich wie eine Verzögerungsleitung wirkt, deren Verzögerung durch die Schaltzeit der verschiedenartigen Permutations- und Substitutionskästen bestimmt wird. Die Permutationskästen 1-1 bis 1-11 haben jeder vier verschiedene Permutationen, so daß jeder Permutationskasten durch ein Schlüsselwort von 2 Bits gesteuert werden kann. Jeder S-Kasten 1-12 bis 1-51 hat zwei verschiedene Substitutionsalternativen, so daß jeder S-Kasten durch ein Schlüsselwort von 1 Bit gesteuert werden kann. Zum Einstellen einer speziellen Verschlüsselung durch den Produktverschlüsselkreis 1 ist daher ein Schlüssel von (11 x 2) + (40 x 1) = 62 Bits nötig. Dieser Schlüssel wird von einer Schaltung 6, die im folgenden erläutert wird, bereitgestellt, und Teile bestehend aus zwei Bits und einem Bit dieses Schlüssels werden den Steuereingängen (aus Gründen der Klarheit nicht gezeigt) der jeweiligen Kästen 1-1 bis 1-11 und 1-12 bis 1-51 zugeführt.
- Die erfindungsgemäße Vorrichtung enthält eine Eingabevorrichtung 2, wie z.B. eine Tastatur oder ein Kreditkartenleser, zum Eingeben von Schlüsselwörtern. Eine Schnittstellenschaltung 3 bildet die Verbindung zwischen dem Computer mit dem Speicher auf der einen Seite und der erfindungsgemäßen Verschlüsselungsvorrichtung auf der anderen Seite. Hierzu enthält die Schnittstellenschaltung einen bidirektionalen Datenbus 3-1, welcher mit dem Speicher in der Form beispielsweise einer Festplatteneinheit verbunden ist, und einen bidirektionalen Datenbus 3-2 zum Unterhalten der Verbindung mit anderen Komponenten des Computers und zum Transferieren der Daten, welche in den Speicher zu schreiben oder von diesem zu lesen sind. Die zu verschlüsselnden oder entschlüsselnden Datenwörter werden dem Produktverschlüsselkreis 1 über einen Datenbus 3-3 zugeführt, und von diesem Kreis werden die verschlüsselten oder entschlüsselten Datenwörter wiederum der Schnittstellenschaltung 3 über einen Datenbus 3-4 zugeführt.
- Die Vorrichtung enthält weiter ein Paar von Zweiweg-Schaltern 9 und 10, welche in einer ersten Stellung, gezeigt in der Zeichnung, sicherstellen, daß die erfindungsgemäße Vorrichtung als ein Verschlüsselungskreis arbeitet, und in einer zweiten Stellung sicherstellen, daß sie als ein Entschlüsselungskreis arbeitet.
- Wie oben dargelegt, kann es in einer Anzahl von Fällen ein Nachteil sein, daß identische Datenwörter mit ein und demselben Schlüssel in ein und dasselbe Krypto-Wort verschlüsselt werden. Um eine Lösung für dieses Problem bereitzustellen, sind Modulo-2-Addierschaltungen 7 und 8 vorgesehen zur Verschlüsselung bzw. Entschlüsselung. Beim Verschlüsseln wird das verschlüsselte Datenwort bei dem Ausgang des Produktverschlüsselkreises 1 über einen Bus 13 zu einem ersten Eingang des Modulo-2-Addierwerkes 7 zurückgeführt, dessen zweiter Eingang das zu verschlüsselnde Datenwort empfängt. Auf diese Weise wird, wegen der Rückführung von dem Ausgang des Kreises 1, dasselbe Datenwort, das dem zweiten Eingang des Modulo-2-Addierwerkes zugeführt wird, jedesmal in ein unterschiedliches Krypto-Wort konvertiert.
- Im Entschlüsselungsprozeß wird das Datenwort am Ausgang des Produktverschlüsselkreises 1 einem ersten Eingang des Modulo-2-Addierwerkes 8 zugeführt, dessen zweiter Eingang das zu entschlüsselnde Wort über einen Bus 14 empfängt. Beim Ausgang des Modulo-2-Addierwerkes ist dann das korrekte entschlüsselte Datenwort wiederum verfügbar.
- Um eine zuverlässige Entschlüsselung zu gewährleisten, ist es natürlich nötig, daß die zu entschlüsselnden Datenwörter in der gleichen Reihenfolge zugeführt werden, in welcher sie verschlüsselt wurden. Zu diesem Zweck ist es vorteilhaft, von der Tatsache Gebrauch zu machen, daß Daten auf einer Festplatte sektorweise aufgezeichnet werden, wobei jeder Sektor z.B. 512 Bytes, also 256 Datenwörter enthält, und daß das Schreiben und Auslesen von Datenwörtern unveränderlich durch einen oder mehrere Sektoren zur selben Zeit durchgeführt werden. Daher wird die Verschlüsselung mittels Rückführung von dem Ausgang des Produktverschlüsselkreises 1 und der Modulo-2-Addition sektorweise durchgeführt, so daß die Reihenfolge der verschlüsselten Datenwörter bei dem Entschlüsselungsprozeß fest ist. Zu diesem Zweck ist ein Paar von Zweiweg-Schaltern 11 und 12 vorgesehen, gezeigt in der Zeichnung in derjenigen Stellung, in welcher sie während des Verschlüsselungs- und Entschlüsselungsprozesses aller Datenwörter eines Sektors sind, ausgenommen für das erste Datenwort davon. Wenn das erste Datenwort jedes neuen Sektors verschlüsselt wird, wird die Rückführung von dem Ausgang des Produktverschlüsselkreises 1 über den Bus 13 zu dem ersten Eingang des Modulo-2-Addierwerkes 7 mittels des Schalters 11 unterbrochen, und über einen Datenbus 15 wird ein Anfangscodierwort von 16 Bits diesem Eingang zugeführt. In der gleichen Weise wird bei dem Entschlüsselungsprozeß das Anfangscodierwort dem ersten Eingang des Modulo-2-Addierwerkes 8 mittels des Schalters 12 zugeführt.
- Das Anfangscodierwort enthält spezielle Daten für jeden Sektor und wird durch eine Anzahl oder alle der folgenden Parameter bestimmt: die Nummer des Lese/Schreibkopfes in einer Platteneinheit mit einer Mehrzahl von Festplatten, und somit einer Mehrzahl von Lese/Schreibköpfen, die Seite der Platte, die Nummer der Spur auf dieser Seite und die Nummer des Sektors auf dieser Spur. Ein Sektor-spezifisches Codierwort, bestehend aus r Bits wird durch den Computer erzeugt und der Schaltung 4 zugeführt, wo es mit einem p-Bit-Schlüssel kombiniert wird, welcher durch den Benutzer beispielsweise über eine Tastatur eingegeben werden muß, um das Anfangscodierwort von 16 Bits zu bilden. Das Abhängigmachen des Anfangscodierwortes für jeden Sektor von speziellen Daten, die einmalig für jeden Sektor sind, verhindert, daß identische Datenwörter in verschiedenen Sektoren zu einem und demselben Krypto-Wort verschlüsselt werden, was die Qualität der Verschlüsselung erhöht.
- Schließlich hat die Vorrichtung gemäß der Erfindung vorzugsweise die Eigenschaft, daß der dem Produktverschlüsselkreis 1 zugeführte Schlüssel auch für jeden Sektor der Festplatte verschieden ist. Zu diesem Zweck wird von einem durch den Benutzer eingegebenen m-Bit-Schlüssel ein r-Bit- Schlüssel einem ersten Eingang eines Modulo-2-Addierwerkes 5 zugeführt, zu dessen zweitem Eingang das Computer-erzeugte Sektor-spezifische r-Bit- Codierwort zugeführt wird. In einer Schaltung 6 wird das durch das Modulo-2-Addierwerk 5 gebildete r-Bit-Wort wiederum mit den verbleibenden m-r Bits des Schlüssels ergänzt, welche dem Modulo-2-Addierwerk 5 nicht zugeführt wurden, um einen vollständigen Schlüssel von wiederum m Bits zu bilden. Die Tatsache, daß gemäß dieser Variante der Erfindung auch der m-Bit-Schlüssel für Kreis 1 unterschiedlich für jeden Sektor ist, verhindert weiter die unauthorisierte Entschlüsselung.
- Es ist darauf hinzuweisen, daß das zugrundeliegende Prinzip der Erfindung, die Verschlüsselung von n-Bit-Datenwörtern mittels eines Produktverschlüsselkreises, nicht nur auf das Speichern und Auslesen von Daten in verschiedenartigen Typen von Speichervorrichtungen verwendet werden kann, sondern auch in der Datenkommunikation im allgemeinen und daß die Verwendung eines Sektor-spezifischen Codierwortes bei der Verschlüsselung von Datenwörtern und/oder Modifizierungen des m-Bit-Schlüssels in all jenen Fällen angwendet werden können, wo Speichervorrichtungen benutzt werden, in welchen die Daten in vorbestimmten, festen Rahmen gespeichert werden und wo einer oder mehr vollständige Rahmen auf einmal gelesen oder ausgeschrieben werden. Dementsprechend ist die Verwendung eines Sektor- spezifischen Codierwortes nicht auf die Verwendung in dem Produktverschlüsselkreis gemäß dem Ausführungsbeispiel beschränkt, sondern kann auch in anderen Verschlüsselkreisen verwendet werden, in welchen aufeinanderfolgende n-Bit-Datenworte verschlüsselt werden.
Claims (21)
1. Verfahren zur Verschlüsselung von n-Bits Datenwörtern,
wobei aufeinanderfolgende einer Anzahl zu verschlüsselnder n-
Bits Datenwörter mit aufeinanderfolgenden einer Anzahl n-Bits
Codierwörter logisch kombiniert werden (7), um
aufeinanderfolgende von resultierenden n-Bits Wörtern zu
liefern, aufeinanderfolgende n-Bits Wörter einem
Produktverschlüsselkreis (1) zugeführt werden, in diesem
Produktverschlüsselkreis (1) und unter Steuerung eines m-Bits
Schlüssels jedes der n-Bits Wörter eine Anzahl Male
modifiziert wird, um ein entsprechendes verschlüsseltes
Datenwort zu liefern, wobei n und m beide vorbestimmte ganze
Zahlen sind, in welchem Modifizierschritt jedes n-Bits Wort
unter Steuerung des Schlüssels nacheinander und abwechselnd
permutiert und substituiert wird, dadurch gekennzeichnet, daß
die n-Bits Wörter dem Produktverschlüsselkreis (1) über einen
Bus mit einer Breite von n-Bits zugeführt werden und daß jedes
der n-Bits Wörter eine Anzahl Male in einer entsprechenden
Anzahl aufeinanderfolgender Modifizierstufen des
Produktverschlüsselkreises (1) modifiziert wird, wobei jedes
der n-Bits Wörter nur einmal von jeder der Modifizierstufen
modifiziert wird.
2. Verfahren nach Anspruch 1, wobei das n-Bits Codierwort
von einem am Ausgang des Verschlüsselkreises (1) erscheinenden
n-Bits verschlüsselten Wort abgeleitet wird.
3. Verfahren nach Anspruch 2, wobei das n-Bits Codierwort
identisch mit dem verschlüsselten Wort ist.
4. Verfahren nach Anspruch 1, wobei die n-Bits
verschlüsselten Datenwörter sektorweise in einem Speicher
gespeichert werden und weiter das resultierende n-Bits
Codierwort aus einem r-Bits Codierwort gebildet wird, welches
r-Bits Codierwort für jeden neuen Sektor erzeugt wird, um
geschrieben und direkt auf den Sektor bezogen zu werden, in
den die zu verschlüsselnden resultierenden n-Bits Datenwörter
zu schreiben sind, wobei r eine vorbestimmte ganze Zahl mit
einem Wert unter oder gleich m ist.
5. Verfahren nach Anspruch 4, wobei das r-Bits Codierwort
ansprechend auf mindestens einen der folgenden Parameter
bestimmt wird: eine Nummer eines Lese/Schreibkopfes in einer
Scheibeneinheit mit einer Anzahl harter Scheiben, eine Seite
einer Scheibe in der Einheit, eine Nummer einer Spur auf der
Seite und eine Nummer des Sektors auf der Spur.
6. Verfahren nach Anspruch 5, wobei das n-Bits Codierwort
durch eine logische Kombination (4) des r-Bits Codierwortes
und eines von einem Benutzer (2) einzugebenden p-Bits
Codierwortes gebildet wird.
7. Verfahren zur Entschlüsselung verschlüsselter Daten,
wobei
aufeinanderfolgende n-Bits verschlüsselte Wörter einem
Produktverschlüsselkreis (1) zugeführt werden, in diesem
Produktverschlüsselkreis und unter Steuerung eines m-Bits
Schlüssels jedes der n-Bits verschlüsselten Wörter eine Anzahl
Male modifiziert wird, um ein entsprechendes einer Anzahl
entschlüsselter Datenwörter zu liefern, wobei n und m beide
vorbestimmte ganze Zahlen sind, in welchem Modifizierschritt
jedes n-Bits verschlüsselte Wort unter Steuerung des
Schlüssels nacheinander und abwechselnd permütiert und
substituiert wird; und wobei aufeinanderfolgende einer Anzahl
entschlüsselter Wörter mit aufeinanderfolgenden einer Anzahl
n-Bits Codierwörter logisch kombiniert werden (8), um
aufeinanderfolgende von n-Bits entschlüsselten Wörtern zu
liefern, dadurch gekennzeichnet, daß die n-Bits
verschlüsselten Wörter dem Produktverschlüsselkreis (1) über
einen Bus mit einer Breite von n-Bits zugeführt werden und daß
jedes der n-Bits verschlüsselten Wörter eine Anzahl Male in
einer entsprechenden Anzahl aufeinanderfolgender
Modifizierstufen des Produktverschlüsselkreises (1)
modifiziert wird, wobei jedes der n-Bits verschlüsselten
Wörter nur einmal von jeder der Modifizierstufen modifiziert
wird.
8. Verfahren nach Anspruch 7, wobei das n-Bits Codierwort
aus dem am Eingang des Verschlüsselkreises (1) erscheinenden
n-Bits verschlüsselten Datenwort abgeleitet wird.
9. Verfahren nach Anspruch 8, wobei das n-Bits Codierwort
identisch mit dem verschlüsselten Datenwort ist.
10. Verfahren nach Anspruch 7, wobei die n-Bits
verschlüsselten Datenwörter sektorweise in einem Speicher
gespeichert werden und das n-Bits Codierwort aus einem r-Bits
Codierwort gebildet wird, welches r-Bits Codierwort für jeden
neuen Sektor erzeugt wird, um geschrieben und direkt bezogen
zu werden auf den Sektor, in den die zu entschlüsselnden
n-Bits verschlüsselten Datenwörter zu lesen sind, wobei r eine
vorbestimmte ganze Zahl mit einem Wert unter oder gleich m
ist.
11. Verfahren nach Anspruch 10, wobei das r-Bits Codierwort
ansprechend auf mindestens einen der folgenden Parameter
bestimmt wird: eine Nummer eines Lese/Schreibkopfes in einer
Scheibeneinheit mit einer Anzahl harter Scheiben, eine Seite
einer Scheibe in der Einheit, eine Nummer einer Spur auf der
Seite und eine Nummer des Sektors auf der Spur.
12. Verfahren nach Anspruch 11, wobei das n-Bits Codierwort
durch eine logische Kombination (4) des r-Bits Codierwortes
und eines von einem Benutzer (2) einzugebenden p-Bits
Codierwortes gebildet wird.
13. Vorrichtung zur Verschlüsselung von n-Bits Datenwörtern,
versehen mit einem Produktverschlüsselkreis (1), der als
Eingangssignale aufeinanderfolgende n-Bits Wörter und einen
m-Bits Schlüssel hat, eine Folge entsprechender
verschlüsselter n-Bits Datenwörter erzeugt und mindestens
einen Permutationskasten mit n Eingängen und n Ausgängen und
mindestens einen Substitutionskasten mit n Eingängen und n
Ausgängen hat, welche Permutations- und Substitutionskästen
unter Steuerung des m-Bits Schlüssels stehen, wobei n und m
vorbestimmte ganze Zahlen sind, und ein Modulo-2-Addierwerk
(7), dessen erster Eingang zu verschlüsselnde n-Bits
Datenwörter empfängt, dessen zweiter Eingang mit dem Ausgang
(13)
des Produktverschlüsselkreises (1) verbunden ist und die
n-Bits verschlüsselten Datenwörter empfängt und dessen Ausgang
mit einem Eingang des Produktverschlüsselkreises (1) verbunden
ist und an diesen n-Bits Wörter abgibt, wobei das
Addierwerk (7) jedes der von dem Produktverschlüsselkreis (1)
erzeugten n-Bits verschlüsselten Datenwörter mit einem
nächsten aufeinanderfolgenden der zu verschlüsselnden n-Bits
Datenwörter logisch kombiniert, um ein entsprechendes der
n-Bit Wörter zu liefern, dadurch gekennzeichnet, daß der
Produktverschlüsselkreis (1) abwechselnd mit einem aus einer
Anzahl Permutationskästen (1-1, ..., 1-11) mit n Eingängen und
n Ausgängen und einem aus einer Anzahl Substitutionskästen
(1-12, ..., 1-51) mit n Eingängen und n Ausgängen versehen
ist, wobei jeder der Permutations- und Substitutionskästen
unter Steuerung eines spezifischen Teils des m-Bits Schlüssels
steht und jedes aufeinanderfolgende der n-Bits Wörter nur
einmal von jedem jeweiligen der Permutations- und
Substitutionskästen permutiert oder substituiert wird.
14. Vorrichtung nach Anspruch 13, versehen mit
Schaltmitteln (11), um an vorbestimmten Zeitpunkten den
zweiten Eingang des Modulo-2-Addierwerks (7) mit einem
Kreis (4) zu verbinden, der ein n-Bits Anfangscodierwort (15)
erzeugt.
15. Vorrichtung nach Anspruch 14, versehen mit Mitteln (4),
um das n-Bits Anfangscodierwort (15) aus einem von einem mit
der Vorrichtung verbundenen Computer erzeugten r-Bits
Codierwort und einem von einem Benutzer (2) eingegebenen
p-Bits Codierwort zu bilden.
16. Vorrichtung nach Anspruch 15, versehen mit einem zweiten
Modulo-2-Addierwerk (5), wobei ein erster Eingang des zweiten
Addierwerks-(5) das r-Bits Codierwort empfängt, ein zweiter
Eingang des zweiten Addierwerks (5) einen r-Bits Teil des
m-Bits Schlüssels empfängt und ein Ausgang des zweiten
Addierwerks (5) mit einem Kreis (6) verbunden ist, um einen
r-Bits Ausgäng des zweiten Addierwerks (5) und verbleibende
m-r-Bits des Schlüssels zu dem dem
Produktverschlüsselkreis (1) zuzuführenden m-Bits Schlüssel zu
kombinieren.
17. Vorrichtung zur Entschlüsselung von n-Bits
verschlüsselten Datenwörtern, versehen mit einem
Produktverschlüsselkreis (1), der als Eingangssignale
aufeinanderfolgende n-Bits verschlüsselte Wörter und einen
m-Bits Schlüssel hat, um eine Folge entsprechender
entschlüsselter n-Bits Datenwörter zu erzeugen, und mindestens
einen Permutationskasten mit n Eingängen und n Ausgängen und
mindestens einen Substitutionskasten mit n Eingängen und n
Ausgängen hat, welche Permutations- und Substitutionskästen
unter Steuerung des m-Bits Schlüssels stehen, wobei n und m
vorbestimmte ganze Zahlen sind, und einem Modulo-2-
Addierwerk (8), dessen erster Eingang mit dem Ausgang des
Produktverschlüsselkreises (1) verbunden ist und die
entschlüsselten n-Bits Datenwörter empfängt, dessen zweiter
Eingang mit dem Eingang des Produktverschlüsselkreises (1)
verbunden ist und die zu entschlüsselnden verschlüsselten
n-Bits Datenwörter empfängt, und wobei ein Ausgang des
Addierwerks (8) die entschlüsselten n-Bits verschlüsselten
Datenwörter abgibt, welches Addierwerk (8) jedes der von dem
Produktverschlüsselkreis (1) erzeugten entschlüsselten n-Bits
Wörter mit einem nächsten aufeinanderfolgenden der zu
entschlüsselnden verschlüsselten n-Bits Datenwörter logisch
kombiniert, um ein laufendes entsprechendes der
entschlüsselten n-Bits Datenwörter zu liefern, dadurch
gekennzeichnet, daß der Produktverschlüsselkreis (1)
abwechselnd einen aus einer Anzahl Permutationskästen
(1-1, ..., 1-11) mit n Eingängen und n Ausgängen und einen aus
einer Anzahl Substitutionskästen (1-12, ..., 1-51) mit n
Eingängen und n Ausgängen aufweist, wobei jeder der
Permutations- und Substitutionskästen unter Steuerung eines
spezifischen Teils des m-Bits Schlüssels steht und jedes
aufeinanderfolgende der n-Bits verschlüsselten Wörter nur
einmal von jedem jeweiligen der Permutations- und
Substitutionskästen permutiert oder substituiert wird.
18. Vorrichtung nach Anspruch 17, versehen mit
Schaltmitteln (12), um an vorbestimmten Zeitpunkten den
zweiten Eingang des Modulo-2-Addierwerks (8) mit einem
Kreis (4) zu verbinden, der ein n-Bits Anfangscodierwort (15)
erzeugt.
19. Vorrichtung nach Anspruch 18, versehen mit Mitteln (4),
um das n-Bits Anfangscodierwort aus einem von einem mit der
Vorrichtung verbundenen Computer erzeugten r-Bits Codierwort
und einem von einem Benutzer (2) eingegebenen p-Bits
Codierwort zu bilden.
20. Vorrichtung nach Anspruch 19, versehen mit einem zweiten
Modulo-2-Addierwerk (5), wobei ein erster Eingang des zweiten
Addierwerks (5) das r-Bits Codierwort empfängt, ein zweiter
Eingang des zweiten Addierwerks (5) einen r-Bits Teil des
m-Bits Schlüssels empfängt und ein Ausgang des zweiten
Addierwerks (5) mit einem Kreis (6) verbunden ist, um einen
r-Bits Ausgang des zweiten Addierwerks (5) und verbleibende
m-r-Bits des Schlüssels zu dem dem
Produktverschlüsselkreis (1) zuzuführenden m-Bits Schlüssel zu
kombinieren.
21. Computersystem, versehen mit:
einem zentralen Prozessor;
einer harten Scheibenspeichereinheit;
einem den zentralen Prozessor und die Scheibenspeichereinheit
verbindenden Bus, dadurch gekennzeichnet, daß der Bus eine
Vorrichtung nach einem der Ansprüche 13-20 enthält.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NL8901983A NL8901983A (nl) | 1989-08-01 | 1989-08-01 | Werkwijze en inrichting voor het vercijferen van te transporteren data alsmede voor het ontcijferen van de vercijferde data. |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69028748D1 DE69028748D1 (de) | 1996-11-07 |
DE69028748T2 true DE69028748T2 (de) | 1997-05-22 |
Family
ID=19855131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1990628748 Expired - Fee Related DE69028748T2 (de) | 1989-08-01 | 1990-07-31 | Verfahren und Einrichtung zur Verschlüsselung von Übertragungsdaten und zur Entschlüsselung verschlüsselter Daten und Computersystem, das eine solche Einrichtung enthält |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP0411712B1 (de) |
DE (1) | DE69028748T2 (de) |
NL (1) | NL8901983A (de) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2080674B1 (es) * | 1994-01-04 | 1998-02-01 | Mantenimiento Informatico Sur | Tarjeta encriptadora de datos en diskette. |
US5838794A (en) * | 1996-01-11 | 1998-11-17 | Teledyne Electronic Technologies | Method and apparatus for inter-round mixing in iterated block substitution systems |
PL233991B1 (pl) * | 2019-03-29 | 2019-12-31 | Politechnika Opolska | Układ szyfrowania danych |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4278837A (en) * | 1977-10-31 | 1981-07-14 | Best Robert M | Crypto microprocessor for executing enciphered programs |
EP0114368B1 (de) * | 1982-12-28 | 1991-04-24 | Kabushiki Kaisha Toshiba | Datenschutzverfahren |
US4780905A (en) * | 1984-11-26 | 1988-10-25 | Nightwatch, Inc. | Computer data encryption system |
-
1989
- 1989-08-01 NL NL8901983A patent/NL8901983A/nl not_active Application Discontinuation
-
1990
- 1990-07-31 DE DE1990628748 patent/DE69028748T2/de not_active Expired - Fee Related
- 1990-07-31 EP EP19900202092 patent/EP0411712B1/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69028748D1 (de) | 1996-11-07 |
NL8901983A (nl) | 1991-03-01 |
EP0411712A1 (de) | 1991-02-06 |
EP0411712B1 (de) | 1996-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69023372T2 (de) | Zuverlässigkeitsverbesserung von nichtflüchtigen Datenspuren einer Speichervorrichtung. | |
DE3650365T2 (de) | Einrichtung zur Datenverschleierung. | |
DE68914322T2 (de) | Dynamische Rückkopplungsvorrichtung für einen Verschleierungsschlüsselgenerator. | |
DE69222090T2 (de) | Einrichtung und Verfahren zum blockweisen Verschlüsseln von Daten | |
DE69227812T2 (de) | Informationsaufzeichnungs -/Wiedergabegerät für die Umwandlung und Verarbeitung von Daten,die die Fehlerkorrekturfähigkeit während der Aufzeichnung überschreiten | |
DE202004020948U1 (de) | Kodierte Schreibmaske | |
DE2232256A1 (de) | Pruefverfahren | |
DE2607784B2 (de) | Datenchiffrierverfahren und vorrichtung zur durchfuehrung dieses verfahrens | |
DE2727876B2 (de) | Steuereinrichtung mit einem Mikroprozessor | |
DE69602932T2 (de) | Multitor ram zur anwendung in einem viterbidecoder | |
DE1189294B (de) | Datenverarbeitungsanlage | |
DE1449544A1 (de) | Datenverarbeitende Maschine mit ueberlappend abrufbarem Speicherwerk | |
DE2900586C2 (de) | Anordnung zum Decodieren von Codewörtern variabler Länge | |
DE1964570B2 (de) | Verfahren zum wiederauffinden gespeicherter informationen | |
DE60004409T2 (de) | Schaltung und Verfahren zur Zufallszahlerzeugung | |
DE2430685A1 (de) | Verfahren und vorrichtung zur schnellen digitalen modulation | |
DE69028748T2 (de) | Verfahren und Einrichtung zur Verschlüsselung von Übertragungsdaten und zur Entschlüsselung verschlüsselter Daten und Computersystem, das eine solche Einrichtung enthält | |
DE10324422B4 (de) | Verfahren und Vorrichtung zur Abbildung eines abzubildenden Eingangswertes auf einen verschlüsselten abgebildeten Ausgangswert | |
DE2744886B2 (de) | Schaltungsanordnung zum Umschwenken einer Binärdatenmatrix | |
DE3905667C2 (de) | ||
EP1683029A1 (de) | Verfahren zur speicherung von daten in einem wahlzugriffspeicher und verschlüsselungs- und entschlüsselungsvorrichtung | |
DE19757370C2 (de) | Verfahren zur taktilen Erzeugung pseudo-zufälliger Datenworte | |
DE2639806C2 (de) | Verfahren und Einrichtung zum Verschlüsseln oder Entschlüsseln von Datenblöcken in binärer Darstellung | |
DE2136536C3 (de) | Anordnung zur Komprimierung binarer Daten | |
EP0516772B1 (de) | Verfahren zur digitalen videoaufzeichnung und -wiedergabe nach dem schrägspurverfahren |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |