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ält

Info

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
Application number
DE1990628748
Other languages
English (en)
Other versions
DE69028748D1 (de
Inventor
Benny Ching Tak Kwan
Rumpt Herman Wouter Van
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tulip Computers International BV
Original Assignee
Tulip Computers International BV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tulip Computers International BV filed Critical Tulip Computers International BV
Application granted granted Critical
Publication of DE69028748D1 publication Critical patent/DE69028748D1/de
Publication of DE69028748T2 publication Critical patent/DE69028748T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

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.
DE1990628748 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 Expired - Fee Related DE69028748T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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