DE102007052656B4 - Digital-Verschlüsselungs-Hardware-Beschleuniger - Google Patents

Digital-Verschlüsselungs-Hardware-Beschleuniger Download PDF

Info

Publication number
DE102007052656B4
DE102007052656B4 DE102007052656A DE102007052656A DE102007052656B4 DE 102007052656 B4 DE102007052656 B4 DE 102007052656B4 DE 102007052656 A DE102007052656 A DE 102007052656A DE 102007052656 A DE102007052656 A DE 102007052656A DE 102007052656 B4 DE102007052656 B4 DE 102007052656B4
Authority
DE
Germany
Prior art keywords
data
processing stage
encryption
des
block
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.)
Active
Application number
DE102007052656A
Other languages
English (en)
Other versions
DE102007052656A1 (de
Inventor
Arni Ingimundarson
Adolf Baumann
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.)
Texas Instruments Deutschland GmbH
Original Assignee
Texas Instruments Deutschland GmbH
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 Texas Instruments Deutschland GmbH filed Critical Texas Instruments Deutschland GmbH
Priority to DE102007052656A priority Critical patent/DE102007052656B4/de
Priority to US12/264,782 priority patent/US20090147947A1/en
Priority to PCT/EP2008/064981 priority patent/WO2009059991A1/en
Publication of DE102007052656A1 publication Critical patent/DE102007052656A1/de
Application granted granted Critical
Publication of DE102007052656B4 publication Critical patent/DE102007052656B4/de
Priority to US14/163,924 priority patent/US20140189367A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

Elektronische Vorrichtung zur Verschlüsselung von Datenblöcken einer Nachricht mit n Datenblöcken gemäß dem Datenverschlüsselungsstandard (DES), wobei die elektronische Vorrichtung umfasst: einen ersten Datenverarbeitungskanal, umfassend eine erste Verarbeitungsstufe zur Durchführung der Verschlüsselung von Datenblöcken einer vorbestimmten Länge, und einen ersten Eingabedatenbuffer, der mit einem Dateneingang und mit der ersten Verarbeitungsstufe gekoppelt ist, und einen zweiten Datenverarbeitungskanal, umfassend eine zweite Verarbeitungsstufe zur Durchführung der Verschlüsselung von Datenblöcken, einen zweiten Eingabedatenbuffer, der mit dem Dateneingang, mit einem Ausgang der ersten Verarbeitungsstufe und mit der zweiten Verarbeitungsstufe gekoppelt ist, wobei die elektronische Vorrichtung ferner eine Steuerstufe (FSM) zur Steuerung der ersten Verarbeitungsstufe und der zweiten Verarbeitungsstufe umfasst, derart, dass sie mit der zweiten Verarbeitungsstufe ein Verschlüsselungsschritt auf einen aus der ersten Verarbeitungsstufe ausgegebenen verschlüsselten Datenblock anwendet, wobei die Steuerstufe so eingerichtet ist, dass sie die erste Verarbeitungsstufe so steuert, dass sie die Datenverschlüsselung gemäß dem Datenverschlüsselungsstandard auf jeden Block anwendet, und dass sie die...

