DE69737806T2 - Datenverschlüsselungsverfahren - Google Patents

Datenverschlüsselungsverfahren Download PDF

Info

Publication number
DE69737806T2
DE69737806T2 DE69737806T DE69737806T DE69737806T2 DE 69737806 T2 DE69737806 T2 DE 69737806T2 DE 69737806 T DE69737806 T DE 69737806T DE 69737806 T DE69737806 T DE 69737806T DE 69737806 T2 DE69737806 T2 DE 69737806T2
Authority
DE
Germany
Prior art keywords
data
message
rules
representing
random
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
DE69737806T
Other languages
English (en)
Other versions
DE69737806D1 (de
Inventor
Douglas William Olney McCracken
William Richard Sanderstead Burey
James Milne Olney Leith
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.)
Desktop Guardian Ltd
Original Assignee
Desktop Guardian Ltd
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 Desktop Guardian Ltd filed Critical Desktop Guardian Ltd
Publication of DE69737806D1 publication Critical patent/DE69737806D1/de
Application granted granted Critical
Publication of DE69737806T2 publication Critical patent/DE69737806T2/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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • 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/30Compression, e.g. Merkle-Damgard construction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Facsimile Transmission Control (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

  • Diese Erfindung betrifft Verfahren zum Verschlüsseln und Entschlüsseln von Daten, zum Beispiel für die Verwendung beim Senden vertraulicher Information über nicht geschützte Datenverbindungen oder das Internet, und eine Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten. Gegenstand der Erfindung ist ferner ein Verfahren zur Fertigung eines Computersystems oder einer Software zur Implementierung der Verschlüsselungs/Entschlüsselungstechnik.
  • Es sind viele Verfahren zum Verschlüsseln von Daten bekannt. Einfach ausgedrückt, bedingen die meisten dieser Verfahren die Anwendung einer Verschlüsselung und eines „Schlüssels" zur Originalnachricht, um eine verschlüsselte Nachricht zu erzeugen, die ohne Kenntnis der Verschlüsselung und des Schlüssels, die dazugehören, nicht entschlüsselt werden kann. Solche Verfahren können durchbrochen werden, wenn derselbe Schlüssel benutzt wird, um eine große Anzahl von Nachrichten zu verschlüsseln, da in der verschlüsselten Nachricht ein Bitmuster zum Vorschein kommen kann, welches ermöglicht, den Schlüssel zu identifizieren.
  • Eine Art und Weise zur Vermeidung dieses Problems besteht darin, eine „One-Time-Pad"- bzw. eine Einmalverschlüsselungstechnik zu benutzen. Dies führt dazu, dass jeder Schlüssel nur einmal benutzt wird, damit keine Bitmuster in den verschlüsselten Nachrichten erscheinen. Das heißt natürlich, dass sowohl der Absender als auch der Empfänger der verschlüsselten Nachricht eine große Anzahl verschiedener Schlüssel haben müssen, und dass jeder wissen muss, welcher Schlüssel jedes Mal benutzt werden muss. Die Implementierung einer solchen Technik weist folglich offenkundig praktische Schwierigkeiten auf, und außerdem bestehen Sicherheitsauswirkungen hinsichtlich der für beide Partner bestehenden Notwendigkeit, eine hohe Anzahl verschiedener Schlüssel zu tragen, die gestohlen oder zum Beispiel durch Erpressung oder Bestechung erhalten werden können.
  • Um diese Probleme zu vermeiden, wurde vorgeschlagen, anstatt, dass ein Empfänger ein „Schlüsselbuch" verschiedener Schlüssel bewahrt, einen neuen Schlüssel zur Entschlüsselung der Nachricht des Empfängers zu übertragen, wann auch immer eine Nachricht gesendet wird. Dieses Verfahren weist wiederum die Problemstellung auf, dass die Schüsselnachricht abgefangen werden könnte, wodurch eine unbefugte Person in die Lage versetzt wird, die vertrauliche Nachricht zu entschlüsseln.
  • Abdeckband enthalten sind, teilen. Die Zufallsdaten von dem Abdeckband werden der Klartextnachricht zugefügt, um eine Schlüsseltextfolge zu bilden.
  • Aufgabe der vorliegenden Erfindung ist es, mindestens einige der oben erwähnten Probleme und Nachteile zu entschärfen.
  • Gemäß der vorliegenden Erfindung wird ein Verfahren zum Verschlüsseln von Daten bereitgestellt, wobei eine Zufallsvariable in Binärzeichenform erzeugt wird, ein erstes Set von Daten, welches eine Klartextnachricht in Binärzeichenform darstellt, mit der Zufallsvariablen kombiniert wird, um ein zweites Datenset in Binärzeichenform zu erzeugen, wobei die Datenbits, welche die Zufallsvariable darstellen, in das zweite Datenset entsprechend einem ersten vorbestimmten Set von Regeln eingefügt werden, und die Reihenfolge der Datenbits in dem zweiten Datenset entsprechend einem zweiten vorbestimmten Set von Regeln abgeändert wird, wobei ein drittes Datenset zum Senden als eine Schlüsseltextnachricht erzeugt wird, wobei das dritte Datenset in verschlüsselter Form die Daten enthält, welche sowohl die Klartextnachricht als auch den Schlüssel darstellen.
  • Die Reihenfolge, in welcher die Schritte des Verschlüsselungsablaufs durchgeführt werden, braucht nicht unbedingt die Reihenfolge, in welcher diese Schritte oben erwähnt sind, zu sein. Zum Beispiel können die Datenbits, welche die Zufallsvariable darstellen, entweder bevor oder nachdem die Reihenfolge der Datenbits in dem zweiten Datenset abgeändert wurde, in das zweite Datenset eingefügt werden. Vorausgesetzt, dass der Entschlüsselungsablauf eine Umkehrung des Verschlüsselungsablaufs ist, wird die Nachricht nach wie vor korrekt entschlüsselt.
  • Da die Verschlüsselungstechnik keinen vorbestimmten Schlüssel benutzt und stattdessen Zufallsvariablen verwendet, um die Volltextnachricht zu verschlüsseln, ist es für eine unbefugte Person äußerst schwierig, die Nachricht zu entschlüsseln, zum Beispiel, indem sie nach Bitmustern in den verschlüsselten Nachrichten sucht. Weil ferner die Zufallsvariablen, die zum Entschlüsseln der Nachricht erforderlich sind, eher innerhalb des Schlüsseltexts verborgen sind, als dass sie getrennt gesendet werden, besteht keine Gefahr, dass sie abgefangen und zum Entschlüsseln der Nachricht benutzt werden. Nur der beabsichtigte Empfänger der Nachricht kann die Zufallsvariablen leicht wiederherstellen, weil die Datenbits, welche diese Variablen darstellen, innerhalb des Schlüsseltexts an Stellen verborgen sind, die nur unter Bezugsnahme auf die internen Regeln des Verschlüsselungs/Entschlüsselungsablaufs bestimmt werden können. Da jedoch jede Version der Verschlüsselungssoftware einmalig ist und die internen Regeln zum Lokalisieren und Rekonstruiren der Zufallsvariablen nicht leicht zugänglich sind, ist das Verfahren hochgeschützt.
  • Weil sich ferner die Computersoftware verbreiten lässt, ohne dass eine Geheimhaltung erforderlich ist, kann eine neue Version der Software mit neuen internen Regeln ohne Umstände zur Verfügung gestellt werden. Daher, selbst wenn eine unbefugte Person eine Kopie der Entschlüsselungssoftware unberechtigterweise erhalten kann, lässt sich ein Vertraulichkeitsverlust einfach durch das Wechseln auf einer neue Softwareversion vermeiden. Da sich neue Versionen der Software sehr schnell und leicht verbreiten lassen, zum Beispiel durch Übertragung über das Internet, kann die Software häufig gewechselt werden, beispielsweise jeden Tag.
  • Der erste Satz von Daten lässt sich mit der Zufallsvariablen mit Hilfe der EXKLUSIV-ODER-Verknüpfung (XOR) kombinieren. Die EXKLUSIV-ODER-Verknüpfung, so wie hierin benutzt, entspricht der Beschreibung des User's Guide (1992) von Borland Turbo C++TM, V.III, Seite 425 („Bitavise operators, bitwise XOR").
  • Vorteilhafterweise umfasst die Zufallsvariable mehrere Zufallszahlen, und diese sind mit dem ersten Set von Daten entsprechend einem dritten vorbestimmten Set von Regeln kombiniert. Die Zufallszahlen können mittels der EXKLUSIV-ODER-Verknüpfung mit dem ersten Set von Daten ein oder mehrere Male kombiniert werden, wobei die Reihenfolge der Zufallszahlen jedes Mal verändert wird.
  • Das erste Set von Daten, die Zufallszahlen und das modifizierte Datenset können alle die Form von 8-Bit-Wörtern aufweisen.
  • Vorteilhafterweise ist das zweite Datenset in 5-Bit-Wörter geteilt, welche durch das Einschließen der Daten, welche die Zufallszahlen darstellen, zu 7-Bit-Wörtern erweitert sind und danach erneut in 8-Bit-Wörter geteilt werden.
  • Vorteilhafterweise ist die Klartextnachricht in Gruppen von zehn Zeichen verschlüsselt, welche in dem ersten Datenset als zehn 8-Bit-Wörter dargestellt sind, und mit vier 8-Bit-Zufallszahlen kombiniert werden, um ein drittes Datenset von vierzehn 8-Bit-Wörtern zu erzeugen. Vorzugsweise wird eine Klartextnachricht von zehn Zeichen während Verschlüsselung in eine Schlüsseltextnachricht von vierzehn Zeichen umgewandelt.
  • Wahlweise kann die Klartextnachricht vor Verschlüsselung komprimiert werden, was eine kürzere Schlüsseltextnachricht als die Volltextnachricht ergeben kann.
  • Ein Messageheader kann der Klartextnachricht hinzugefügt und gemeinsam mit der Klartextnachricht verschlüsselt werden. Der Messageheader kann Daten enthalten, welche den beabsichtigten Empfänger der Klartextnachricht und/oder den Absender der Klartextnachricht identifizieren. Die Identität des Absenders kann verifiziert werden, bevor Daten, welche den Absender identifizieren, in den Messageheader eingeschlossen werden.
  • Die vorliegende Erfindung stellt ferner ein Verfahren zum Entschlüsseln von Daten bereit, die unter Verwendung eines wie oben beschriebenen Verfahrens verschlüsselt worden sind, in dem die Datenbits, welche die Zufallsvariable darstellen, entsprechend einem ersten vorbestimmten Set komplementärer Regeln aus dem dritten Datenset extrahiert werden, die Zufallsvariable, welche den Schlüssel darstellt, aus den extrahierten Datenbits wiederhergestellt wird, die Reihenfolge der Daten in dem dritten Datenset entsprechend einem zweiten vorbestimmten Set komplementärer Regeln abgeändert wird, um das zweite Datenset zu rekonstruieren, und das zweite Datenset mit der Zufallsvariablen kombiniert wird, welche den Schlüssel darstellt, um das erste Set digitaler Daten, welche die Klartextnachricht darstellen, zu rekonstruieren.
  • Vorteilerhafterweise wird der Messageheader vor der Klartextnachricht entschlüsselt. Vorzugsweise werden die Daten, welche den beabsichtigten Empfänger der Klartextnachricht identifizieren, extrahiert, die Identität des tatsächlichen Empfängers verifiziert und die Klartextnachricht nur entschlüsselt, wenn der tatsächliche Empfänger der beabsichtigte Empfänger ist.
  • Ferner stellt die vorliegende Erfindung noch ein weiteres Verfahren zum Verschlüsseln und Entschlüsseln von Daten bereit, wobei das Verfahren ein Verschlüsselungsverfahren und ein Entschlüsselungsverfahren wie oben beschrieben umfasst.
  • Ferner stellt die vorliegende Erfindung noch ein weiteres Verfahren zum Senden von Daten bereit, wobei das wie oben beschriebene Verfahren Verschlüsselungs- und Entschlüsselungsdaten umfasst und das Senden der verschlüsselten Daten von einem Absender zu einem Empfänger.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird eine Vorrichtung zum Verschlüsseln von Daten bereitgestellt, wobei die Vorrichtung Eingabemittel zum Empfangen eines ersten Sets von Daten, welche eine Klartextnachricht in Binärzeichenform darstellen, enthält, Generatormittel zum Erzeugen einer Zufallsvariablen zur Verwendung als ein Schlüssel in Binärzeichenform, Prozessormittel zum Kombinieren des ersten Sets von Daten mit der Zufallsvariablen, um ein zweites Datenset in Binärzeichenform zu erzeugen, zum Einfügen der Datenbits, welche die Zufallsvariable darstellen, in das zweite Datenset, entsprechend einem ersten vorbestimmten Set von Regeln, und zum Abändern der Reihenfolge der Datenbits in dem zweiten Datenset, entsprechend einem zweiten vorbestimmten Set von Regeln, wobei ein drittes Datenset erzeugt wird, welches eine Schlüsseltextnachricht darstellt, wobei das dritte Datenset in verschlüsselter Form die Daten beinhaltet, welche sowohl die Klartextnachricht als auch den Schlüssel darstellen, und Ausgabemittel zum Senden der Schlüsseltextnachricht.
  • Die Vorrichtung kann die Form eines dedizierten Elektronikprozessors oder eines Computers, der zur Bedienung gemäß der Erfindung programmiert ist, annehmen.
  • Das Prozessormittel kann Mittel zum Hinzufügen eines verschlüsselten Messageheaders enthalten, welcher Daten beinhaltet, die den beabsichtigten Empfänger der Nachricht identifizieren. Der Messageheader kann auch Daten enthalten, die den Absender der Vortextnachricht identifizieren, und die Identität des Absenders kann verifiziert werden, bevor Daten, welche den Absender identifizieren, in den Messageheader eingeschlossen werden.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung wird eine Vorrichtung zum Entschlüsseln von Daten, welche unter Verwendung der oben beschriebenen Vorrichtung verschlüsselt worden sind, bereitgestellt, wobei die Vorrichtung Eingabemittel zum Empfangen der Schlüsseltextnachricht enthält, Prozessormittel zum Extrahieren von Datenbits, welche die Zufallsvariable darstellen, aus der Schlüsseltextnachricht, entsprechend einem ersten vorbestimmten Set komplementärer Regeln, zum Abändern der Reihenfolge der Daten in der Schlüsseltextnachricht, entsprechend einem zweiten vorbestimmten Set komplementärer Regeln, zum Wiederherstellen der Zufallsvariablen, welche den Schlüssel darstellt, aus den extrahierten Datenbits, und zum Kombinieren der Daten in der Schlüsseltextnachricht mit der Zufallsvariablen, welche den Schlüssel darstellt, um die Klartextnachricht zu rekonstruieren, und Ausgabemittel für die Klartextnachricht.
  • Vorteilhafterweise enthält das Prozessormittel Mittel zum Extrahieren der Daten aus dem verschlüsselten Messageheader, welche den beabsichtigten Empfänger der Nachricht identifizieren, die Identität des tatsächlichen Empfängers verifizieren und Identität des tatsächlichen Empfängers mit der des beabsichtigten Empfängers vergleichen, wobei das Prozessormittel eingerichtet ist, die Schlüsseltextnachricht nur zu entschlüsseln, wenn der tatsächliche Empfänger der beabsichtigte Empfänger ist.
  • Obwohl nicht zum Rahmen der vorliegenden Erfindung gehörend, beschreibt diese Anwendung auch ein Verfahren zur Fertigung von Mitteln zur Implementierung eines wie oben beschriebenen Verschlüsselungs- und Entschlüsselungsverfahrens, wobei das Verfahren die Schritte des Extrahierens komplementärer Sets von vorbestimmten Regeln aus einer Datenbank aufweist, welche diese Regeln in Algorithmen zum Verschlüsseln und Entschlüsseln der Daten einbinden und diese Algorithmen in Mitteln zur Implementierung der Verschlüsselungs- und Entschlüsselungsverfahrens aufzeichnen.
  • Vorteilhafterweise wird die Datenbank, nachdem die komplementären Sets von vorbestimmten Regeln aus der Datenbank extrahiert worden sind, gekennzeichnet, um zu verhindern, dass diese Regeln wieder benutzt werden.
  • Vorteilhafterweise werden die Schritte des Extrahierens der komplementären Setz von vorbestimmten Regeln aus der Datenbank und welche diese Regeln in die Algorithmen zum Verschlüsseln und Entschlüsseln der Daten einbinden, automatisch durchgeführt und ohne dass irgendeine Aufzeichnung der vorbestimmten Regeln, die in die Mittel zur Implementierung der Verschlüsselungs- und Entschlüsselungsverfahren eingebunden werden, gemacht wird.
  • Eine Ausführungsform der Erfindung wird nun als Beispiel mit Bezug auf die begleitenden Zeichnungen beschrieben. Es zeigen:
  • 1 ein Beispiel einer Nachricht in verschlüsselten und entschlüsselten Stati;
  • 2 ein Beispiel des Verschlüsselungsablaufs;
  • 3 ein Beispiel des Entschlüsselungsablaufs;
  • 4 ein Ablaufdiagramm, das die Verwendung einer modifizierten Verschlüsselungstechnik durch eine Lizenzgruppe darstellt, und
  • 5 ein Ablaufdiagramm, das ein Verfahren zur Fertigung von Computersoftware zur Implementierung des Verschlüsselungs/Entschlüsselungsablaufs darstellt.
  • Die vorliegende Erfindung verwendet eine Verschlüsselungstechnik, die als „probabilistische Verschlüsselung" bekannt ist. Bei dieser Technik, die in Applied Cryptography, zweite Ausgabe von Bruce Schneler auf den Seiten 552–554 beschrieben ist (John Wiley & Sons, Inc., 1996), ISBN 0471117099, ist der Verschlüsselungsalgorithmus derart bezeichnet, dass ein besonderer Volltext ebenso wahrscheinlich eine große Anzahl verschiedener Schlüsseltexte ergeben kann, die alle denselben Volltext erzeugen werden, wenn die Nachricht entschlüsselt ist. Dadurch wird es für eine unbefugte Person äußerst schwierig, die Nachricht abzufangen, um irgendetwas über einen der Volltexte des Verschlüsselungsalgorithmus zu erfahren.
  • 1 ist ein Beispiel dazu, wie eine Volltextnachricht verwandelt werden kann, während sie verschlüsselt und entschlüsselt wird. In diesem Beispiel besteht die Volltextnachricht aus zehn Zeichen 1A–1J. Bei der Verschlüsselung wird daraus eine Nachricht, die aus vierzehn ASCII-Textzeichen 2A–2N besteht. Die Schlüsseltextnachricht kann durch herkömmliche Mittel wie ein Modem, das an eine Datenleitung oder eine Telefonleitung angeschlossen ist, vom Absender zum Empfänger gesendet werden.
  • Die Schlüsseltextnachricht wird durch den Empfänger empfangen und entschlüsselt, woraufhin sie zur Originalnachricht von zehn Volltextzeichen 3A–3J zurückkehrt.
  • Der Verschlüsselungsablauf, der zum Beispiel mittels eines Computerprogramms oder mittels dedizierter Hardware implementiert werden kann, ist näher in 2 dargestellt. Die Verschlüsselungsarbeitsschritte sind wie folgt:
    • (1) Die Computersoftware erzeugt vier Pseudozufallszahlen 5A-5D. Verfahren zur Erzeugung von Pseudozufallszahlen sind bekannt und werden daher nicht näher beschrieben. Als Beispiel können die Zahlen jedoch durch Extrahieren von vier Zahlen aus der Computersystemzeit im Augenblick der Erzeugung erzeugt werden. Die vier Pseudozufallszahlen 5A–5D, die Werte zwischen 0 und 255 aufweisen, werden in 8-Bit-Digitalwörter 6A–6D umgewandelt.
    • (2) Die Verschlüsselung nimmt ein Set von zehn Zeichen 1A–1J aus der Volltextnachricht (in diesem Fall die Buchstaben a, b, c.. j).
    • (3) Jedes der zehn Volltextzeichen 1A-1J wird entsprechend seines ASCII-Werts 7A–7J in ein 8-Bit-Wort umgewandelt, damit zehn 8-Bit-Wörter 8A-8J erzeugt werden.
    • (4) Jedes der 8-Bit-Wörter 8A–8J ist mittels der EXKLUSIV-ODER-Verknüpfung mit einem der 8-Bit-Wörter 6A–6D kombiniert, die aus den Zufallszahlen 5A–5D abgeleitet sind. Dies erzeugt ein neues Set von zehn 8-Bit-Wörtern 9A–9J.
  • Die Reihenfolge, in welcher die 8-Bit-Wörter 8A–8J, welche die Volltextzeichen darstellen, mit den 8-Bit-Wörtern 6A–6D, welche die Zufallszahlen darstellen, kombiniert werden, wird durch die internen Regeln des Verschlüsselungsalgorithmus bestimmt, welche für jede Version der Verschlüsselungssoftware einmalig sind. In dem in 3 gezeigten Beispiel sind die 8-Bit-Wörter, welche die Zufallszahlen 6A–6D und die Volltextzeichen 8A–8J darstellen, in folgender Reihenfolge kombiniert.
    • 1. Zeichen 8A mit der 1. Zufallszahl 6A
    • 2. Zeichen 8B mit der 2. Zufallszahl 6B
    • 3. Zeichen 8C mit der 3. Zufallszahl 6C
    • 4. Zeichen 8D mit der 4. Zufallszahl 6D
    • 5. Zeichen 8E mit der 1. Zufallszahl 6A
    • 6. Zeichen 8F mit der 2. Zufallszahl 6B
    • 7. Zeichen 8G mit der 3. Zufallszahl 6C
    • 8. Zeichen 8H mit der 4. Zufallszahl 6D
    • 9. Zeichen 81 mit der 1. Zufallszahl 6A
    • 10. Zeichen 8J mit der 2. Zufallszahl 6B
  • Dies ist ein sehr einfaches Beispiel. Die Zufallszahlen können selbstverständlich mit den Volltextzeichen in jeder Reihenfolge kombiniert werden, und es gibt insgesamt 410 verschiedene Arten und Weisen, in welchen diese Elemente kombiniert werden können, wobei die benutzte besondere Kombination durch die internen Regeln des Verschlüsselungsalgorithmus bestimmt wird.
    • (5) Wahlweise wird Schritt (4) ein oder mehrere Male wiederholt, indem er jedes Mal ein anderes Set von internen Regeln benutzt, um irgendwelche Bitmuster, die sich aus dem Algorithmus ergeben, zu entfernen. Im veranschaulichten Beispiel wird der Schritt einmal wiederholt, wobei die zehn 8-Bit-Wörter 9A–9J mit den 8-Bit-Wörtern 10A–10J kombiniert werden, welche die Zufallszahlen 6A–6D in folgender Reihenfolge darstellen: 1. Zeichen 9A mit der 2. Zufallszahl 6B 2. Zeichen 9B mit der 3. Zufallszahl 6C 3. Zeichen 9C mit der 4. Zufallszahl 6D 4. Zeichen 9D mit der 1. Zufallszahl 6A 5. Zeichen 9E mit der 2. Zufallszahl 6B und so weiter.
  • Dies erzeugt ein neues Set von zehn 8-Bit-Wörtern 11A–11J.
    • (6) Die zehn 8-Bit-Wörter 11A–11J sind in sechzehn 5-Bit-Gruppen 12A–12P aufgeteilt.
    • (7) Jede der 5-Bit-Gruppen 12A–12F wird durch Hinzufügen von 2 Datenbits erweitert, um sechzehn 7-Bit-Gruppen 13A–13P zu erstellen.
    • (8) Die Datenbits innerhalb jeder der 7-Bit-Gruppen 13A–13P werden zu neuen Positionen entsprechend einer Ordnungsfolge, die durch die internen Regeln 14 des Verschlüsselungsalgorithmus bestimmt wird, bewegt. Dadurch wird ein neues Set von sechzehn 7-Bit-Gruppen 15A–15F erstellt.
  • In dem in 2 gezeigten Beispiel, wird das erste Datenbit zur Position 3, das zweite zur Position 5, das dritte zur Position 4, das vierte zur Position 7 und das fünfte zur Position 6 bewegt, und diese Umordnungsfolge wurde auf jeder der sechzehn 7-Bit-Gruppen 15A–15P angewandt. Es ist selbstverständlich möglich, eine andere Umordnungsfolge für jede der sechzehn 7-Bit-Gruppen zu benutzen.
  • Die in Schritt (8) verwendete Ordnungsfolge ist für jede Version der Verschlüsselungssoftware einmalig. Insgesamt sind 1856 verschiedne Folgen für jede der sechzehn 7-Bit-Gruppen 15A–15P möglich, weshalb die Nummer der einzelnen Regeln 185616 ist.
    • (9) Die zwei „leeren" Datenbits in jeder der sechzehn 7-Bit-Gruppen 15A–15F sind mit zwei der Datenbits aus den vier 8-Bit-Wörtern 6A–6D, welche die Zufallszahlen 5A–5D darstellen, gefüllt, wodurch sechzehn 7-Bit-Gruppen 16A–5D erzeugt werden. Auf diese Weise sind alle zweiunddreißig Bits der vier 8-Bit-Wörter 6A–6D angeordnet.
  • Die Reihenfolge, in welcher die zweiunddreißig Datenbits der vier 8-Bit-Wörter 6A–6D in die Freiräume in der 7-Bit-Gruppe 16A–16F überführt werden, wird durch die internen Regeln des Verschlüsselungsalgorithmus bestimmt. In dem in 2 gezeigten Beispiel, ist die Reihenfolge dieser Bits unverändert gelassen. Dies ist ein sehr einfaches Beispiel. Es gibt etwa 2,63 x 1032 Permutationen der Folge zur Überführung der Datenbits, und in der Praxis wird eine einmalige Überführungsfolge in jeder Version der Verschlüsselungssoftware benutzt.
    • (10) Die sechzehn 7-Bit-Gruppen werden wieder in vierzehn 8-Bit-Wörter 17A–17N geteilt.
    • (11) Diese vierzehn 8-Bit-Wörter werden in die Schlüsseltextzeichen 2A–2N entsprechend ihrer ASCII-Werte umgewandelt.
  • Die Schlüsseltextnachricht wird dann zu dem Empfänger überführt, zum Beispiel mittels eines Modems und einer Telefonleitung. Die Schlüsseltextnachricht enthält in verschlüsselter Form sowohl die Volltextnachricht von zehn Zeichen als auch die vier Pseudozufallszahlen 5A–5D, die von der Entschlüsselungssoftware zur Entschlüsselung der Nachricht benötigt werden. Die Verschlüsselungstechnik vermeidet daher die Notwendigkeit, einen Verschlüsselungsschüssel getrennt zum Empfänger zu senden, damit jedes Abfangrisiko der Verbindung vermieden wird.
  • Ohne Kenntnis der Zufallsnummern ist es äußerst schwierig die Nachricht zu entschlüsseln, und da die Datenbits, welche die Zufallszahlen darstellen, nicht wieder abgerufen werden können, ohne die Stelle dieser Bits zu kennen, lässt sich die Schlüsseltextnachricht nicht ohne die korrekte Version des Entschlüsselungsalgorithmus entschlüsseln. Da jedes Paar von Verschlüsselungs- und Entschlüsselungsprogrammen einmalig ist, ist die Verschlüsselungstechnik äußerst sicher.
  • Der Entschlüsselungsablauf ist im Wesentlichen die Umkehrung des Verschlüsselungsablaufs und ist in 3 dargestellt. Die Hauptschritte des Ablaufs sind wie folgt:
    • (1) Die ersten vierzehn Schlüsseltextzeichen 2A–2N werden in vierzehn 8-Bit-Wörter 20A–20N entsprechend ihrer ASCII-Werte abgewandelt.
    • (2) Diese Bits werden wieder in sechzehn 7-Bit-Gruppen 21A–21P angelegt.
    • (3) Die zweiunddreißig Bits, welche die Zufallszahlen 5A–5D darstellen, werden aus den 7-Bit-Gruppen 21A–21B entsprechend der internen Regeln des Entschlüsselungsalgorithmus extrahiert, welche die entsprechenden internen Regeln des beim obigen Schritt (9) beschriebenen Verschlüsselungsalgorithmus widerspiegeln. Diese zweiunddreißig Bits 22 werden dann in den vier 8-Bit-Wörtern 6A–6D, welche die vier Zufallszahlen 5A–5D darstellen, wiederhergestellt.
    • (4) Die Reihenfolge der fünf Bits, die in jeder 7-Bit-Gruppe 21A–21P verbleiben wird entsprechend der internen Regeln des Entschlüsselungsalgorithmus (welche wieder die entsprechenden internen Regeln des bei obigem Schritt (8) beschriebenen Verschlüsselungsalgorithmus widerspiegeln) verändert, wobei sie sechzehn 5-Bit-Gruppen 23A–23P erzeugen, welche dann in sechzehn benachbarten 5-Bit-Gruppen 24A–24P hergestellt werden.
    • (5) Die sechzehn 5-Bit-Gruppen 24A–24P werden wieder geteilt, um zehn 8-Bit-Wörter 25A–25J zu erzeugen.
    • (6) Diese 8-Bit-Wörter werden mittels der EXKLUSIV-ODER-Verknüpfung mit den 8-Bit-Wörtern 6A–6D, welche die Zufallszahlen 5A–5D darstellen, entsprechend der geeigneten internen Regeln kombiniert, auf diese Art Schritt (5) des Verschlüsselungsablaufs umkehrend und zehn 8-Bit-Wörter 25A–26J erzeugend.
    • (7) Schritt (6) wird wieder entsprechend der geeigneten internen Regeln wiederholt, auf diese Art Schritt (4) des Verschlüsselungsablaufs umkehrend und zehn 8-Bit-Wörter 27A–27J erzeugend.
    • (8) Diese 8-Bit-Wörter 27A–27J werden wieder in die Volltextzeichen 3A–3J entsprechend ihrer ASCII-Werte verwandelt.
  • Es ist zu beachten, dass zur korrekten Entschlüsselung der verschlüsselten Nachricht durch den Entschlüsselungsalgorithmus die Verschlüsselungs- und Entschlüsselungsalgorithmen komplementäre Sets von internen Regeln zum Umordnen der Datenbits in den sechzehn 7-Bit-Gruppen 13A–13P und 23A–23P (jeweils die Schritte (8) und (4) der Verschlüsselungs- und Entschlüsselungsabläufe) und zum Einfügen und Extrahieren der Datenbits, welche die Zufallszahlen in oder aus den sechzehn 7-Bit-Gruppen 16A–16P und 21A–21P darstellen (jeweils die Schritte (9) und (3) der Verschlüsselungs- und Entschlüsselungsabläufe), enthalten müssen. Die Software zur Implementierung des Verschlüsselungs- und Entschlüsselungsablaufs wird daher als ein übereinstimmendes Paar von Verschlüsselungs- und Entschlüsselungsprogrammen, welche komplementäre und einmalige Sets von internen Regeln enthalten, gefertigt.
  • Die obige Beschreibung betrifft eine Situation, wo Nachrichten zwischen zwei Personen, die ein übereinstimmendes Paar von Verschlüsselungs- und Entschlüsselungsprogrammen mit identischen internen Kryptovariablen haben, ausgetauscht werden. Die Erfindung kann jedoch auch für die Verwendung durch Personengemeinschaften angepasst werden, wo einige Nachrichten zum Lesen durch alle Mitglieder der Gemeinschaft bestimmt sind (aber nicht durch Personen außerhalb der Gemeinschaft) und andere Nachrichten zum Lesen durch spezifische, aber nicht andere Mitglieder der Gemeinschaft, bestimmt sind.
  • Zu diesem Zweck werden Messageheader und Lizenzblocks verwendet, so wie es nun unter Bezugnahme auf 4 beschrieben wird, welche ein Beispiel veranschaulicht, wo die Gemeinschaft aus vier Mitgliedern 30, die A B C und D genannt werden, besteht, die in der Lage sind, sich gegenseitig E-Mail-Nachrichten über einen zentralen Dienstleister 31 zu senden. Die vier Mitglieder A B C und D haben alle identische Kopien des Verschlüsselungs/Entschlüsselungsschlüssels 32 und sind somit in der Lage, Volltextnachrichten zu verschlüsseln und verschlüsselte Nachrichten, die durch andere Mitglieder der Gemeinschaft gesendet werden, zu entschlüsseln. Diese Nachrichten können durch Personen außerhalb der Gemeinschaft, welche nicht denselben Verschlüsselungs/Entschlüsselungsschlüssel haben, selbstverständlich nicht entschlüsselt werden.
  • Es mag sein, dass Mitglieder der Gemeinschaft Nachrichten senden möchten, die nur durch bestimmte Mitglieder der Gemeinschaft und nicht durch andere übertragen werden können. A möchte zum Beispiel eine Nachricht, die von B, aber nicht von C oder D gelesen werden kann, senden. Zu diesem Zweck ist jeder Benutzer A B C und D mit einem Lizenzblock 33 versehen (durch einen getrennten Partner), der Daten enthält, welche die Lizenzen identifizieren, aber keine Information wie Regeln oder Schlüssel zum Verschlüsselungs/Entschlüsselungsablauf enthält. Diese Lizenzblocks sind einmalig, wobei der Lizenzblock A nur für As Verwendung bestimmt ist, wobei der Lizenzblock B nur für Bs Verwendung bestimmt ist, und so weiter.
  • Jeder Lizenzblock 33 ist mittels der Version des Verschlüsselungs/Entschlüsselungsschlüssel 32, den sich A B C und D teilen, verschlüsselt. Er kann jedoch nicht in Volltext umgewandelt werden und nur durch eine Anwendung 34 benutzt und entschlüsselt werden (d.h. ein Computerprogramm oder eine Hardwarevorrichtung), die jedem Benutzer 30 zugeordnet ist. Die Anwendung 34 ist selber durch ein Passwort 35 oder irgendeine andere Sicherheitsvorrichtung geschützt (zum Beispiel eine Chipkarte oder eine mechanische Verriegelung), die für den Benutzer 30 einmalig ist. Der Benutzer 30 kann infolgedessen den Zugriff auf die Anwendung 34 nur durch Eingabe des korrekten Passworts erlangen. Das Passwort kann zum Beispiel in verschlüsselter Form innerhalb des Lizenzblocks 33 enthalten sein.
  • Wenn A eine geschützte Nachricht an B sendet, bestimmt die Anwendung 34 die Identitäten des Absenders (in diesem Fall A), und den beabsichtigten Empfänger (in diesem Fall B) sowie der Inhalt der Nachricht, der eine E-Mail-Nachricht und/oder ein beigefügtes Set von Dateien sein kann, und erstellt einen „Messageheader", der die Identitäten des Absenders A und des beabsichtigen Empfängers B enthält. Der Messageheader ist als Bestandteil der vollständigen Nachricht verschlüsselt und wird von Blöcken verschlüsselter Information, die aus der Volltextnachricht erstellt wurde, gefolgt.
  • Um die verschlüsselte Nachricht zu entschlüsseln, muss sich B zuerst selber bei der Anwendung 34 durch Eingabe seines/ihres Passworts identifizieren. Nachdem er/sie sich identifiziert hat, entschlüsselt die Anwendung 34 den Messageheader, um festzustellen, für wen die Nachricht bestimmt ist. In diesem Fall, da die Nachricht für B bestimmt ist, nimmt die Anwendung 34 dann das Entschlüsseln der Nachricht vor.
  • Falls eine Nachricht für mehrere Mitglieder der Gemeinschaft bestimmt ist (aber nicht für alle davon), können Einzelheiten von allen beabsichtigten Empfängern im Messageheader enthalten sein. Fall die Identität des Empfängers mit einem der beabsichtigten Empfänger, die im Messageheader identifiziert sind, übereinstimmt, entschlüsselt die Anwendung die Nachricht.
  • Eine andere Person, die Bs Passwort nicht kennt, wäre nicht in der Lage, die Nachricht mittels Bs Anwendung 34 zu entschlüsseln, da die misslungene Eingabe des korrekten Passworts den Zugriff auf die Anwendung sperren würde.
  • Hätte ein anderes Mitglied der Gemeinschaft, zum Beispiel C, versucht, die Nachricht mittels seiner Anwendung 34 zu entschlüsseln, würde die Anwendung aus dem Messageheader bestimmen, dass die Nachricht nicht für C bestimmt war und würde daher nicht die Nachricht entschlüsseln. Die Vertraulichkeit der Nachricht wäre folglich gewährleistet.
  • Es sind etliche Veränderungen des Verschlüsselungs/Entschlüsselungsprogramms möglich, von denen einige nun beschrieben werden. Um die Integrität der Nachricht zu gewährleisten (d.h., um zu gewährleisten, dass zwischen Senden und Empfangen keine Änderungen durch einen dritten Partner vorgenommen worden sind), kann eine Einweg-Hash-Funktion, englisch als „one-way-hash" (OWH) bezeichnet, in die Nachricht eingebunden werden. Verfahren zur Bereitstellung von OWH sind bekannt und werden zum Beispiel in Applied Cryptography (oben) beschrieben.
  • Die OWH wird für den Header erzeugt und in den Header eingebunden. Andere OWHs werden für die Blöcke von Volltext erzeugt und in die Blöcke von Schlüsseltext eingebunden. Eine weitere OWH wird für die gesamte Nachricht erzeugt und in den Schlussblock des Schlüsseltexts eingebunden.
  • Die Anwendung, welche die Nachricht empfängt und entschlüsselt, erzeugt dieses OWH-Werte erneut aus der Nachricht und vergleicht die Werte mit jenen, die durch die sendende Anwendung erzeugt wurden. Wenn die Werte verschieden sind, deutet dies an, dass die Nachricht abgeändert wurde.
  • Um Authentifizierung zu bieten (d.h. dem Empfänger die Identität des Absenders zu beweisen), kann der Messageheader eine „Signatur"-Anzeige einbinden, die auf „richtig" oder „falsch" gesetzt sein kann. Wenn der Absender die Nachricht „authentifizieren" möchte, identifiziert er sich selbst an der sendenden Anwendung durch Eingabe seines Passworts. Die Anwendung überprüft dieses Passwort in Abhängigkeit vom verschlüsselten Passwort, das im Lizenzblock enthalten ist und setzt, wenn sie übereinstimmen, die Signatur-Anzeige im Messageheader auf „richtig" und nimmt das Verschlüsseln der Nachricht gemäß obiger Beschreibung vor.
  • Beim Empfang der Nachricht durch B identifiziert die empfangende Anwendung die Signatur-Anzeige als „richtig" und benachrichtigt den Empfänger, dass die Nachricht authentifiziert ist.
  • Um Unleugbarkeit zu bieten (d.h. zu verhüten, dass der Absender später die von ihm gesendete Nachricht abstreitet), kann der Beweis der Identität des Absenders und des Datums und der Uhrzeit der Sendung bereitgestellt werden. Die Anwendung des Absenders bestimmt die Identifizierung des Absenders und das Datum und die Uhrzeit der Erstellung der Nachricht und bindet diese Information in verschlüsselter Form im Messageheader ein. Beim Empfang durch den beabsichtigten Empfänger wird diese Information verfügbar gemacht und stellt den Beweis bereit, dass der Absender die Nachricht am angegebenen Datum und zur angegebenen Uhrzeit gesendet hat.
  • Der Ablauf zur Fertigung der Software ist als Ablaufdiagramm in 5 dargestellt. Der Fertigungsablauf findet unter drei verschiedenen Sicherheitsstufen statt, eine „normale" Sicherheitsstufe 40, eine „sehr sichere" Stufe 41 und eine „äußerst sichere" Stufe 42. Das Fertigungswerk der Software kann physisch und elektronisch in getrennte Bereiche geteilt sein, um diese verschiedenen Sicherheitsstufen zu schaffen.
  • Die Abläufe, die auf der „normalen" Sicherheitsstufe 40 stattfinden, sind der Auftragseingang 43, die Warenlieferung 44 und die Aufzeichnungsführung, für welche eine Datenbank 45 von externen Seriennummern geführt wird.
  • Die Abläufe, die auf der „sehr sicheren" Stufe 41 stattfinden, enthalten die Verarbeitung von Anweisungen zur auftragsbezogenen Fertigung (Manufacture-to-Order), ein Set von Verschlüsselungs- und Entschlüsselungssoftware 46 und die Lagerung 47 der gefertigten Software in einem Warenlager vor der Lieferung zum Kunden.
  • Die Abläufe, welche auf der „äußerst sicheren" Stufe 42 stattfinden, enthalten die Fertigung und die Verpackung/Etikettierung des Produkts. Insbesondere enthalten diese Abläufe die Zuordnung zu den Verschlüsselungs/Entschlüsselungsalgorithmen der einmaligen Regeln zur Umordnung der Datenbits und zum Einfügen/Extrahieren der Zufallszahlen (Schritte (8) und (9) des Verschlüsselungsablaufs und der Schritte (3) und (4) des Entschlüsselungsablaufs. Diese Regeln werden durch ein Set von internen Zahlen bestimmt, das in die Computersoftware eingeschrieben wird, und dieses Set von internen Zahlen wird auf einer Zufallsbasis aus einer Datenbank 48 extrahiert.
  • Der Fertigungsablauf ist wie folgt. Beim Eingang eines Auftrags im Auftragseingangsbereich 43 wird ein Befehl zur auftragsbezogenen Fertigung 46 erzeugt, der veranlasst, das eine externe Seriennummer aus der Datenbank externer Nummern 45 gelesen wird und zum äußerst sicheren Abschnitt 42 gesendet wird. Die externe Seriennummer oder Seriennummern werden zugeordnet 48 und mit den Bezugsnummern 49 des Auftrags verknüpft. Für jede externe Bezugsnummer 50 wird ein Set interner Nummern zufällig aus der Datenbank 48 gewählt und der Computersoftware zugewiesen 51. Gleichzeitig wird das ausgewählte Set von internen Nummern in der Datenbank 48 als „benutzt" 52 gekennzeichnet, damit verhütet wird, dass das Set von internen Nummern einer anderen Version der Computersoftware zugeordnet wird. Die Verschlüsselungs/Entschlüsselungssoftware des Computers wird dann mittels der ausgewählten internen Nummern gefertigt 53, wodurch ein einmaliges Produkt geschaffen wird, das aus einem komplementären Paar von Verschlüsselungs- und Entschlüsselungsalgorithmen besteht. Anschließend wird das Produkt verpackt 54 und mit der externen Seriennummer etikettiert 55. Letztendlich wird das Produkt 47 in einem Warenlager gelagert und eventuell dem Käufer geliefert 44.
  • Es ist zu beachten, dass das Set von internen Nummern, die der Verschlüsselungs/Entschlüsselungssoftware zugewiesen sind, zufällig aus der Datenbank 48 gewählt wird und dass jene internen Nummern in die Verschlüsselungs/Entschlüsselungsprogramme in einem „verdeckten" Fertigungsablauf bei einer äußerst hohen Sicherheitsstufe eingeschrieben werden. Während die Datenbank gekennzeichnet ist, um zu verhüten, dass ein Set von internen Nummern mehr als einmal benutzt wird, wird außerdem keine Aufzeichnung davon gemacht, welches Set von internen einer besonderen Version der Software zugewiesen wurde. Infolgedessen ist es unmöglich, zu unterscheiden, welches Set von internen Nummern bei der Fertigung von einer besonderen Version der Software benutzt wurde, sei es durch Prüfen der Firmenaufzeichnungen, durch „Abhören" des Fertigungsablaufs oder zum Beispiel durch Beamtenbestechung oder Erpressung eines Angestellten der Herstellungsfirma. Der Fertigungsablauf ist infolgedessen äußert sicher.
  • Sobald die Software gefertigt worden ist, kann sie, zum Beispiel durch Senden über einen Datenlink, an den Kunden geliefert werden.
  • Dies bietet den Vorteil, dass ein Benutzer der Software auf eine neue Version des Verschlüsselungsalgorithmus auf regelmäßiger Basis, zum Beispiel täglich, wechseln kann.
  • Es sind verschiedene Abwandlungen der Technik möglich. Zum Beispiel, um die Länge der verschlüsselten Nachricht zu reduzieren, wobei der Volltext vor der Verschlüsselung komprimiert werden kann. Von den vielen bekannten Datenkomprimierungstechniken kann eine in die Verschlüsselungs/Entschlüsselungsoftware eingebunden werden.
  • Der Verschlüsselungs/Entschlüsselungsablauf kann auch durch Hardware implementiert werden, die zum Beispiel in ein Modem oder sonstige Datenübertragungsvorrichtung eingebunden werden kann. Der Verschlüsselungs/Entschlüsselungsablauf kann dann vollkommen unsichtbar und nahtlos für die Benutzer des Ablaufs sein.
  • Die Verschlüsselungsabläufe können auch abgewandelt werden, um eine größere oder kleinere Zahl von Zufallszahlen 5A–5D und/oder größere oder kleinere Blöcke von Volltext und/oder größere oder kleinere Sets von Bits, die zum Beispiel Sets von 8 Bits, 16 Bits oder 256 Bits (usw.) sein können, zu benutzen. Es kann zum Beispiel ein 40-Zeichenblock von Volltext mit 16 Zufallszahlen kombiniert werden, um einen 56- Zeichenschlüsseltext zu erzeugen oder mit 32 Zufallszahlen, um einen 72-Zeichenschlüsseltext zu erzeugen. Alternativ kann ein 320-Bitblock von Volltext mit sechzehn 8-Bit-Zufallszahlen kombiniert werden, um einen 448-Bitblock von Schlüsseltext zu erzeugen.

Claims (21)

  1. Verfahren zum Verschlüsseln von Daten, wobei eine Zufallsvariable für Verwendung als ein Schlüssel in Binärzeichenform (6A–6D) erzeugt wird, wobei ein erstes Set von Daten, welches eine Klartextnachricht in Binärzeichenform (8A–8J) darstellt, mit der Zufallsvariablen kombiniert wird, um ein zweites Datenset in Binärzeichenform (9A–9J) zu erzeugen; dadurch gekennzeichnet, dass die Datenbits, welche die Zufallsvariable (6A–6D) darstellen, in das zweite Datenset (9A–9J) entsprechend einem ersten vorbestimmten Set von Regeln eingefügt werden, und die Reihenfolge der Datenbits in dem zweiten Datenset entsprechend einem zweiten vorbestimmten Set von Regeln abgeändert wird, wobei ein drittes Datenset (17A–17N) zum Senden als eine Schlüsseltextnachricht erzeugt wird, wobei das dritte Datenset (17A–17N) in verschlüsselter Form die Daten beinhaltet, welche sowohl die Klartextnachricht (8A–8J) als auch den Schlüssel (6A–6D) darstellen.
  2. Verfahren nach Anspruch 1, wobei das erste Set von Daten (8A bis 8J) mit der Zufallsvariablen (6A–6D) mittels der EXKLUSIV-ODER-Verknüpfung kombiniert wird.
  3. Verfahren nach Anspruch 1 oder 2, wobei die Zufallsvariable (6A–6D) mehrere Zufallszahlen umfasst, und jene Zufallszahlen mit dem ersten Set von Daten (8A–8J) entsprechend einem dritten vorbestimmten Set von Regeln kombiniert werden.
  4. Verfahren nach Anspruch 3, wobei das erste Set von Daten (8A–8J) mittels der EXKLUSIV-ODER-Verknüpfung mehrere Male mit den Zufallszahlen (6A–6D) kombiniert wird, wobei die Reihenfolge der Zufallszahlen jedes Mal verändert wird.
  5. Verfahren nach Anspruch 3, wobei das erste Set von Daten (8A–8J), die Zufallszahlen (6A–6D) und das modifizierte Datenset (17A–17N) alle die Form von 8-Bit-Wörtern aufweisen.
  6. Verfahren nach Anspruch 5, wobei das zweite Datenset (9A–9J) in 5-Bit-Wörter (12A–12P) geteilt wird, welche durch das Einschließen der Daten, welche die Zufallszahlen (6A–6D) darstellen, zu 7-Bit-Wörtern (16A–16P) erweitert und danach erneut in 8-Bit-Wörter (17A–17N) geteilt werden.
  7. Verfahren nach Anspruch 6, wobei die Klartextnachricht in Gruppen von zehn Zeichen verschlüsselt wird, welche in dem ersten Datenset als zehn 8-Bit-Wörter (8A–8J) dargestellt werden und mit vier 8-Bit-Zufallszahlen (6A–6D) kombiniert werden, um ein drittes Datenset von vierzehn 8-Bit-Wörtern (17A–17N) hervorzubringen.
  8. Verfahren nach Anspruch 7, wobei eine Klartextnachricht von zehn Zeichen (1A–1J) während Verschlüsselung in eine Schlüsseltextnachricht von vierzehn Zeichen (2A–2N) umgewandelt wird.
  9. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Klartextnachricht (1A–1J) vor Verschlüsselung komprimiert wird.
  10. Verfahren nach einem der vorhergehenden Ansprüche, wobei ein Messageheader der Klartextnachricht hinzugefügt wird und gemeinsam mit der Klartextnachricht verschlüsselt wird.
  11. Verfahren nach Anspruch 10, wobei der Messageheader Daten enthält, welche den beabsichtigten Empfänger der Klartextnachricht und/oder den Absender der Klartextnachricht identifizieren.
  12. Verfahren nach Anspruch 11, wobei die Identität des Absenders verifiziert wird, bevor Daten, welche den Absender identifizieren, in den Messageheader eingeschlossen werden.
  13. Verfahren nach Anspruch 1, wobei die Daten, welche eine Klartextnachricht (1A–1J) darstellen, in mehrere Datenblöcke (8A–8J) aufgeteilt werden, und jeder Datenblock mit einer unterschiedlichen Zufallsvariablen (6A–6D) kombiniert wird, um das zweite Datenset (9A–9J) zu erzeugen.
  14. Verfahren zum Entschlüsseln von Daten, die unter Verwendung eines Verfahrens nach einem der Ansprüche 1 bis 13 verschlüsselt worden sind, dadurch gekennzeichnet, dass die Datenbits (22), welche die Zufallsvariable darstellen, entsprechend einem ersten vorbestimmten Set komplementärer Regeln aus dem dritten Datenset extrahiert werden, die Zufallsvariable (6A–6D), welche den Schlüssel darstellt, aus den extrahierten Datenbits wiederhergestellt wird, die Reihenfolge der Daten in dem dritten Datenset (20A–20N) entsprechend einem zweiten vorbestimmten Set komplementärer Regeln abgeändert wird, um das zweite Datenset (25A–25J) zu rekonstruieren, und das zweite Datenset mit der Zufallsvariablen (6A–6D) kombiniert wird, welche den Schlüssel darstellt, um das erste Set digitaler Daten (27A–27J), welche die Klartextnachricht darstellen, zu rekonstruieren.
  15. Verfahren nach Anspruch 14, wobei der Messageheader vor der Klartextnachricht entschlüsselt wird.
  16. Verfahren nach Anspruch 15, wobei der Messageheader Daten enthält, welche den beabsichtigten Empfänger der Klartextnachricht identifizieren und, nach Empfangen, die Daten, welche den beabsichtigten Empfänger der Klartextnachricht identifizieren, extrahiert werden, die Identität des tatsächlichen Empfängers verifiziert wird, und die Klartextnachricht nur entschlüsselt wird, wenn der tatsächliche Empfänger der beabsichtigte Empfänger ist.
  17. Verfahren zum Verschlüsseln und Entschlüsseln von Daten, wobei das Verfahren ein Verschlüsselungsverfahren nach einem der Ansprüche 1 bis 13 und ein Entschlüsselungsverfahren nach einem der Ansprüche 14 bis 16 umfasst.
  18. Vorrichtung zum Verschlüsseln von Daten, wobei die Vorrichtung Eingabemittel zum Empfangen eines ersten Sets von Daten (8A–8J), welche eine Klartextnachricht in Binärzeichenform darstellen, enthält, Generatormittel zum Erzeugen einer Zufallsvariablen zur Verwendung als ein Schlüssel in Binärzeichenform (6A–6D), Prozessormittel zum Kombinieren des ersten Sets von Daten mit der Zufallsvariablen, um ein zweites Datenset in Binärzeichenform (9A–9J) zu erzeugen, zum Einfügen der Datenbits, welche die Zufallsvariable darstellen, in das zweite Datenset, entsprechend einem ersten vorbestimmten Set von Regeln, und zum Abändern der Reihenfolge der Datenbits in dem zweiten Datenset, entsprechend einem zweiten vorbestimmten Set von Regeln, wobei ein drittes Datenset (17A–17N) erzeugt wird, welches eine Schlüsseltextnachricht darstellt, wobei das dritte Datenset in verschlüsselter Form die Daten beinhaltet, welche sowohl die Klartextnachricht als auch den Schlüssel darstellen, und Ausgabemittel zum Senden der Schlüsseltextnachricht.
  19. Vorrichtung nach Anspruch 18, wobei das Prozessormittel Mittel enthält zum Hinzufügen eines verschlüsselten Messageheaders, welcher Daten beinhaltet, welche den beabsichtigten Empfänger der Nachricht identifizieren, zu der Schlüsseltextnachricht.
  20. Vorrichtung zum Entschlüsseln von Daten, welche unter Verwendung einer Vorrichtung nach Anspruch 18 oder 19 verschlüsselt worden sind, wobei die Vorrichtung Eingabemittel zum Empfangen der Schlüsseltextnachricht enthält, Prozessormittel zum Extrahieren von Datenbits, welche die Zufallsvariable (6A–6D) darstellen, aus der Schlüsseltextnachricht, entsprechend einem ersten vorbestimmten Set komplementärer Regeln, zum Abändern der Reihenfolge der Daten in der Schlüsseltextnachricht, entsprechend einem zweiten vorbestimmten Set komplementärer Regeln, zum Wiederherstellen der Zufallsvariablen, welche den Schlüssel (6A–6D) darstellt, aus den extrahierten Datenbits, und zum Kombinieren der Daten in der Schlüsseltextnachricht mit der Zufallsvariablen, welche den Schlüssel darstellt, um die Klartextnachricht zu rekonstruieren, und Ausgabemittel für die Klartextnachricht (3A–3J).
  21. Vorrichtung nach Anspruch 20, wobei das Prozessormittel Mittel enthält zum Extrahieren der Daten aus dem verschlüsselten Messageheader, welche den beabsichtigten Empfänger der Nachricht identifizieren, Verifizieren der Identität des tatsächlichen Empfängers und Vergleichen der Identität des tatsächlichen Empfängers mit der des beabsichtigten Empfängers, wobei das Prozessormittel eingerichtet ist, die Schlüsseltextnachricht nur zu entschlüsseln, wenn der tatsächliche Empfänger der beabsichtigte Empfänger ist.
DE69737806T 1996-11-15 1997-11-12 Datenverschlüsselungsverfahren Expired - Fee Related DE69737806T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9623774 1996-11-15
GB9623774A GB2319704B (en) 1996-11-15 1996-11-15 Data encryption technique

Publications (2)

Publication Number Publication Date
DE69737806D1 DE69737806D1 (de) 2007-07-26
DE69737806T2 true DE69737806T2 (de) 2008-02-21

Family

ID=10802982

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69737806T Expired - Fee Related DE69737806T2 (de) 1996-11-15 1997-11-12 Datenverschlüsselungsverfahren

Country Status (5)

Country Link
US (1) US6088456A (de)
EP (1) EP0843439B1 (de)
AT (1) ATE364941T1 (de)
DE (1) DE69737806T2 (de)
GB (1) GB2319704B (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6345101B1 (en) * 1998-10-07 2002-02-05 Jayant Shukla Cryptographic method and apparatus for data communication and storage
EP1032159A3 (de) * 1999-02-23 2002-07-10 R. Brent Johnson Verfahren zur Datenverschlüsselung und -Übertragung
WO2000079457A1 (en) * 1999-06-17 2000-12-28 Internet Revenue Network, Inc. System and method for authentication over a public network
AU2001253034A1 (en) * 2000-03-29 2001-10-08 Vadium Technology, Inc. One-time-pad encryption with central key service and keyable characters
US6470329B1 (en) * 2000-07-11 2002-10-22 Sun Microsystems, Inc. One-way hash functions for distributed data synchronization
GB2374260B (en) * 2001-10-12 2003-08-13 F Secure Oyj Data encryption
FR2853175B1 (fr) * 2003-03-28 2005-06-17 Everbee Networks Procede et systeme de cryptage
US7774411B2 (en) * 2003-12-12 2010-08-10 Wisys Technology Foundation, Inc. Secure electronic message transport protocol
US20050278253A1 (en) * 2004-06-15 2005-12-15 Microsoft Corporation Verifying human interaction to a computer entity by way of a trusted component on a computing device or the like
US9059838B2 (en) * 2007-03-30 2015-06-16 Verizon Patent And Licensing Inc. Encryption algorithm with randomized buffer
US8819451B2 (en) * 2009-05-28 2014-08-26 Microsoft Corporation Techniques for representing keywords in an encrypted search index to prevent histogram-based attacks
US8416948B2 (en) * 2010-06-04 2013-04-09 Leanics Corporation System for secure variable data rate transmission
EP2700189B1 (de) * 2011-04-01 2020-01-22 BlackBerry Limited Entschlüsselung auf identitätsbasis
TW201919361A (zh) * 2017-11-09 2019-05-16 張英輝 以雜文加強保護之區塊加密及其解密之方法
CN112152796B (zh) * 2020-08-25 2022-12-23 南方电网科学研究院有限责任公司 一种基于密钥动态协商的组播方法及相关装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4004089A (en) * 1975-02-28 1977-01-18 Ncr Corporation Programmable cryptic device for enciphering and deciphering data
US5003597A (en) * 1989-12-21 1991-03-26 Xerox Corporation Method and apparatus for data encryption
DE4010305A1 (de) * 1990-03-30 1991-10-02 Gao Ges Automation Org Zufallszahlengenerator
US5113444A (en) * 1990-09-05 1992-05-12 Arnold Vobach Random choice cipher system and method
JP2725478B2 (ja) * 1991-03-05 1998-03-11 日本電気株式会社 暗号鍵配送方式
US5335280A (en) * 1993-01-28 1994-08-02 Vobach Arnold R Random sum cipher system and method
US5757913A (en) * 1993-04-23 1998-05-26 International Business Machines Corporation Method and apparatus for data authentication in a data communication environment
EP0635956B1 (de) * 1993-07-20 2003-10-22 Canon Kabushiki Kaisha Verfahren und Kommunikationssystem unter Verwendung einer Verschlüsselungseinrichtung
NZ336413A (en) * 1993-12-01 2000-01-28 Rpk Nz Ltd Method of generating random numbers by manipulating electronic pointer with coordinates at points corresponding to time instants being used for selection of points subset and computation of number function
JPH07162692A (ja) * 1993-12-07 1995-06-23 Mita Ind Co Ltd 暗号通信方法および暗号通信のための端末装置
IL108645A (en) * 1994-02-14 1997-09-30 Elementrix Technologies Ltd Protected communication method and system
US5799090A (en) * 1995-09-25 1998-08-25 Angert; Joseph C. pad encryption method and software
JPH09162859A (ja) * 1995-12-07 1997-06-20 Fujitsu Ltd スクランブル方法及び装置、デスクランブル方法及び装置、並びに、データ伝達方法及びシステム

Also Published As

Publication number Publication date
US6088456A (en) 2000-07-11
EP0843439B1 (de) 2007-06-13
EP0843439A3 (de) 2000-05-10
GB2319704B (en) 2001-07-04
EP0843439A2 (de) 1998-05-20
DE69737806D1 (de) 2007-07-26
GB2319704A (en) 1998-05-27
ATE364941T1 (de) 2007-07-15
GB9623774D0 (en) 1997-04-09

Similar Documents

Publication Publication Date Title
DE69127965T2 (de) Verteiltes benutzerauthentisierungsprotokoll
DE69629857T2 (de) Datenkommunikationssystem unter Verwendung öffentlicher Schlüssel
DE60211841T2 (de) Vorrichtung zur Aktualisierung und zum Entzug der Gültigkeit einer Marke in einer Infrastruktur mit öffentlichen Schlüsseln
DE69634880T2 (de) Verfahren und gerät zum kontrollierten zugriff zu verschlüsselten datenakten in einem computersystem
DE69022424T2 (de) Nichtablehnung in Rechnernetzwerken.
DE3688316T2 (de) Sicherheitssystem zur Gültigkeitsprüfung von Bauteilen.
DE69931967T2 (de) Methode zur sicherung von elektronischer information
DE69736310T2 (de) Erzeugung und Verteilung digitaler Dokumente
DE69737806T2 (de) Datenverschlüsselungsverfahren
DE69333068T2 (de) Verfahren zur ausdehnung der gültigkeit eines kryptographischen zertifikats
DE2232256C3 (de) Verfahren zur Überprüfung der Berechtigung von Datenstationen benutzenden Teilnehmern eines Datenverarbeitungsnetzwerkes
WO2001006341A1 (de) Datenverarbeitungsvorrichtung
DE3426006A1 (de) Authentisierungsanordnung zwischen einem scheckkartenleser und einer scheckkarte beim datenaustausch
DE2916454A1 (de) Verfahren und schaltungsanordnung zum sichern von datenuebertragungen
DE60116195T2 (de) Vorrichtung und Verfahren zur Verschleierung von Eingangsparametern
EP3552344B1 (de) Bidirektional verkettete blockchainstruktur
DE69826778T2 (de) Vorrichtungen zum Verschlüsseln und Entschlüsseln einer Schlüsselwiedergewinnungsbedingung
AT504634B1 (de) Verfahren zum transferieren von verschlüsselten nachrichten
DE102008042406B4 (de) Verfahren zum sicheren Austausch von Daten
EP3367285B1 (de) Terminal, id-token, computerprogramm und entsprechende verfahren zur authentisierung einer zugangsberechtigung
WO2007099026A1 (de) Verfahren und vorrichtung zum authentifizieren eines öffentlichen schlüssels
EP3734486B1 (de) Computerimplementiertes verfahren zum ersetzen eines datenstrings
WO1999057688A1 (de) Verfahren zum echtheitsnachweis von urkunden
WO2018091703A1 (de) Verfahren und vorrichtung zum sichern einer elektronischen datenübertragung
DE4344280C2 (de) Verfahren zum Autorisieren von digitalisierten Daten aus Texten, Bildern und dergleichen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee