DE60133140T2 - System und verfahren für symmetrische kryptographie - Google Patents

System und verfahren für symmetrische kryptographie Download PDF

Info

Publication number
DE60133140T2
DE60133140T2 DE60133140T DE60133140T DE60133140T2 DE 60133140 T2 DE60133140 T2 DE 60133140T2 DE 60133140 T DE60133140 T DE 60133140T DE 60133140 T DE60133140 T DE 60133140T DE 60133140 T2 DE60133140 T2 DE 60133140T2
Authority
DE
Germany
Prior art keywords
stream
sequence
keys
session
random bit
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 - Lifetime
Application number
DE60133140T
Other languages
English (en)
Other versions
DE60133140D1 (de
Inventor
Christian Olrog
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Application granted granted Critical
Publication of DE60133140D1 publication Critical patent/DE60133140D1/de
Publication of DE60133140T2 publication Critical patent/DE60133140T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Crystals, And After-Treatments Of Crystals (AREA)

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft symmetrische Kryptographie und im Speziellen Telekommunikationssysteme, die symmetrische Kryptographie verwenden.
  • Hintergrund der Erfindung
  • Das Verschlüsseln von Daten, die über Netzwerke versendet werden, sollte typischerweise verhindern, dass identische Klartextblöcke, die mehrere Male versendet werden, in den gleichen Chiffretextblock transformiert werden. Diese Voraussetzung sollte es sehr kompliziert oder unmöglich für den nicht autorisierten Kryptonanalysten gestalten, verschlüsselte Chiffretexte abzuhören, die sich beispielsweise auf Internet-Browsing-Nachrichten beziehen, wo die gleichen Web-Seiten durch den selben Anwender immer wieder angefordert werden.
  • In 1 ist ein bekanntes Einzel-Schlüssel-Kryptosystem gezeigt, in dem ein Sender S eine Klartextnachricht P zu einem Empfänger R versendet. Der Klartextnachrichtenblock P wird gemäß einem Chiffre, was in diesem Fall der Exklusiv-ODER-Funktion (XOR) ist, mit einem Schlüssel bearbeitet, der aus einer Zufallsbitsequenz RS besteht, so dass ein Chiffretextblock C erzeugt wird. Der Chiffretextblock C wird in Punkt A über ein Medium M übertragen und wird im Punkt B empfangen. Beispielsweise entspricht A einem Funküberträger, M entspricht der Luft, und B entspricht dem Funkempfänger. Nach Empfang im Punkt B wird der Chiffretextnachrichtenblock C in einer Exklusiv-ODER-Funktion mit dem gleichen Zufallssequenz-RS-Schlüssel bearbeitet, der auch für die Verschlüsselung verwendet wurde, so dass der originale Klartextblock P wiederhergestellt wird.
  • Für eine Sequenz von zu übertragenden Klartexten, so wie Pakete in einem Paketdatennetzwerk, ist anzumerken, dass der Empfänger wissen muss, welche Reihenfolgenummer der Chiffretextnachricht R empfängt, um die entsprechende Zufallsbitsequenz zu verwenden.
  • Eine Tabelle von Zufallssequenzen, die sowohl dem Empfänger als auch dem Sender bekannt sind, kann verwendet werden als Schlüssel für symmetrische Verschlüsselung und Entschlüsselung. Solch eine Tabelle könnte die in 2 gezeigte Form aufweisen oder könnte viel größer sein.
  • Ein Pseudo-Zufallszahlenerzeuger (PRNG, Englisch: pseudo random number generator) kann auch verwendet werden zum Erzeugen von geeigneten Schlüsseln. Ein PRNG ist eine unechte Zufallseinrichtung, die dem Uneingeweihten als ein echter Zufallszahlenerzeuger erscheint (TRNG, Englisch: truly random number generator). Normaler Weise kann ein PRNG annähernd TRNG-Ausgabe für eine begrenzte Periode erreichen, und ziemlich häufig wird sich die Ausgabe selbst in Zyklen wiederholen. Ein längerer Zyklus bedeutet im Allgemeinen einen besseren PRNG.
  • Das Erreichen von echter Zufälligkeit für eine inhärent deterministische Maschine ist ein schwieriges Problem. Eine Lösung, die insgesamt nur auf Software basiert, kann eine „fast Zufalls" oder „Zufallsähnliches" Verhalten erreichen. In der Natur wird allgegenwärtige Hintergrundstrahlung und daher Atomzerfall als eine der wenigen echten Quellen von Zufälligkeit betrachtet. In der Computerwissenschaft wird ein sorgfältig ausgelegter Josephson-Anschluss als ein echter Zufallsrauscherzeuger, TRNG (Englisch: true random noise generator) betrachtet.
  • Typischer Weise kann der PRNG ohne Parameter aufgerufen werden. Einige PRNG benötigen eine Spezifizierung der benötigten Zufalls-Bits, um einen „Zufalls-„Wert zu erzeugen. Jeder identische anschließende Aufruf wird unterschiedliche Werte erzeugen.
  • Um zu verhindern, dass ein PRNG den gleichen Pseudo-Zufallsdatenstrom bei jedem Neustart ausgibt, unterstützen die meisten PRNG-Einrichtungen die Idee von „Seeding" (Deutsch: „Impfen") oder Initialisieren mit einem Zufallszahlenkeim. Typischer Weise werden die meisten PRNG den gleichen Datenstrom erzeugen, wenn diese mit exakt dem gleichen Keim wieder geimpft werden.
  • Im Allgemeinen ist ein PRNG kein PRNG, wenn sowohl die aktuelle PRNG-Einrichtung als auch der Keim für den Beobachter bekannt sind. Der Beobachter kann einfach die nächsten (n + 1) PRNG Ausgaben vorhersagen durch Impfen des PRNG mit dem Anfangskeim und Iterieren des PRNG n + 1 Mal.
  • Es gibt PRNG-Konstruktionen, die die „n" Zählung als ein Parameter verwenden können und eine Pseudozufallsfolge in Reaktion auf einen einzelnen Lauf erzeugen. Die Datenverschlüsselungsstandardfunktion DES_encrypt(seed|count), wobei "|" eine Verknüpfung bzw. Verkettung bezeichnet, ist ein Beispiel.
  • Durch Bloßlegen entweder des Algorithmus oder des Keims wird der PRNG geschwächt. Es ist jedoch anzumerken, dass eine starke PRNG-Konstruktion mit einem großen internen Zustand immer noch schwer vorherzusagen ist, solange der Anfangskeim für den Beobachter unbekannt ist. Es ist auch anzumerken, dass es sehr schwer sein kann, die Iterationszählung vor einem außen stehenden Beobachter zu schützen. Das Umsortieren von Konstruktionen, wo lediglich jede n-te PRNG-Ausgabe tatsächlich von dem PRNG ausgegeben wird, kann wiederum als ein neuer PRNG betrachtet werden, der wieder dem gleichen Problem von Iterationszählung gegenübersteht.
  • PRNG-Konstruktion ist eine Wissenschaft an sich, und eine große Zahl dieser ist leicht in der Literatur verfügbar. Um einige wenige zu nennen: RC2, RC4, die meisten Chiffren von OFB-(Ausgaberückkoppelung, Englisch: OutputFeedback) Modus, MT19937B, allgemeine Konstruktionen mit HMAC-Kombinationen mit sicheren Hash-Algorithmen, so wie SHA-1, MD5 und RIPEMD.
  • Wenn ein PRNG bestimmte Kriterien hinsichtlich der Vorhersagbarkeit erfüllt, kann dieses als ein kryptographisch sicherer PRNG bezeichnet werden. RC2 und RC4 wurden für diesen Zweck konstruiert. Ein großer Forschungsaufwand wurde in die Untersuchung von verschiedenen von diesen Algorithmen hinsichtlich der Zykluslänge gesteckt. Für den Fall von Hash-Einrichtungen ist ein Problem, mit dem sich zu beschäftigen war, wie viele Ausgabe-Bits erhalten werden können, ohne den internen Entropie-Fundus des PRNG zu gefährden, ohne Entropieerneuerung.
  • Eine echte Einmal-Passwort OTP (Englisch: One-Time Password) kryptographische Konstruktion ist vielleicht die einzige kryptographische Konstruktion, gegen die keine Angriffe bekannt oder tatsächlich verfügbar sind. OTP-Kryptographie basiert auf der Verwendung einer Tabelle, so wie in 2 gezeigt, von vorbestimmten Schlüsseln, die lediglich einmal verwendet werden und anschließend sowohl von dem Anwender als auch dem Server verworfen werden.
  • Neben Verschlüsselung werden auch Einmal-Passwörter OTP's (one-time passwords) auch allgemein bei der Authentifizierung verwendet, wo anstelle der Präsentation eines bestimmten Passworts bei jeder Anmeldung der Anwender den nächsten Eintrag in die Tabelle der Passwörter eingibt.
  • Ein Nachteil liegt in der Distribution der vorbestimmten Tabellen.
  • Ein anderes potentielles Problem für OTP basierte Systeme ist der Mangel an Synchronisation zwischen dem Client und dem Server. Beispielsweise versucht der Client sich über eine schlechte Verbindung zu authentifizieren, und der Server empfängt ein (entstelltes) schlechtes Passwort. Der Server muss den Zugriff verweigern und die Anmeldungsanfrage ignorieren. Inzwischen ist das nächste Passwort des Clients vom Eintrag n + 1, wohingegen der Server noch immer bei n verweilt. Folglich muss der Server mehrere Passwörter ausprobieren, normaler Weise bis hinauf zu n + x, wobei x als ein Synchronisierungsfenster betrachtet werden kann. Solange weniger als x falsche Authentifizierungen seit der letzten Authentifizierung stattgefunden haben, kann die aktuelle Authentifizierung erfolgreich sein, wenn das Passwort korrekt ist.
  • Die vordefinierten Listen von Einmal-Passwörtern müssen nicht notwendigerweise Listen sein. In allgemeineren Begriffen könnten die Listen vordefinierte <Wert, Iteration> Tupel sein.
  • Dies bringt uns zu den PRNG's zurück. Wenn sich auf einen Anfangskeim geeinigt wurde, kann ein Satz von neuen Passwörtern als ein Ergebnis des PRNG-Prozesses oder Ausgabe betrachtet werden.
  • Zweifaches Verschlüsseln des gleichen Klartextes unter Verwendung des gleichen Chiffre und Schlüssels werden zwei gleiche Chiffretexte C und C' erzeugen. Um dies zu vermeiden, wird häufig ein Initialisierungsvektor (IV) verwendet. Der Initialisierungsvektor wird zufällig für jeden Klartext ausgewählt und wird in Klartext zu dem Empfänger gesendet. Für Datenstromchiffren (z. B. RC4) ist der Initialisierungsvektor häufig mit dem geheimen Schlüssel verknüpft:
    C = encrypt(P, key|IV)
    P = decrypt (C, key|IV)
  • Für Blockchiffren (z. B. DES) ist es gebräuchlicher, einen Aufbau zu haben, der wie folgt ist:
    P' = P xor IV, C' = encrypt(P', key)
    P' = decrypt(C', key), P = P' xor IV
  • In beiden Fällen wird der Initialisierungsvektor in Klartext zu dem Empfänger mit jeder verschlüsselten Nachricht gesendet.
  • In den 3, 4 und 7 wurde die Auffassung bzw. die Erkenntnis der Erfinder des zuletzt beschriebenen Verschlüsselungsverfahrens gezeigt.
  • Eine Sequenz von Klartextblöcken P wird von einem Sender S ausgegeben, der sich mit einem Empfänger R auf einen 40-Bit Schlüssel oder Passwort Pswd1 geeinigt hat. Die Klartextblöcke P werden mit einer Exklusiv-OR-Funktion mit verschiedenen OTP's bearbeitet, die mit RC4stream#1, RC4stream#2 ... RC4stream#n bezeichnet sind.
  • In Analogie mit 1 sind eine Senderseite S und eine Empfängerseite R bereitgestellt, und es wird eine Übertragung durch ein Telekommunikationssystem (nicht dargestellt) über ein Medium M zwischen Punkten A und B bereitgestellt.
  • Nun wird Bezug genommen auf die 3 und 4. Auf der Senderseite S erzeugt ein PRNG einen Identifizierungsvektor, der eine 24-Bitantwort erzeugt. Als nächstes wird ein zweites 64-Bitpasswort Pswd2 von dem Initialisierungsvektor zusammengesetzt, der von dem PRNG erzeugt wird, und das Pswd1 durch Anordnen der zwei Bitsequenzen hintereinander. Der resultierende Schlüssel Pswd2 wird in eine RC4 Funktion eingegeben, die anschließend das Einmal-Passwort erzeugt, nämlich eine Bitsequenz, die mit RC4stream#(1–n) bezeichnet wird, die in die XOR-Funktion eingegeben wird, die oben erwähnt wurde. Dadurch wird der Chiffretext C erzeugt und ist für die Übertragung bereit.
  • Der Chiffretext C, der eine Ordnungszahl aufweist, die einer gegebenen Klartext-Ordnungszahl entspricht, und der Initialisierungsvektor der entsprechenden Ordnungszahl, der für die Erzeugung des RC4stream verwendet wird, sind in dem selben Datenpaket bei der Übertragung beigefügt.
  • In 7 ist das Zeitdiagramm betreffend des oberen Verschlüsselungsverfahrens gezeigt. Auf der Senderseite S wird ein Anfangspaket P1 und ein Anfangsinitialisierungsvektor IV1 anfänglich zur Zeit t0 ausgegeben.
  • Das zweite Passwort Pswd2 wird erzeugt durch die Zusammensetzung von Pswd1 und des Zufallsinitialisierungsvektors und wird in die RC4-Funktion eingegeben. Von t1 an wird der RC4stream (RCstream#1) durch den RC4-Erzeuger auf der Senderseite S RC4 erzeugt. Bei t2 erzeugt die XOR-Funktion auf der Senderseite S XOR den Chiffretext C1, so dass ein Datenpaket, das aus Chiffretext und Initialisierungsvektor besteht, die entsprechenden Ordnungsnummern bzw. Reihenfolgezahlen aufweisen, übertragen wird.
  • Mit Bezug auf 3 wird anschließend der gleiche Prozess auf der Empfängerseite R wie auf der Empfängerseite S durchgeführt: Der Initialisierungsvektor wird von dem übertragenen Paket wiederhergestellt. Der Empfänger gibt das Pswd1 von geeigneter Ordnungsnummer aus, beispielsweise entsprechend der Paketnummer. Anschließend wird ein RC4stream, der identisch ist zu dem RC4stream auf der sendenden Seite der gleichen Ordnungsnummer, in den XOR-Operator eingegeben.
  • Folglich kann sobald der übertragene Initialisierungsvektor empfangen wird, der entsprechende RC4stream erzeugt werden. In 7 wird gezeigt, dass die Erzeugung des RC4stream#1 auf der Empfängerseite bei t3 beginnt und XOR-bearbeitet wird mit dem Chiffretext C1. Schließlich wird bei t4 der Klartext P1 von dem Operator R XOR ausgegeben.
  • Dieser Prozess wird iteriert mit Klartextblöcken P2 bis Pn unter Verwendung von lediglich einem einzelnen Passwort Pswd1, das dem Sender und dem Empfänger bekannt ist, und durch Verwenden von unterschiedlichen Einmal-Passwörtern durch pseudo zufällig erzeugte Initialisierungsvektoren IV1 bis IVn.
  • Das Dokument WO 01/48594 aus dem Stand der Technik zeigt ein lineares Rückkopplungsverschieberegister, das für einen Pseudozufallszahlengenerator in einem Datenstromchiffre-Verschlüsselungssystem verwendet wird. Der Pseudozufallszahlenerzeuger benötigt einen Initialisierungsvektor und einen privaten Schlüssel sowohl auf der sendenden als auch auf der empfangenden Seite. Das lineare Rückkopplungsverschieberegister zielt auf die Reduzierung der Anzahl von Instruktionen ab, die benötigt werden zum Erzeugen von Pseudozufallssequenzen.
  • WO 01/50676 zeigt ein ähnliches System.
  • Das Dokument US 6249582 aus dem Stand der Technik zeigt eine Vorrichtung und ein Verfahren zum Reduzieren des Overheads eines Blockchiffres und enthält die Verkürzung der Länge eines Initialisierungsvektors. Chiffreblockverkettung verhindert, dass sich die Zykluslänge des Blockchiffres sich reduziert.
  • Zusammenfassung der Erfindung
  • Es ist ein primäres Ziel der vorliegenden Erfindung, die Overhead-Information auf einem Kommunikationskanal zu reduzieren, während eine hohe Verschlüsselungssicherheit erreicht wird.
  • Dieses Ziel wurde durch den in Anspruch 1 definierten Gegenstand erreicht.
  • Es ist ein primäres Ziel der vorliegenden Erfindung, dass gängige Niveau von Bearbeitungsleistung effizienter zu nutzen, die verfügbar ist zum Chiffrieren bzw. Verschlüsseln oder Dechiffrieren bzw. Entschlüsseln von Nachrichten.
  • Dieses Ziel wurde durch den durch Anspruch 2 definierten Gegenstand erreicht.
  • Es ist ein weiteres Ziel der vorliegenden Erfindung, die Verschlüsselungssicherheit zu erhöhen.
  • Dieses Ziel wurde durch den in Anspruch 3 definierten Gegenstand erreicht.
  • Es ist ein weiteres Ziel der vorliegenden Erfindung, die Verschlüsselungssicherheit weiter zu erhöhen.
  • Dieses Ziel wurde durch den in Anspruch 4 definierten Gegenstand erreicht.
  • Weitere Vorteile werden aus der detaillierten folgenden Beschreibung der Erfindung ersichtlich.
  • Kurze Beschreibung der Zeichnungen
  • 1 zeigt ein bekanntes symmetrisches Verschlüsselungsmodell.
  • 2 zeigt einen exemplarischen Auszug einer Einmal-Passwort-Tabelle.
  • 3 zeigt ein anderes bekanntes Verschlüsselungsmodell.
  • 4 zeigt Operationen und Bit-Formate für das bekannte Modell aus 3.
  • 5 zeigt die Interpretation der Anwender eines möglichen Zeitdiagramms bezüglich des in 3 und 4 gezeigten Modells.
  • 6 zeigt ein bevorzugtes Verschlüsselungsmodell gemäß der Erfindung.
  • 7 zeigt Operationen und Bit-Formate für das Modell aus 6.
  • 8 zeigt ein Zeitdiagramm bezüglich der bevorzugten Ausführungsform der Erfindung, wie diese in 6 und 7 gezeigt ist.
  • Detaillierte Beschreibung der bevorzugten Ausführungsformen der Erfindung
  • In den 5, 6 und 8 ist eine exemplarische Ausführungsform der vorliegenden Erfindung gezeigt.
  • Anfangs wird ein Anfangs-Pswd1 zwischen einem Sender und einem Empfänger während des/der Sitzungsaufbaus/-Authentifizierung verhandelt. Es versteht sich, dass die Rollen des Senders und des Empfängers sich über die Zeit hin verändern können, so dass eine bidirektionale Kommunikationssitzung durchgeführt wird. Jedoch wird aus Gründen der Einfachheit im Folgenden beschrieben, wie eine Kommunikation durchgeführt wird von einer Partei, die als Sender bezeichnet wird, zu einer anderen Partei, die als Empfänger bezeichnet wird. Der Sender und der Empfänger könnten auf Kommunikationseinheiten, z. B. mobile Endgeräte, Bezug nehmen.
  • Wie im Stand der Technik wird eine Sequenz von Klartexten P durch den Sender S ausgegeben, der sich mit dem Empfänger R auf ein Passwort Pswd1 geeinigt hat. Die Klartexte P werden mit einer Exklusiv-OR-Funktion mit verschiedenen Schlüsseln bearbeitet, die als RCstream#1, RCstream#2 ... RC'stream#n bezeichnet sind. Das erste Passwort kann beispielsweise eine Länge von 64 Bit oder irgendeine andere Länge aufweisen.
  • Im Genaueren wird ein erstes Passwort Pswd1 in einen Zufallssequenzerzeuger RC eingegeben, so wie RC2 oder RC4, und ein erster Zufalls-Bit-Sequenzstring RCstream wird, wie in 6 gezeigt, erzeugt. Der RC-Erzeuger könnte geeignet ausgewählt werden, so dass der RCstream eine unendliche Länge aufweist. Dieser Zufalls-Bit-Sequenzstring wird partitioniert, so dass ein Satz von n Initialisierungsvektoren IV1–IVn definiert ist.
  • Wie in den 5 und 6 gezeigt, werden die n Identifizierungsvektoren IVI–IVn individuell bearbeitet gemäß dem zweiten Zufallssequenzerzeuger RC' gemäß der Funktion RC'(IV), so dass ein Satz von n Zufalls-Bit-Stringsequenzen RC'stream#1–RC'stream#n erscheint. Wieder könnten Zufallssequenzerzeuger RC2 oder RC4 vorteilhaft verwendet werden, jedoch sind andere Erzeuger optional.
  • Es ist vorgesehen, dass als eine Alternative zu der in den 5 und 6 gezeigten Ausführungsform ein einzelner Zufalls-Bit-Sequenzerzeuger RC verwendet werden kann, wodurch die resultierende Bit-Sequenz in n Schlüssel partitioniert wird.
  • Die Letzteren n Streams bzw. Datenströme werden tabellenförmig mit Pa1–Pan Einträgen in einem Paketpuffer gespeichert. Dadurch wird eine Liste von n unterschiedlichen Einmal-Schlüsseln erreicht.
  • Auf der Empfangsseite werden die gleichen Operationen wie auf der Senderseite ausgeführt, so dass eine identische Liste von Einmal-Schlüsseln auf beiden Seiten erreicht wird.
  • Daher wird Chiffrieren für einen Klartext P mit einer gegebenen Ordnungsnummer unter Verwendung der bekannten XOR-Funktion mit einem gegebenen Schlüssel RC'stream mit einer entsprechenden Ordnungsnummer erreicht, so dass ein Chiffretext C der entsprechenden Ordnungsnummer erreicht wird.
  • Das Dechiffrieren wird für einen Chiffretext C mit einer gegeben Ordnungsnummer unter Verwendung der bekannten XOR-Funktion mit dem gleichen Schlüssel RC'stream erreicht bzw. durchgeführt mit der gleichen entsprechenden Ordnungsnummer wie die bei der Dechiffrierung verwendete.
  • Da in vielen bekannten Übertragungssystemen, im Besonderen in Paketdatensystemen, übertragene Pakete oder Rahmen eine Sitzungssequenznummer enthalten, kann die Folgennummer des Verschlüsselungsverfahren einfach mit der Folgennummer assoziiert werden, die für die Übertragungssitzung verwendet wird.
  • Daher gibt es kein Erfordernis für Synchronisierung während der Kommunikationssitzung. Auch wenn Pakete nicht in aufeinanderfolgender Reihenfolge empfangen werden, können diese gemäß der vorbestimmten Liste von Einmal-Schlüsseln Pa1–Pan dechiffriert werden.
  • Vorteilhafterweise wird die Liste von Einmal-Schlüsseln RC'stream#1, RC'stream#2 ... RC'stream#n in dem Array Pa1, Pa2, Pan sowohl auf der Senderseite als auch auf der Empfängerseite berechnet, wodurch Übertragungssitzungsfolgennummern 1–n den Arrayfolgenummern Pa1, Pa2, Pan zugewiesen werden. Ein gegebener Klartext wird gemäß der gegeben Reihenfolge wiederhergestellt, ein gegebener Chiffretext C wird in einer gegebenen Kommunikationssitzung empfangen durch Erhalten eines entsprechend berechneten Einmal-Schlüssels RC'stream#1, RC'stream#2 ... RC'stream#n mit der zugewiesenen Übertragungssitzungsfolgennummer des Arrays auf der Empfängerseite.
  • Vorteilhafterweise kann die Paketpufferliste berechnet werden, bevor eine Kommunikationssitzung gestartet wird, jedoch kann die Erzeugung der Liste auch intermittierend mit der Übertragung der Pakete erzeugt werden, so wie in dem Zeitdiagramm aus 8 gezeigt. Sobald der Puffer eine geeignete Größe zum Handhaben bzw. Bearbeiten des eingehenden Chiffretextes erreicht hat, kann die Berechnung von zusätzlichen Einmal-Schlüsseln ausgeführt werden, wenn Prozessorleistung verfügbar ist.
  • In 8 ist das Zeitdiagramm bezüglich des oberen Verschlüsselungsverfahrens gezeigt. Auf der Senderseite S werden ein Anfangspaket P und ein Anfangsinitialisierungsvektor anfänglich zur Zeit t0 ausgegeben.
  • Anschließend werden neue Klartextpakete ausgegeben und neue Initialisierungsvektoren werden gemäß der RC-Funktion erzeugt.
  • Sobald der erste Initialisierungsvektor ausgegeben ist, können die Berechnung der Liste von Einmal-Schlüsseln und das anschließende Speichern in dem Paketdatenpuffer beginnen. Wie in 8 gezeigt, werden von der Zeit t1 an entsprechende Einmal-Schlüssel RC'stream#1, RC'stream#2, RC'stream#3 berechnet und in dem Paketarray bei Reihenfolgennummern Pa1, Pa2 und Pa3 gespeichert.
  • Das Selbe gilt für die Empfängerseite, wobei hier der Initialisierungsvektor und die Einmal-Schlüssel anfänglich berechnet werden, direkt nachdem der Kommunikationsprozess initiiert ist.
  • Daher ist eine Anzahl von Einmal-Schlüsseln RC'stream#1, RC'stream#2, RC'stream#3 an der Senderseite und der Empfängerseite bei einer frühen Phase der Kommunikationssitzung geläufig. Diese Einmal-Schlüssel sind bereit für die Verwendung unabhängig von der Reihenfolge, die tatsächlichen Pakete können übertragen werden, und daher unabhängig von dem Verlauf der Kommunikationssitzung.
  • Bei t2 wird der Chiffretext C1 ausgegeben, und anschließend wird bei t3 der Klartext P1 wiederhergestellt. Obwohl es vorteilhaft ist, Einmal-Schlüssel sowohl auf der Senderseite als auch auf der Empfängerseite zu berechnen und zu speichern, wäre es in Abhängigkeit der verfügbaren Bearbeitungsleistung, die in der Kommunikationseinheit auf der Empfängerseite und der Senderseite verfügbar sind, möglich, dass Array lediglich auf einer Seite zu berechnen.
  • Es erscheint, dass durch Verwenden eines OTP-(Einmal-Passwort/dynamisches Passwort) Schemas mit dem Anfangs-Pswd1, das während des/der Sitzungsaufbaus/-Authentifizierung verhandelt wurde, ein sich verändernder Initialisierungsvektor verwendet werden kann, ohne anfänglich diesen über das Netzwerk zu synchronisieren. Da Initialisierungsvektoren nicht über den Kommunikationskanal als Overhead gesendet werden, kann darüber hinaus die Kapazität des Kommunikationskanals dem Inhalt gewidmet werden, während eine Sicherheit auf einem hohen Niveau erreicht wird.
  • Die Erfindung ist sowohl auf Datenstromchiffreverfahren als auch auf Blockchiffreverfahren anwendbar.
  • Um effizient mit Paketverlusten umzugehen, kann jedes Paket optional mit einer Sequenznummer modulo der Fenstergröße ausgestattet werden (4 Bits geben Unterstützung für 15 Verlustpakete), oder eine bereits existierende Sequenznummer (wenn Protokollcharakteristiken bekannt sind) kann wieder verwendet werden zum Einsparen von Bandbreite.
  • Da die Initialisierungsvektoren und die Einmal-Schlüssel vor der Paketankunft vorberechnet werden können, ist es auch möglich, die Datenstromchiffre-Bitdatenströme vorzuberechnen. Folglich können die potentiell zu schwer zu berechnenden Zufallsbitsequenz-Bitstreams berechnet werden in einem Modus mit niedriger Priorität, bevor die Daten angekommen sind. Wenn die Daten angekommen sind, gibt es lediglich das Erfordernis, die Daten mit der XOR-Funktion mit dem gespeicherten Bit-Datenstrom zu bearbeiten, um den Klartext wieder zu erlangen. Optional kann die Sequenzfolge nach Konsistenz überprüft werden, um mögliche Paketverluste zu detektieren.
  • Das obere Verfahren ermöglicht ein effizientes und sicheres Senden von verschlüsselten Paketen speziell über bandbreitenlimitierte Kommunikationsverbindungen, da keine explizite Übertragung von Initialisierungsvektoren stattfindet.
  • Das spezifische Ausnutzen der Möglichkeit der Vorberechnung von Initialisierungsvektoren (Schlüsseln) macht es möglich, einen hohen Durchsatz bei begrenzten bzw. limitierten Vorrichtungen zu erreichen.
  • Normale Datenstrom-Chiffreverschlüsselung benötigt oft eine häufige Änderung von Schlüsseln, um bekannte Klartextattacken zu vermeiden. Gemäß der Erfindung können Schlüssel für jedes Paket verändert werden, wodurch die Sicherheit verbessert wird.
  • Die Zufalls-Bitsequenzerzeuger RC und RC' könnten auf dem HMAC-SHA-1 im Ausgaberückkoppelmodus oder irgendeinem Blockchiffre in OFB basieren, so wie DES oder jedem anderen Aufbau, der geeignet ist, als ein PRNG verwendet zu werden.

Claims (7)

  1. Verfahren, umfassend die Schritte zum Verschlüsseln einer Sequenz von Klartext P, der von einer Senderseite S ausgegeben wird, die mit einer Empfängerseite R über ein Passwort Pswd1 übereingekommen ist, Bearbeiten des Klartextes P mit einer Codierungsfunktion (XOR) in eine Sequenz von Chiffretext C mit entsprechenden Einmal-Schlüsseln (RC'stream#1, RC'stream#2, ..., RC'stream#n), Übertragen des Chiffretextes über ein Medium in einer Übertragungssitzung unter Verwendung von vorbestimmten Sitzungsreihenfolgezahlen, Empfangen des Chiffretextes und Wiederherstellen des Klartextes durch eine Decodierungsfunktion (XOR) mit den gleichen entsprechenden Einmal-Schlüsseln (RC'stream#1, RC'stream#2, ..., RC'stream#n), – wobei das beschlossene Passwort (Pswd1) in einen ersten Pseudo-Zufallssequenzerzeuger (RC) eingegeben wird, wobei der erste Zufalls-Bit-Erzeuger (RC) eine große oder eine unbegrenzte erste Zufalls-Bitsequenz (RCstream) erzeugt, auf der die Einmal-Schlüssel basieren, dadurch gekennzeichnet, dass – unabhängig von dem Verlauf der Kommunikationssitzung eine Liste von Einmal-Schlüsseln (RC'stream#1, RC'stream#2, ..., RC'stream#n) mindestens auf der Senderseite oder der Empfängerseite berechnet und in einem Array (Pa1, Pa2, Pan) gespeichert wird.
  2. Verfahren nach Anspruch 1, wobei eine Liste von Einmal-Schlüsseln (RC'stream#1, RC'stream#2, ..., RC'stream#n) in dem Array (Pa1, Pa2, Pan) sowohl auf der Senderseite als auch auf der Empfängerseite berechnet werden, wobei das Verfahren ferner die folgenden Schritte umfasst: – Verknüpfen von Übertragungssitzungs-Reihenfolgezahlen (1–n) mit den Arrayreihenfolgezahlen (Pa1, Pa2, Pan), – Wiederherstellen eines gegebenen Klartextes gemäß der gegebenen Reihenfolge, ein gegebener Chiffretexte C wird empfangen in einer gegebenen Kommunikationssitzung, durch Abfragen eines entsprechend berechneten Einmal-Schlüssels (RC'stream#1, RC'stream#2, ..., RC'stream#n) mit der zugewiesenen Übertragungssitzungsnummer des Arrays auf der Empfängerseite.
  3. Verfahren Nach Anspruch 1 oder 2, wobei die erste Pseudo-Zufallsbitsequenz so bearbeitet wird, dass n Zufallsbitsequenzen (RC'stream#1–RC'stream#n) erscheinen, die als Einmal-Schlüssel verwendet werden.
  4. Verfahren nach Anspruch 1 oder 2, wobei von der ersten Zufallsbitsequenz ein Satz von n zweiten Initialisierungsvektoren (IV1–IVn) definiert wird, und basierend auf dem Satz der n zweiten Initialisierungsvektoren (IV1–IVn) wird ein Satz von zweiten n Zufallsbitsequenzen durch einen zweiten Pseudo-Zufallserzeuger (RC') berechnet, wobei die zweiten n Zufallsbitsequenzen die Liste der Einmal- Schlüssel (RC'stream#1, RC'stream#2, ..., RC'stream#n) definieren, die in dem Array (Pa1, Pa2, Pan) zu speichern sind.
  5. Verfahren nach einem der vorangehenden Ansprüche, wobei die Berechnung der Einmal-Schlüssel ausgeführt wird, wenn Prozessorleistung verfügbar ist.
  6. Verfahren nach einem der vorangehenden Ansprüche, wobei anfangs ein Anfangspasswort (Pswd1) zwischen dem Sender und dem Empfänger während des Sitzungsaufbaus und/oder der Authentifizierung verhandelt wird.
  7. Verfahren nach einem der vorangehenden Ansprüche, wobei übertragene Pakete oder Rahmen in der Sitzungssequenznummer enthalten sind.
DE60133140T 2001-12-06 2001-12-06 System und verfahren für symmetrische kryptographie Expired - Lifetime DE60133140T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SE2001/002695 WO2003049363A1 (en) 2001-12-06 2001-12-06 System and method for symmetrical cryptography

Publications (2)

Publication Number Publication Date
DE60133140D1 DE60133140D1 (de) 2008-04-17
DE60133140T2 true DE60133140T2 (de) 2009-03-12

Family

ID=20285012

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60133140T Expired - Lifetime DE60133140T2 (de) 2001-12-06 2001-12-06 System und verfahren für symmetrische kryptographie

Country Status (6)

Country Link
EP (1) EP1456997B1 (de)
AT (1) ATE388543T1 (de)
AU (1) AU2002221229A1 (de)
DE (1) DE60133140T2 (de)
ES (1) ES2300307T3 (de)
WO (1) WO2003049363A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10355865B4 (de) * 2003-11-26 2008-08-21 Paul, Lutz, Dipl.-Ing. Verfahren und Chip zur kryptographischen Verschlüsselung von Daten
ES2272130B1 (es) * 2004-10-28 2008-03-16 Universidad De Almeria Unidad cifradora/descifradora de mensajes con informacion digital, sistema y metodo de cifrado/descifrado para comunicaciones digitales en tiempo real.
WO2011110887A1 (en) 2010-03-11 2011-09-15 Luis Rocha Cryptographic system and method using new one-way function families
IT1401777B1 (it) 2010-06-14 2013-08-28 Scala Sistema di crittografia.
RU2554525C2 (ru) * 2013-10-07 2015-06-27 Российская Федерация, от имени которой выступает Государственная корпорация по атомной энергии "Росатом"-Госкорпорация "Росатом" Способ преобразования информации с синхронной сменой инициализирующих последовательностей в блоках, соединенных каналом связи с неопределенным периодом смены
US10514893B1 (en) 2018-03-05 2019-12-24 Wells Fargo Bank, N.A. Apparatuses and methods for pseudo-random number generation
CN111865584B (zh) * 2020-07-21 2023-02-28 南方电网科学研究院有限责任公司 基于伪随机数的数据破碎安全传输方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5272754A (en) * 1991-03-28 1993-12-21 Secure Computing Corporation Secure computer interface
US6249582B1 (en) * 1997-12-31 2001-06-19 Transcrypt International, Inc. Apparatus for and method of overhead reduction in a block cipher
US6804354B1 (en) * 1999-12-02 2004-10-12 Honeywell International Inc. Cryptographic isolator using multiplication
US6763363B1 (en) * 1999-12-02 2004-07-13 Honeywell International Inc. Computer efficient linear feedback shift register

Also Published As

Publication number Publication date
WO2003049363A1 (en) 2003-06-12
EP1456997B1 (de) 2008-03-05
DE60133140D1 (de) 2008-04-17
ES2300307T3 (es) 2008-06-16
AU2002221229A1 (en) 2003-06-17
ATE388543T1 (de) 2008-03-15
EP1456997A1 (de) 2004-09-15

Similar Documents

Publication Publication Date Title
DE69416809T2 (de) Verbesserungen der Sicherheit in Datenverarbeitungssystemen
DE60206809T2 (de) Verfahren und Systeme zum Erzeugen von Chiffrierschlüsseln unter Verwendung von Zufallsbitfolgen
DE69937007T2 (de) Verfahren und vorrichtung zur verschlüsselung und entschlüsselung von daten
US11233628B2 (en) Equivocation augmentation dynamic secrecy system
DE69330070T2 (de) Verfahren und einrichtung zur erzeugung einer chiffriersequenz
DE69823834T2 (de) Sicherheitsverfahren und -system für übertragungen in fernmeldenetzen
DE60302276T2 (de) Verfahren zur ferngesteuerten Änderung eines Kommunikationspasswortes
DE69534192T2 (de) Verfahren zur gemeinsamen Nutzung einer geheimen Information, zur Erzeugung einer digitalen Unterschrift und zur Ausführung einer Beglaubigung in einem Kommunikationssystem mit mehreren Informationsverarbeitungseinrichtungen und Kommunikationssystem zur Anwendung dieses Verfahrens
DE69433257T2 (de) Verfahren und Kommunikationssystem unter Verwendung einer Verschlüsselungseinrichtung
DE69916160T2 (de) Vorrichtung und Verfahren zur kryptographischen Verarbeitung sowie Aufzeichnungsmedium zum Aufzeichnen eines kryptographischen Verarbeitungsprogramms zur Ausführung einer schnellen kryptographischen Verarbeitung ohne Preisgabe der Sicherheit
DE60028900T2 (de) Automatische Neusynchronisation einer Geiheimsynchronisationsinformation
DE69921039T2 (de) Verfahren zur Erstellung eines Schlüssels unter Verwendung einer Funkkommunikation und eines Kennwortprotokolls
US20080025496A1 (en) Encrypting a plaintext message with authentication
DE69807389T2 (de) Verfahren und Einrichtung zur kryptographischen Verarbeitung und Speichermedium zur Speicherung eines kryptographischen Verarbeitungsprogramms zur Verbesserung der Sicherheit ohne beachtliche Vergrösserung der Hardware und der Verarbeitungzeit
DE102009045133A1 (de) Verfahren zum Manipulationsschutz von Sensordaten und Sensor hierzu
EP2929648A1 (de) Verfahren zum aufbau einer sicheren verbindung zwischen clients
DE10129285A1 (de) Verschlüsselungsverfahren mit beliebig wählbaren Enmalschlüsseln
EP3304802B1 (de) Verfahren zur sicherstellung der informationssicherheit von über einen datenbus übertragenen daten sowie datenbussystem
EP1298834A1 (de) Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten
DE112012000971B4 (de) Datenverschlüsselung
EP0923826B1 (de) Anordnung und verfahren zur kryptographischen bearbeitung eines digitalen datenstroms, der eine beliebige anzahl von daten aufweist
DE60133140T2 (de) System und verfahren für symmetrische kryptographie
EP4099611B1 (de) Erzeugung quantensicherer schlüssel in einem netzwerk
DE69830646T2 (de) Verfahren und vorrichtung zur verbesserung des cmea algorithmus unter verwendung von verbesserten transformationen
DE69836185T2 (de) Vorrichtung und verfahren für dazu passender multi-iteration cmea entschlüsselung und verschlüsselung um die sicherheit von drahtlosen fernsprechnachrichten zu verbessern

Legal Events

Date Code Title Description
8364 No opposition during term of opposition