Description

  • Die vorliegende Erfindung betrifft eine elektronische Vorrichtung zur Verschlüsselung und Entschlüsselung von Daten, insbesondere betrifft die vorliegende Erfindung eine elektronische Vorrichtung zur Durchführung symmetrischer kryptographischer Operationen für 8 Byte große Datenblöcke gemäß dem Digital Encryption Standard (DES, engl. für „digitaler Verschlüsselungsstandard”).
  • Das ISO/IEC 7816-4 Secure Messaging Protocol (engl. für „Protokoll für sichere Mitteilungsübermittlung”) erfordert eine Dreifach-DES-Datenverschlüsselung mit einem Schlüssel mit doppelter Stellenzahl und einen auf Dreifach-DES mit einem Schlüssel mit doppelter Stellenzahl basierenden Nachrichten-Authentifizierungscode (MAC). Die herkömmliche Implementierung dieses Protokolls erfordert zunächst die Berechnung der verschlüsselten Nachricht und dann die Berechnung des Nachrichten-Authentifizierungscodes für die anschließend zu berechnenden, verschlüsselten Nachrichtendaten. Die zweistufige Verschlüsselung und Entschlüsselung wird herkömmlicherweise nacheinander ausgeführt. Dies erfordert eine erhebliche Zeitdauer, da die Datenblöcke zunächst verschlüsselt oder entschlüsselt werden, und anschließend der Nachrichten-Authentifizierungscode über die gesamte Nachrichtenlänge verschlüsselt oder entschlüsselt wird. Des Weiteren wird für einen Schlüsselaustausch zusätzliche Verarbeitungszeit benötigt, da die Verschlüsselung und der MAC unterschiedliche Schlüssel verwenden. Außerdem werden zusätzliche Speicherkapazitäten und Datenpfade zur Verarbeitung der verschlüsselten oder entschlüsselten Daten und zur Berechnung von Zwischenergebnissen benötigt.
  • Die europäische Offenlegungsschrift EP 1 865 655 A1 offenbart eine Vorrichtung und ein Verfahren zur Verschlüsselung von Datenblöcken.
  • Demnach können in zwei aufeinanderfolgenden Verschlüsselungsschritten zunächst Datenblöcke verschlüsselt werden und in einem zweiten Schritt ein Authentifizierungscode über die verschlüsselte Nachricht blockweise berechnet werden. Ein ähnliches Verfahren ist auch in EP 1 816 782 A beschrieben. Moderne Kommunikationsprotokolle erfordern jedoch umfangreiche Kommunikationsinformationen, die je nach Anwendung und Situation unterschiedliche Datenlängen aufweisen. Die in den genannten Druckschriften offenbarten Verfahren sind diesbezüglich nicht effizient.
  • Es ist ein Ziel der vorliegenden Erfindung, eine elektronische Vorrichtung bereitzustellen, die so eingerichtet ist, dass sie die notwendigen Entschlüsselungs- und Verschlüsselungsschritte gemäß dem DES-Standard durchführt, und die im Vergleich zu der herkömmlichen Lösung effizienter und weniger komplex ist.
  • Gemäß der vorliegenden Erfindung wird eine elektronische Vorrichtung zur Verschlüsselung und Entschlüsselung von Datenblöcken einer Nachricht mit n Datenblöcken gemäß dem Datenverschlüsselungsstandard (DES, wie in dem ISO/IEC 7816-4 Secure Messaging Protocol festgelegt) bereitgestellt. Die elektronische Vorrichtung umfasst einen ersten Datenverarbeitungskanal, der eine erste Verarbeitungsstufe zur Durchführung der Verschlüsselung und Entschlüsselung von Datenblöcken einer vorbestimmten Länge umfasst. Des Weiteren gibt es einen ersten Eingabedatenbuffer, der mit einem Dateneingang und mit der ersten Verarbeitungsstufe gekoppelt ist. In einem zweiten Datenverarbeitungskanal gibt es eine zweite Verarbeitungsstufe zur Durchführung der Verschlüsselung und Entschlüsselung von Datenblöcken gemäß dem DES-Standard. Des Weiteren gibt es einen zweiten Eingabedatenbuffer, der mit dem Dateneingang, einem Ausgang der ersten Verarbeitungsstufe und mit der zweiten Verarbeitungsstufe gekoppelt ist. Die elektronische Vorrichtung umfasst ferner eine Steuerstufe zur Steuerung der ersten Verarbeitungsstufe und der zweiten Verarbeitungsstufe derart, dass mit der zweiten Verarbeitungsstufe ein Verschlüsselungs- oder Entschlüsselungsschritt auf einen aus der ersten Verarbeitungsstufe ausgegebenen verschlüsselten bzw. vom Dateneingang empfangenen verschlüsselten Datenblock angewendet wird. Die Steuerstufe ist so eingerichtet, dass sie die erste Verarbeitungsstufe so steuert, dass sie die Datenverschlüsselung bzw. -entschlüsselung gemäß dem Datenverschlüsselungsstandard auf jeden Block anwendet, und dass sie die zweite Verarbeitungsstufe so steuert, dass sie einen Nachrichten-Authentifizierungscode über die verschlüsselte Nachricht kombiniert mit vom Dateneingang empfangenen Header- und/oder Epilog-Daten, blockweise berechnet.
  • Entsprechend stellt die vorliegende Erfindung eine Lösung bereit, die auf einer parallelen Pipeline-Architektur unter Verwendung von zwei Verarbeitungsstufen basiert. Die Verarbeitungsstufe ist typischerweise eine Prozessoreinheit, die speziell für die Durchführung der Verschlüsselung bzw. Entschlüsselung gemäß dem DES-Standard vorgesehen ist. Folglich wird die Verarbeitungsstufe auch als Kryptokern bezeichnet. Die Verarbeitungsstufen bzw. Kryptokerne ermöglichen die parallele Ausführung von zwei DES-Operationen. Jeder Kryptokern ist in der Lage, symmetrische kryptographische Operationen für 8 Byte große Datenblöcke gemäß dem DES-Standard durchzuführen. Jeder Kern kann Einzel- und Dreifach-DES-Operationen abwickeln. Eine Einzel-DES-Operation verschlüsselt oder entschlüsselt einen 64 Bit breiten Datenblock unter Verwendung eines Schlüssels mit 64-Bit (d. h. 56 Bit plus 8 Paritätsbit gemäß dem DES-Standard), während für die Dreifach-DES-Operationen ein 128-Bit-Schlüssel verwendet wird. Eine Dreifach-DES-Operation besteht aus drei aufeinander folgenden Durchlaufen mit Einzel-DES-Operationen. Bevor eine Verschlüsselungs- oder Entschlüsselungsoperation gestartet werden kann, muss der Kryptoschlüssel in das entsprechende Schlüsselregister geladen werden.
  • Für Dreifach-DES wird ein 128-Bit-Einzelschlüssel K festgelegt, der zwei gemeinsam verkettete 64-Bit-Schlüssel KA und KB umfasst: K := KA || KB
  • Eine Dreifach-DES-Verschlüsselungsoperation ist wie folgt festgelegt:
    • 1) C' := DES(KA, P)
    • 2) C'' := DES–1(KB, C')
    • 3) C := DES(KA, C'')
  • Und eine Dreifach-DES-Entschlüsselungsoperation ist wie folgt festgelegt:
    • 4) P' := DES–1(KA, C)
    • 5) P'' := DES(KB, P')
    • 6) P := DES–1(KA, P'')
    wobei DES eine Einzel-DES-Verschlüsselung bedeutet, DES–1 eine Einzel-DES-Entschlüsselung, P einen Klartextblock und C einen Schlüsseltextblock.
  • Nachdem die gewünschte Betriebsart für den Kanal konfiguriert wurde, können die Daten in den Eingabedatenbuffer geschrieben werden. Wenn ein 8-Byte-Datenblock in den Buffer geschrieben wurde, kann die DES-Operation manuell gestartet werden, oder, falls entsprechend konfiguriert, wird er automatisch gestartet, wenn das letzte (8.) Byte des Blocks in den Datenbuffer geschrieben wird. Nach Abschluss der Operation kann eine Unterbrechung („interrupt”) erzeugt werden.
  • Die Steuerstufe ist so eingerichtet, dass sie die erste Verarbeitungsstufe so steuert, dass sie die Datenverschlüsselung gemäß dem Datenverschlüsselungsstandard auf jeden Block anwendet, und dass sie die zweite Verarbeitungsstufe so steuert, dass sie einen Nachrichten-Authentifizierungscode über die von der ersten Verarbeitungsstufe (DES-Kryptokern) empfangene verschlüsselte Nachricht blockweise berechnet. Dies entspricht dem DES-Standard, und die beiden Verarbeitungsstufen der elektronischen Vorrichtung gemäß der vorliegenden Erfindung sind spezifisch so eingerichtet und werden so gesteuert, dass sie die Datenverschlüsselung bzw. -entschlüsselung blockweise durchführen, wobei die verschlüsselten Datenblöcke in der Verarbeitungsstufe (DES-Kryptokern) weiter berechnet werden, um den Nachrichten-Authentifizierungscode über die gesamte Nachricht, d. h. alle Blöcke der Nachricht, abzurufen bzw. darauf anzuwenden, allerdings auf blockweiser Basis.
  • Gemäß einem bestimmten Aspekt der vorliegenden Erfindung umfasst die elektronische Vorrichtung ein erstes Schlüsselregister zum Speichern eines ersten Verschlüsselungs- oder Entschlüsselungsschlüssels zur Verwendung durch die erste Verarbeitungsstufe und ein zweites Schlüsselregister zum Speichern eines zweiten Verschlüsselungs- oder Entschlüsselungsschlüssels zur Verwendung durch die zweite Verarbeitungsstufe. Dieser Aspekt der vorliegenden Erfindung ermöglicht die Durchführung der Verschlüsselungs- bzw. Entschlüsselungsoperationen durch die beiden Verarbeitungsstufen im Grunde unabhängig voneinander. Ein Austausch von Schlüsseln in den Registern ist nicht erforderlich.
  • Um eine echte teilweise parallele Pipeline-Architektur zu realisieren, sollte der zweite Eingabedatenbuffer vorteilhafterweise doppelt so groß wie der erste Datenbuffer sein. Ein doppelt so großer Datenbuffer ist besonders hilfreich für ein Pipeline-Verfahren, da in dem zweiten Kanal aufeinander folgende Ergebnisse und Header-Informationen für den zweiten Kryptokern gespeichert werden müssen. Eigentlich erfordert die Berechnung des Nachrichten-Authentifizierungscodes in dem zweiten Kanal das abwechselnde Zuführen von verschlüsselten Datenblöcken, die aus dem ersten Kanal an die zweite Verarbeitungsstufe ausgegeben werden. Folglich erhöht ein Datenbuffer mit doppelter Größe den Durchsatz und die Geschwindigkeit. Die erste Verarbeitungsstufe und die zweite Verarbeitungsstufe sind beide so eingerichtet, dass sie Einzel-DES- und Dreifach-DES-Operationen durchführen können. Der erste und der zweite Verschlüsselungsschlüssel haben eine Maximallänge von 128 Bit. Entsprechend können das erste und das zweite Schlüsselregister auf diese Maximalbitlänge beschränkt werden. Dies gestattet eine Begrenzung der Speicherkapazität.
  • Gemäß einem Aspekt der vorliegenden Erfindung ist der erste Kanal vorzugsweise so eingerichtet, dass er für die Verschlüsselung und Entschlüsselung den ECB-Modus und den CBC-Modus anwendet, und der zweite Kanal ist vorzugsweise so eingerichtet, dass er ECB für die Verschlüsselung und Entschlüsselung und nur den CBC-Modus für die Verschlüsselung anwendet. Beim Verschlüsseln oder Entschlüsseln von mehreren Datenblöcken können die Blöcke entweder unabhängig voneinander bearbeitet werden, oder das Ergebnis einer Operation kann zur Beeinflussung der nächsten Operation verwendet werden. Bei einer Verschlüsselung und Entschlüsselung gemäß dem elektronischen Codebuch (ECB, „Electronic Codebook mode”) wird jeder Block unabhängig von den anderen Blöcken einer Nachricht verschlüsselt und entschlüsselt. Diese grundlegende Verschlüsselungs- und Entschlüsselungskonfiguration ist in 1 gezeigt. Pn ist ein Block n in Klartext. Cn bezieht sich auf einen Schlüsselblock. 2 zeigt die Verschlüsselung und Entschlüsselung gemäß dem Schlüsselblockverkettungsmodus (CBC, „cipher block chaining mode”). Auf der linken Seite ist ein Schlüsselblockverkettungsmodus für die Verschlüsselung dargestellt. Der Klartexteingabedatenblock P1 wird zunächst gebuffert und mit den Ergebnissen der vorhergehenden Operation durch ein XOR-Gatter verknüpft, bevor er verschlüsselt wird. Für die erste Operation wird ein Anfangsschlüsselvektor C0 verwendet. Die linke Seite gemäß 2 zeigt die entsprechende Entschlüsselungsoperation. Während der Entschlüsselung müssen die aus dem Kryptokern (3)DES–1 ausgegebenen Daten mit dem vorhergehenden verschlüsselten Eingabeblock durch ein XOR-Gatter verknüpft werden, bevor die Klartextdaten gelesen werden können. Für die erste Operation und die Entschlüsselung muss derselbe Anfangsvektor C0 für die Verschlüsselung verwendet werden. Gemäß diesem Aspekt der vorliegenden Erfindung sind die Kanäle der elektronischen Vorrichtung so eingerichtet, dass sie den ECB-Modus und den CBC-Modus anwenden. Der zweite Kanal kann jedoch dahingehend vereinfacht werden, dass für die Verschlüsselung lediglich der CBC-Modus angewendet wird. Hierdurch wird die Komplexität der Schaltkreise verringert. Für die vorliegende Erfindung hat ein Datenblock vorzugsweise eine Bitlänge von 64 Bit.
  • Die vorliegende Erfindung betrifft ebenfalls ein Verfahren zur Verschlüsselung einer Nachricht mit n Datenblöcken. Ein Datenblock wird in einer ersten Verarbeitungsstufe gemäß einer Einzel-DES- oder einer Dreifach-DES-Operation verschlüsselt. Der verschlüsselte Datenblock wird an eine zweite Verarbeitungsstufe (Kryptokern) weitergeleitet. In dieser zweiten Verarbeitungsstufe wird der verschlüsselte Datenblock gemäß einer Einzel-DES- oder einer Dreifach-DES-Operation weiter verschlüsselt. Der erste Verschlüsselungsschritt wendet die Datenverschlüsselung auf jeden Block an, und der zweite Verschlüsselungsschritt führt die Berechnung eines Nachrichten-Authentifizierungscodes über den verschlüsselten Nachrichtenblock und Header- und/oder Epilog-Daten blockweise durch. Gleichermaßen wird ein Verfahren zur Entschlüsselung einer Nachricht mit n verschlüsselten Datenblöcken und einem Nachrichten-Authentifizierungscode bereitgestellt. Der verschlüsselte Datenblock wird in einer ersten Verarbeitungsstufe gemäß einer Einzel-DES- oder einer Dreifach-DES-Operation entschlüsselt. Der erste Entschlüsselungsschritt wendet die Datenentschlüsselung auf jeden Block an, und der zweite Entschlüsselungsschritt ruft den Nachrichten-Authentifizierungscode über n Blöcke einer Kombination aus verschlüsselter Nachricht und Header- bzw. Epilog-Daten ab. Auf diese Weise kann man die gesamte Verschlüsselung unter Verwendung einer Pipeline-Struktur, die zwei unabhängige Verarbeitungsstufen (Kryptokerne) umfasst, teilweise parallel berechnen.
  • Weitere Aspekte der vorliegenden Erfindung ergeben sich aus der untenstehenden Beschreibung der bevorzugten Ausführungsformen unter Bezugnahme auf die beigefügten Zeichnungen. Es zeigen:
  • 1 ein vereinfachtes Schaubild, das den ECB-Modus darstellt,
  • 2 ein vereinfachtes Schaubild, das den CBC-Modus darstellt,
  • 3 ein vereinfachtes Schaubild einer Ausführungsform der vorliegenden Erfindung,
  • 4 ein Diagramm, das die allgemeinen Schritte der Datenverschlüsselung gemäß dem DES-Standard darstellt,
  • 5 ein Diagramm, das die Entschlüsselungsschritte gemäß dem DES-Standard darstellt,
  • 6 ein Ablaufdiagramm, das den Datenfluss in einer elektronischen Vorrichtung gemäß der vorliegenden Erfindung für die Verschlüsselung darstellt, und
  • 7 ein Ablaufdiagramm, das den Datenfluss in einer elektronischen Vorrichtung gemäß der vorliegenden Erfindung für die Entschlüsselung darstellt.
  • 3 zeigt ein vereinfachtes Schaubild einer bevorzugten Ausführungsform der vorliegenden Erfindung. Es gibt zwei Verarbeitungsstufen (Kryptokerne) DES/(3)DES Kern 1 und DES/(3)DES Kern 2. Der erste Kryptokern DES/(3)DES Kern 1 ist mit einem Eingabedatenbuffer 1 gekoppelt, der 8 Byte lang ist, was 64 Bit eines Datenblocks einer zu verschlüsselnden oder zu entschlüsselnden Nachricht entspricht. Ein erstes Schlüsselregister Schlüssel-Reg 1 ist ebenfalls mit dem ersten Kern DES/(3)DES Kern 1 gekoppelt, um den entsprechenden Geheimschlüssel für die Verschlüsselung bzw. Entschlüsselung bereitzustellen. Der Ausgangsbuffer in dem ersten Kanal CH1 ist lediglich optional. Daten können dem zweiten Eingabedatenbuffer 2 des zweiten Kanals CH2 direkt zugeführt werden. Der zweite Kanal CH2 ist speziell dafür vorgesehen, die notwendigen Verschlüsselungsschritte zur Berechnung des Nachrichten-Authentifizierungscodes durchzuführen. Der zweite Datenbuffer DATENBUFFER 2 ist doppelt so groß wie der erste Datenbuffer, um aufeinander folgende verschlüsselte bzw. entschlüsselte Datenblöcke von dem ersten Kanal zu speichern oder Header-Informationen und einen aus dem ersten Kanal ausgegebenen Datenblock zu speichern. Der Ausgangsbuffer des zweiten Kanals ist ebenfalls lediglich optional und kann weggelassen werden, wenn Daten sofort nach der Berechnung übertragen werden können. Die Steuerstufe kann als Maschine endlicher Zustände FSM realisiert sein. Ein Steuerregister Steuer-Regs stellt der Steuerstufe FSM Steuerinformationen bereit. Die Maschine endlicher Zustände FSM steuert zwei separate DES-Verschlüsselungs- bzw. -Entschlüsselungskanäle CH1 und CH2, die beide Einzel-DES- sowie Dreifach-DES-Operationen durchführen können. Beide Kanäle unterstützen den ECB-Modus für die Verschlüsselung und Entschlüsselung. Der erste Kanal unterstützt sowohl Verschlüsselung als auch Entschlüsselung im CBC-Modus, der zweite Kanal CH2 unterstützt den CBC-Modus lediglich für die Entschlüsselung. Die beiden Kanäle CH1 und CH können so konfiguriert sein, dass sie gemeinsam so arbeiten, dass sie den Durchsatz erhöhen, während Daten gemäß dem durch die ISO/IEC 7816-4 Spezifikation (DES Standard) festgelegten sicheren Mitteilungsübermittlungsformat verschlüsselt bzw. entschlüsselt werden. In der bevorzugten Art der Verwendung der in 3 gezeigten, bevorzugten Ausführungsform wird ein Kanal dafür verwendet, die Daten zu verschlüsseln bzw. zu entschlüsseln, während der andere Kanal gleichzeitig die kryptographische Signatur der Datenblockausgabe aus dem ersten Kanal OH1 berechnet. Der erste Kanal CH1 umfasst die Multiplexer MUX1 und MUX2 sowie die XOR-Gatter XOR zur Durchführung der entsprechenden CBC- bzw. EBC-Operationen. Dasselbe gilt für den zweiten Kanal CH2, bei dem die Multiplexer MUX4 und MUX5 und die XOR-Gatter XOR die notwendigen Operationen für den ECB- bzw. CBC-Modus bereitstellen. Der Multiplexer MUX3 führt die Datenblockausgabe aus dem ersten Kanal CH1 oder durch den Eingang DATEN_IN empfangene Eingabedaten selektiv zu. Der Multiplexer MUX6 ist so eingerichtet, dass er selektiv Daten aus dem ersten Kanal, dem zweiten Kanal oder aus den Steuerregistern an den Ausgang DATEN_OUT ausgibt.
  • 4 zeigt ein Diagramm, das die Datenverschlüsselung gemäß einem Protokoll für sichere Mitteilungsübermittlung (z. B. dem ISO/IEC 7816-4 Secure Messaging Protocol) darstellt. Dieses Protokoll legt fest, dass die Daten verschlüsselt werden müssen und ihnen eine kryptographische Signatur hinzugefügt werden sollte, bevor sie über einen ungesicherten Pfad gesendet werden. Die zu sendenden Klartextdaten werden als „Aufwärtsübertragungsdaten” („uplink data”) bezeichnet. Es können zusätzliche Statusinformationen übertragen werden, die nicht verschlüsselt sind. Wenn ein Block der Aufwärtsübertragungsdaten kleiner als 64 Bit ist, werden den Aufwärtsübertragungsdaten zusätzliche Bit hinzugefügt, um 64 Bit zu vervollständigen. Die Aufwärtsübertragungsdaten und die optionalen Auffülldaten werden in einem Kryptokern gemäß einer Einzel-DES- oder einer Dreifach-DES-Operation verschlüsselt. Das Ergebnis sind die verschlüsselten Daten. Des Weiteren werden zu den verschlüsselten Daten Daten-Header-Informationen und Dateiende-Informationen („epilog information”) hinzugefügt. Die Statusinformationen werden durchgeleitet. Der Header, das Dateiende, die verschlüsselten Daten und zusätzliche Auffüllbit werden in einem zweiten Schritt verschlüsselt, um den Nachrichten- Authentifizierungscode einzuschließen, dessen Ergebnis der berechnete MAC-Wert ist. Die zu sendenden Daten sind dann der Daten-Header, verschlüsselte Daten plus Statusinformationen, der MAC-Header, der berechnete MAC-Wert und Statusinformationen. Gemäß dem ISO/IEC 7816-4 Secure Messaging Protocol, entsprechen die folgenden Datenobjekte (DO) den vorher festgelegten Datenpaketen: DO'97: Daten-Header, DO'97: Trennzeichen, DO'8E: MAC-Header, DO'99: Dateiende.
  • Die Entschlüsselungsoperation ist in 5 dargestellt. Die empfangenen Daten enthalten einen Befehls-Header CmdHdr, einen Teil Lc, die verschlüsselten Daten, einschließlich des Daten-Headers, verschlüsselter Daten, zusätzlicher Daten-Header-Informationen, sowie den MAC-Header und optionale Null Bit. Der Befehls-Header CmdHdr, die Auffüllbit, der Daten-Header und die verschlüsselten Daten, ein Trennzeichen und zusätzliche Auffüllbit werden zur Durchführung der Dreifach-DES-Operation an einen Kryptokern geleitet, um den Nachrichten-Authentifizierungscode MAC wiederzugewinnen. Der wiedergewonnene und berechnete MAC-Wert wird mit dem empfangenen MAC-Wert verglichen, um die Authentifizierung der Nachricht zu überprüfen. Die Daten-Header-Informationen und die verschlüsselten Daten, einschließlich jeglicher optionaler Auffüllbit, werden dann in einer Dreifach-DES-Operation entschlüsselt, um die Klartextdaten und jegliche Auffüllbit zu erhalten. In Bezug auf das ISO/IEC 7816-4 Secure Messaging Protocol, ist DO'87 das Trennzeichen, DO'87 ist der Daten-Header, DO'E8 ist der MAC-Header.
  • Das Doppelkern-DES3DES-Modul gemäß der vorliegenden Erfindung ist darauf ausgelegt, den Durchsatz zu erhöhen, wenn Daten gemäß dem Schema zur sicheren Mitteilungsübermittlung zu senden bzw. zu empfangen sind. Da der Nachrichten-Authentifizierungscode MAC über die verschlüsselten Daten berechnet wird, die an einem gewissen Punkt entweder in das Modul zur Entschlüsselung geschrieben oder daraus nach der Verschlüsselung ausgelesen werden, ist die elektronische Vorrichtung gemäß der vorliegenden Erfindung vorzugsweise so ausgeführt, dass sie diese Daten automatisch als Eingabe für den MAC-Kanal (CH2) verwendet. Diese Daten müssen deshalb nicht separat in den zweiten Kanal CH2 geleitet werden, um den MAC zu berechnen.
  • 6 zeigt ein Diagramm, das einen Datenfluss gemäß der vorliegenden Erfindung darstellt. Der MAC-Kanal ist so eingerichtet, dass er für die aus dem Verschlüsselungskanal (CH1 in 3) ausgelesenen Daten die notwendigen Operationen durchführt und synchron mit dem Verschlüsselungskanal (CH1 in 3) startet. Entsprechend kann man den folgenden Ablauf und Datenfluss beobachten, nachdem die elektronische Vorrichtung gemäß der vorliegenden Erfindung eingerichtet wurde:
    • 1. Schreibe Sendefolgezähler in MAC-Kanal.
    • 2. Schreibe 1. Datenblock in Verschlüsselungskanal (der DES-Kern wird gestartet, wenn das 8. Datenbyte in den Verschlüsselungskanal geschrieben wird).
    • 3. Schreibe Daten-Header (z. B. DO'87) in MAC-Kanal.
    • 4. Lese 1. Verschlüsselungsergebnisse (diese Daten werden automatisch in den MAC-Kanal geschrieben).
    • 5. Schreibe 2., 3., ..., n. Datenblock in Verschlüsselungskanal und lese die Ergebnisse nach jeder Operation.
    • 6. Initialisiere eine MAC-Operation manuell, nachdem der letzte Datenblock gelesen wurde.
    • 7. An diesem Punkt muss der MAC-Kanal so konfiguriert sein, dass er für die letzte Operation eine Dreifach-DES-Verschlüsselung durchführt.
    • 8. Schreibe Dateiende (z. B. Datenobjekt '99 Header) und notwendiges Auffüllen in MAC-Kanal und starte die letzte MAC-Operation.
    • 9. Lese die kryptographische Signatur aus dem MAC-Kanal aus.
  • Der Eingabedatenstrom aus dem Verschlüsselungsblock wird in einen 7-Byte Datenteil aufgeteilt, der in dem zweiten DES-Pfad mit dem Daten-Header (1 Byte, z. B. DO'87 gemäß ISO/IEC 7816-4) zu kombinieren ist. Folglich wird das letzte Byte der 8 aus dem Verschlüsselungsblock ausgegebenen Byte an den nächsten DES-Kern geleitet und mit den ersten 7 Byte der entsprechenden Ausgabe aus dem zweiten Block der Verschlüsselungsstufe kombiniert. Das Dateiende kann das DO'99 Datenobjekt ge mäß dem ISO/IEC 7816-4 Secure Messaging Protocol sein. Diese Datenaufteilung auf Grund des notwendigen Einschlusses der Daten-Header-Informationen ist der Grund für den Eingangsbuffer mit doppelter Größe in der in 3 gezeigten MAC-Stufe (2 mal 8-Byte-Eingabedatenbuffer DATENBUFFER 2 in CH2).
  • 7 stellt einen Datenfluss für eine Entschlüsselungsoperation der elektronischen Vorrichtung gemäß der vorliegenden Erfindung dar. Wiederum geben vertikal ausgerichtete DES-Blöcke an, dass die beiden Kryptokerne parallel arbeiten. Für die Entschlüsselung muss der zweite Kanal (MAC) zwei Schritte im Voraus durchführen, um den Sendefolgezähler und den Befehls-Header CmdHdr plus die Auffüllinformationen zu entschlüsseln. Ein DES-Block in dem MAC-Kanal empfängt nacheinander zwei Blöcke verschlüsselter Daten. Da lediglich eine Einzel-DES-Operation durchgeführt wird, kann der Kryptokern des zweiten Kanals mehr Operationen in dem Zeitintervall, das der erste Kryptokern für eine Entschlüsselung gemäß der Dreifach-DES-Verschlüsselung benötigt, durchführen Die Daten- und Schlüsselregister in dem Modul sind vorzugsweise als eine Art Linksschieberegister ausgeführt. Das erste Byte bzw. Wort, das in diese Register geschrieben wird, wird in die äußerste linke Stelle des Registers geschrieben. Die folgenden Byte bzw. Wörter werden dann immer rechts der vorhergehenden Daten geschrieben. Dies ermöglicht es, dass der Inhalt der Register in lexikalischer Reihenfolge (von links nach rechts) betrachtet werden kann, was mit vielen Protokollspezifikationen übereinstimmt. Das erste Byte von 8 in die Datenregister geschriebenen Byte ist somit das äußerste linke Byte der 8 Byte. Ein Beispiel für eine Einzel-DES-Operation sieht wie folgt aus (alle Zahlen sind hexadezimal):
    Schlüssel = 0123 4567 89AB CDEF
    Klartext = CAFÉ ABBA 1234 ABCD
    Verschlüsselt = 3E3B 1B17 F395 6E62
  • Das erste Wort des in das Schlüsselregister geschriebenen Schlüssels ist 0123, gefolgt von 4567 und dem letzten Wort CDEF. (Der Schlüssel muss immer wortweise in das Schlüsselregister geschrieben werden.) Dasselbe gilt für die Daten, bei denen das erste Byte CA und das letzte Byte CD ist. Dann ist das erste gelesene Ergebnisbyte 3E, und das letzte Byte ist 62.
  • Lediglich der DES-Kanal 1 (CH1) hat ein dediziertes Ausgangsregister. Die Ergebnisse aus Kanal 2 (CH2 oder MAC-Kanal) werden direkt aus den Registern in dem DES-Kern ausgelesen. Es ist daher nicht möglich, irgendwelche Ergebnisse aus Kanal 2 auszulesen, während der DES-Kern in Betrieb ist. Dies ist lediglich für Kanal 1 möglich (bzw. sinnvoll), wenn der ECB-Modus angewendet wird, und wenn im CBC-Modus verschlüsselt wird.
  • Wiederum wird der Datenstrom aus der Entschlüsselungsstufe in zwei Datenpfade aufgeteilt. Einer empfängt die ersten sieben Byte des ersten aus der Entschlüsselungsstufe ausgegebenen Blocks und den Daten-Header (1 Byte), welcher der DO'87 des ISO/IEC 7816-4 Secure Messaging Protocol sein kann. Das in der letzten 3DES-Stufe der in 7 gezeigten MAC-Stufe hinzugefügte Trennzeichen kann das DO'99 Datenpaket des ISOI/IEC 7816-4 Secure Messaging Protocol sein.

Claims (10)

  1. Elektronische Vorrichtung zur Verschlüsselung von Datenblöcken einer Nachricht mit n Datenblöcken gemäß dem Datenverschlüsselungsstandard (DES), wobei die elektronische Vorrichtung umfasst: einen ersten Datenverarbeitungskanal, umfassend eine erste Verarbeitungsstufe zur Durchführung der Verschlüsselung von Datenblöcken einer vorbestimmten Länge, und einen ersten Eingabedatenbuffer, der mit einem Dateneingang und mit der ersten Verarbeitungsstufe gekoppelt ist, und einen zweiten Datenverarbeitungskanal, umfassend eine zweite Verarbeitungsstufe zur Durchführung der Verschlüsselung von Datenblöcken, einen zweiten Eingabedatenbuffer, der mit dem Dateneingang, mit einem Ausgang der ersten Verarbeitungsstufe und mit der zweiten Verarbeitungsstufe gekoppelt ist, wobei die elektronische Vorrichtung ferner eine Steuerstufe (FSM) zur Steuerung der ersten Verarbeitungsstufe und der zweiten Verarbeitungsstufe umfasst, derart, dass sie mit der zweiten Verarbeitungsstufe ein Verschlüsselungsschritt auf einen aus der ersten Verarbeitungsstufe ausgegebenen verschlüsselten Datenblock anwendet, wobei die Steuerstufe so eingerichtet ist, dass sie die erste Verarbeitungsstufe so steuert, dass sie die Datenverschlüsselung gemäß dem Datenverschlüsselungsstandard auf jeden Block anwendet, und dass sie die zweite Verarbeitungsstufe so steuert, dass sie einen Nachrichten-Authentifizierungscode über die im zweiten Eingabedatenbuffer kombiniert mit vom Dateneingang empfangenen Header- und/oder Epilogdaten enthaltene verschlüsselte Nachricht, blockweise berechnet.
  2. Elektronische Vorrichtung gemäß Anspruch 1, ferner umfassend ein erstes Schlüsselregister zum Speichern eines ersten Verschlüsselungs- und/oder Entschlüsselungsschlüssels zur Verwendung durch die erste Verarbeitungsstufe und ein zweites Schlüsselregister zum Speichern eines zweiten Verschlüsselungs- und/oder Entschlüsselungsschlüssels zur Verwendung durch die zweite Verarbeitungsstufe.
  3. Elektronische Vorrichtung gemäß einem der vorhergehenden Ansprüche, bei der der zweite Eingabedatenbuffer doppelt so groß ist wie der erste Datenbuffer.
  4. Elektronische Vorrichtung gemäß einem der vorhergehenden Ansprüche, bei der die erste Verarbeitungsstufe und die zweite Verarbeitungsstufe beide so eingerichtet sind, dass sie Einzel-DES- und Dreifach-DES-Operationen durchführen können.
  5. Elektronische Vorrichtung gemäß einem der Ansprüche 2 bis 4, bei der der erste und der zweite Verschlüsselungs- und/oder Entschlüsselungsschlüssel eine Maximallänge von 128 Bit hat.
  6. Elektronische Vorrichtung gemäß einem der vorhergehenden Ansprüche, bei der der erste Kanal so eingerichtet ist, dass er für die Verschlüsselung und Entschlüsselung den ECB-Modus und den CBC-Modus anwendet, und der zweite Kanal so eingerichtet ist, dass er ECB für die Verschlüsselung und Entschlüsselung und nur den CBC-Modus für die Verschlüsselung anwendet.
  7. Elektronische Vorrichtung gemäß einem der vorhergehenden Ansprüche, bei der ein Datenblock eine Länge von 64 Bit hat.
  8. Elektronische Vorrichtung zur Entschlüsselung von Datenblöcken einer Nachricht mit n Datenblöcken gemäß dem Datenverschlüsselungsstandard (DES), wobei die elektronische Vorrichtung umfasst: einen ersten Datenverarbeitungskanal, umfassend eine erste Verarbeitungsstufe zur Durchführung der Entschlüsselung von Datenblöcken einer vorbestimmten Länge, und einen ersten Eingabedatenbuffer, der mit einem Dateneingang und mit der ersten Verarbeitungsstufe gekoppelt ist, und einen zweiten Datenverarbeitungskanal, umfassend eine zweite Verarbeitungsstufe zur Durchführung der Entschlüsselung von Datenblöcken, einen zweiten Eingabedatenbuffer, der mit dem Dateneingang und einem Ausgang der ersten Verarbeitungsstufe und mit der zweiten Verarbeitungsstufe gekoppelt ist, wobei die elektronische Vorrichtung ferner eine Steuerstufe (FSM) zur Steuerung der ersten Verarbeitungsstufe und der zweiten Verarbeitungsstufe umfasst, derart, dass sie die erste Verarbeitungsstufe so steuert, dass sie die Datenentschlüsselung gemäß dem Datenverschlüsselungsstandard auf jeden Block anwendet, und dass sie die zweite Verarbeitungsstufe so steuert, dass sie einen Nachrichten-Authentifizierungscode über die im zweiten Eingabedatenbuffer kombiniert mit vom Dateneingang empfangenen Header- und/oder Epilogdaten enthaltene verschlüsselte Nachricht, blockweise berechnet.
  9. Verfahren zur Verschlüsselung einer Nachricht mit n Datenblöcken, wobei das Verfahren umfasst: Verschlüsseln eines von einem Dateneingang empfangenen Datenblocks in einer ersten Verarbeitungsstufe gemäß einer Einzel-DES- oder einer Dreifach-DES-Operation, Weiterleiten des verschlüsselten Datenblocks an eine zweite Verarbeitungsstufe und Verschlüsseln des verschlüsselten Datenblocks in der zweiten Verarbeitungsstufe gemäß einer Einzel-DES- oder einer Dreifach-DES-Operation, wobei der erste Verschlüsselungsschritt die Datenverschlüsselung auf jeden Block anwendet und der zweite Verschlüsselungsschritt die Berechnung eines Nachrichten-Authentifizierungscodes über die mit vom Dateneingang empfangenen Header- und/oder Epilogdaten kombinierte verschlüsselte Nachricht, blockweise durchführt.
  10. Verfahren zur Entschlüsselung einer verschlüsselten Nachricht mit n verschlüsselten Datenblöcken und eines Nachrichten-Authentifizierungscodes, wobei das Verfahren umfasst: Entschlüsseln eines von einem Dateneingang empfangenen Datenblocks in einer ersten Verarbeitungsstufe gemäß einer Einzel-DES- oder einer Dreifach-DES-Operation, Entschlüsseln des entschlüsselten Datenblocks in der zweiten Verarbeitungsstufe gemäß einer Einzel-DES- oder einer Dreifach-DES-Operation, wobei der erste Entschlüsselungsschritt die Datenentschlüsselung auf jeden Block anwendet und der zweite Entschlüsselungsschritt den Nachrichten-Authentifizierungscode aus der verschlüsselten Nachricht kombiniert mit vom Dateneingang empfangenen Header- und/oder Epilogdaten wiedergewinnt.
DE102007052656A 2007-11-05 2007-11-05 Digital-Verschlüsselungs-Hardware-Beschleuniger Active DE102007052656B4 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE102007052656A DE102007052656B4 (de) 2007-11-05 2007-11-05 Digital-Verschlüsselungs-Hardware-Beschleuniger
US12/264,782 US20090147947A1 (en) 2007-11-05 2008-11-04 Digital-encryption hardware accelerator
PCT/EP2008/064981 WO2009059991A1 (en) 2007-11-05 2008-11-05 Digital-encryption hardware accelerator
US14/163,924 US20140189367A1 (en) 2007-11-05 2014-01-24 Digital-encryption hardware accelerator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102007052656A DE102007052656B4 (de) 2007-11-05 2007-11-05 Digital-Verschlüsselungs-Hardware-Beschleuniger

Publications (2)

Publication Number Publication Date
DE102007052656A1 DE102007052656A1 (de) 2009-05-07
DE102007052656B4 true DE102007052656B4 (de) 2010-03-25

Family

ID=40514374

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102007052656A Active DE102007052656B4 (de) 2007-11-05 2007-11-05 Digital-Verschlüsselungs-Hardware-Beschleuniger

Country Status (2)

Country Link
US (2) US20090147947A1 (de)
DE (1) DE102007052656B4 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007052656B4 (de) * 2007-11-05 2010-03-25 Texas Instruments Deutschland Gmbh Digital-Verschlüsselungs-Hardware-Beschleuniger
CA2666036C (en) * 2008-05-16 2017-09-12 Chien-Hung Chen Novel compositions and methods for treating hyperproliferative diseases
US20100306553A1 (en) * 2009-06-01 2010-12-02 Poletti Iii Joseph William High-throughput cryptographic processing using parallel processing
EP2290872B1 (de) * 2009-08-27 2014-06-18 Nxp B.V. Vorrichtung zur Erzeugung eines Nachrichtenauthentifizierungscodes zur Authentifizierung einer Nachricht
JP5704951B2 (ja) * 2011-02-10 2015-04-22 ソニー株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
CN102843235A (zh) * 2012-09-06 2012-12-26 汉柏科技有限公司 一种报文加/解密方法
US10157282B2 (en) 2013-12-16 2018-12-18 International Business Machines Corporation Multiband encryption engine and a self testing method thereof
US9515818B2 (en) 2014-09-16 2016-12-06 Apple Inc. Multi-block cryptographic operation
US9594928B1 (en) * 2014-10-14 2017-03-14 Altera Corporation Multi-channel, multi-lane encryption circuitry and methods
KR102376506B1 (ko) * 2014-10-20 2022-03-18 삼성전자주식회사 암복호화기, 암복호화기를 포함하는 전자 장치 및 암복호화기의 동작 방법
US9710675B2 (en) 2015-03-26 2017-07-18 Intel Corporation Providing enhanced replay protection for a memory
US9792229B2 (en) * 2015-03-27 2017-10-17 Intel Corporation Protecting a memory
US10594491B2 (en) * 2015-12-24 2020-03-17 Intel Corporation Cryptographic system memory management
US10944568B2 (en) * 2017-10-06 2021-03-09 The Boeing Company Methods for constructing secure hash functions from bit-mixers
WO2020112342A1 (en) * 2018-11-28 2020-06-04 Mastercard International Incorporated Systems and methods for optimized retail message authentication code processing
DE102019127335A1 (de) * 2019-10-10 2021-04-15 Infineon Technologies Ag Erzeugen von Hash-Werten

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1816782A1 (de) * 2000-01-14 2007-08-08 Mitsubishi Denki Kabushiki Kaisha Verschlüsseler, Verschlüsselungsverfahren, Entschlüsseler, Entschlüsselungsverfahren und computerlesbares Aufzeichnungsmedium mit darauf gespeichertem Programm
EP1865655A1 (de) * 2006-06-07 2007-12-12 STMicroelectronics S.r.l. Integration einer AES-Verschlüsselungsschaltung mit CCM

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5008935A (en) * 1989-06-30 1991-04-16 At&T Bell Laboratories Efficient method for encrypting superblocks of data
US5671283A (en) * 1995-06-08 1997-09-23 Wave Systems Corp. Secure communication system with cross linked cryptographic codes
US6909715B1 (en) * 1999-08-31 2005-06-21 Broadcom Corporation Method and apparatus for the reduction of upstream request processing latency in a cable modem termination system
US20050195975A1 (en) * 2003-01-21 2005-09-08 Kevin Kawakita Digital media distribution cryptography using media ticket smart cards
EP1870814B1 (de) * 2006-06-19 2014-08-13 Texas Instruments France Verfahren und Vorrichtung für sicheren, nachfragebasierten Seitenabruf für Prozessorvorrichtungen
US20060031873A1 (en) * 2004-08-09 2006-02-09 Comcast Cable Holdings, Llc System and method for reduced hierarchy key management
US7383438B2 (en) * 2004-12-18 2008-06-03 Comcast Cable Holdings, Llc System and method for secure conditional access download and reconfiguration
US7933410B2 (en) * 2005-02-16 2011-04-26 Comcast Cable Holdings, Llc System and method for a variable key ladder
US8327158B2 (en) * 2006-11-01 2012-12-04 Texas Instruments Incorporated Hardware voting mechanism for arbitrating scaling of shared voltage domain, integrated circuits, processes and systems
EP2075696A3 (de) * 2007-05-10 2010-01-27 Texas Instruments Incorporated Unterbrechungsbedingte Schaltkreise, Systeme und Verfahren
US20080307240A1 (en) * 2007-06-08 2008-12-11 Texas Instruments Incorporated Power management electronic circuits, systems, and methods and processes of manufacture
US8055886B2 (en) * 2007-07-12 2011-11-08 Texas Instruments Incorporated Processor micro-architecture for compute, save or restore multiple registers and responsive to first instruction for repeated issue of second instruction
WO2009059991A1 (en) * 2007-11-05 2009-05-14 Texas Instruments Deutschland Gmbh Digital-encryption hardware accelerator
DE102007052656B4 (de) * 2007-11-05 2010-03-25 Texas Instruments Deutschland Gmbh Digital-Verschlüsselungs-Hardware-Beschleuniger
US7730248B2 (en) * 2007-12-13 2010-06-01 Texas Instruments Incorporated Interrupt morphing and configuration, circuits, systems and processes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1816782A1 (de) * 2000-01-14 2007-08-08 Mitsubishi Denki Kabushiki Kaisha Verschlüsseler, Verschlüsselungsverfahren, Entschlüsseler, Entschlüsselungsverfahren und computerlesbares Aufzeichnungsmedium mit darauf gespeichertem Programm
EP1865655A1 (de) * 2006-06-07 2007-12-12 STMicroelectronics S.r.l. Integration einer AES-Verschlüsselungsschaltung mit CCM

Also Published As

Publication number Publication date
US20140189367A1 (en) 2014-07-03
DE102007052656A1 (de) 2009-05-07
US20090147947A1 (en) 2009-06-11

Similar Documents

Publication Publication Date Title
DE102007052656B4 (de) Digital-Verschlüsselungs-Hardware-Beschleuniger
DE60121284T2 (de) Verfahren und Vorrichtung zur Ausführung einer kryptographischen Funktion
DE69938539T2 (de) Kryptographische Einrichtung mit parallel geschalteten Verschlüsselungsblöcken
DE102008014359B4 (de) Ausführen einer AES-Verschlüsselung oder -Entschlüsselung in mehreren Modi mit einem einzigen Befehl
EP0986872B1 (de) Vorrichtung zur durchführung eines blockchiffrierverfahrens
DE69736148T2 (de) Verfahren und Einrichtung zur Datenverschlüsselung
DE102005012098B4 (de) Datenchiffrierprozessor sowie AES-Chiffriersystem und AES-Chiffrierverfahren
DE102008016530B4 (de) Effizienter Advanced Encryption Standard (AES)-Datenweg mittels hybrider Rijndael-S-Box
DE60222052T2 (de) Verschlüsselung gesichert gegen Angriffe durch die Analyse der Leistungsaufnahme (DPA)
DE60117230T2 (de) Stromverschlüsselungsanwendungsbeschleuniger und zugehöriges Verfahren
EP1777913B1 (de) Verfahren zur Verschlüsselung bzw. Entschlüsselung von Datenpaketen eines Datenstroms
CH656761A5 (de) Datenuebertragungsanlage, die eine verschluesselungs/entschluesselungs-vorrichtung an jedem ende wenigstens einer datenverbindung aufweist.
EP1298834B1 (de) Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten
DE60117255T2 (de) Verbessern des durchsatzes von des-hardware für kurze operationen
DE2658065A1 (de) Maschinelles chiffrieren und dechiffrieren
DE102005056814A1 (de) Kryptografiesystem und Datenverschlüsselungsverfahren
DE60221850T2 (de) Verfahren und vorrichtung zur datenverschlüsselung
DE3432721C2 (de)
DE69834296T2 (de) Verschlüsselungsvorrichtung und rechnerlesbares Aufzeichnungsmedium mit Ausführungsprogramm
DE102004004799A1 (de) Hardware/Software-Partitionierung für verschlüsselte WLAN-Verbindungen
DE602004001732T2 (de) Datenverschlüsselung in einem elektronischen Gerät mit mehreren symmetrischen Prozessoren
DE60009257T2 (de) Verfahren und Vorrichtung zum Entwurf einer Verschlüsselungslogik und zugehöriger Computer
DE102004038594B4 (de) Verschlüsselungsverfahren und -vorrichtung
EP1683029B1 (de) Verfahren zur speicherung von daten in einem wahlzugriffspeicher und verschlüsselungs- und entschlüsselungsvorrichtung
EP1668817A1 (de) Verfahren und vorrichtung zur ver- und entschl sselung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R082 Change of representative

Representative=s name: ZELLER, ANDREAS, DE