DE69827917T2 - Verfahren und vorrichtung zum verbesserten cmea algorithmus dessen iteration von transformationen vorhergegangen und gefolgt wird unter verwendung einer involutiven nachschlagtafel - Google Patents

Verfahren und vorrichtung zum verbesserten cmea algorithmus dessen iteration von transformationen vorhergegangen und gefolgt wird unter verwendung einer involutiven nachschlagtafel Download PDF

Info

Publication number
DE69827917T2
DE69827917T2 DE69827917T DE69827917T DE69827917T2 DE 69827917 T2 DE69827917 T2 DE 69827917T2 DE 69827917 T DE69827917 T DE 69827917T DE 69827917 T DE69827917 T DE 69827917T DE 69827917 T2 DE69827917 T2 DE 69827917T2
Authority
DE
Germany
Prior art keywords
message
secret
offset
cmea
encryption
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
DE69827917T
Other languages
English (en)
Other versions
DE69827917D1 (de
Inventor
H. Mark ETZEL
John Robert Frank
Nelson Daniel HEER
John Robert MCNELIS
B. Semyon MIZIKOVSKY
John Robert RANCE
Dale R. SHIPP
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.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
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 Lucent Technologies Inc filed Critical Lucent Technologies Inc
Publication of DE69827917D1 publication Critical patent/DE69827917D1/de
Application granted granted Critical
Publication of DE69827917T2 publication Critical patent/DE69827917T2/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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
    • 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/80Wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Document Processing Apparatus (AREA)
  • Telephonic Communication Services (AREA)

Description

  • Diese Patentanmeldung beansprucht das Vorrecht der vorläufigen US-Patentanmeldung mit Aktenzeichen Nr. 60/053,412, eingereicht am 22. Juli 1997, und der vorläufigen US-Patentanmeldung mit Aktenzeichen Nr. 60/054,018, eingereicht am 29. Juli 1997.
  • GEBIET DER ERFINDUNG
  • Diese Erfindung bezieht sich allgemein auf schnurlose Telefonverschlüsselung. Insbesondere bezieht sich die Erfindung auf ein verbessertes Sicherheits-Verschlüsselungssystem für schnelle und sichere Verschlüsselung in einem schnurlosen Telefonsystem ohne dass große Mengen von zusätzlichen Systemressourcen erforderlich sind.
  • ALLGEMEINER STAND DER TECHNIK
  • Schnurlose Telefonie verwendet Mitteilungsübermittlung für mehrere Zwecke, die zum Beispiel aufweisen, Versenden von Statusinformationen, Rekonfigurieren von Betriebsarten, Handhabung der Anrufzustellung, und Versenden von System- und Benutzerdaten wie die elektronische Seriennummer und die Telefonnummer des Teilnehmers, sowie Gespräche und andere durch den Benutzer übermittelte Daten. Anders als gewöhnliche Drahttelefonie, bei der eine zentrale abwickelnde Station mit jedem Teilnehmer über Draht verbunden ist, und somit ein recht gutes Niveau an Schutz vor Lauschangriffen und Eingriffen durch einen Unbefugten (Angreifer) gewährleistet, müssen die abwickelnden Stationen bei schnurlosen Telefonen (d. h. die Basisstationen) Nachrichten durch Signale über den Äther übermitteln und empfangen, unabhängig vom physischen Standort der Teilnehmer.
  • Da die Basisstation Nachrichten überall an und von einem Teilnehmer übermitteln oder empfangen können muss, ist das Mitteilungsübermittlungsverfahren voll ständig abhängig von Signalen, die von der Ausrüstung des Teilnehmers empfangen und an sie übermittelt werden. Da die Signale über den Äther übermittelt werden, können sie durch einen Lauscher oder Eindringling mit der richtigen Ausrüstung abgehört werden.
  • Wenn ein Signal in Klartext durch ein schnurloses Telefon übermittelt wird, besteht eine Gefahr, dass ein Lauscher das Signal auffangen wird und es verwenden wird, um sich für einen Teilnehmer auszugeben oder private Daten abzuhören, die durch den Benutzer übermittelt werden. Solche privaten Daten können den Inhalt von Gesprächen aufweisen. Private Daten können mehr als nur Sprechdaten aufweisen, wie, zum Beispiel, Computer-Daten, die über ein mit einem schnurlosen Telefon verbundenes Modem übermittelt werden, und können ebenfalls Bankkonto oder andere private Benutzerinformationen aufweisen, die typischerweise mittels Tastendrucke übermittelt werden. Ein Lauscher, der bei einem Gespräch zuhört oder Daten auffängt, die keine Sprechdaten sind, kann private Informationen vom Benutzer erhalten. Der Inhalt der Nachricht eines unverschlüsselten Telefonsignals (d. h. Klartext-Signal) wird relativ einfach aufgefangen durch einen geeignet angepassten Empfangsapparat.
  • Als Alternative, kann ein Eindringling sich in eine bestehende Verbindung einwerfen, durch Verwenden einer größeren Sendeleistung, Senden von Signalen an die Basisstation und indem er sich für einen der Gesprächsteilnehmer ausgibt.
  • Bei nicht vorhandener Anwendung von Verschlüsselung auf Nachrichten, die durch schnurlose Signale übermittelt werden, sind unbefugtes Verwenden von Telefonressourcen, Belauschen von Nachrichten, und Aneignung der Identität angerufener oder anrufender Teilnehmer während eines Gesprächs möglich. Ein solches unbefugtes Eindringen und/oder Lauschen hat sich tatsächlich als ein schweres Problem erwiesen und ist in hohem Maße unerwünscht.
  • Die Anwendung von Verschlüsselung auf schnurlose Telefonanwendungen bietet eine Lösung für die oben erörterten Sicherheitsprobleme, aber die Anwendung von Standard-Verschlüsselungsverfahren auf schnurlose Telefonie ist auf bedeutende Schwierigkeiten gestoßen aufgrund der rechenintensiven Art von diesen Verfahren. Insbesondere, sind diese Verfahren den Beschränkungen unterworfen, die auferlegt werden durch den Wunsch, einen kleinen schnurlosen Handapparat anzubieten, und den Beschränkungen der Rechenleistung, die durch die kleine Größe des Handapparats auferlegt wird. Die Rechenleistung, die in typischen schnurlosen Handapparaten vorhanden ist, ist ungenügend zur Handhabung der Verarbeitungserfordernisse von allgemein bekannten Verschlüsselungsalgorithmen wie DES (Data Encryption Standard). Das Ausführen eines solchen allgemein bekannten Verschlüsselungsalgorithmus in einem typischen schnurlosen Telefonsystem würde potentiell die zur Verarbeitung der Signale (d. h. Verschlüsseln und Entschlüsseln) erforderliche Zeit verlängern, und infolgedessen zu für die Teilnehmer nicht akzeptablen Verzögerungen führen.
  • Ein Verschlüsselungssystem für schnurlose Telefonie ist offenbart in Reeds US-Patentschrift 5,159,634 („Reeds"). Reeds beschreibt ein Verschlüsselungsverfahren, das als das CMEA-Verfahren („Cellular Message Encryption Algorithm") bekannt ist. Zentral im Wirken des CMEA ist die TBox-Funktion, welche ein Eins-zu-Eins-Mapping von einem Oktet zu einem anderen ist, unter Verwendung einer bekannten Tafel und eines geheimen Schlüssels. Beginnend mit einem Anfangsindex, wird Schlüsselmaterial kombiniert mit Tafelmaterial in vielfachen Iterationen zum Durchführen des Mappings. Die TBox-Funktion kann entweder als ein Funktionsaufruf oder als eine statische speicherresidente TBox-Tafel ausgeführt sein. Der Zweck der TBox-Tafel, wenn sie wie im letzteren Fall ausgeführt ist, ist die Ermöglichung einer bedeutenden Beschleunigung der Verschlüsselung für ein bestimmtes Sicherheitsniveau.
  • Es existieren Verbesserungen der CMEA-Funktion, offenbart in unserer US-Patentanmeldung Nummer 6 266 411 mit dem Titel „Methods and Apparatus for Multiple-Iteration CMEA Encryption and Decryption for Improved Security for Cellular Telephone Messages", eingereicht am 13. April 1998, und unserer US-Patentanmeldung Nummer 6 233 337 mit dem Titel „Methods and Apparatus for Enhanced Security Expansion of a Secret Key Into a Lookup Table", eingereicht am 13. April 1998. Diese Verbesserungen stellen eine wesentlich gesteigerte Sicherheit für das CMEA-Verfahren bereit. Zusätzliche Verbesserungen würden indes eine weiter gesteigerte Sicherheit bereitstellen.
  • Der CMEA-Algorithmus des bisherigen Stands der Technik kann wesentlich verbessert werden, wie unten detaillierter beschrieben. Diese Verbesserungen stellen eine zusätzliche Sicherheitsstufe bereit, welche in hohem Maße vorteilhaft ist.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Diese Erfindung stellt eine zusätzliche Sicherheitsstufe für Verschlüsselungs-Algorithmen wie CMEA bereit, indem ein vorwärts verbessertes CMEA- oder ECMEA-Verfahren bereitgestellt wird, sowie ein Rückwärts-ECMEA-Verfahren. Durch das Vorwärts-Verfahren verschlüsselte Informationen werden durch das Rückwärts-Verfahren entschlüsselt, und durch das Rückwärts-Verfahren verschlüsselte Informationen werden durch das Vorwärts-Verfahren entschlüsselt. Das Vorwärts-ECMEA-Verfahren unterzieht die Nachrichten einer ersten Transformation vor einer Iteration des CMEA-Algorithmus, und einer zweiten Transformation nach der Iteration des CMEA- Algorithmus. Die Iteration des CMEA-Algorithmus weist die Permutation der Eingangssignale zur TBox-Funktion durch einen ersten geheimen Offset auf. Die TBox-Funktion, die durch den CMER-Algorithmus verwendet wird, ist verbessert durch die Verwendung von einer involutiven Nachschlagtafel. Die Transformationen verwenden den ersten geheimen Offset und einen zweiten geheimen Offset. Die zweite Transformation ist identisch mit der ersten Transformation, außer, dass die zweite Transformation die ersten und zweiten Offsets verwendet in umgekehrter Reihenfolge in Bezug auf diejenige, in der sie durch die erste Transformation verwendet werden. Jede Transformation führt einen Bit-Tausch zwischen jedem Paar von benachbarten Oktets, ein involutives Nachschlagen mit Feedback für jedes Oktet, und eine zufällige Byte-Permutation durch.
  • Die Transformationen sind nicht selbstinvertierend, und somit ist das Vorwärts-ECMEA-Verfahren als Ganzes nicht selbstinvertierend. Zum Entschlüsseln von Text, der durch das Vorwärts-ECMEA-Verfahren verschlüsselt wurde, oder zum Verschlüsseln von Text zum Entschlüsseln durch das Vorwärts-ECMEA-Verfahren, wird das Rückwärts-ECMEA-Verfahren verwendet. Das Rückwärts-ECMEA-Verfahren verwendet eine erste inverse Transformation, gefolgt von einer Iteration des CMEA-Verfahrens, gefolgt von einer zweiten inversen Transformation. Die erste inverse Transformation führt eine inverse zufällige Byte-Permutation durch, ein inverses involutives Nachschlagen mit Feedback für jedes Oktet, und einen inversen Bit-Tausch zwischen jedem Paar von benachbarten Oktets. Die erste inverse Transformation verwendet ebenfalls die ersten und zweiten geheimen Offsets in einer Reihenfolge, die unterschiedlich ist von derjenigen, in der sie durch die erste Transformation verwendet werden, wie nachfolgend im Detail gezeigt wird. Die Iteration des CMEA-Algorithmus weist eine Permutation der Eingangssignale zur TBox-Funktion durch den ersten geheimen Offset auf. Die TBox-Funktion, die durch den CMEA-Algorithmus verwendet wird, ist verbessert durch die Verwendung einer involutiven Nachschlagtafel. Die zweite inverse Transformation ist identisch mit der ersten inversen Transformation, außer, dass die zweite inverse Transformation die ersten und zweiten geheimen Offsets verwendet in umgekehrter Reihenfolge in Bezug auf diejenige, in der sie durch die erste inverse Transformation verwendet werden.
  • Das Vorwärts-ECMEA-Verfahren entschlüsselt Text, der durch das Rückwärts-ECMEA-Verfahren verschlüsselt wurde, und das Rückwärts-ECMEA-Verfahren entschlüsselt Text, der durch das Vorwärts-ECMEA-Verfahren verschlüsselt wurde. Die vorhergehend beschriebenen Verbesserungen verbessern das CMEA und können ausgeführt werden, um schnell und effizient zu wirken in einem kleinen Computer, so wie er allgemein verwendet wird in einem mobilen schnurlosen Sendeempfangsapparat.
  • Ein Verschlüsselungssystem gemäß dieser Erfindung kann geeignet verwenden eine verbesserte TBox-Funktion, die ebenfalls erste und zweite Offsets verwendet, um Eingangssignale zur verbesserten TBox-Funktion zu permutieren und zur Verwendung im CMEA und beim Ausführen der Transformation und inversen Transformation. Jeder Offset wird erzeugt unter Verwendung von zwei geheimen Werten und einem externen Verschlüsselungssynchronisierungswert. Die geheimen Werte können erzeugt werden durch irgendeine einer Anzahl von Techniken, die in der Fachwelt allgemein bekannt sind. In einigen Anwendungen, ist der externe Verschlüsselungsysnchronisierungswert, der verwendet wird zum Verschlüsseln einer ersten Nachricht eines Anrufs, ein 8-Bit-Wert, der ausgeführt wird als ein Binärzähler.
  • Bei einem anderen Aspekt dieser Erfindung umfasst ein Telefonsystem gemäß dieser Erfindung eine mobile Station und eine Basisstation. Sowohl die mobile Station als auch die Basisstation erzeugen Text und liefern ihn an eine E-/A-Schnittstelle, die ihn als erzeugten Text identifiziert und den Text und die Identifikation an einen Verschlüsselungs-/Entschlüsselungs-Prozessor liefert, der wiederum den Text verschlüsselt und ihn zur Übertragung an einen Sendeempfangsapparat liefert. Wenn die Vorrichtung eine Übermittlung durch den Sendeempfangsapparat empfängt, wird die Übermittlung identifiziert als ankommender Schlüsseltext, und der Schlüsseltext und die Identifizierung werden geliefert an den Entschlüsselungs-/Verschlüsselungs-Prozessor, der den Schlüsseltext entschlüsselt und ihn als Text an den E-/A-Prozessor liefert zum Routing an seinen Bestimmungsort. Die mobile Station verwendet vorzugsweise das Vorwärts-ECMEA-Verfahren und die Basisstation verwendet vorzugsweise das Rückwärts-ECMEA-Verfahren.
  • Ein vollständigeres Verständnis dieser Erfindung, sowie weitere Merkmale und Vorteile der Erfindung werden ersichtlich werden von der nachfolgenden detaillierten Beschreibung und den begleitenden Zeichnungen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Ablaufdiagramm, das Aspekte eines CMEA-Schlüsselerzeugungsverfahrens nach dem bisherigen Stand der Technik und seine Verwendung in einer CMEA-basierten Ausführung von Verschlüsselung veranschaulicht;
  • 2 ist ein Ablaufdiagramm, das ein Vorwärts-ECMEA-Verschlüsselungsverfahren gemäß dieser Erfindung veranschaulicht, das eine erste Transformation, ein CMEA-Verfahren, in dem eine verbesserte TBox-Funktion verwendet wird, die ein involutives Nachschlagen verwendet mit den Eingangssignalen zur verbesserten TBox-Funktion, permutiert durch einen geheimen Offset, und eine zweite Transformation, verwendet.
  • 3 ist ein Ablaufdiagramm, das die erste Transformation, die im Vorwärts-ECMEA-Verschlüsselungsverfahren verwendet wird, veranschaulicht;
  • 4 ist ein Ablaufdiagramm, das die zweite Transformation, die im Vorwärts-ECMEA-Verschlüsselungsverfahren verwendet wird, veranschaulicht;
  • 5 ist ein Ablaufdiagramm, das ein Rückwärts-ECMEA-Verschlüsselungsverfahren gemäß dieser Erfindung veranschaulicht, das eine erste inverse Transformation, ein CMEA-Verfahren, in dem eine verbesserte TBox-Funktion verwendet wird, die ein involutives Nachschlagen verwendet mit den Eingangssignalen zur verbesserten TBox-Funktion, permutiert durch einen geheimen Offset, und eine zweite inverse Transformation, verwende;
  • 6 ist ein Ablaufdiagramm, das die erste inverse Transformation, die im Rückwärts-ECMEA-Verschlüsselungsverfahren verwendet wird, veranschaulicht;
  • 7 ist ein Ablaufdiagramm, das die zweite inverse Transformation, die im Rückwärts-ECMEA-Verschlüsselungsverfahren verwendet wird, veranschaulicht; und
  • 8 ist ein Diagramm, das ein Telefonsystem, das ECMEA-Verarbeitung gemäß dieser Erfindung verwendet, veranschaulicht.
  • DETAILLIERTE BESCHREIBUNG
  • 1 ist ein Ablaufdiagramm, das ein Verfahren 100 nach dem bisherigen Stand der Technik veranschaulicht, das einen CMEA-Schlüssel verwendet zur Verschlüsselung von bestimmten kritischen Benutzerdaten, die während einem Anruf übermittelt werden können. Der CMEA-Schlüssel wird verwendet, um ein geheimes Array, tbox(z), von 256 Bytes zu erzeugen. Als Alternative, kann die TBox-Funktion als ein Funktionsaufruf ausge führt werden. Dies reduziert die Verwendung von RAM, verlängert aber die Verarbeitungszeit um ungefähr eine Größenordnung.
  • Bei Schritt 102, wird unverarbeiteter Text eingegeben. Bei Schritt 104 wird in Systemen, die TBox als eine statische Tafel anstatt als einen Funktionsaufruf ausführen, die statische TBox-Tafel abgeleitet. Die TBox-Tafel wird abgeleitet wie folgt:
    Für jedes z im Bereich 0 ≤ z < 256, tbox(z) = C(((C(((C(((C((z XOR k0) + k1) + z)XOR k2) + k3) + z)XOR k4) + k5) + z)XOR k6) + k7) + z,wo „+" Modulo 256 Addition anzeigt, „XOR" der bitweise Boolesche exklusive ODER-Operator ist, „z" das Funktionsargument ist, k0,. ., k7 die acht Oktets des CMEA-Schlüssels aufweisen, und C( ) das Ergebnis ist der zellularen Authentifizierung, Voice Privacy and Encryption (CAVE), und 8-Bit Tafel-Nachschlagen. Bei Nichtvorhandensein der nachfolgend erörterten Verbesserungen, ist die TBox-Funktion in der Fachwelt gut bekannt. Die in Verbindung mit den 25 unten beschriebenen Verbesserungen ermöglichen es indes der TBox-Funktion, ein wesentlich verbessertes Maß an Sicherheit bereitzustellen.
  • CMEA weist drei aufeinander folgende Stufen auf, von denen jede den Byte-String im Datenpuffer verändert. Bei den Schritten 106, 108 und 110, werden die ersten, zweiten und dritten Stufen des CMEA-Verfahrens in dieser Reihenfolge durchgeführt, wie hierin beschrieben werden wird. Ein Datenpuffer, der d Bytes lang ist, mit jedem Byte gekennzeichnet durch b(i), für i eine Ganzzahl im Bereich 0 ≤ i < d, wird verschlüsselt in drei Stufen. Die erste Stufe (I) des CMEA ist wie folgt:
    • 1. Initialisieren einer Variable z mit null,
    • 2. Für die nachfolgenden Ganzzahlwerte von i im Bereich 0 ≤ i < d a. Bilden einer Variable q durch: q = z ⊕ niederwertiges Byte von i, wo ⊕ der bitweise Boolesche exklusive ODER-Operator ist, b. Bilden der Variable k durch: k = TBOX(q), c. Aktualisieren von b(i) mit: b(i) = b(i) + k mod 256, und d. Aktualisieren von z mit: z = b(i) + z mod 256.
  • Die zweite Stufe (II) des CMEA ist:
    • 1. für alle Werte von i im Bereich 0 ≤ i < (d – 1)/2: b(i) = b(i) ⊕ (b(d – 1 – i) ODER 1), wo ODER der bitweise Boolesche exklusive ODER-Operator ist.
  • Die letzte oder dritte Stufe (III) des CMEA ist die Entschlüsselung, die invers in Bezug auf die erste Stufe ist:
    • 1. Initialisieren einer Variable z mit null,
    • 2. Für die nachfolgenden Ganzzahlwerte von i im Bereich 0 ≤ i < d a. Bilden einer Variable q durch: q = z 0 niederwertiges Byte von i, b. Bilden der Variable k durch: k = TBOX(q), c. Aktualisieren von z mit: z = b(i) + z mod 256, und d. Aktualisieren von b(i) mit: b(i) = b(i) – k mod 256. Bei Schritt 112 wird das endgültig verarbeitete Ausgangssignal bereitgestellt.
  • Das vorhergehende CMEA-Verfahren ist selbstinvertierend. Das heißt, die gleichen Schritte, angewendet in der gleichen Reihenfolge werden verwendet, sowohl um Klartext zu verschlüsseln als auch um Schlüsseltext zu entschlüsseln. Deshalb ist es nicht notwendig, zu bestimmen, ob Verschlüsselung oder Entschlüsselung ausgeführt wird. Bedauerlicherweise, hat sich gezeigt, dass das vorhergehend beschriebene CMEA-Verfahren einem Angriff ausgesetzt werden kann, der eine Wiederherstellung des für einen Anruf verwendeten CMEA-Schlüssels ermöglicht.
  • Zum Bereitstellen zusätzlicher Sicherheit für Kundeninformationen, verwendet ein Verschlüsselungssystem gemäß dieser Erfindung eine CMEA-Iteration, die eine verbesserte TBox-Funktion verwendet, die eine involutive Nachschlagtafel verwendet. Das Verschlüsselungssystem verbessert ebenfalls die Verwendung der TBox-Funktion durch Permutieren der Eingangssignale zur TBox-Funktion durch geheime Offsets. Zusätzliche Sicherheit wird bereitgestellt durch Anwenden von Transformationen auf eine Nachricht vor und nach der CMEA-Iteration.
  • 2 ist ein Ablaufdiagramm, das ein verbessertes ECMEA-Verschlüsselungs-/Entschlüsselungs-Verfahren 200 gemäß dieser Erfindung zeigt.
  • Bei Schritt 202, wird eine unverarbeitete Nachricht eingegeben in das Verschlüsselungs-/Entschlüsselungs-Verfahren. Die unverarbeitete Nachricht kann eine zur Übermittlung zu verschlüsselnde Klartext-Nachricht oder eine empfangene verschlüsselte zu entschlüsselnde Nachricht sein. Die unverarbeitete Nachricht kann vorzugsweise zur Verarbeitung in einem Datenpuffer gespeichert sein. Bei Schritt 204 wird, in Systemen, die TBox als eine statische Tafel anstatt als einen Funktionsaufruf ausführen, die statische TBox-Tafel abgeleitet. Bei Schritt 206, wird ein Satz von geheimen 8-Bit-Werten K0–K3 erzeugt zur Verwendung bei der Erzeugung der geheimen Offsets und die Offsets werden berechnet. Jeder der geheimen Werte K0–K3 ist vorzugsweise ein 8-Bit-Wert. Alle geheimen Werte K0–K3 werden vorzugsweise erzeugt für jeden schnurlosen Telefonanruf und sind vorzugsweise über den gesamten Anruf hinweg konstant. Die ersten und zweiten Offsets werden erzeugt unter Verwendung der folgenden Formeln: offset1 = ((K0 + 1)*CSn mod 257) ⊕ K1 mod 256 offset2 = ((K2 + 1)*CSn mod 257) ⊕ K3 mod 256wo K0–K3 wie oben definiert sind und CS ein Verschlüsse lungssynchronisierungswert ist. Der CSn Wert ist ein externer Wert für die nte Nachricht. Der CSn Wert weist 8 Bits auf und ist vorzugsweise als ein Binärzähler ausgeführt. Offset1 und offset2 sind jeder 8-Bit-Werte.
  • Bei Schritt 208 wird eine Transformation auf der unverarbeiteten Nachricht durchgeführt, unter Verwendung der ersten und zweiten geheimen Offsets zur Herstellung einer ersten transformierten Nachricht. Die Details der Transformation werden unten erörtert werden in Verbindung mit der Erörterung von 3.
  • Bei Schritt 210 wird die erste transformierte Nachricht einer Iteration des CMEA-Verfahrens unterzogen, unter Verwendung eines CMEA-Schlüssels, zur Herstellung einer Zwischenschlüsseltextnachricht. Die CMEA-Funktion weist eine verbesserte TBox-Funktion auf, die ein involutives Nachschlagen von jedem Oktet durchführt, und gegeben ist durch die Formel: tbox(z) = I(I(I(I(I(I(I(I(I(I(I(I(I(I(z + k0)XOR k1) + k2)XOR k3) + k4)XOR k5) + k6)XOR k7) – k6)XOR k5) –k4)XOR k3) – k2)XOR k1) – k0wo „+" Modulo 256 Addition anzeigt,
    „–" Modulo 256 Subtraktion anzeigt,
    „XOR" die XOR-Funktion ist,
    „z" das Funktionsargument ist,
    k0,. ., k7 die acht Oktets des ECMEA-Schlüssels sind,
    und I( ) das Ergebnis eines bekannten IBox 8-Bit Tafelnachschlagens ist. Die IBox-Tafel ist eine involutive Nachschlagtafel mit Einträgen, die gewählt sind, um ein involutives Mapping von 8-Bit Bytes auf 8-Bit Bytes durchzuführen. Ein bevorzugtes Beispiel einer IBox-Tafel ist wie folgt:
    Figure 00120001
    Figure 00130001
    wo die Einträge in einem hexadezimalen Format sind. Die IBox-Tafel-Einträge sind indexiert von 0x00 bis 0xff. Dies wird dezimal ausgedrückt in 0 bis 255. Für die vorhergehende Tafel, ist der erste Eintrag in der ersten Reihe 0x00 indexiert, der achte Eintrag in der ersten Reihe ist 0x07 indexiert, der erste Eintrag in der zweiten Reihe ist 0x08 indexiert, der achte Eintrag in der zweiten Reihe ist 0x0f indexiert und so weiter. Aus der Untersuchung der Tafel ist ersichtlich, dass sie ein involutives Nachschlagen bereitstellt. Das heißt, ibox(ibox((z)) = z. Zum Beispiel, ibox(0x00) = 0xa2. Beim Nachschlagen des Eintrags, der 0xa2 indexiert ist, wird gesehen, dass ibox(0xa2) = 0x00. Die verbesserte TBox-Funktion wird an die Stelle der vorhergehend in Verbindung mit der Erörterung von 1 beschriebenen TBOX-Funktion gesetzt.
  • Zur weiteren Verbesserung der Sicherheit, werden die Eingangssignale zur TBox-Funktion einer Permutation unterzogen, die entweder den ersten oder den zweiten geheimen Offset verwendet. Jedes TBox-Funktions-Eingangssignal wird einer Permutation unterzogen, um ein Permutationsergebnis herzustellen. Wenn eine TBox-Funktion zum Beispiel als x definiert ist, ist das Permutationsergebnis der Wert von (x ⊕ offset1). Das Permutationsergebnis wird der TBox-Funktion unterzogen. Folglich ist für jedes TBox-Eingangsssignal x, die verwendete Funktion tbox(x ⊕ offset1). Die Permutation der TBox-Eingangssignale verursacht effektiv ein Verschieben der Stelle der TBox-Einträge mit jeder Nachricht, was die Schwierigkeit eines Angriffs sehr vergrößert. Bei Schritt 212, wird der Zwischenschlüsseltext einer zweiten Transformation unterzogen, um einen endgültig verarbeiteten Text herzustellen. Die zweite Transformation ist identisch mit der ersten Transformation, außer, dass die ersten und zweiten Offsets für die zweite Transformation umgekehrt werden. Das heißt, wo der erste Offset in der ersten Transformation verwendet wird, wird der zweite Offset in der zweiten Transformation verwendet, und wo der zweite Offset in der ersten Transformation verwendet wird, wird der erste Offset in der zweiten Transformation verwendet. Die zweite Transformation ist unten in Verbindung mit der Erörterung von 4 beschrieben.
  • 3 ist ein Ablaufdiagramm, das die Schritte der ersten Transformation 208, die im in 2 veranschaulichten Vorwärts-ECMEA-Verfahren 200 durchgeführt wird, im Detail veranschaulicht. Die Schritte 304308 werden auf jedem Oktet n der unverarbeiteten Nachricht durch geführt, für n = 0 bis n = nmax – 1, wo nmax die Anzahl von Oktets in der Nachricht ist. Bei Schritt 302, wird n auf 0 gesetzt. Bei Schritt 304 wird ein Bit-Tausch durchgeführt zwischen dem Oktet n und dem Oktet über ihm, unter Verwendung der folgenden Formel: Wenn n < nmax – 1, j = On ⊕ On+1 j = j UND tbox (j ⊕ offset1) On = On On+1 = On+1 ⊕ jwo
    j eine temporäre Variable und On das nte Oktet der unverarbeiteten Nachricht ist, und UND der bitweise Boolesche UND-Operator ist.
  • Bei Schritt 306, wird ein involutives Nachschlagen mit Feedback durchgeführt gemäß der folgenden Formel:
    Wenn n < nmax – 1, On = offset1 ⊕ On+1 ⊕ tbox(On ⊕ offset2)Wenn n = nmax – 1, On = offset1 ⊕ tbox (On ⊕ offset2)
  • Bei Schritt 308, wird eine zufällige Byte-Permutation durchgeführt. Das heißt, ein Oktet kann ausgetauscht werden mit einem zufälligen Oktet unter ihm gemäß der folgenden Formel:
    Wenn n > 0:
    Wenn n < nmax – 1, j = tbox(On+1 ⊕ offset1)Wenn n = nmax – 1, j = tbox(0x37 ⊕ offset1) j = ((n + 1)*j) >> 8; z = Oj Oj = On On = z,wo j und z Puffervariablen sind, * Multiplikation anzeigt, und >> 8 eine rechte Verschiebung von 8 Bits anzeigt.
  • Bei Schritt 310 wird n inkrementiert. Bei Schritt 312, wird n mit nmax verglichen. Wenn n < nmax, wird das Verfahren wieder von Schritt 304 gesteuert. Wenn n nmax, geht die Steuerung über zu Schritt 314 und der erste Transformationsschritt ist vollendet.
  • 4 ist ein Ablaufdiagramm, das die Schritte der zweiten Transformation 212, die im in 2 veranschaulichten Vorwärts-ECMEA-Verfahren 200 durchgeführt werden, im Detail veranschaulicht. Die Schritte 404408 werden durchgeführt für jedes Oktet n der Zwischenschlüsseltextnachricht, für n = 0 bis n = nmax – 1, wo nmax die Anzahl der Oktets in der Nachricht ist. Bei Schritt 402, wird n auf 0 gesetzt. Bei Schritt 404, wird ein Bit-Tausch durchgeführt zwischen dem Oktet n und dem Oktet über ihm, unter Verwendung der folgenden Formel:
    Wenn n < nmax – 1, j = On ⊕ On+1 j = j UND tbox (j ⊕ offset2) On = On ⊕ j On+1 = On+1 ⊕ jwo
    j eine temporäre Variable und On das nte Oktet der Zwischenschlüsseltextnachricht ist.
  • Bei Schritt 406 wird ein involutives Nachschlagen mit Feedback durchgeführt, gemäß der folgenden Formel:
    Wenn n < nmax – 1, On = offset2 ⊕ On+1 ⊕ tbox(On ⊕ offset1).Wenn n = nmax – 1, On = offset2 ⊕ tbox (On ⊕ offset1).
  • Bei Schritt 408, wird eine zufällige Byte-Permutation durchgeführt. Das heißt, ein Oktet kann ausgetauscht werden mit einem zufälligen Oktet unter ihm gemäß der folgenden Formel:
    Wenn n > 0:
    Wenn n < nmax – 1, j = tbox (On+1 ⊕ offset2)Wenn n = nmax – 1, j = tbox(0x37 ⊕ offset2) j = ((n + 1)*j) >> 8 z = Oj Oj = On On = z,wo j und z temporäre Puffervariablen sind, * Multiplikation anzeigt, und >> 8 eine rechte Verschiebung von 8 Bits anzeigt.
  • Bei Schritt 410 wird n inkrementiert. Bei Schritt 412, wird n mit nmax verglichen. Wenn n < nmax, wird das Verfahren wieder von Schritt 404 gesteuert. Wenn n ≥ nmax, geht die Steuerung über zu Schritt 414 und der zweite Transformationsschritt ist vollendet.
  • 5 ist ein Ablaufdiagramm, dass ein Rückwärts-ECMEA-Verfahren 500 veranschaulicht, geeignet zum Entschlüsseln von Text, der verschlüsselt wurde durch das in 2 veranschaulichte Vorwärts-ECMEA-Verfahren 200, oder zum Verschlüsseln von Text zur Entschlüsselung durch das in 2 veranschaulichte Vorwärts-ECMEA-Verfahren 200. Das Rückwärts-ECMEA-Verfahren 500 ist identisch mit dem Vorwärts-ECMEA-Verfahren 200, außer, dass in den Vorwärts- und Rückwärtstransformationen der erste Offset durch den zweiten Offset ersetzt wird und der zweite Offset durch den ersten Offset ersetzt wird.
  • Bei Schritt 502, wird eine unverarbeitete Nachricht eingegeben in das Verschlüsselungs-/Entschlüsselungs-Verfahren. Bei Schritt 504 wird in Systemen, die TBox als eine statische Tafel anstatt als ein Funktionsaufruf ausführen, die statische TBox-Tafel abgeleitet. Bei Schritt 506, wird ein Satz von geheimen 8-Bit-Werten K0–K3 erzeugt zur Verwendung bei der Erzeugung der geheimen Offsets und die Offsets werden berechnet. Der Satz von geheimen Werten kann erzeugt werden durch irgendeine einer Anzahl von Techniken, die in der Fachwelt allgemein bekannt sind. Alle geheimen Werte K0–K3 werden vorzugsweise erzeugt für jeden schnurlosen Telefonanruf und bleiben vorzugsweise über den gesamten Anruf hinweg konstant. Die ersten und zweiten Offsets werden erzeugt unter Verwendung der folgenden Formeln: offset1 = ((K0 + 1)*CS mod 257) ⊕ K1 mod 256 offset2 = ((K2 + 1)*CS mod 257) ⊕ K3 mod 256wo K0–K3 wie oben definiert sind und CS ein Verschlüsselungssynchronisierungswert ist. Der CSn Wert ist ein externer Wert für die nte Nachricht. Der CSn Wert weist 8 Bits auf und ist vorzugsweise als ein Binärzähler ausgeführt. Offset1 und offset2 sind jeder 8-Bit-Werte.
  • Bei Schritt 508 wird eine erste inverse Transformation auf der unverarbeiteten Nachricht durchgeführt, unter Verwendung der ersten und zweiten geheimen Offsets zum Herstellen einer ersten inversen transformierten Nachricht. Die Details der Transformation sind gleichartig wie diejenigen, die oben in Verbindung mit der Erörterung von 3 erörtert wurden, außer, dass die Schritte, die in der inversen Transformation durchgeführt werden, in umgekehrter Reihenfolge in Bezug auf diejenigen der Transformation sind, und dass die Nachrichten-Oktets in umgekehrter Reihenfolge verarbeitet werden. Die Details der ersten inversen Transformation werden unten in Verbindung mit der Erörterung von 6 erörtert und die Details der zweiten inversen Transformation werden unten in Verbindung mit der Erörterung von 7 erörtert.
  • Bei Schritt 510 wird die erste invers transformierte Nachricht einer Iteration des CMEA-Verfahrens unterzogen, unter Verwendung eines CMEA-Schlüssels, zur Herstellung einer Rückwärts-Zwischenschlüsseltextnachricht. Die CMEA-Funktion weist eine verbesserte TBox-Funktion auf, die ein involutives Nachschlagen von jedem Oktet durchführt, und gegeben ist durch die Formel: tbox(z) = I(I(I(I(I(I(I(I(I(I(I(I(I(I(z + k0)XOR k1) + k2)XOR k3) + k4)XOR k5) + k6)XOR k7) – k6)XOR k5) – k4)XOR k3) – k2)XOR k1) – k0wo „+" Modulo 256 Addition anzeigt,
    „–" Modulo 256 Subtraktion anzeigt,
    „XOR" die XOR-Funktion ist,
    „z" das Funktionsargument ist,
    k0,. ., k7 die acht Oktets des ECMEA-Schlüssels sind,
    und I( ) das Ergebnis eines bekannten IBox 8-Bit Tafelnachschlagens ist. Die IBox-Tafel ist eine involutive Nachschlagtafel mit Einträgen, die gewählt sind, um ein involutives Mapping von 8-Bit Bytes auf 8-Bit Bytes durchzuführen.
  • Die IBox-Tafel ist eine involutive Nachschlagtafel mit Einträgen die gewählt sind, um ein involutives Mapping von 8-Bit Bytes auf 8-Bit Bytes durchzuführen. Ein bevorzugtes Beispiel einer IBox-Tafel ist wie folgt:
    Figure 00190001
    Figure 00200001
    wo die Einträge in einem hexadezimalen Format sind. Die IBox-Tafel-Einträge sind indexiert von 0x00 bis 0xff. Dies wird dezimal ausgedrückt in 0 bis 255. Für die vorhergehende Tafel, ist der erste Eintrag in der ersten Reihe 0x00 indexiert, der achte Eintrag in der ersten Reihe ist 0x07 indexiert, der erste Eintrag in der zweiten Reihe ist 0x08 indexiert, der achte Eintrag in der zweiten Reihe ist 0x0f indexiert und so weiter. Aus einer Untersuchung der Tafel ist ersichtlich, dass sie ein involutives Nachschlagen bereitstellt. Das heißt, ibox(ibox((z)) = z. Zum Beispiel, ibox(0x00) = 0xa2. Beim Nachschlagen des Eintrags, der 0xa2 indexiert ist, wird gesehen, dass ibox(0xa2) = 0x00. Die verbesserte TBox-Funktion wird an die Stelle der vorhergehend in Verbindung mit der Erörterung von 1 beschriebenen TBOX-Funktion gesetzt.
  • Zur weiteren Verbesserung der Sicherheit, werden die Eingangssignale zur TBox-Funktion einer Permutation unterzogen, die den ersten geheimen Offset verwendet. Jedes TBox-Funktions-Eingangssignal wird einer Permutation unterzogen, um ein Permutationsergebnis herzustellen. Wenn ein TBox-Funktions-Eingangssignal zum Beispiel als x definiert ist, ist das Permutationsergebnis der Wert von (x ⊕ offset1). Das Permutationsergebnis wird der TBox-Funktion unterzogen. Folglich ist für jedes TBox-Eingangssignal x, die verwendete Funktion tbox(x ⊕ offset1). Die Permutation der TBox-Eingangssignale verursacht effektiv ein Verschieben der Stelle der TBox-Einträge mit jeder Nachricht, was die Schwierigkeit eines Angriffs sehr vergrößert. Bei Schritt 512 wird der Rückwärts-Zwischenschlüsseltext einer zweiten inversen Transformation unterzogen, um einen endgültig verarbeiteten Text herzustellen. Die zweite inverse Transformation ist identisch mit der ersten inversen Transformation, außer, dass die ersten und zweiten Offsets für die zweite inverse Transformation umgekehrt werden in Bezug auf die erste inverse Transformation. Das heißt, wo der erste Offset für die erste inverse Transformation verwendet wird, wird der zweite Offset für die zweite inverse Transformation verwendet, und wo der zweite Offset für die erste inverse Transformation verwendet wird, wird der erste Offset für die zweite inverse Transformation verwendet.
  • 6 ist ein Ablaufdiagramm, das die Schritte der ersten inversen Transformation 508, die im in 5 veranschaulichten Rückwärts-ECMEA-Verfahren 500 durchgeführt wird, im Detail veranschaulicht. Die Schritte 604608 werden für jedes Oktet n der unverarbeiteten Nachricht durchgeführt, für n = nmax – 1 bis n = 0, wo nmax die Anzahl von Oktets in der Nachricht ist.
  • Bei Schritt 602, wird n auf nmax – 1 gesetzt. Bei Schritt 604 wird eine inverse zufällige Byte-Permutation durchgeführt. Das heißt, ein Oktet kann mit einem zufälligen Oktet unter ihm vertauscht werden gemäß der folgenden Formel:
    Wenn n > 0,
    Wenn n < nmax – 1, j = tbox(On+1 ⊕ offset2)Wenn n = nmax – 1, j = tbox(0x37 ⊕ offset2) j = ((n + 1)*j) >> 8 z = Oj Oj = On On = z,wo On das nte Oktet der unverarbeiteten Nachricht, j und z temporäre Variablen sind, * Multiplikation anzeigt, und >> 8 eine rechte Verschiebung von 8 Bits anzeigt.
  • Bei Schritt 604 wird ein inverses involutives Nachschlagen mit Feedback durchgeführt gemäß der folgenden Formel:
    Wenn n < nmax – 1, On = offset1 ⊕ tbox(On ⊕ On+1 ⊕ offset2)Wenn n = nmax – 1, On = offset1 ⊕ tbox (On ⊕ offset2)
  • Bei Schritt 606, wird ein inverser Bit-Tausch durchgeführt zwischen dem Oktet n und dem Otket über ihm unter Verwendung der folgenden Formel:
    Wenn n < nmax – 1: j = On ⊕ On+1 j = j UND tbox (j ⊕ offset2) On = On ⊕ j On+1 = On+1 ⊕ jwo
    j eine temporäre Variable ist.
  • Bei Schritt 610, wird n dekrementiert. Bei Schritt 612, wird n mit 0 verglichen. Wenn n ≥ 0, wird das Verfahren wieder von Schritt 604 gesteuert. Wenn n < 0, geht die Steuerung über zu Schritt 614 und der erste inverse Transformationsschritt ist vollendet.
  • 7 ist ein Ablaufdiagramm, das die Schritte der zweiten inversen Transformation 512, die im in 5 veranschaulichten Rückwärts-ECMER-Verfahren 500 durchgeführt werden, im Detail veranschaulicht. Die Schritte 704708 werden durchgeführt für jedes Oktet n der Zwischenschlüsseltextnachricht, für n = nmax – 1 bis n = 0, wo nmax die Anzahl der Oktets in der Nachricht ist.
  • Bei Schritt 702, wird n auf nmax – 1 gesetzt. Bei Schritt 704, wird eine inverse zufällige Byte-Permutation durchgeführt. Das heißt, ein Oktet kann ausgetauscht werden mit einem zufälligen Oktet unter ihm gemäß der folgenden Formel:
    Wenn n > 0,
    Wenn n < nmax – 1, j = tbox(On+1 ⊕ offset1)Wenn n = nmax – 1, j = tbox(0x37 ⊕ offset1) j = ((n + 1)*j) >> 8; z = On Oj = On On = z,wo On das nte Oktet der Zwischenschlüsseltextnachricht ist, j und z temporäre Variablen sind, * Multiplikation anzeigt, und >> 8 eine rechte Verschiebung von 8 Bits anzeigt.
  • Bei Schritt 706, wird ein inverses involutives Nachschlagen mit Feedback durchgeführt gemäß der folgenden Formel:
    Wenn n < nmax – 1, On = offset2 ⊕ tbox(On ⊕ On+1 ⊕ offset1)Wenn n = nmax – 1, On = offset2 ⊕ tbox (On ⊕ offset1)
  • Bei Schritt 708, wird ein inverser Bit-Tausch durchgeführt zwischen dem Oktet n und dem Oktet über ihm unter Verwendung der folgenden Formel:
    Wenn n < nmax – 1, j = On ⊕ On+1 j = j UND tbox (j ⊕ offset1) On = On ⊕ j On+1 = On+1 ⊕ jwo
    j eine temporäre Variable ist.
  • Bei Schritt 710, wird n dekrementiert. Bei Schritt 712, wird n mit 0 verglichen. Wenn n ≥ 0, wird das Verfahren wieder von Schritt 704 gesteuert. Wenn n < 0, geht die Steuerung über zu Schritt 714 und der zweite Transformationsschritt ist vollendet.
  • 8 ist ein Diagramm, das ein schnurloses Telefonssystem 800 zeigt, das einen Handapparat 900 und eine Basisstation 1000 aufweist. Sowohl der Handapparat 900 als auch die Basisstation 1000 sind ausgerüstet, um die Übertragung und Verarbeitung von Nachrichten gemäß dieser Erfindung durchzuführen. Der Telefon-Handapparat 900 weist einen Sendeempfangsapparat 902 auf, eine Eingangs-/Ausgangs-Schnittstelle (E/A) 904, einen Verschlüsselungs-/Entschlüsselungs-Prozessor 906, und einen Schlüsselgenerator 908. Der Schlüsselgenerator 908 empfängt und verwendet gespeicherte geheime Daten zur Schlüsselerzeugung. Die gespeicherten geheimen Daten werden vorzugsweise gespeichert in einem nichtflüchtigen Speicher 910 wie einem EEPROM- oder Flash-Speicher. Der Schlüsselgenerator erzeugt ebenfalls die geheimen Werte K0–K3, die verwendet werden, um geheime Offsets herzustellen. Der Schlüsselgenerator kann dazu bestimmt sein, die geheimen Werte K0–K3 zu erzeugen unter Verwendung von einer Anzahl von Techniken, die allgemein in der Fachwelt bekannt sind. Ein Satz von geheimen Werten K0–K3 wird vorzugsweise erzeugt für jeden schnurlosen Telefonanruf, und die Werte K0–K3 werden vorzugsweise über den gesamten Anruf hinweg konstant gehalten. Der Schlüsselgenerator 908 speichert die erzeugten Schlüssel und geheimen Werte K0–K3 im Speicher 912. Der Verschlüsselungs-/Entschlüsselungs-Prozessor weist ebenfalls den Speicher 914 auf zum Speichern der Schlüssel, die vom Schlüsselgenerator 908 empfangen werden, einen Initialisierungswert, der verwendet wird bei der Herstellung der geheimen Offsets, Schlüsseltext-Nachrichtenoktets, und eine statische TBox-Tafel, die erzeugt und verwendet werden kann, wenn eine Ausführung der TBox-Funktion als eine stati sche Tafel gewünscht wird. Der Telefon-Handapparat 900 weist ebenfalls einen Nachrichten-Generator 916 auf, der Nachrichten erzeugt, die durch den Verschlüsselungs-/Entschlüsselungs-Prozessor 906 verschlüsselt und durch den Sendeempfangsapparat 902 übermittelt werden sollen.
  • Wenn eine intern erzeugte Nachricht durch den Telefon-Handapparat 900 verschlüsselt und übermittelt werden soll, wird die Nachricht übermittelt vom Nachrichten-Generator 916 an die E-/A-Schittstelle 904. Die E-/A-Schnittstelle 904 übermittelt die Nachricht zusammen mit der Identifikation an den Verschlüsselungs-/Entschlüsselungs-Prozessor 906. Der Verschlüsselungs-/Entschlüsselungs-Prozessor 906 empfängt einen Schlüssel vom Schlüsselgenerator 908, den er dann verwendet, um die Nachricht zu verschlüsseln.
  • Wenn der Verschlüsselungs-/Entschlüsselungs-Prozessor 906 eine Klartext-Nachricht vom Nachrichten-Generator 916 empfängt, wird die Nachricht einem Vorwärts-ECMEA-Verfahren unterzogen, wie vorhergehend in Verbindung mit der Erörterung von 2 beschrieben. Das Vorwärts-ECMEA-Verfahren weist eine erste Transformation, eine Iteration des CMEA-Verfahrens, und eine zweite Transformation auf. Die Verwendung des ECMEA-Verfahrens wie vorhergehend in 2 beschrieben, verursacht eine Verschiebung der Stelle der TBox-Einträge nicht nur für jede Nachricht, sondern auch für jede Iteration der Verschlüsselung einer einzelnen Nachricht.
  • Bei der Vollendung des Vorwärts-ECMEA-Verfahrens, wird ein endgültiger Schlüsseltext hergestellt und im Speicher 914 gespeichert, und ebenfalls an die E-/A-Schnittstelle 904 und an den Sendeempfangsapparat 902 zur Übermittlung geroutet.
  • Wenn eine verschlüsselte Nachricht durch den Telefon-Handapparat 900 zum Entschlüsseln empfangen wird, leitet der Sendeempangsapparat 902 sie weiter an die E-/A-Schnittstelle 904. Die E-/A-Schnittstelle leitet die Nachricht an den Verschlüsselungs-/Entschlüsselungs-Prozessor 906 weiter. Der Verschlüsselungs-/Entschlüsselungs-Prozessor 906 empfängt einen Schlüssel vom Schlüsselgenerator 908 und entschlüsselt die Nachricht unter Verwendung des vorhergehend in Verbindung mit der Erörterung von 2 beschriebenen Vorwärts-ECMEA-Verfahrens. Der Telefon-Handapparat 900 verwendet das Vorwärts-ECMEA-Verfahren zum Verschlüsseln und Entschlüsseln von Nachrichten und ist vorzugsweise angepasst für die Kommunikation mit der Basisstation 1000, die das Rückwärts-ECMEA-Verfahren wie in Verbindung mit der Erörterung von 5 beschrieben verwendet zur Verschlüsselung und Entschlüsselung. Die Basisstation 1000 weist einen Sendeempfangsapparat 1002 auf, die E-/A-Schnittstelle 1004, den Verschlüsselungs-/Entschlüsselungs-Prozessor 1006, den Schlüsselgenerator 1008, den nichtflüchtigen Speicher 1010, den Speicher 1012, den Speicher 1014 und den Nachrichtengenerator 1014. Diese Bauteile sind gleichartig wie die entsprechenden Bauteile des Handapparats 900 aber sie sind zur Ausführung des Rückwärts-ECMEA-Verfahrens gestaltet. Somit wird eine durch den Handapparat 900 verschlüsselte Nachricht durch die Basisstation 1000 entschlüsselt, und eine durch die Basisstation 1000 verschlüsselte Nachricht wird entschlüsselt durch den Handapparat 900.
  • Abhängig von den Schnelligkeitsanforderungen und den Speicherbeschränkungen, kann der Handapparat 900 oder die Basisstation 1000 dazu bestimmt sein, die TBox als eine Funktion oder als eine statische Tafel auszuführen. Die Ausführung der TBox als eine statische Tafel erfordert einen vergrößerten Speicher aber stellt eine größere Schnelligkeit bereit.
  • Die vorhergehend beschriebenen Verbesserungen für das CMEA-Verfahren führen, während sie die Sicherheit wesentlich steigern, nicht zu einer wesentlichen Steigerung der Verarbeitungs- oder Systemressourcen, und sind daher gut geeignet zur Verwendung in einer Umgebung wie einem schnurlosen Telefonsystem. Mobile Einheiten und Basisstationen in solchen Systemen haben oft beschränkte Rechenleistung.
  • Während diese Erfindung offenbart wird im Kontext einer gegenwärtig bevorzugten Ausführungsform, wird erkannt werden, dass eine große Anzahl von Ausführungsformen durch Durchschnittsfachleute übereinstimmend mit der vorhergehenden Erörterung und den unten folgenden Ansprüchen verwendet werden können.

Claims (18)

  1. Verfahren zur vorwärts verbesserten CMEA-Verschlüsselungsverarbeitung für jede Nachricht in einem Anruf, zur Verwendung in einem CMEA-Verschlüsselungssystem, das verwendet wird in einem schnurlosen Telefonsystem, welches die folgenden Schritte aufweist: Eingeben einer unverarbeiteten Nachricht oder verschlüsselten Nachricht; Erzeugen von einem oder mehreren geheimen Offsets; Durchführen einer ersten Transformation auf der unverarbeiteten Nachricht zum Herstellen einer ersten transformierten Nachricht; Durchführen einer Iteration des CMEA-Verfahrens auf der ersten transformierten Nachricht zum Herstellen einer Zwischenschlüsseltextnachricht, wobei die Iteration des CMEA-Verfahrens gekennzeichnet ist durch Verwendung einer verbesserten TBox-Funktion, die ein involutives Nachschlagen verwendet, wobei die Eingangssignale für die verbesserte TBox-Funktion einer Permutation unterzogen werden, die einen oder mehrere der geheimen Offsets verwendet zum Herstellen eines Permutationsergebnisses; und Durchführen einer zweiten Transformation auf der Zwischenschlüsseltextnachricht zum Herstellen einer endgültig verarbeiteten Nachricht.
  2. Verfahren nach Anspruch 1, wobei der eine oder die mehreren geheime(n) Offsets) einen ersten und einen zweiten geheimen Offset aufweisen.
  3. Verfahren nach Anspruch 2, wobei der Schritt des Erzeugens jedes des ersten und zweiten Offsets das Kombinieren von einzelnen von einer Mehrzahl von geheimen Werten mit einem externen Wert aufweist.
  4. Verfahren nach Anspruch 3, wobei die geheimen Werte zwei 8-Bit-Werte für jeden Offset aufweisen.
  5. Verfahren nach Anspruch 4, wobei der externe Wert ein 8-Bit-Wert ist.
  6. Verfahren nach Anspruch 5, wobei der erste Offset für eine nte Nachricht eines Anrufs ausgedrückt wird durch die Gleichung offset1 = ((K0 + 1)*CSn mod 257) ⊕ K1 mod 256, wo K0 und K1 einzelne von den geheimen Werten sind und CSn ein externer Wert für die nte Nachricht ist, und wobei der zweite Offset für eine nte Nachricht eines Anrufs ausgedrückt wird durch die Gleichung offset1 = ((K2 + 1)*CSn mod 257) ⊕ K3 mod 256, wo K2 und K3 einzelne von den geheimen Werten sind und CSn ein externer Wert für die nte Nachricht ist.
  7. Verfahren nach Anspruch 6, wobei die erste Transformation das Durchführen der Schritte des Bit-Tausches, des involutiven Nachschlagens mit Feedback, und der zufälligen Byte-Permutation auf jedem Oktet der unverarbeiteten Nachricht aufweist, wobei jeder der Schritte des Bit-Tausches und der zufälligen Byte-Permutation den ersten geheimen Offset verwenden, und wobei der Schritt des involutiven Nachschlagens mit Feedback sowohl den ersten als auch den zweiten geheimen Offset verwendet.
  8. Verfahren nach Anspruch 7, wobei die zweite Transformation die Schritte des Bit-Tausches, des involutiven Nachschlagens mit Feedback, und der zufälligen Byte-Permutation auf jedem Oktet der Zwischenschlüsseltextnachricht aufweist, wobei jeder der Schritte des Bit-Tausches und der zufälligen Byte-Permutation den zweiten geheimen Offset verwenden, und wobei der Schritt des involutiven Nachschlagens mit Feedback sowohl den ersten als auch den zweiten geheimen Offset verwendet.
  9. Verfahren zur rückwärts verbesserten CMEA-Verschlüsselungsverarbeitung für jede Nachricht in einem Anruf, zur Verwendung in einem CMEA-Verschlüsselungssystem, das verwendet wird in einem schnurlosen Telefonsystem, welches die folgenden Schritte aufweist: Eingeben einer unverarbeiteten Nachricht oder verschlüsselten Nachricht; Erzeugen von einem oder mehreren geheimen Offsets; Durchführen einer ersten inversen Transformation auf der unverarbeiteten Nachricht zum Herstellen einer ersten inversen transformierten Nachricht; Durchführen einer Iteration des CMEA-Verfahrens auf der ersten inversen transformierten Nachricht zum Herstellen einer Zwischenschlüsseltextnachricht, wobei die Iteration des CMEA-Verfahrens gekennzeichnet ist durch Verwendung einer verbesserten TBox-Funktion, die ein involutives Nachschlagen verwendet, wobei die Eingangssignale für die verbesserte TBox-Funktion einer Permutation unterzogen werden, die einen oder mehrere der geheimen Offsets verwendet zum Herstellen eines Permutationsergebnisses; und Durchführen einer zweiten inversen Transformation auf der Zwischenschlüsseltextnachricht zum Herstellen einer endgültig verarbeiteten Nachricht.
  10. Verfahren nach Anspruch 9, wobei der eine oder die mehreren geheime(n) Offset(s) einen ersten und einen zweiten geheimen Offset aufweisen.
  11. Verfahren nach Anspruch 2, wobei der Schritt des Erzeugens jedes des ersten und zweiten Offsets die Kombination von einzelnen von einer Mehrzahl von geheimen Werten mit einem externen Wert aufweist.
  12. Verfahren nach Anspruch 11, wobei die geheimen Werte zwei 8-Bit-Werte für jeden Offset aufweisen.
  13. Verfahren nach Anspruch 12, wobei der externe Wert ein 8-Bit-Wert ist.
  14. Verfahren nach Anspruch 5, wobei der erste Offset für eine nte Nachricht eines Anrufs ausgedrückt wird durch die Gleichung offset1 = ((K0 + 1) * CSn mod 257) ⊕ K1 mod 256, wo K0 und K1 einzelne von den geheimen Werten sind und CSn ein externer 8-Bit-Wert für die nte Nachricht ist, und wobei der zweite Offset für eine nte Nachricht eines Anrufs ausgedrückt wird durch die Gleichung offset2 = ((K2 + 1) * CS mod 257) ⊕ K3 mod 256, wo K2 und K3 einzelne von den geheimen Werten sind und CSn ein externer 8-Bit-Wert für die nte Nachricht ist.
  15. Verfahren nach Anspruch 14, wobei die erste inverse Transformation die Schritte des Durchführens der zufälligen Byte-Permutation, des involutiven Nachschlagens mit Feedback, und des Bit-Tausches auf jedem Oktet der unverarbeiteten Nachricht aufweist, wobei jeder der Schritte des Bit-Tausches und der zufälligen Byte-Permutation den zweiten geheimen Offset verwenden und wobei der Schritt des involutiven Nachschlagens mit Feedback sowohl den ersten als auch den zweiten geheimen Offset verwendet.
  16. Verfahren nach Anspruch 15, wobei die zweite inverse Transformation die Schritte des Durchführens der zufälligen Byte-Permutation, des involutiven Nachschlagens mit Feedback, und des Bit-Tausches auf jedem Oktet der Zwischen schlüsseltextnachricht aufweist, wobei jeder der Schritte des Bit-Tausches und der zufälligen Byte-Permutation den ersten geheimen Offset verwenden, und wobei der Schritt des involutiven Nachschlagens mit Feedback sowohl den ersten als auch den zweiten geheimen Offset verwendet.
  17. Schnurloser Handapparat (900) für sicheres Übermitteln von Nachrichten, aufweisend: einen Sendeempfangsapparat (902), eine Eingangs-/Ausgangs-Schnittstelle (904), einen Schlüsselgenerator (908) zum Erzeugen von einem oder mehreren während eines Anrufs zu verwendenden Schlüssel(n); und einen Verschlüsselungsprozessor (906) zum Empfangen einer Nachricht von der Eingangs-/Ausgangs-Schnittstelle zum Verschlüsseln oder Entschlüsseln zusammen mit Identifizierung der Nachricht als zu verschlüsselnder Klartext oder zu entschlüsselnder Schlüsseltext und Verarbeitung der Nachricht sowie Verwenden eines vorwärts verbesserten CMEA-Verfahrens, das erste und zweite Transformationen und eine CMEA-Iteration aufweist, gekennzeichnet durch das Aufweisen einer verbesserten TBox-Funktion mit durch ein oder mehrere geheime Offsets permutierten Eingangssignale, wobei die verbesserte TBox-Funktion eine involutive Nachschlagtafel verwendet, wobei der Verschlüsselungs-/Entschlüsselungs-Prozessor weiter wirkend ist, um die verschlüsselte oder entschlüsselte Nachricht an die Eingangs-/Ausgangs-Schnittstelle für weiteres Routing zurückzusenden.
  18. Schnurlose Basisstation (1000) für sicheres Übermitteln von Nachrichten, aufweisend: einen Sendeempfangsapparat (1002), eine Eingangs-/Ausgangs-Schnittstelle (1004), einen Schlüsselgenerator (1008) zum Erzeugen von einem oder mehreren während eines Anrufs zu verwendenden Schlüssel(n); und einen Verschlüsselungsprozessor (1006) zum Empfangen einer Nachricht von der Eingangs-/Ausgangs-Schnittstelle zum Verschlüsseln oder Entschlüsseln zusammen mit Identifizierung der Nachricht als zu verschlüsselnder Klartext oder zu entschlüsselnder Schlüsseltext und Verarbeitung der Nachricht sowie Verwenden eines rückwärts verbesserten CMEA-Verfahrens, das erste und zweite inverse Transformationen und eine CMEA-Iteration aufweist, die eine verbesserte TBox-Funktion mit durch ein oder mehrere geheime Offsets permutierten Eingangssignalen aufweist, wobei die verbesserte TBox-Funktion eine involutive Nachschlagtafel verwendet, wobei der Verschlüsselungs-/Entschlüsselungs-Prozessor weiter wirkend ist, um die verschlüsselte oder entschlüsselte Nachricht an die Eingangs-/Ausgangs-Schnittstelle für weiteres Routing zurückzusenden.
DE69827917T 1997-07-22 1998-07-22 Verfahren und vorrichtung zum verbesserten cmea algorithmus dessen iteration von transformationen vorhergegangen und gefolgt wird unter verwendung einer involutiven nachschlagtafel Expired - Lifetime DE69827917T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US5341297P 1997-07-22 1997-07-22
US53412P 1997-07-22
US5401897P 1997-07-29 1997-07-29
US54018P 1997-07-29
PCT/US1998/015196 WO1999005817A1 (en) 1997-07-22 1998-07-22 Methods and apparatus for enhanced cmea including a cmea iteration preceded and followed by transformations and employing an involuntary lookup

Publications (2)

Publication Number Publication Date
DE69827917D1 DE69827917D1 (de) 2005-01-05
DE69827917T2 true DE69827917T2 (de) 2005-12-22

Family

ID=26731838

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69827917T Expired - Lifetime DE69827917T2 (de) 1997-07-22 1998-07-22 Verfahren und vorrichtung zum verbesserten cmea algorithmus dessen iteration von transformationen vorhergegangen und gefolgt wird unter verwendung einer involutiven nachschlagtafel

Country Status (8)

Country Link
EP (1) EP0927473B1 (de)
JP (2) JP3478839B2 (de)
KR (1) KR100591870B1 (de)
CN (1) CN1237299A (de)
BR (1) BR9806074A (de)
CA (1) CA2266683A1 (de)
DE (1) DE69827917T2 (de)
WO (1) WO1999005817A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019108178B3 (de) 2019-03-29 2020-06-18 Tribe Technologies Gmbh Verfahren und Vorrichtung zur automatischen Überwachung von Telefonaten

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5159634A (en) * 1991-09-13 1992-10-27 At&T Bell Laboratories Cryptosystem for cellular telephony
WO1993023938A1 (en) * 1992-05-15 1993-11-25 Tecsec Incorporated Voice and data encryption device
US5594797A (en) * 1995-02-22 1997-01-14 Nokia Mobile Phones Variable security level encryption

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019108178B3 (de) 2019-03-29 2020-06-18 Tribe Technologies Gmbh Verfahren und Vorrichtung zur automatischen Überwachung von Telefonaten
EP3716178A1 (de) 2019-03-29 2020-09-30 Tribe Technologies GmbH Verfahren und vorrichtung zur automatischen überwachung von telefonaten

Also Published As

Publication number Publication date
DE69827917D1 (de) 2005-01-05
JP2003186395A (ja) 2003-07-04
EP0927473B1 (de) 2004-12-01
CN1237299A (zh) 1999-12-01
EP0927473A1 (de) 1999-07-07
KR20000068613A (ko) 2000-11-25
WO1999005817A1 (en) 1999-02-04
KR100591870B1 (ko) 2006-06-23
CA2266683A1 (en) 1999-02-04
JP2000508502A (ja) 2000-07-04
BR9806074A (pt) 2000-10-31
JP3478839B2 (ja) 2003-12-15

Similar Documents

Publication Publication Date Title
DE69230423T2 (de) Geheimübertragungssystem für zellulare Telefonie
DE69727641T2 (de) Verfahren zum Senden einer sicheren Botschaft in einem Telekommunikationssystem
DE69230741T2 (de) Verfahren und Anordnung zur Verschlüsselung von Informationssignalen
DE69823834T2 (de) Sicherheitsverfahren und -system für übertragungen in fernmeldenetzen
DE69233365T2 (de) Authentifizierungsvorrichtung für zellulare Telefone
DE69231327T2 (de) Authentifizierungsprotokoll zur Bereitstellung eines Dienstes
DE69703705T2 (de) Kommunikationssystem
DE69426416T2 (de) Bidirektionale authentisierung mit öffentlichem schlüssel und schlüsselübereinkunft für kostengünstige endstellen
DE60028900T2 (de) Automatische Neusynchronisation einer Geiheimsynchronisationsinformation
EP1080557B1 (de) Verfahren und anordnung zum rechnergestützten austausch kryptographischer schlüssel zwischen einer ersten computereinheit und einer zweiten computereinheit
DE60129311T2 (de) Teilnehmerauthentifizierung
DE60013099T2 (de) Funkkommunikationsgerät
DE60204299T3 (de) Prozess zum senden von sms-nachrichten mit geschützter identität
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
DE4135061A1 (de) Verfahren und einrichtung zum schutz von sprechdaten digitaler sprechfunksysteme
DE69827917T2 (de) Verfahren und vorrichtung zum verbesserten cmea algorithmus dessen iteration von transformationen vorhergegangen und gefolgt wird unter verwendung einer involutiven nachschlagtafel
US6233337B1 (en) Methods and apparatus for enhanced security expansion of a secret key into a lookup table for improved security for wireless telephone messages
DE60133140T2 (de) System und verfahren für symmetrische kryptographie
US6418224B1 (en) Methods and apparatus for self-inverting multiple-iteration CMEA crypto-processing for improved security for wireless telephone messages
WO1999003246A2 (en) Methods and apparatus for enhanced security expansion of a secret key into a lookup table for improved security for wireless telephone messages
WO2002102103A2 (de) Authentisierungsverfahren
EP1152566B1 (de) Verfahren zum Aufbau einer gesicherten Verbindung sowie Kommunikationsendgerät hierzu
KR100591869B1 (ko) 무선 전화 메시지들에 대한 보안성을 개선하기 위해 다수의 씨엠이에이 반복을 사용하는 암호화 및 해독화방법 및 무선 전화
MXPA98010503A (en) Methods and apparatus for multiple-iteration cmea encryption and decryption for improved security for wireless telephone messages

Legal Events

Date Code Title Description
8364 No opposition during term of opposition