DE69618040T2 - Verfahren zur Verschlüsselung/Entschlüsselung von Daten unter Verwendung von Cipher-Block-Chaining (CBC) und Message Authentication Code (MAC) - Google Patents

Verfahren zur Verschlüsselung/Entschlüsselung von Daten unter Verwendung von Cipher-Block-Chaining (CBC) und Message Authentication Code (MAC)

Info

Publication number
DE69618040T2
DE69618040T2 DE69618040T DE69618040T DE69618040T2 DE 69618040 T2 DE69618040 T2 DE 69618040T2 DE 69618040 T DE69618040 T DE 69618040T DE 69618040 T DE69618040 T DE 69618040T DE 69618040 T2 DE69618040 T2 DE 69618040T2
Authority
DE
Germany
Prior art keywords
chain
string
block
key
plaintext
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
DE69618040T
Other languages
English (en)
Other versions
DE69618040D1 (de
Inventor
Mihir Bellare
Phillip W. Rogaway
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE69618040D1 publication Critical patent/DE69618040D1/de
Publication of DE69618040T2 publication Critical patent/DE69618040T2/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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

    GEBIET DER TECHNIK
  • Die vorliegende Erfindung bezieht sich im Allgemeinen auf sichere Übertragungen und insbesondere auf durch Rechner bewerkstelligte Verfahren zum Verschlüsseln von Klartext in Chiffretext.
  • GRUNDLAGEN DER ERFINDUNG
  • Es ist allgemein anerkannt, dass oftmals Verschlüsselungsschemata wünschenswert sind, die bestimmte Eigenschaften aufweisen. Die erste dieser Eigenschaften besteht darin, dass die Verschlüsselungs- und Entschlüsselungsvorgänge im Gegensatz zu auf Wahrscheinlichkeiten beruhenden deterministisch sind, weil es in vielen Umgebungen keine verfügbare oder vertrauenswürdige Zufälligkeitsquelle gibt. Es ist ebenfalls wünschenswert, dass das Schema protokollfrei (ohne Zustandsangabe) ist, so dass Parteien keinen Nachrichtenzähler oder anderen Informationen speichern müssen, die nach jeder Verschlüsselung oder Entschlüsselung aktualisiert werden müssen. Das Schema sollte auch in der Hinsicht "sicher" sein, dass es alle Informationen über den Klartext wirksam verbirgt. Letztlich ist es wünschenswert, dass das Schema längenneutral ist, d. h., dass die Länge des Chiffretextes gleich der Länge des Klartextes sein sollte.
  • Blockchiffren sind allgemein bekannte Verschlüsselungswerkzeuge, die oftmals benutzt werden, um allgemeine Verschlüsselungsschemata einzurichten. Eine Blockchiffre ist ein Verschlüsselungssystem mit symmetrischem Schlüssel, das, gesteuert von einem Schlüssel (mit "k" Bit), Nachrichten-(Klartext-)Blöcke fester Länge (mit "l" Bit) in Chiffretextblöcke der gleichen Länge umwandelt. Eine vielfach angewendete Blockchiffre wird durch den Algorithmus des US- Standards für DES bereitgestellt, bei dem l = 64 und k = 56 sind, und der in der Veröffentlichung 46 des NBS FIPS unter dem Titel "Data Encryption Standard" vom National Bureau of Standards, U. S. Department of Commerce, Januar 1977, beschrieben worden ist. Blockchiffren wie DES bieten einen Weg zum Verschlüsseln eines einzelnen Textblockes (z. B. 64 Bit). Um aber längere Nachrichten zu verschlüsseln, muss die Blockchiffre in einer gewissen "Betriebsart" genutzt werden. Es sind als Stand der Technik viele derartige Betriebsarten beschrieben worden, wobei die am häufigsten angewendete das Chiffreblockverketten (CBC) ist. CBC wird in Veröffentlichung 81 des NBS FIPS mit dem Titel "DES-Betriebsarten", National Bureau of Standards, U. S. Department of Commerce, Dezember 1980, beschrieben. CBC und andere bekannte Betriebsarten vergrößern jedoch entweder die Länge oder leiden an der Schwäche, dass bestimmte bezogene Klartexte zugehörige Chiffretexte bewirken. Bei vielen Anwendungsgebieten, die das Erste nicht zulassen können, wird deren Sicherheit durch das Letztere in der Tat beeinträchtigt.
  • Chiffreblockverkettung (CBC) erfordert den Gebrauch eines Geheimschlüssels sowie den eines "Initialisierungsvektors" (IV). Bei einem IV mit "l" Bit (wobei dessen Wert mit der Nachricht übermittelt wird oder beiden miteinander kommunizierenden Parteien auf andere Weise bekannt ist) wird dann eine Kette x = x&sub1; ... xn (die aus n Blöcken besteht, von denen jeder l Bit hat) als Ea,IV (x) = y&sub1; ... yn verschlüsselt, wobei yo = IV und yi = fa (xi yi-1) sind. In einem CBC-Schema hängt der erste Block des Chiffretextes von dem ersten Block des Klartextes ab der zweite Block des Chiffretextes hängt von den ersten beiden Blöcken des Klartextes ab, und so weiter, wobei der letzte Block des Chiffretextes von allen Blöcken des Klartextes abhängt. Eine derartige Verschlüsselung hat jedoch einen allgemein bekannten Nachteil, der darin besteht, dass sie nicht sicher genug ist, wenn IV festliegt.
  • Insbesondere ist das CBC-Verfahren oftmals "durchlässig" für Informationen über Klartexte, die verschlüsselt werden. Wenn beispielsweise ein Gegenspieler Ea,IV(X) und Ea,IV(X) sieht und bemerkt, dass sie in den ersten j Blöcken übereinstimmen, kann der Gegenspieler daraus schließen, dass X und X auch in den ersten j Blöcken übereinstimmen. Derartige Unzulänglichkeiten sind sehr problematisch. Nehmen wir also an, dass von einer Datei, die aus einer Folge von 1 KByte von Personaldaten besteht, bemerkt wird, dass sie sich genau vom 7. Datensatz an verändert hat. Vielleicht ist a priori bekannt, dass der Grund für die Veränderung das Aktualisieren eines Personaldatensatzes war, weil irgend jemand degradiert worden ist. Wenn das zugrunde liegende Verschlüsselungsverfahren Ea,IV ist und sich die Personaldatensätze in alphabetischer Reihenfolge nach den Namen der Beschäftigten befinden, kann man schlussfolgern, dass der betroffene Beschäftigte der 7. in der alphabetischen Reihenfolge ist.
  • Dem vorstehend beschriebenen Merkmal der CBC-Verschüsselung, für Informationen über Klartexte "durchlässig" zu sein, kann dadurch Rechnung getragen werden, dass der Initialisierungsvektor IV nach dem Zufallsprinzip ausgewählt und dann zusammen mit der Nachricht verschickt wird. Wenn dies erfolgt, ist das Schema jedoch nicht mehr längenneutral. Andernfalls könnte das Verschlüsseln einer Nachricht von Aufzeichnungen abhängig gemacht werden (z. B. durch Benutzen des IV als Funktion eines Nachrichtenzählers und dadurch, dass der IV nicht mit der Nachricht verschickt wird), aber diese Vorgehensweise ist ebenfalls nicht zufriedenstellend, weil sie nicht auf den fehlenden Empfang der Nachrichten durch den beabsichtigten Empfänger anspricht.
  • Damit sind Verschlüsselungstechniken nach dem Stand der Technik, die Blockchiffren benutzen, dahingehend nicht wünschenswert, dass sie Längen vergrößern, nicht auf Nachrichtenausfälle reagieren oder für Informationen hinsichtlich zugehöriger Klartexte durchlässig sind. Es bleibt eine Notwendigkeit bestehen, ein sicheres, längenneutrales Verschlüsselungsschema unter Verwendung von Blockchiffren bereitzustellen, das diese und andere Probleme des Standes der Technik überwindet.
  • Eine Veröffentlichung, welche die Sicherheit des Standardverfahrens des Chiffreblockverkettungs- Nachrichtenberechtigungscodes (CBC MAC) erörtert, ist "The Security of Cipher Block Chaining" von Bellare et al., in Advances in Cryptology - CRYPTO '94, Proceedings, S. 341 bis 358. Diese zeigt, dass Chiffreblockverkettung einer Pseudo- Zufallsfunktion eine Pseudo-Zufallsfunktion ergibt.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Nach einem ersten Aspekt der Erfindung wird ein Verfahren zum Verschlüsseln einer Klartextkette bereitgestellt, das deterministisch und protokollfrei ist.
  • Ein bevorzugtes Verfahren benutzt erste und zweite Geheimschlüssel, um eine Klartextkette in eine Chiffretextkette zu verschlüsseln. Das Verfahren beginnt mit der unter Verwendung eines ersten Schlüssels und eines festen Initialisierungsvektors erfolgenden Chiffreblockverkettung der Klartextkette, um einen CBC-Nachrichtenberechtigungscode (CBC- MAC) einer Länge zu erzeugen, die gleich der Blocklänge ist. Danach fährt das Verfahren unter Benutzung des zweiten Schlüssels und unter Verwendung des vorstehend erwähnten CBC- Nachrichtenberechtigungscodes als Initialisierungsvektor mit der Chiffreblockverkettung der Klartextkette fort, um damit eine verschlüsselte Kette zu erzeugen. Der CBC- Nachrichtenberechtigungscode und ein Kennsatz der verschlüsselten Kette werden dann verknüpft (üblicherweise durch Verkettung), um die Chiffretextkette zu bilden. Vorzugsweise ist die Technik längenneutral; der Kennsatz enthält alle Blöcke bis auf den letzten, so dass die Länge des Chiffretextes gleich der Länge des Klartextes ist.
  • Die Erfindung stellt damit vorzugsweise zum Verschlüsseln einen Blockchiffre-Betriebsmodus bereit, bei dem die Länge des Chiffretextes gleich der Länge des Klartextes ist, der verschlüsselt werden soll. Vorzugsweise ist ein derartiges längenneutrales Verschlüsselungsschema nicht für Information über die Klartexte durchlässig, die verschlüsselt werden.
  • Es wird bevorzugt, dass Nachrichtenverschlüsselungsschemata nach der Erfindung protokollfrei sind, so dass die Parteien keinen Nachrichtenzähler oder andere Informationen speichern, die nach jeder Verschlüsselung oder Entschlüsselung aktualisiert werden müssen.
  • Es wird weiterhin bevorzugt, dass längenneutrale Verschlüsselungsschemata nach der Erfindung Chiffreblockverkettung (CBC) auf eine Weise anwenden, welche die bekannten Probleme hinsichtlich Sicherheit und Durchlässigkeit für Informationen überwindet, die mit CBC- Verschlüsselung verbunden sind. Diese Technik hat große Vorzüge, die darin bestehen, dass das Verändern einer Chiffretextnachricht in eine Chiffretextnachricht, die noch nicht gesehen worden ist, das Verschlüsseln einer zugrunde liegenden Nachricht erzeugt, die in keiner Weise auf diejenigen Bezug nimmt, die dann zu sehen sind.
  • Die Erfindung stellt vorzugsweise Verfahren zum Verschlüsseln von Klartext-Nachrichtenketten bereit, die Längen haben, die Vielfache oder Bruchteile einer Blocklänge betragen.
  • So wird nach einem bevorzugten Verfahren die Klartextkette unter Verwendung von CBC zweimal verarbeitet, zuerst, um die CBC-MAC zu erzeugen, und dann, um einen Teil des Chiffretextes selbst zu erzeugen. Im ersten Durchlauf ist der bei CBC verwendete Initialisierungsvektor der Nullvektor (der die Bedeutung einer Zeichenkette von 0-Bits hat, deren Länge gleich der Blocklänge ist). Im zweiten Durchlauf ist der Initialisierungsvektor der CBC-MAC, der im ersten Durchlauf erzeugt worden ist. Die Schlüssel für die beiden Durchläufe sind unterschiedlich. Das Verfahren ist für das Erzeugen von Chiffretext nützlich, wenn die Klartextkette eine Länge hat, die ein Vielfaches einer Blocklänge beträgt. Eine Variante des Schemas kann benutzt werden, wenn die Klartextkette eine Länge hat, die einem Bruchteil der Blocklänge entspricht.
  • Um den Chiffretext zu entschlüsseln, wird dessen verschlüsselter Kettenteil unter Verwendung des zweiten Schlüssels und des CBC-MAC als Initialisierungsvektor chiffreblockverkettet, um eine entschlüsselte Kette zu erzeugen. Die entschlüsselte Kette wird dann unter Verwendung des ersten Schlüssels und eines Null-IV chiffreblockverkettet, um eine Kette zu erzeugen, die einen letzten Block hat. Der Klartext wird dann als die Verknüpfung (z. B. durch Verkettung) der entschlüsselten Kette und einer vorgegebenen Funktion (z. B. einer Antivalenz) des letzten Blockes und die Umkehrung der Blockchiffre entsprechend dem ersten Schlüssel bei der CBC-MAC genommen.
  • Die Erfindung kann in einem programmierten Rechner oder in spezieller Hardware oder Software eingerichtet werden. In einer Ausführungsform können die verschiedenen Verfahren der Erfindung auf einer Programmspeichervorrichtung (z. B. einer Diskette) eingerichtet werden, die durch einen Prozessor gelesen werden kann und die praktisch ein Programm von durch den Prozessor ausführbaren Befehlen verkörpert, um die verschiedenen Vorgangsschritte jedes Verfahrens auszuführen.
  • Nach einem anderen Aspekt der Erfindung wird ein durch Rechner realisiertes Verfahren bereitgestellt, um unter Verwendung erster und zweiter Schlüssel eine Klartextkette x in eine Chiffretextkette y zu verschlüsseln, das die folgenden Schritte umfasst:
  • Benutzen der Kette x und des ersten Schlüssels a&sub0;, um einen Nachrichtenberechtigungscode t zu berechnen;
  • Benutzen der Kette x, des zweiten Schlüssels a&sub1; und des Nachrichtenberechtigungscodes t, um eine verschlüsselte Kette y' zu erzeugen, die im Wesentlichen vom Nachrichtenberechtigungscode abhängt; und
  • Aufnehmen des Chiffretextes y, um zusammen mit einem vorgegebenen Teil der verschlüsselten Kette y' den Nachrichtenberechtigungscode t zu bilden.
  • Vorzugsweise ist der vorgegebene Teil kürzer als y', die Klartextkette kann jedoch, wenn der Chiffretext gegeben ist, noch eindeutig wiederhergestellt werden. Der Nachrichtenberechtigungscode wird vorzugsweise durch Chiffreblockverkettung einer Blockchiffre (z. B. der DES- Blockchiffre) berechnet.
  • Ein dritter Aspekt der Erfindung stellt eine Rechnervorrichtung bereit, die Folgendes umfasst:
  • eine Speichervorrichtung;
  • Programm-Mittel, die in der Speichereinrichtung unterstützt werden, um eine Klartextkette x in eine Chiffretextkette y zu verschlüsseln, wobei das Programm- Mittel Folgendes umfasst:
  • Mittel zum Benutzen der Kette x und eines ersten Schlüssels a&sub0;, um einen Nachrichtenberechtigungscode t zu berechnen;
  • Mittel um die Kette x, einen zweiten Schlüssel a&sub1; und den Nachrichtenberechtigungscode t dafür zu benutzen, eine verschlüsselte Kette y' zu erzeugen; und
  • Mittel zum Aufnehmen des Chiffretextes y, um zusammen mit einem vorgegebenen Teil der verschlüsselten Kette y' den Nachrichtenberechtigungscode t zu bilden, wobei der vorgegebene Teil kürzer als 9 ist.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Erfindung wird nun ausführlicher in Form eines Beispieles unter Bezugnahme auf die zugehörigen Zeichnungen beschrieben, in denen:
  • Fig. 1 einen Rechner veranschaulicht, der eine Systemeinheit, eine Tastatur, eine Maus und eine Anzeige umfasst und der dafür benutzt werden soll, das Verschlüsselungs- und Entschlüsselungsverfahren der vorliegenden Erfindung zu realisieren;
  • Fig. 2 ein den Aufbau beschreibendes Blockschaltbild des in Fig. 1 veranschaulichten Rechners ist;
  • Fig. 3 ein vereinfachtes Flussbild eines Verfahrens der Erfindung veranschaulicht, um einen Klartext in einen Chiffretext zu verschlüsseln;
  • Fig. 4 ein vereinfachtes Flussbild veranschaulicht, wie der Chiffretext (der in Fig. 3 erzeugt worden ist), zurück in den Klartext umgewandelt wird;
  • Fig. 5A Schritt 70 von Fig. 3 veranschaulicht;
  • Fig. 5B Schritt 72 von Fig. 3 veranschaulicht;
  • Fig. 5C Schritt 76 von Fig. 4 veranschaulicht;
  • Fig. 5D Schritt 78 von Fig. 4 veranschaulicht; und
  • Fig. 5E Schritt 80 von Fig. 4 veranschaulicht.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Als zusammenfassende Grundlage wird in Fig. 1 ein Rechner zum Gebrauch beim Unterstützen der Erfindung gezeigt. Der Rechner 20 umfasst eine Systemeinheit 21, eine Tastatur 22, eine Maus 23 und eine Anzeige 24. Der Bildschirm 26 der Anzeigeeinrichtung 24 wird dafür benutzt, eine grafische Benutzeroberfläche (GUI) darzustellen. Die grafische Benutzeroberfläche, die vom Betriebssystem unterstützt wird, gestattet es dem Benutzer, ein Eingabeverfahren mit Zeigerauslösung zu verwenden, d. h. durch Bewegen des Mauszeigers 25 auf ein Symbol, das ein Datenobjekt an einem bestimmten Standort darstellt, auf dem Bildschirm 26 und Drücken auf die Maustasten einen Benutzerbefehl oder eine -auswahl auszuführen.
  • Fig. 2 zeigt ein Blockschaltbild der Komponenten des in Fig. 1 gezeigten Arbeitsplatzrechners. Die Systemeinheit 21 enthält einen Systembus oder eine Vielzahl von Systembussen 31, mit denen verschiedene Komponenten verbunden sind und über die Kommunikation zwischen den verschiedenen Komponenten bewerkstelligt wird. Der Mikroprozessor 32 ist mit dem Systembus 31 verbunden und wird durch Festspeicher (ROM) 33 und Speicher mit wahlfreiem Zugriff (RAM) 34 unterstützt, die ebenfalls mit Systembus 31 verbunden sind. Ein Mikroprozessor in der Computerserie PS/2 von IBM ist einer aus der Intel- Mikroprozessorfamilie, darunter die Mikroprozessoren 386 und 486 enthält. Andere Mikroprozessoren, darunter die Mikroprozessorenfamilie von Motorola, wie etwa die Mikroprozessoren 68000, 68020 oder 68030, jedoch nicht auf diese beschränkt, und verschiedene RISC-Mikroprozessoren, wie etwa der von IBM gefertigte PowerPCO-Mikroprozessor, und andere von Hewlett Packard, Sun, Intel, Motorola und anderen hergestellte können in dem jeweiligen Rechner benutzt werden.
  • Der ROM 33 enthält unter anderen Codes das Grundlegende Eingabe-/Ausgabesystem (BIOS), das grundlegende Hardware- Vorgänge steuert, wie etwa den Dialog und die Plattenlaufwerke und die Tastatur. Der RAM 34 ist der Hauptspeicher, in den das Betriebssystem und Anwendungsprogramme geladen werden. Der Speicherverwaltungschip 35 ist mit dem Systembus 31 verbunden und steuert Vorgänge des direkten Speicherzugriffs, zu denen das Verschicken von Daten zwischen dem RAM 34 und Festplattenlaufwerk 36 und Diskettenlaufwerk 37 gehört. Das CD-ROM-Laufwerk 42, das ebenfalls mit dem Systembus 31 verbunden ist, wird dafür benutzt, eine große Datenmenge zu speichern, z. B. ein Multimedia-Programm oder eine große Datenbank.
  • Ebenfalls mit diesem Systembus 31 verbunden sind verschiedene E/A-Steuerungen: die Tastatursteuerung 38, die Maussteuerung 39, die Bildsteuerung 40 und die Tonsteuerung 41. Die Tastatursteuerung 38 stellt die Hardware-Schnittstelle für die Tastatur 22 bereit, die Maussteuerung 39 stellt die Hardware- Schnittstelle für die Maus 23 bereit, die Bildsteuerung 40 ist die Hardware-Schnittstelle für die Anzeige 24, und die Tonsteuerung 41 ist die Hardware-Schnittstelle für die Lautsprecher 25a und 25b. Eine E/A-Steuerung 50, wie etwa ein Zeichenfolgeringadapter, ermöglicht über das Nahbereichsnetzwerk 56 die Kommunikation zu anderen gleichartig konfigurierten Datenverarbeitungssystemen.
  • Eine der bevorzugten Realisierungen der vorliegenden Erfindung besteht in einem Befehlssatz in einem Code-Modul, das sich in dem Speicher mit wahlfreiem Zugriff 34 befindet. Bis er durch das Rechnersystem angefordert wird, kann der Befehlssatz in einem anderen Rechnerspeicher gespeichert sein, beispielsweise auf dem Festplattenlaufwerk 36 oder in einem auswechselbaren Speicher, wie etwa einer optischen Platte, die dann im CD-ROM- Laufwerk 42 oder auf einer Diskette verwendet werden kann, die dann im Diskettenlaufwerk 37 verwendet werden kann. Zusätzlich würde ein Fachmann erkennen, dass, obwohl die verschiedenen beschriebenen Verfahren üblicherweise in einem Allzweckrechner realisiert sind und durch Software wahlweise aktiviert oder neu konfiguriert werden, derartige Verfahren auch in Hardware, Firmware oder in eher spezialisierten Vorrichtungen ausgeführt werden können, die dafür konzipiert wurden, die geforderten Verfahrensschritte auszuführen.
  • Das Verfahren nach der Erfindung, wie es hier benutzt wird, ist dafür bestimmt, auf einem Rechner realisiert zu werden, wie er in Fig. 1 gezeigt wird, obgleich eingeschätzt werden sollte, dass das Wort "Rechner" in seinem weitesten Sinne und seiner umfassenden Bedeutung gelten sollte, damit jede Art von Gerät oder Teil davon eingeschlossen sind, die ungeachtet der speziellen Anwendung eine Rechenfunktionen bereitstellen.
  • Wenn nun die Hinwendung zu Fig. 3 erfolgt, wird das bevorzugte Verfahren zum Verschlüsseln einer Klartextkette in Chiffretext mit Hilfe eines Flussbildes veranschaulicht. Es wird angenommen, dass die verschlüsselnde Partei und die entschlüsselnde Partei ein Paar Geheimschlüssel (d. h. einen ersten und einen zweiten Schlüssel) gemeinsam nutzen. Bei Schritt 70 wird die Klartextkette unter Verwendung eines ersten (geheimen) Schlüssels und eines Null- Initialisierungsvektors (IV) chiffreblockverkettet, um einen CBC-Nachrichtenberechtigungscode (MAC) zu erzeugen, welcher der (vollständige) letzte Block des Chiffretextes ist. Bei Schritt 72 wird die Klartextkette wieder chiffreblockverkettet, wobei nun der zweite (geheime) Schlüssel und der CBC-MAC (der in Schritt 70 erzeugt wurde) als Initialisierungsvektor benutzt werden, um damit eine verschlüsselte Kette zu erzeugen. Bei Schritt 74 werden dann der CBC-MAC (in Schritt 70 erzeugt) und ein Teil der verschlüsselten Kette (in Schritt 72 erzeugt) miteinander verknüpft, um den Chiffretext zu erzeugen. Der Teil der verschlüsselten Kette wird auch als "Kennsatz" bezeichnet. Diese Verknüpfung ist weiterhin eine Funktion des ersten Schlüssels.
  • Das Entschlüsseln des Chiffretextes (durch die Programmroutine von Fig. 3 erzeugt) wird in Fig. 4 veranschaulicht. Bei Schritt 76 wird die verschlüsselte Kette (erzeugt in Schritt 72) durch Chiffreblockverkettung unter Verwendung des zweiten Geheimschlüssels und des CBC-MAC (erzeugt in Schritt 70) als Initialisierungsvektor entschlüsselt. Schritt 76 erzeugt eine entschlüsselte Kette. Bei Schritt 78 wird die entschlüsselte Kette dann unter Verwendung des ersten Schlüssels und eines Null-IV chiffreblockverkettet, um eine weitere Kette zu erzeugen, die einen letzten Block hat. Bei Schritt 80 wird dann unter Zuhilfenahme des ersten Schlüssels eine vorgegebene Funktion dieses letzten Blockes und der Umkehrung der Blockchiffre am CBC-MAC (erzeugt in Schritt 70) berechnet. Der Klartext wird dann bei Schritt 82 als Verknüpfung (d. h. die Verkettung) der entschlüsselten Kette und des Ergebnisses der vorgegebenen Funktion gebildet.
  • Die Vorgänge in jedem der Schritte 70 und 72 der Verschlüsselungsroutine werden in Fig. 5A beziehungsweise 5B veranschaulicht. Die Routine benutzt eine l-Bit-Blockchiffre f (wie DES) mit Schlüssellänge k. Wir schreiben fa(x) für die l- Bit-Kette, was der Wert der Blockchiffre ist, der für das l- Bit x unter Verwendung des k-Bitschlüssels a gilt. Weiterhin wird angenommen, wie vorstehend am Anfang angemerkt, dass der erste und der Geheimschlüssel a&sub0; und a&sub1; der Routine zur Verfügung stehen und dass gilt a&sub0; = a&sub1; = k. Die Schlüssel können von irgendeinem zugrunde liegenden Schlüssel K mit k Bit unter Verwendung von Standardtechniken der Schlüsseltrennung abgeleitet werden. Beispielsweise könnte a&sub0; aus den ersten k Bit von fk(0) und a&sub1; aus den ersten k Bit von fk(1) bestehen. In Fig. 5A besteht die Klartextkette aus der Nachrichtenkette x, von der aus Gründen der Veranschaulichung angenommen wird, dass sie aus zehn (10) Blöcken mit je vierundsechzig (64) Bit oder insgesamt 640 Bit besteht. Die Nachrichtenkette ist damit x = x&sub1; x&sub2; ... x&sub1;&sub0;. Diese Kette wird der Verschlüsselungsroutine mit Chiffreblockverkettung 82 vorgelegt, die auch den ersten Schlüssel a&sub0; und einen Null- Initialisierungsvektor (d. h. IV = 0) empfängt. Das Ergebnis der Chiffreblockverkettungsroutine 82 ist eine Ausgabekette y = y&sub1; y&sub2; ... y&sub1;&sub0;. Der letzte Block ylo ist der Nachrichtenberechtigungscode der Chiffreblockverkettung "CBC- MAC" mit 64 Bit. Dies schließt den ersten Durchgang der Routine ab.
  • Der zweite Durchgang wird in Fig. 5B gezeigt, wobei die Nachrichtenkette (d. h. der Klartext) wiederum der Verschlüsselungsroutine mit Chiffreblockverkettung 82 vorgelegt wird. In diesem Durchgang besteht jedoch der von der Routine benutzte Schlüssel aus dem zweiten (geheimen) Schlüssel a&sub1;, und der Initialisierungsvektor ist der CBC-MAC (d. h. y&sub1;&sub0;), der in dem in Fig. 5A veranschaulichten ersten Durchgang erzeugt worden ist. Die sich ergebende verschlüsselte Kette wird mit y' = y'&sub1; y'&sub2; ... y'&sub1;&sub0; bezeichnet. Diese Verarbeitung schließt den zweiten Durchgang ab. Es ist anzumerken, dass, obwohl die Blockchiffre f, die in Fig. 5A und 5B gezeigt wird, als die gleiche dargestellt wird, dies nicht erforderlich ist. Vom Chiffretext wird dann angenommen, dass er die Verknüpfung (z. B. durch Verkettung) des CBC-MAC und eines Teiles der verschlüsselten Kette ist, nämlich:
  • Chiffretext = y&sub1;&sub0; y'&sub1; y'&sub2; ... y'&sub9;.
  • Die Routine ist längenneutral, da die Länge des Chiffretextes die gleich ist wie die Länge der Klartextkette.
  • Um die Kette y mit 10 Blöcken zu entschlüsseln, betrachten wir sie zuerst als eine Folge von Blöcken:
  • y&sub1;&sub0; y'&sub1; y'&sub2; ... y'&sub9;.
  • Die Vorgänge in jedem der Schritte 76, 78 und 80 der Entschlüsselungsroutine erfolgen dann wie in Fig. 5C, 5D beziehungsweise 5E veranschaulicht. Wie in Fig. 5C gezeigt, betrifft Schritt 76 CBC-Entschlüsselung 84 der verschlüsselten Kette y'&sub1; y'&sub2; ... y'&sub9; (erzeugt in Schritt 72) mit dem zweiten Schlüssel a&sub1; und dem CBC-MAC (d. h. y&sub1;&sub0;) als IV. Die sich ergebende entschlüsselte Kette ist x&sub1; x&sub2; ... x&sub9;, die im Wesentlichen die Gesamtheit des ursprünglichen Klartextes darstellt. Um x&sub1;&sub0; wiederherzustellen, führt die Entschlüsselungsroutine zuerst den in Fig. 5D gezeigten Vorgang aus, wobei die entschlüsselte Kette x&sub1; x&sub2; ... x&sub9; unter Verwendung des ersten Schlüssels a&sub0; und eines Null-IV chiffreblockverkettet (durch CBC 84) wird, um eine Kette y&sub1; y&sub2; ... y&sub9; zu erzeugen, die einen letzten Block y&sub9; hat. Wie in Fig. 5E zu sehen ist, wird dann, um x&sub1;&sub0; zu erzeugen, eine vorgegebene Funktion 86 (z. B. eine Antivalenz) von y&sub9; und eine Umkehrfunktion der Blockchiffre f unter dem ersten Schlüssel a&sub0; beim Punkt y&sub1;&sub0; berechnet. Der Klartext ist dann als der Folgende zu erkennen:
  • Klartext = x&sub1; x&sub2; ... x&sub9; x&sub1;&sub0;
  • Die bevorzugte Realisierung, die vorstehend veranschaulicht worden ist, benutzt Chiffreblockverkettung als den Betriebsmodus für die Blockchiffre in Schritten 72 und 76. Die Erfindung ist jedoch nicht so beschränkt, so dass für diese Schritte auch andere Betriebsarten benutzt werden können. Darüber hinaus sollte eingeschätzt werden, dass, obwohl Chiffreblockverkettung im ersten Durchgang (Schritt 70) über den Klartext vorzugsweise benutzt worden ist, um den Nachrichtenberechtigungscode zu erzeugen, andere bekannte Techniken zum Erzeugen von MACs (oder anderen Modi der Blockchiffreverkettung) in diesem Schritt anstelle von CBC als Austausch benutzt werden könnten. (Alles, was benötigt wird, besteht darin, dass, wenn der l-Bit-MAC von m und alle l-Bits von m bis auf spezielle gegeben sind, diese fehlenden l-Bits effizient und eindeutig wieder aufgebaut werden können). Damit ist nach der Erfindung vorgesehen, dass der erste Durchgang, der die Klartextkette verarbeitet, eine bekannte Technik betrifft, die den ersten Schlüssel a&sub0; zum Berechnen eines Nachrichtenberechtigungscodes oder einer Markierung benutzt. Wie vorstehend ausgeführt, betrifft der zweite Durchgang dann das Benutzen dieses MAC als IV zusammen mit einem zweiten Schlüssel a&sub1;, um die Nachricht in eine chiffrierte Kette zu verschlüsseln. Dieser zweite Durchgang kann unter Verwendung von CBC erfolgen, dies ist aber nicht erforderlich. Der MAC und ein Teil der verschlüsselten Kette werden dann als Chiffretext genommen.
  • Damit betrifft nach den eher allgemeinen Aspekten der Erfindung die Verschlüsselung das Benutzen der Klartextkette und eines ersten Schlüssels, um einen Nachrichtenberechtigungscode zu berechnen. Die Routine geht dann weiter, indem sie die Nachricht, einen zweiten Schlüssel und den Nachrichtenberechtigungscode dafür benutzt, eine verschlüsselte Kette zu erzeugen, die im Wesentlichen vom dem Nachrichtenberechtigungscode abhängt. Wie sie hier benutzt wird, bedeutet eine derartige "starke" Abhängigkeit, dass alle Bits der verschlüsselten Kette unterschiedlich sein können, wenn der MAC unterschiedliche Werte annimmt. Vom Chiffretext des Klartextes wird dann angenommen, dass er den Nachrichtenberechtigungscode zusammen mit irgendeinem Stück aus der verschlüsselten Kette umfasst. Um den Vorgang umzukehren, gehört zu der Entschlüsselungsroutine das Benutzen des verschlüsselten Kettenteiles des Chiffretextes, des zweiten Schlüssels und des MAC, um eine entschlüsselte Kette zu erzeugen. Die Entschlüsselung geht weiter, indem die entschlüsselte Kette und der erste Schlüssel benutzt werden, um eine Kette zu erzeugen, die einen letzten Block hat. Eine vorgegebene Funktion des letzten Blockes und die Umkehrung der Blockchiffre unter dem ersten Schlüssel am MAC wird dann berechnet. Der Klartext wird dann als die entschlüsselte Kette und das Ergebnis der vorgegebenen Funktion genommen.
  • Eine ausführlichere Realisierung der Erfindung wird nun dargelegt. Diese Realisierung verarbeitet Nachrichtenketten, wobei gleichgültig ist, ob die Länge der speziellen Kette, die verarbeitet wird, gleich oder ein Bruchteil einer gewünschten Blocklänge ist. Das Verfahren beginnt mit dem Auswählen einer l-Bit-Blockchiffre f mit Schlüssellänge k. Beispielsweise ist 1 gleich 64, wenn f der DES-Algorithmus ist. Natürlich können neben DES ebenso auch andere Blockchiffren (z. B. IDEA oder SKIPJACK)genauso benutzt werden. Dabei sollen der Verschlüsselungsschlüssel a = (a&sub0;, a&sub1;) mit a&sub0; = a&sub1; = k und &lambda; die leere Kette (mit 0&sup0; = 1) sein. Geheimschlüssel a&sub0; und a&sub1; sollten voneinander unabhängig sein (mindestens im Hinblick auf praktische Rechnungen). < m> soll das Codieren der Anzahl m < 2¹ in einen l-Bit-Block bezeichnen. Für eine Kette m = m&sub1; ... m&sub9;, die aus s Blöcken besteht, wobei jeder l-Bit hat, wird der CBC-MAC (l-Bit) von m unter a&sub0; dann definiert mit:
  • f(3)(m) = fa&sub0;(fa&sub0;(...(fa&sub0;(m&sub1;) m&sub2;) ... m&sub3;&submin;&sub1;) m&sub3;).
  • a&sub0;
  • .
  • Nun wird angenommen, dass x die Nachricht ist, die wir verschlüsseln möchten, und 1 &le; x < 2¹ ist. Es soll x = x&sub1; ...xn-1xn die Nachricht sein, die verschlüsselt werden soll, wobei x&sub1; = ... = xn-1 = 1 und xn &le; 1. Es ist anzumerken, dass die Annahme x&sub1; &ge; 1 beinhaltet, dass es mindestens einen "vollen" Block zum Verschlüsseln gibt. Das folgende Verfahren soll nicht auf Nachrichten angewendet werden, die eine Länge haben, die geringer als 1 ist. Es soll sein
  • x = < x > x&sub1;...xn-3 xn-2 xn 01-/xn/xn-1
  • Der vorstehende Schritt füllt zuerst die Nachrichtenkette mit nachlaufenden Nullen auf, um sicherzustellen, dass die Gesamtlänge der Kette, die verschlüsselt wird, ein Vielfaches der Blocklänge ist, und dann vertauscht er den (vorher kurzen) letzten Block von x mit dem vorletzten (vollen) Block von x. (Dieser Schritt ist nicht erforderlich, wenn die Länge der Nachricht ein Vielfaches der Blocklänge ist). Es soll nun sein
  • x* = x&sub1;...xn-2xn.
  • Es ist anzumerken, dass x* = x = 1.
  • Das Verschlüsselungsschema Ea(·) ist wie folgt:
  • - Schritt 1. Es soll t = fa0(n+1)(x') der l-Bit-CBC-MAC von x unter a&sub0; sein.
  • - Schritt 2. Es ist x* wie folgt zu verschlüsseln. Es soll y&sub0; = t sein (d. h. der Initialisierungsvektor). Dann soll für i = 1, ..., n-2 sein yi = fa&sub1; (xi yi-1). Abschließend gilt, wenn xn = l, dann soll yn = fa&sub1;(xn yn-2) sein; andernfalls (d. h. 1 &le; xn < l) soll yn die Antivalenz von xn mit den ersten xn Bit von fa&sub1;(y" 2) sein. Dieses Verschlüsselungsverfahren ist eine Erweiterung des CBC- Betriebsmodus, um Blöcke mit veränderlicher Länge zuzulassen. (Wenn die Blockchiffre DES ist, wird dieses Verfahren als CUSP/3848-Mechanismus von IBM bezeichnet).
  • - Schritt 3. Ea(x) = t y&sub1;...yn-2 yn ist zu definieren. Das heißt, dass die Verschlüsselung von x ist t zusammen mit dem verschlüsselten Text von Schritt 2.
  • Die Entschlüsselung geschieht wie folgt, wobei y = t y&sub1;...yn-2 yn der empfangene Chiffretext ist:
  • - Schritt 1. Es wird x* durch Entschlüsseln des Chiffretextes y&sub1;...yn-1 yn unter Schlüssel a&sub1; wiedergewonnen. Das heißt, es soll y&sub0; = t und für i = 1, ...., n-2 soll xi = f&supmin;¹ (yi) yi-1 sein. Dann soll, wenn yn = l ist, xa = a1 f&supmin;¹ (yn) yn2 sein; andernfalls (d. h. 1 &le; yn < l) soll xn die a&sub1;-Antivalenz von yn mit den ersten yn Bit von fa1(yn-2) sein.
  • - Schritt 2. Um xn-1 wiederzugewinnen, soll t = f(n)a0 ( y x&sub1;... xn-2 xn01-3xn³) sein, und es soll Xn-1 = f&supmin;¹a0(t) t sein.
  • Der wiedergewonnene Klartext ist x&sub1;...xn.
  • Die vorliegende Erfindung stellt wesentliche Vorzüge bereit, die darin bestehen, dass die Verschlüsselung längenneutral, nicht statusgebunden, deterministisch und sicher ist. Abgeleitete Verschlüsselungsverfahren können entworfen werden, um nicht nur diese anfängliche Gruppe von Anforderungen zu erfüllen, sondern weiterhin sicherzustellen, dass die Verfahren vollständig parallel ausführbar sind, entweder in Hardware oder in Software. Beispielsweise kann der MAC t mit einem "MAC-Baum"-Schema berechnet werden, wie es in US- Patentschrift 4 933 969 von Marshall et al. beschrieben wird. Dann kann das Verschlüsseln einfach das mit Antivalenz erfolgende Verknüpfen der Nachricht x mit der Länge umfassen - x Kennnsatz von fa(t) fa(t + 1)mod2¹) fa((t + 2)mod2¹).... Bei einer derartigen Ausführungsform verdoppelt das Verdoppeln der Anzahl der Prozessoren in der Tat die Geschwindigkeit, mit welcher der verschlüsselte Text berechnet werden kann.
  • Die bestimmten Anwendungen der Verfahren, die hier behandelt wurden, sind sehr vielfältig. Beispielsweise sind die Techniken nützlich für das Verschlüsseln eines Feldes einer Protokolldateneinheit, das Verschlüsseln einer Datei auf eine Weise, die von den "i-Knoten" der Datei unabhängig ist, oder das Verschlüsseln eines Plattensektors unabhängig von der Position des Sektors auf dem physischen Medium. Das erste Beispiel tritt üblicherweise ein, wenn es ein beliebiges festes Übertragungsprotokoll gibt, bei dem eine Anzahl von Nachrichtenbits verfügbar bleibt, bei dem aber keine Sicherheit geboten wird. Es ist wünschenswert, Sicherheit einzubringen, ohne dass jedoch die Bitanzahl jedes Feldes verändert wird. Mit anderen Worten, es ist wünschenswert, in der Lage zu sein, die gesamte Nachricht zu senden, und zwar verschlüsselt, die formal im Klartext übertragen worden ist.
  • Es sollte vom Fachmann eingeschätzt werden, dass die bestimmten Ausführungsformen, die vorstehend dargelegt worden sind, leicht als Grundlage für das Veränderung und Entwerfen anderer Routinen zum Erreichen des gleichen Zweckes benutzt werden können, wie ihn die vorliegende Erfindung erfüllt.

Claims (17)

1. Verfahren, um unter Verwendung eines ersten und eines zweiten Schlüssels eine Klartextkette in eine Chiffretextkette zu verschlüsseln, das die folgenden Schritte umfasst:
(a) Chiffreblockverkettung, d. h. CBC, einer Klartextkette unter Verwendung des ersten Schlüssels und eines ersten Initialisierungsvektors (IV), um einen CBC- Nachrichtenberechtigungscode zu erzeugen;
(b) Chiffreblockverkettung der Klartextkette unter Verwendung des zweiten Schlüssels und des CBC- Nachrichtenberechtigungscodes als zweiten Initialisierungsvektor, um eine verschlüsselte Kette zu erzeugen; und
(c) Verknüpfen des CBC-Nachrichtenberechtigungscodes und eines vorgegebenen Teiles der verschlüsselten Kette, um die Chiffretextkette zu bilden.
2. Verfahren nach Anspruch 1, wobei der CBC- Nachrichtenberechtigungscode eine Länge hat, die gleich einer Blocklänge ist.
3. Verfahren nach Anspruch 1 oder Anspruch 2, wobei der vorgegebene Teil der verschlüsselten Kette alle außer einem letzten Block der verschlüsselten Kette enthält.
4. Verfahren nach einem beliebigen der Ansprüche 1 bis 3, wobei der erste Initialisierungsvektor der Null-Vektor ist.
5. Verfahren nach einem beliebigen der vorhergehenden Ansprüche, wobei die Klartextkette eine Länge hat, die ein Vielfaches einer Blocklänge ist.
6. Verfahren nach einem beliebigen der Ansprüche 1 bis 4, wobei die Klartextkette eine Länge hat, die nicht gleich einem Vielfachen einer Blocklänge ist.
7. Verfahren nach einem beliebigen der vorhergehenden Ansprüche, wobei der Schritt (c) den CBC- Nachrichtenberechtigungscode und den vorgegebenen Teil der verschlüsselten Kette verkettet, um die Chiffretextkette zu bilden.
8. Verfahren nach einem beliebigen der vorhergehenden Ansprüche, wobei die Chiffretextkette eine Länge hat, die gleich der Klartextkette ist.
9. Verfahren nach einem beliebigen der vorhergehenden Ansprüche, wobei der erste und der zweite Schlüssel von einem zugrunde liegenden Geheimschlüssel abgeleitet werden.
10. Verfahren, um unter Verwendung erster und zweiter Schlüssel und einer Blockchiffre eine Chiffretextkette in eine Klartextkette zu entschlüsseln, wobei die Chiffretextkette einen CBC-Nachrichtenberechtigungscode und eine verschlüsselte Kette enthält, das folgende Schritte umfasst:
(a) Entschlüsseln durch Chiffreblockverkettung der verschlüsselten Kette unter Verwendung des zweiten Schlüssels und des CBC-Nachrichtenberechtigungscodes als Initialisierungsvektor, um eine entschlüsselte Kette zu erzeugen;
(b) Chiffreblockverkettung der entschlüsselten Kette unter Verwendung des ersten Schlüssels und eines Initialisierungs-Nullvektors, um eine Kette zu erzeugen, die einen letzten Block hat;
(c) Berechnen einer vorbestimmten Funktion des letzten Blockes und eine Umkehr der Blockchiffre unter dem ersten Schlüssel beim CBC- Nachrichtenberechtigungscode; und
(d) Verknüpfen der entschlüsselten Kette und eines Ergebnisses der vorbestimmten Funktion, um die Klartextkette zu erzeugen.
11. Verfahren nach Anspruch 10, wobei die Blockchiffre aus DES besteht.
12. Verfahren nach Anspruch 10 oder 11, wobei die vorbestimmte Funktion in Schritt (c) eine Antivalenz ist.
13. Rechnervorrichtung, die Folgendes umfasst:
eine Speichervorrichtung;
Programm-Mittel, das in der Speichervorrichtung unterstützt wird, um eine Klartextkette in eine Chiffretextkette zu verschlüsseln, wobei das Programm- Mittel Folgendes umfasst:
Mittel zum Chiffreblockverketten, d. h. CBC der Klartextkette unter Verwendung des ersten Schlüssels und eines ersten Initialisierungsvektors (IV), um einen CBC- Nachrichtenberechtigungscode zu erzeugen;
Mittel zur Chiffreblockverkettung der Klartextkette unter Verwendung des zweiten Schlüssels und des CBC- Nachrichtenberechtigungscodes als zweiten Initialisierungsvektor, um eine verschlüsselte Kette zu erzeugen; und
Mittel zum Verknüpfen des CBC- Nachrichtenberechtigungscodes und eines vorbestimmten Teiles der verschlüsselten Kette, um die Chiffretextkette zu bilden.
14. Rechnervorrichtung, die Folgendes umfasst:
eine Speichervorrichtung;
Programm-Mittel, das in der Speichervorrichtung unterstützt wird, um eine Chiffretextkette in eine Klartextkette zu entschlüsseln, wobei die Chiffretextkette einen CBC-Nachrichtenberechtigungscode und eine verschlüsselte Kette umfasst, wobei das Programm-Mittel Folgendes umfasst:
Mittel zum Entschlüsseln der verschlüsselten Kette durch Chiffreblockverkettung der verschlüsselten Kette, wobei ein Geheimschlüssel und der CBC- Nachrichtenberechtigungscode als Initialisierungsvektor benutzt werden, um eine entschlüsselte Kette zu erzeugen;
Mittel zur Chiffreblockverkettung der entschlüsselten Kette unter Verwendung eines zweiten Geheimschlüssels und eines Initialisierungs-Nullvektors, um eine Kette zu erzeugen, die einen letzten Block hat;
Mittel zum Berechnen einer vorbestimmten Funktion des letzten Blockes und einer Umkehrung einer Blockchiffre, die unter Verwendung des zweiten Geheimschlüssels ausgewertet wird; und
Mittel zum Verknüpfen der entschlüsselten Kette und der vorbestimmten Funktion, um die Klartextkette zu erzeugen.
15. Programmspeichervorrichtung, die durch einen Prozessor gelesen werden kann und real ein Programm von Befehlen verkörpert, die vom Prozessor ausführbar sind, um Verschlüsselungs- und Entschlüsselungsverfahren unter Verwendung erster und zweiter Schlüssel und einer Blockchiffre durchzuführen, wobei das Verschlüsselungsverfahren die folgenden Schritte umfasst:
(a) Chiffreblockverkettung, d. h. CBC, einer Klartextkette unter Verwendung des ersten Schlüssels und eines Initialisierungsvektors (IV), um einen CBC- Nachrichtenberechtigungscode zu erzeugen;
(b) Chiffreblockverkettung der Klartextkette unter Verwendung des zweiten Schlüssels und des CBC- Nachrichtenberechtigungscodes als Initialisierungsvektor, um eine verschlüsselte Kette zu erzeugen; und
(c) Verknüpfen des CBC-Nachrichtenberechtigungscodes und eines Teils der verschlüsselten Kette, um eine Chiffretextkette zu bilden;
und wobei das Entschlüsselungsverfahren die folgenden Schritte umfasst:
(a) Chiffreblockverkettung der verschlüsselten Kette unter Verwendung des zweiten Schlüssels und des CBC- Nachrichtenberechtigungscodes als Initialisierungsvektor, um eine entschlüsselte Kette zu erzeugen;
(b) Chiffreblockverkettung der entschlüsselten Kette unter Verwendung des ersten Schlüssels und eines Initialisierungs-Nullvektors, um eine Kette zu erzeugen, die einen letzten Block hat;
(c) Berechnen einer vorbestimmten Funktion des letzten Blockes und einer Umkehrung der Blockchiffre unter dem ersten Schlüssel beim CBC- Nachrichtenberechtigungscode; und
(d) Verknüpfen der entschlüsselten Kette und der vorbestimmten Funktion, um die Klartextkette zu erzeugen.
16. In einem Rechner realisiertes Verfahren nach Anspruch 1, um unter Verwendung erster und zweiter Schlüssel eine Klartextkette x in eine Chiffretextkette y zu verschlüsseln, wobei das Verfahren folgende Schritte umfasst:
Benutzen der Kette x und eines ersten Schlüssels a&sub0;, um einen Nachrichtenberechtigungscode t zu berechnen; und
Benutzen der Kette x, eines zweiten Schlüssels a&sub1; und des Nachrichtenberechtigungscodes t, um eine verschlüsselte Kette y' zu erzeugen, die im Wesentlichen von dem Nachrichtenberechtigungscode abhängt; und
Aufnehmen des Chiffretextes y, um den Nachrichtenberechtigungscode t zusammen mit einem vorbestimmten Teil der verschlüsselten Kette y' zusammenzubringen
17. Rechnervorrichtung nach Anspruch 13, die Folgendes umfasst:
eine Speichervorrichtung;
Programm-Mittel, das in der Speichervorrichtung unterstützt wird, um eine Klartextkette x in eine Chiffretextkette y zu verschlüsseln, wobei das Programm- Mittel Folgendes umfasst:
Mittel zum Benutzen der Kette x und eines ersten Schlüssels a&sub0;, um einen Nachrichtenberechtigungscode t zu berechnen; 0
Mittel, um die Kette x, einen zweiten Schlüssel a&sub1; und den Nachrichtenberechtigungscode t dafür zu benutzen, eine verschlüsselte Kette y' zu erzeugen; und
Mittel zum Aufnehmen des Chiffretextes y, um zusammen mit einem vorbestimmten Teil der verschlüsselten Kette y' den Nachrichtenberechtigungscode zu bilden, wobei der vorbestimmte Teil kürzer als y' ist.
DE69618040T 1995-02-06 1996-01-25 Verfahren zur Verschlüsselung/Entschlüsselung von Daten unter Verwendung von Cipher-Block-Chaining (CBC) und Message Authentication Code (MAC) Expired - Lifetime DE69618040T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/384,152 US5673319A (en) 1995-02-06 1995-02-06 Block cipher mode of operation for secure, length-preserving encryption

Publications (2)

Publication Number Publication Date
DE69618040D1 DE69618040D1 (de) 2002-01-31
DE69618040T2 true DE69618040T2 (de) 2002-08-29

Family

ID=23516242

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69618040T Expired - Lifetime DE69618040T2 (de) 1995-02-06 1996-01-25 Verfahren zur Verschlüsselung/Entschlüsselung von Daten unter Verwendung von Cipher-Block-Chaining (CBC) und Message Authentication Code (MAC)

Country Status (4)

Country Link
US (1) US5673319A (de)
EP (1) EP0725511B1 (de)
JP (1) JPH08248879A (de)
DE (1) DE69618040T2 (de)

Families Citing this family (101)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19640526A1 (de) * 1996-10-01 1998-04-02 Deutsche Telekom Ag Verfahren zur Übertragung von Signalen
CA2210199A1 (en) 1997-07-11 1999-01-11 Mitel Corporation Method and apparatus for the generation of non-linear confusion data
US6055316A (en) * 1997-12-26 2000-04-25 Sun Microsystems, Inc. System and method for deriving an appropriate initialization vector for secure communications
US6192129B1 (en) 1998-02-04 2001-02-20 International Business Machines Corporation Method and apparatus for advanced byte-oriented symmetric key block cipher with variable length key and block
US6243470B1 (en) 1998-02-04 2001-06-05 International Business Machines Corporation Method and apparatus for advanced symmetric key block cipher with variable length key and block
US6128737A (en) * 1998-04-20 2000-10-03 Microsoft Corporation Method and apparatus for producing a message authentication code in a cipher block chaining operation by using linear combinations of an encryption key
US6226742B1 (en) * 1998-04-20 2001-05-01 Microsoft Corporation Cryptographic technique that provides fast encryption and decryption and assures integrity of a ciphertext message through use of a message authentication code formed through cipher block chaining of the plaintext message
ATE282915T1 (de) * 1998-05-07 2004-12-15 Herrero Angel Jose Ferre Vorrichtung zur verschleierung und verschlüsselung
US6189095B1 (en) 1998-06-05 2001-02-13 International Business Machines Corporation Symmetric block cipher using multiple stages with modified type-1 and type-3 feistel networks
US6266412B1 (en) * 1998-06-15 2001-07-24 Lucent Technologies Inc. Encrypting speech coder
US6351539B1 (en) 1998-09-18 2002-02-26 Integrated Device Technology, Inc. Cipher mixer with random number generator
US7194092B1 (en) * 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
US7415110B1 (en) 1999-03-24 2008-08-19 Intel Corporation Method and apparatus for the generation of cryptographic keys
US6324288B1 (en) * 1999-05-17 2001-11-27 Intel Corporation Cipher core in a content protection system
US6907127B1 (en) * 1999-06-18 2005-06-14 Digital Video Express, L.P. Hierarchical key management encoding and decoding
US6529487B1 (en) * 1999-07-09 2003-03-04 Qualcomm Incorporated Method and apparatus for securely transmitting distributed RAND for use in mobile station authentication
US6920221B1 (en) 1999-08-29 2005-07-19 Intel Corporation Method and apparatus for protected exchange of status and secret values between a video source application and a video hardware interface
US6477252B1 (en) * 1999-08-29 2002-11-05 Intel Corporation Digital video content transmission ciphering and deciphering method and apparatus
US7068786B1 (en) 1999-08-29 2006-06-27 Intel Corporation Dual use block/stream cipher
US6947558B1 (en) 1999-08-29 2005-09-20 Intel Corporation Stream cipher having a shuffle network combiner function
US6731758B1 (en) 1999-08-29 2004-05-04 Intel Corporation Digital video content transmission ciphering and deciphering method and apparatus
SG117471A1 (en) * 2000-01-14 2005-12-29 Mitsubishi Electric Corp Method and apparatus for encryption, method and apparatus for decryption, and computer-readable med ium storing program
US7184549B2 (en) * 2000-01-14 2007-02-27 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for encryption, method and apparatus for decryption, and computer-readable medium storing program
WO2001054099A1 (fr) * 2000-01-21 2001-07-26 Sony Corporation Systeme d'authentification de donnees
SG124291A1 (en) * 2000-03-09 2006-08-30 Mitsubishi Electric Corp Block cipher apparatus using auxuiliary transformation
US7003107B2 (en) 2000-05-23 2006-02-21 Mainstream Encryption Hybrid stream cipher
JP2002049310A (ja) * 2000-08-04 2002-02-15 Toshiba Corp 暗復号装置、認証装置及び記憶媒体
US7280495B1 (en) 2000-08-18 2007-10-09 Nortel Networks Limited Reliable broadcast protocol in a wireless local area network
US7366103B2 (en) * 2000-08-18 2008-04-29 Nortel Networks Limited Seamless roaming options in an IEEE 802.11 compliant network
US7339892B1 (en) 2000-08-18 2008-03-04 Nortel Networks Limited System and method for dynamic control of data packet fragmentation threshold in a wireless network
US7308279B1 (en) 2000-08-18 2007-12-11 Nortel Networks Limited Dynamic power level control on transmitted messages in a wireless LAN
US7039190B1 (en) * 2000-08-18 2006-05-02 Nortel Networks Limited Wireless LAN WEP initialization vector partitioning scheme
JP2002132141A (ja) * 2000-10-20 2002-05-09 Sony Corp データ記憶装置、およびデータ記録方法、データ再生方法、並びにプログラム提供媒体
US7007156B2 (en) * 2000-12-28 2006-02-28 Intel Corporation Multiple coprocessor architecture to process a plurality of subtasks in parallel
US7360075B2 (en) * 2001-02-12 2008-04-15 Aventail Corporation, A Wholly Owned Subsidiary Of Sonicwall, Inc. Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols
US7353380B2 (en) * 2001-02-12 2008-04-01 Aventail, Llc, A Subsidiary Of Sonicwall, Inc. Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols
US7383329B2 (en) 2001-02-13 2008-06-03 Aventail, Llc Distributed cache for state transfer operations
US7203837B2 (en) * 2001-04-12 2007-04-10 Microsoft Corporation Methods and systems for unilateral authentication of messages
US20060291650A1 (en) * 2001-05-22 2006-12-28 Viswanath Ananth State-varying hybrid stream cipher
JP2003023421A (ja) * 2001-07-09 2003-01-24 C4 Technology Inc 暗号方法、そのプログラム、そのプログラムを記録した記録媒体および暗号装置並びに復号方法および復号装置
US7103180B1 (en) * 2001-10-25 2006-09-05 Hewlett-Packard Development Company, L.P. Method of implementing the data encryption standard with reduced computation
CA2364174A1 (en) * 2001-11-27 2003-05-27 Bayer Inc. Filled elastomeric butyl compounds with improved scorch safety
US7487365B2 (en) * 2002-04-17 2009-02-03 Microsoft Corporation Saving and retrieving data based on symmetric key encryption
US7890771B2 (en) 2002-04-17 2011-02-15 Microsoft Corporation Saving and retrieving data based on public key encryption
US7370197B2 (en) * 2002-07-12 2008-05-06 Microsoft Corporation Method and system for authenticating messages
US20040064725A1 (en) * 2002-09-18 2004-04-01 Microsoft Corporation Method and system for detecting a communication problem in a computer network
US20050235145A1 (en) * 2002-12-05 2005-10-20 Canon Kabushiki Kaisha Secure file format
US20040111610A1 (en) * 2002-12-05 2004-06-10 Canon Kabushiki Kaisha Secure file format
US7613925B2 (en) 2003-01-10 2009-11-03 Motorola, Inc. Method for authenticating a message
US8261062B2 (en) 2003-03-27 2012-09-04 Microsoft Corporation Non-cryptographic addressing
US7610487B2 (en) 2003-03-27 2009-10-27 Microsoft Corporation Human input security codes
US7624264B2 (en) 2003-03-27 2009-11-24 Microsoft Corporation Using time to determine a hash extension
US7409544B2 (en) * 2003-03-27 2008-08-05 Microsoft Corporation Methods and systems for authenticating messages
US7103754B2 (en) 2003-03-28 2006-09-05 International Business Machines Corporation Computer instructions for having extended signed displacement fields for finding instruction operands
US7055039B2 (en) * 2003-04-14 2006-05-30 Sony Corporation Protection of digital content using block cipher crytography
US8060755B2 (en) * 2003-04-18 2011-11-15 Via Technologies, Inc Apparatus and method for providing user-generated key schedule in a microprocessor cryptographic engine
US7529368B2 (en) * 2003-04-18 2009-05-05 Via Technologies, Inc. Apparatus and method for performing transparent output feedback mode cryptographic functions
US7392400B2 (en) * 2003-04-18 2008-06-24 Via Technologies, Inc. Microprocessor apparatus and method for optimizing block cipher cryptographic functions
US7321910B2 (en) * 2003-04-18 2008-01-22 Ip-First, Llc Microprocessor apparatus and method for performing block cipher cryptographic functions
US7542566B2 (en) * 2003-04-18 2009-06-02 Ip-First, Llc Apparatus and method for performing transparent cipher block chaining mode cryptographic functions
US7925891B2 (en) * 2003-04-18 2011-04-12 Via Technologies, Inc. Apparatus and method for employing cryptographic functions to generate a message digest
US7532722B2 (en) 2003-04-18 2009-05-12 Ip-First, Llc Apparatus and method for performing transparent block cipher cryptographic functions
US7502943B2 (en) * 2003-04-18 2009-03-10 Via Technologies, Inc. Microprocessor apparatus and method for providing configurable cryptographic block cipher round results
US7529367B2 (en) * 2003-04-18 2009-05-05 Via Technologies, Inc. Apparatus and method for performing transparent cipher feedback mode cryptographic functions
US7844053B2 (en) * 2003-04-18 2010-11-30 Ip-First, Llc Microprocessor apparatus and method for performing block cipher cryptographic functions
US7900055B2 (en) * 2003-04-18 2011-03-01 Via Technologies, Inc. Microprocessor apparatus and method for employing configurable block cipher cryptographic algorithms
US7536560B2 (en) * 2003-04-18 2009-05-19 Via Technologies, Inc. Microprocessor apparatus and method for providing configurable cryptographic key size
US7539876B2 (en) * 2003-04-18 2009-05-26 Via Technologies, Inc. Apparatus and method for generating a cryptographic key schedule in a microprocessor
US7519833B2 (en) * 2003-04-18 2009-04-14 Via Technologies, Inc. Microprocessor apparatus and method for enabling configurable data block size in a cryptographic engine
US7657757B2 (en) * 2003-04-30 2010-02-02 Freescale Semiconductor, Inc. Semiconductor device and method utilizing variable mode control with block ciphers
US7159122B2 (en) 2003-05-12 2007-01-02 International Business Machines Corporation Message digest instructions
US7356710B2 (en) * 2003-05-12 2008-04-08 International Business Machines Corporation Security message authentication control instruction
US7257718B2 (en) 2003-05-12 2007-08-14 International Business Machines Corporation Cipher message assist instructions
JP2005140823A (ja) 2003-11-04 2005-06-02 Sony Corp 情報処理装置、制御方法、プログラム、並びに記録媒体
US20060005031A1 (en) * 2004-06-15 2006-01-05 Apostolopoulos John G Methods and systems for utilizing a single cryptographic integrity check to generate multiple cryptographic integrity check values for components of transcodable content
US7929689B2 (en) 2004-06-30 2011-04-19 Microsoft Corporation Call signs
US20070262138A1 (en) * 2005-04-01 2007-11-15 Jean Somers Dynamic encryption of payment card numbers in electronic payment transactions
US20100203960A1 (en) * 2005-07-20 2010-08-12 Wms Gaming Inc. Wagering game with encryption and authentication
US7725719B2 (en) * 2005-11-08 2010-05-25 International Business Machines Corporation Method and system for generating ciphertext and message authentication codes utilizing shared hardware
EP1783948B1 (de) * 2005-11-08 2011-01-12 Irdeto Access B.V. Verfahren zur Ver- und Entwürfelung von Daten
US8086842B2 (en) 2006-04-21 2011-12-27 Microsoft Corporation Peer-to-peer contact exchange
US8634549B2 (en) * 2008-05-07 2014-01-21 Red Hat, Inc. Ciphertext key chaining
US8396209B2 (en) * 2008-05-23 2013-03-12 Red Hat, Inc. Mechanism for chained output feedback encryption
KR101496975B1 (ko) 2008-05-28 2015-03-02 삼성전자주식회사 고체 상태 디스크 및 이에 대한 입출력방법
US8218759B2 (en) * 2009-04-17 2012-07-10 Oracle America, Inc. System and method for encrypting data
EP2290872B1 (de) * 2009-08-27 2014-06-18 Nxp B.V. Vorrichtung zur Erzeugung eines Nachrichtenauthentifizierungscodes zur Authentifizierung einer Nachricht
CZ2011142A3 (cs) * 2011-03-17 2012-05-23 Ažd Praha S. R. O. Zpusob zachování bezpecného stavu zabezpecovacích systému se složenou bezpecností, zejména na železnici, pri vytvárení datových otisku
CN102136904A (zh) * 2011-03-30 2011-07-27 中国科学院软件研究所 一种基于分组密码的消息鉴别方法
KR101106604B1 (ko) * 2011-06-14 2012-01-20 펜타시큐리티시스템 주식회사 특성 유지 암호화를 이용한 데이터 보안 방법 및 장치
JP2013134414A (ja) * 2011-12-27 2013-07-08 Kddi Corp 鍵暗号化装置、鍵復号装置、鍵暗号化方法、鍵復号方法、およびプログラム
KR101416685B1 (ko) * 2013-01-18 2014-07-09 어보브반도체 주식회사 비휘발성 메모리의 바이너리 데이터 보호 방법 및 그 장치
JP6167721B2 (ja) * 2013-07-23 2017-07-26 凸版印刷株式会社 暗号化装置、復号装置、暗号化方法、復号方法及びプログラム
EP3286873A4 (de) 2016-03-24 2018-08-29 Hewlett-Packard Enterprise Development LP Textverschlüsselung
CN107707690B (zh) * 2017-11-28 2021-07-16 锐捷网络股份有限公司 一种动态地址不老化的方法、装置和介质
US11115187B2 (en) * 2018-09-07 2021-09-07 Korea University Research And Business Foundation Apparatus and method for block ciphers for real-time data transmission
EP3742317A1 (de) * 2019-05-21 2020-11-25 Ordnance Survey Limited Verfahren und system zur gewährung des zugriffs auf daten in einem unveränderlichen ledger-system
US11347895B2 (en) * 2019-12-03 2022-05-31 Aptiv Technologies Limited Method and system of authenticated encryption and decryption
EP3913509A1 (de) * 2020-05-22 2021-11-24 Thales Dis France Sa Verfahren zur sicherung von computercodes
CN111832067B (zh) * 2020-05-26 2021-12-17 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN112149137B (zh) * 2020-09-30 2023-12-05 深圳前海微众银行股份有限公司 漏洞检测方法、装置、电子设备及计算机可读存储介质
US12047490B2 (en) * 2021-10-25 2024-07-23 Oracle International Corporation Length-preserving encryption for database tables

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3958081A (en) * 1975-02-24 1976-05-18 International Business Machines Corporation Block cipher system for data security
US4074066A (en) * 1976-04-26 1978-02-14 International Business Machines Corporation Message verification and transmission error detection by block chaining
JPS603755B2 (ja) * 1979-05-23 1985-01-30 株式会社明電舎 高周波加熱装置の接続導体
US4322576A (en) * 1979-12-28 1982-03-30 Racal-Milgo, Inc. Message format for secure communication over data links
FR2582174B1 (fr) * 1985-05-15 1990-03-09 Thomson Csf Dispositif de chiffrement par substitutions-permutations
US5319710A (en) * 1986-08-22 1994-06-07 Tandem Computers Incorporated Method and means for combining and managing personal verification and message authentication encrytions for network transmission
US5109413A (en) * 1986-11-05 1992-04-28 International Business Machines Corporation Manipulating rights-to-execute in connection with a software copy protection mechanism
JP2871690B2 (ja) * 1988-04-28 1999-03-17 日本電気株式会社 符号化装置及び復号化装置
JP2760799B2 (ja) * 1988-04-28 1998-06-04 株式会社日立製作所 暗号方式
US5063596A (en) * 1989-02-24 1991-11-05 Miu Automation Corporation Encryption printed circuit board
US4910776A (en) * 1989-02-24 1990-03-20 Miu Automation Encryption printed circuit board
US5184125A (en) * 1989-06-28 1993-02-02 Digital Equipment Corporation Data encoding and demodulation system
US5196840A (en) * 1990-11-05 1993-03-23 International Business Machines Corporation Secure communications system for remotely located computers
US5297208A (en) * 1992-08-05 1994-03-22 Roger Schlafly Secure file transfer system and method
US5491749A (en) * 1993-12-30 1996-02-13 International Business Machines Corporation Method and apparatus for entity authentication and key distribution secure against off-line adversarial attacks
US5491750A (en) * 1993-12-30 1996-02-13 International Business Machines Corporation Method and apparatus for three-party entity authentication and key distribution using message authentication codes

Also Published As

Publication number Publication date
EP0725511A3 (de) 1999-07-28
US5673319A (en) 1997-09-30
EP0725511B1 (de) 2001-12-19
EP0725511A2 (de) 1996-08-07
DE69618040D1 (de) 2002-01-31
JPH08248879A (ja) 1996-09-27

Similar Documents

Publication Publication Date Title
DE69618040T2 (de) Verfahren zur Verschlüsselung/Entschlüsselung von Daten unter Verwendung von Cipher-Block-Chaining (CBC) und Message Authentication Code (MAC)
DE69431390T2 (de) Erzeugung eines Geheimübertragungsschlüssels unter Gebrauch sequentieller Verknüpfung
DE19827904C2 (de) Blockchiffrier- oder -dechiffrierverfahren und Blockchiffrier- oder -dechiffriervorrichtung
DE69330070T2 (de) Verfahren und einrichtung zur erzeugung einer chiffriersequenz
DE69728465T2 (de) Nichtparalleler Mehrzyklus-Verschlüsselungsapparat
DE69721439T2 (de) Kryptographisches verfahren und einrichtung zum nichtlinearen zusammenfugen eines datenblocks und eines schlussels
DE69222090T2 (de) Einrichtung und Verfahren zum blockweisen Verschlüsseln von Daten
DE69031736T2 (de) Verschlüsselungsmethode
DE69938539T2 (de) Kryptographische Einrichtung mit parallel geschalteten Verschlüsselungsblöcken
DE60105788T2 (de) AES Verschlüsselungsschaltung
DE69422072T2 (de) System und Verfahren zur schnellen Verschlüsselung unter Verwendung eines Vielfachschlüsselgenerators
DE69111556T2 (de) Verfahren und Einrichtung zur Steuerung der Benutzung eines öffentlichen Schlüssels auf Grundlage des Integritätsgrades des Schlüssels.
DE60024941T2 (de) Verschlüsselungsverfahren und -Vorrichtung, Entschlüsselungsverfahren und -Vorrichtung
DE69838074T2 (de) Verfahren und vorrichtung zur gleichzeitigen verschlüsselung und komprimierung von daten
DE69931606T2 (de) Datenwandler und aufzeichnungsmedium zur aufnahme eines programms zur datenumwandlung
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
EP1668515B1 (de) Wortindividuelle schlüsselerzeugung
DE69736148T2 (de) Verfahren und Einrichtung zur Datenverschlüsselung
DE69816986T2 (de) Verfahren und vorrichtung zur versiegelung und unterschrift von objekten
DE69906037T2 (de) Verfahren und Vorrichtung zur Datenverschlüsselung
DE60221850T2 (de) Verfahren und vorrichtung zur datenverschlüsselung
EP1298834B1 (de) Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten
DE2231835B2 (de) Verfahren zur in mehreren Stufen erfolgenden Ver- und Entschlüsselung binärer Daten
DE102008010789B4 (de) Verfahren zur zugriffs- und kommunikationsbezogenen Zufallsver- und Entschlüsselung von Daten
EP1777913A1 (de) Verfahren zur Verschlüsselung bzw. Entschlüsselung von Datenpaketen eines Datenstroms

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8328 Change in the person/name/address of the agent

Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7