DE102005001953A1 - Verfahren und Schaltungsanordnung zur Überprüfung eines Datensatzes mit mehreren Datenworten - Google Patents

Verfahren und Schaltungsanordnung zur Überprüfung eines Datensatzes mit mehreren Datenworten Download PDF

Info

Publication number
DE102005001953A1
DE102005001953A1 DE102005001953A DE102005001953A DE102005001953A1 DE 102005001953 A1 DE102005001953 A1 DE 102005001953A1 DE 102005001953 A DE102005001953 A DE 102005001953A DE 102005001953 A DE102005001953 A DE 102005001953A DE 102005001953 A1 DE102005001953 A1 DE 102005001953A1
Authority
DE
Germany
Prior art keywords
word
encrypted
data
data words
error
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.)
Withdrawn
Application number
DE102005001953A
Other languages
English (en)
Inventor
Steffen Sonnekalb
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102005001953A priority Critical patent/DE102005001953A1/de
Priority to FR0600105A priority patent/FR2880962A1/fr
Priority to US11/333,552 priority patent/US20060179395A1/en
Publication of DE102005001953A1 publication Critical patent/DE102005001953A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

Es wird ein Verfahren zur Überprüfung eines Datensatzes mit mehreren Datenworten beschrieben. Das Verfahren umfasst die Bereitstellung eines verschlüsselten Datensatzes (20) mit mehreren verschlüsselten Datenworten (201, 202, 203, 204) sowie einem dem Datensatz zugeordneten Fehlerkodewort (110). Nach der Entschlüsselung der verschlüsselten Datenworte (201, 202, 203, 204) wird geprüft, ob das Fehlerkodewort (110) den entschlüsselten Datenworten (301, 302, 303, 304) zuzuordnen ist. Wenn das Fehlerkodewort (110) nicht zuzuordnen ist, wird eine Alarmreaktion durchgeführt.

Description

  • Verfahren und Schaltungsanordnung zur Überprüfung eines Datensatzes mit mehreren Datenworten
  • Die Erfindung betrifft ein Verfahren und eine Schaltungsanordnung zur Überprüfung eines Datensatzes mit mehreren Datenworten gemäß den nebengeordneten Patentansprüchen.
  • Bei sicherheitsrelevanten Schaltungsanordnungen sind Daten normalerweise durch Verwendung einer kryptographischen Einheit geschützt. Die kryptographische Einheit entschlüsselt die Daten vor deren eigentlicher Verwendung, beispielsweise zur Verarbeitung in einem Rechenwerk, und verschlüsselt die Daten, damit sie, beispielsweise bei Ablage in einem Speicher, nur verschlüsselt vorliegen, um ein unberechtigtes Auslesen der Daten oder gezielte Datenmanipulation zu erschweren. Die kryptographische Einheit ist meist zwischen dem Rechenwerk und dem Speicher angeordnet.
  • Im Speicher selbst oder im Verlauf der Datenübertragung vom Speicher zur kryptographischen Einheit können Fehler auftreten. Hierbei handelt es sich entweder um zufällige Bitänderungen oder gezielte Manipulationen des Speichers oder eines Übertragungsweges, der auch als Datenbus bezeichnet wird, zur kryptographischen Einheit. Bei zufälligen Bitänderungen oder kurzzeitig auftretenden Manipulationen sind häufig nur wenige Bits, manchmal nur ein einziges, betroffen. Um auch in diesen Fällen, insbesondere bei den so genannten Einzelfehlern, die Richtigkeit der Daten zu gewährleisten und deren Verarbeitung nicht zu beeinträchtigen, werden Fehler korrigierende Kodes eingesetzt, die auch als ECC für deren englischsprachige Bezeichnung „error correction codes" abgekürzt werden.
  • Die Fehler korrigierenden Kodes werden auf die bereits verschlüsselten Daten angewendet, sodass die Verschlüsselung zwei von ein einander unabhängige Verschlüsselungsschritte umfasst. Dafür ist neben der eigentlichen kryptographischen Einheit zur Entschlüsselung und Verschlüsselung eine dedizierte Extra-Hardware, mit der die Schritte der relativ aufwändigen Fehler korrigierenden Kodierung nebst Korrektur ausgeführt werden, erforderlich.
  • Der mit der Extra-Hardware verbundene zusätzliche Stromverbrauch ist insbesondere bei portablen Anwendungen, beispielsweise in Chipkarten, von Nachteil. Es ist Aufgabe der vorliegenden Erfindung, ein Verfahren zur Datenüberprüfung und -korrektur unter Ausnutzung der von der kryptographischen Einheit bereitgestellten Funktionen zu beschreiben.
  • Die Aufgabe wird durch die in den nebengeordneten Patentansprüchen angegebenen Maßnahmen gelöst. Das beanspruchte Verfahren zur Überprüfung eines Datensatzes mit mehreren Datenworten umfasst ein Bereitstellen eines verschlüsselten Datensatzes mit verschlüsselten Datenworten, ein Bereitstellen eines dem verschlüsselten Datensatz zugeordneten Fehlerkodewortes, ein Entschlüsseln der verschlüsselten Datenworte des verschlüsselten Datensatzes, ein Prüfen, ob das Fehlerkodewort den entschlüsselten Datenworten des entschlüsselten Datensatzes zuzuordnen ist, sowie ein Durchführen einer Alarmaktion, wenn das Fehlerkodewort nicht den entschlüsselten Datenworten des entschlüsselten Datensatzes zugeordnet ist.
  • Des Weiteren ist eine Schaltungsanordnung zur Überprüfung von Datenworten beschrieben, die auf dem erfindungsgemäßen Verfahren basiert.
  • Durch das erfindungsgemäße Verfahren ist die Datenübertragung bis inklusive des Entschlüsselns des Datensatzes in der kryptographischen Einheit geschützt.
  • Die verschlüsselten Datenworte werden durch eine Verschlüsselung aus den zu schützenden Datenworten generiert.
  • Zur Generierung des Fehlerkodewortes wird eine kodegenerierte, vorzugsweise lineare Überlagerung oder eine beliebige Funktion von Eingangsworten eines Eingangsdazensatzes verwendet, deren Ausgangsdatenwort das Fehlerkodewort ist. Als Eingangsdatensatz dient der Datensatz, dem ein Fehlerkodewort zugeordnet ist. Somit ist die Information aller Datenworte des Datensatzes im Fehlerkodewort verknüpft. Vorteilhafterweise wird auch das Fehlerkodewort zunächst verschlüsselt der kryptographischen Einheit bereitgestellt und dann entschlüsselt.
  • Eine vorteilhafte Alarmaktion umfasst die Korrektur der entschlüsselten Datenworte, sodass sich Bitfehler nicht auf die Datenverarbeitung auswirken. Zur Korrektur der verschlüsselten Datenworte werden die entschlüsselten Datenworte des entschlüsselten Datensatzes und das Fehlerkodewort bereitgestellt. Aus den entschlüsselten Datenworten und dem Fehlerkodewort wird ein Fehlersyndrom generiert, das anzeigt, ob beziehungsweise inwiefern sich das Fehlerkodewort dem entschlüsselten Datensatz zuordnen lässt. Die Datenworte werden, wenn erforderlich, korrigiert, indem deren Bits entsprechend der durch das Fehlersyndrom angezeigten Abweichungen vom Fehlerkodewort korrigiert werden. Auf diese Weise wird auch das fehlerhafte Datenwort, das zu Fehleranzeigen im Fehlersyndrom geführt hat, korrigiert.
  • Für eine schnelle Korrektur ist es sinnvoll, dass sich jedes Datenwort aus den übrigen Datenworten und dem Fehlerkodewort berechnen lässt.
  • Die kodegenerierte, lineare Überlagerung, die verwendet wird, um das Fehlerkodewort zu generieren, ist vorteilhafterweise eine Exklusiv-Oder-Verknüpfung von Datenworten des Datensatzes, deren Implementierung nicht aufwändig ist. Hierbei wird ein i-tes Bit aller Datenworte des Datensatzes verknüpft, um ein i-tes Bit des Fehlerkodewortes zu generieren. Alternativ kann die Exklusiv-Oder-Verknüpfung der Datenfolge auch erfolgen, nachdem die Datenworte jeweils in unterschiedlicher Weise permutiert worden sind, damit aus dem Fehlerkodewort der Rückschluss auf die darin verknüpften Datenworte erschwert ist.
  • Bei Verwendung einer der oben beschriebenen, kodegenerierten, linearen Überlagerungen kann das Datenwort durch eine Exklusiv-Oder-Verknüpfung des dem i-ten Bit des Fehlerkodewortes zugeordneten Bits des Datenwortes mit dem i-ten Bit des Fehlersyndroms korrigiert werden. Auch diese Exklusiv-Oder-Verknüpfung ist in einfacher Weise zu implementieren.
  • Die weiteren Verfahrensschritte beruhen auf der Annahme, dass sich die Fehler in einem Wort befinden, beziehungsweise dass es sich um einen Ein-Bit-Fehler handelt. Dies korrigierten Datenworte werden erneut verschlüsselt und mit den bereitgestellten, verschlüsselten Datenworten verglichen. Auf diese Weise sind Abweichungen durch die Korrektur zu erkennen. Es wird der Abstand zwischen jedem verschlüsselten Datenwort und dem dazugehörigen verschlüsselten, korrigierten Datenwort für den gesamten Datensatz bestimmt und das Datenwort mit dem geringsten Abstand ausgewählt.
  • Unter der Annahme, dass möglichst wenig Bitfehler nur bei einem einzigen verschlüsselten Datenwort aufgetreten sind, wird das Datenwort mit dem geringsten Abstand zwischen dem entsprechenden verschlüsselten Datenwort und dem entsprechenden, verschlüsselten, korrigierten Datenwort ausgewählt, und dessen Korrektur wird übernommen. Insbesondere wenn man von Einzelfehlern ausgeht, wird der Vergleich dadurch erleichtert, dass lediglich nach einer Abweichung um ein Bit gesucht wird. Auf diese Weise wird die Suche nach dem minimalen Abstand vereinfacht. Bei den übrigen Datenworten des Datensatzes wird die Korrektur nicht übernommen, da von der Anahme ausgegangen wird, dass nur ein Wort fehlerhaft ist.
  • Der Abstand zweier Datenworte ist als die Anzahl der sie unterscheidenden Bits definiert.
  • Die erfindungsgemäße Schaltungsanordnung zur Überprüfung eines Datensatzes mit mehreren Datenworten umfasst eine kryptographische Einheit, die ihrerseits umfasst einen Eingang zum Zuführen eines Datensatzes mit verschlüsselten Datenwor- ten und eines Fehlerkodewortes, eine Entschlüsselungseinrichtung, die ausgebildet ist, um die verschlüsselten Datenworte des verschlüsselten Datensatzes zu entschlüsseln, eine Verknüpfungseinrichtung, die ausgebildet ist, um die entschlüsselten Datenworte mit dem Fehlerkodewort zu einem Fehlersyndrom zu verknüpfen und eine Vergleichseinrichtung, die ausgebildet ist, um das Fehlersyndrom mit einem vorgegebenen Wert zu vergleichen.
  • Die Ausgestaltung der kryptographischen Einheit umfasst neben der Entschlüsselungseinrichtung nur wenige zusätzliche, einfache Hardware-Elemente, um die Umsetzung des Verfahrens zu ermöglichen, die auf einfache Weise in eine konventionelle kryptographische Einheit integrierbar sind.
  • Vorteilhafterweise ist die kryptographische Einheit ausgebildet, ein verschlüsseltes Fehlerkodewort zu entschlüsseln. Auf diese Weise liegt auch das Fehlerkodewort an der kryptographischen Einheit in verschlüsselter Form vor, sodass Rückschlüsse auf die verwendete Verschlüsselung und/oder die verschlüsselten Daten erschwert werden.
  • Des Weiteren ist die kryptographische Einheit ausgebildet, die entschlüsselten Datenworte zu korrigieren, wenn die entschlüsselten Datenworte nicht dem Fehlerkodewort zuzuordnen sind. Durch dieses Merkmal ist es nicht nur möglich, Datenfehler der Datenworte zu erkennen, sondern auch zu korrigieren.
  • Weiterhin ist die kryptographische Einheit ausgebildet, die korrigierten Datenworte zu verschlüsseln, sodass die Entschlüsselung und die Verschlüsselung durch eine Einheit bereitgestellt werden.
  • Weiterhin ist die kryptographische Einheit ausgebildet, jedes der verschlüsselten Datenworte des verschlüsselten Datensatzes mit einem entsprechenden verschlüsselten, korrigierten Datenwort eines verschlüsselten korrigierten, Datensatzes zu vergleichen und einen Abstand zu bestimmen, sodass eine Bewertung der Korrektur ermöglicht wird. Unter der Annahme, dass möglichst wenig Fehler in nur einem einzigen verschlüsselten Datenwort aufgetreten sind, wird das Datenwort mit dem geringsten Abstand als das fehlerhafte Wort ausgewählt. Eine besonders einfache Ausgestaltung geht von einem Ein-Bit-Fehler aus, sodass sich die Bewertung des Abstandes lediglich darauf beschränkt, ob die Abweichung ein Bit: beträgt. Hei Ausgabe eines Datensatzes von entschlüsselten Datenworten durch die kryptographische Einheit wird das ausgewählte Datenwort korrigiert ausgegeben, die übrigen Datenworte des Datensatzes lediglich entschlüsselt, ohne Korrektur.
  • Die kryptographische Einheit wird in Schaltungsanordnungen eingesetzt und zwischen einem Rechenwerk und einem Speicher angeordnet, um die gesicherte Datenübertragung zwischen diesen beiden Einheiten zu gewährleisten. In der Regel wird die kryptographische Einheit direkt dem Speichen vorgeschaltet und ist in diesen auch integrierbar.
  • Die Verschlüsselung der Datenworte durch die kryptographische Einheit kann durch die Bereitstellung eines weiteren Eingangs zum Anlegen einer Adressinformation und die Verschlüsselung der Datenworte in Abhängigkeit der Adressinformation ausgebildet sein. Auf diese Weise erfolgt eine zusätzliche Sicherung, die auch die Zuordnung von Dateninformationen zu einer Adressinformation beinhaltet. Fehlerhafte Adressabfragen werden als Fehler erkannt und deuten auf eine mögliche Manipulation hin. Bei dieser Ausgestaltung bietet sich die Anordnung der kryptographischen Einheit direkt am Rechenwerk an, das die Adressinformation bereitstellt.
  • Weitere vorteilhafte Ausgestaltungen der Erfindung sind in den untergeordneten Patentansprüchen angegeten.
  • Nachfolgend wird die Erfindung unter Bezugnahme auf die Zeichnung anhand von Ausführungsbeispielen erklärt.
  • Es zeigen:
  • 1 eine Struktur eines Datenwortes;
  • 2 eine Schaltungsanordnung mit einer kryptographischen Einheit, die einem Speicher direkt vorgeschaltet ist;
  • 3 eine alternative Schaltungsanordnung mit der kryptographischen Einheit, die einem Rechenwerk direkt vorgeschaltet ist;
  • 4 ein Ausführungsbeispiel einer kryptographischen Einheit, der ein Datensatz und ein Fehlerkodewort zugeführt werden;
  • 5 ein alternatives Ausführungsbeispiel einer kryptographischen Einheit, der verschiedene Datensätze und ein Fehlerkodewort zugeführt werden;
  • 6 den Ablauf einer Verschlüsselung eines Datensatzes durch die kryptographische Einheit;
  • 7 den Ablauf einer Entschlüsselung und einer Korrektur eines verschlüsselten Datensatzes durch die kryptographische Einheit;
  • 8 eine Tabelle mit einem beispielhaften Datensatz und einem zugeordneten Fehlerkodewort;
  • 9 eine Tabelle mit einem verschlüsselten Datensatz und einem verschlüsselten Fehlerkodewort gemäß 8;
  • 10 eine Tabelle mit einem entschlüsselten Datensatz, einem entschlüsselten Fehlerkodewort und einem Fehlersyndrom gemäß 9;
  • 11 eine Tabelle mit einem korrigierter. Datensatz gemäß 10;
  • 12 eine Tabelle mit einem verschlüsselten, korrigierten Datensatz gemäß 11 und Abständen zum verschlüsselten Datensatz gemäß 9.
  • 1 zeigt eine Struktur eines Datenwortes, das n Bits umfasst. Ein typisches Datenwort umfasst beispielsweise 32 Bits. Es sei bereits bemerkt, dass die beispielhaften Datenworte in Tabellen der 8 bis 12 jeweils acht Bits umfassen, um die Übersichtlichkeit und das Verständnis des Verfahrens zu erleichtern.
  • 2 zeigt eine Schaltungsanordnung, die ein Rechenwerk CPU und einen Speicher MEM umfasst. Zwischen dem Rechenwerk CPU und dem Speicher MEM ist eine kryptographische Einheit MED angeordnet. Im dargestellten Ausführungsbeispiel ist die kryptographische Einheit MED dem Speicher MEM unmittelbar vorgeschaltet. Diese Ausgestaltung ist hinsichtlich einer Integration der beiden Einheiten von Vorteil.
  • 3 zeigt eine alternative Ausgestaltung der Schaltungsanordnung, bei der die kryptographische Einheit MED unmittelbar vor dem Rechenwerk CPU angeordnet ist. Auf diese Weise sind nicht nur Daten im Speicher MEM geschützt, sondern die Daten werden zusätzlich bis zur Übertragung in das Rechenwerk CPU, also auch auf Buswegen dorthin, geschützt. Erst vor der eigentlichen Verwendung der Daten im Rechenwerk CPU werden sie dort in unverschlüsselter Form bereitgestellt. Auf diese Weise wird die Sicherheit der Schaltungsanordnung gegenüber Datenveränderungen und -manipulationen erhöht.
  • Die Schaltungsanordnung kann sowohl modular als auch integriert, beispielsweise zur Verwendung in einer Chipkarte, ausgestaltet sein.
  • 4 zeigt ein einfaches Ausführungsbeispiel einer erfindungsgemäßen, kryptographischen Einheit MED, der ein verschlüsselter Datensatz 20 und ein Fehlerkodewort 110 zugeführt ist. Der verschlüsselte Datensatz 20 umfasst mehrere verschlüsselte Datenworte 201, 202, 203, 204. Die Anzahl der Datenworte ist in diesem Beispiel zu vier gewählt worden. Auch eine andere Anzahl, beispielsweise acht, ist selbstverständlich denkbar. Der verschlüsselte Datensatz 20 und ein Fehlerkodewort 110 ist an einen Eingang 22 der kryptographischen Einheit MED zugeführt. Die kryptographische Einheit MED kann auch mit weiteren Eingängen derart ausgestaltet sein, dass an einem dieser Eingänge das Fehlerkodewort 110 zugeführt ist und an den übrigen die verschlüsselten Datenworte 201, 202, 203, 204 des verschlüsselten Datensatzes 20. Die Art der Zuführung ist dabei unerheblich. Sie kann sowohl parallel als auch seriell erfolgen.
  • Das Fehlerkodewort 110 kann sowohl in unverschlüsselter Weise der kryptographischen Einheit MED zugeführt werden als auch in verschlüsselter Form. Die Art der Zuführung beeinträchtigt die Fehlererkennung und Fehlerkorrektur prinaipiell nicht. Dennoch ist es von Vorteil, wenn auch das Fehlerkodewort 110 in verschlüsselter Weise der kryptographischen Einheit zugeführt wird. Durch die Verschlüsselung liegen alle Daten am Eingang der kryptographischen Einheit, beispielsweise aus dem Speicher MEM, in verschlüsselter Form vor, was bei einem Angriff deren unberechtigte Entschlüsselung erschwert.
  • Das Fehlerkodewort 110 ist den verschlüsselten Datenworten 201, 202, 203, 204 des verschlüsselten Datensatzes 20 zugeordnet und wird vor deren Verschlüsselung aus diesen mittels einer kodegenerierten Verknüpfung generiert, Bei einer Abspeicherung des verschlüsselten Datensatzes 20 wird das Fehlerkodewort 110 ebenfalls abgespeichert. Auch wenn hierbei verglichen mit den eigentlichen Daten zusätzlicher Speicherplatz benötigt wird, sei anzumerken, dass zusätzlicher Speicherplatz auch bei Fehler korrigierender Kodierung, wenn dem Datenwort redundante Information hinzugefügt; wird, um eventuell auftretende Fehler zu korrigieren, erforderlich ist.
  • Die erfindungsgemäße, kryptographische Einheit MED in 4 ist geeignet, einen verschlüsselten Datensatz 20 mit einem zugeordneten Fehlerkodewort 110 zu vergleichen. In der kryptographischen Einheit MED ist eine Entschlüsselungseinrichtung 3 vorgesehen, um den verschlüsselten Datensatz 20 zu entschlüsseln. Wenn das Fehlerkodewort in verschlüsselter Form vorliegt, dient die Entschlüsselungseinrichtung 3 auch zu dessen Entschlüsselung. Die intern vorliegenden, entschlüsselten Datenworte 301, 302, 303, 304 und das Fehlerkodewort 110 werden durch eine Verknüpfungseinrichtung 1 zu einem neuen Fehlersyndrom 320 verknüpft. Das Fehlersyndrom 320 wird mit einem vorgegebenen Wert in einer Vergleichseinrichtung 5 verglichen, um festzustellen, ob das Fehlerkodewort 110 sich den entschlüsselten Datenwörtern 301, 302, 303, 304 zuordnen lässt, sodass man von einem fehlerfreien Datensatz ausgehen kann.
  • Bei der beschriebenen kryptographischen Einheit MED handelt es sich um eine einfache Ausgestaltung, mit der nur Fehler des anliegenden verschlüsselten Datensatzes 20 angezeigt werden können. Eine solche Ausgestaltung ist geeignet, um lediglich auftretende Fehler beispielsweise durch. ein auszugebendes Alarmsignal anzuzeigen. Sie wird vorteilhafterweise parallel zu einer eigentlichen kryptographischen Einheit, die nur der Entschlüsselung und Verschlüsselung dient, betrieben.
  • 5 zeigt eine vorteilhafte Weiterentwicklung einer kryptographischen Einheit MED. Diese Ausgestaltung ermöglicht sowohl die Verschlüsselung eines Datensatzes 10 als auch die Entschlüsselung eines verschlüsselten Datensatzes 20 und gegebenenfalls die Korrektur eines fehlerhaften verschlüsselten Datenwortes 201, 202, 203, 204. Die Ausgestaltung weist sowohl eine Verschlüsselungseinrichtung 2, mittels der die Datenworte 101, 102, 103, 104 des Datensatzes 10 verschlüsselt werden, als auch eine Entschlüsselungseinrichtung 3 zur Entschlüsselung eines verschlüsselten Datensatzes 20 und gegebenenfalls eines verschlüsselten Fehlerkodewortes 210 auf.
  • Zusätzlich zu den bereits für 4 beschriebenen Funktionen ist es mit der Ausgestaltung, die in 5 dargestellt ist, möglich, den über einen Eingang 11 zugeführten Datenworten 1 01, 102, 103, 104 des Datensatzes 10 durch Verwendung der Verknüpfungseinrichtung 1 ein Fehlerkodewort zuzuordnen. Dieses wird zusammen über einen Ein-/Ausgang 22 mit den verschlüsselten Datenworten 201, 202, 203, 204 entweder in unverschlüsselter Form oder vorteilhafterweise in verschlüsselter Form ausgegeben. Selbstverständlich kann anstatt des Ein-/Ausgangs 22 auch ein separater Eingang und ein separater Ausgang vorgesehen sein.
  • Bei der Entschlüsselung wird der verschlüsselte Datensatz 20 und das verschlüsselte Fehlerkodewort 210 über einen Ein/Ausgang 22 zugeführt.
  • Wenn nach der Entschlüsselung des verschlüsselten Datensatzes 20 und der Prüfung mit dem Fehlerkodewort 110 festgestellt wird, dass das Fehlerkodewort 110 nicht dem Datensatz zuzuordnen ist, ist eine Korrektur des intern vorliegenden, ent– schlüsselten Datensatzes 30 möglich. Die Korrektur bedient sich der Verschlüsselungseinrichtung 2 und einer Einrichtung zur Bestimmung des Abstandes 4. Die entschlüsselten Datenworte 301, 302, 304 werden nebst dem korrigierten Datenwort 403 über einen Ausgang 33 ausgegeben. Bei Feststellung eines Fehlers im Fehlerkodewort erfolgt die Ausgabe der entschlüsselten Datenworte ohne Korrektur.
  • An dieser Stelle wird darauf hingewiesen, dass die in den 4 und 5 dargestellten Ausführungsbeispiele kombinierbar sind.
  • 6 zeigt den Ablauf einer Verschlüsselung, um den verschlüsselten Datensatz 20 mit dem zugeordneten Fehlerkodewort 110 zu generieren. Üblicherweise. wird dieser Verfahrensschritt ebenfalls durch die kryptographische Einheit realisiert, die sowohl verschlüsselt als auch entschlüsselt.
  • Ein Datensatz 10, hier beispielhaft bestehend aus vier Datenworten 101, 102, 103, 104, wird verknüpft, um ein Fehlerkodewort 110 zu generieren. Das Fehlerkodewort 110 umfasst dieselbe Anzahl an Bits wie jedes der Datenworten 101, 102, 103, 104. Zur Verknüpfung dient ein Verknüpfungselement 1, das eine kodegenerierte, lineare Verknüpfung realisiert. In diesem Fall handelt es sich um eine Exklusiv-Oder-Verknüpfung der Datenworte 101, 102, 103, 104 des Datensatzes 10. Die Exklusiv-Oder-Verknüpfung erfolgt in folgender, einfacher Weise: Die ersten Bits der Datenworte 101, 102, 103, 104 werden über eine Exklusiv-Oder-Verknüpfung zum ersten Bit des Fehlerkodewortes 110 verknüpft. Ebenso werden die zweiten Bits der Datenworte 101, 102, 103, 104 über die Exklusiv-Oder-Verknüpfung zum zweiten Bit des Fehlerkodewortes 110 verknüpft. Das Gleiche geschieht mit dem i-ten Bit der Datenworte, die zum i-ten Bit des Fehlerkodewortes verknüpft werden.
  • Bei einer alternativen Verknüpfung werden die Bits eines jeden Datenwortes vor der Exklusiv-Oder-Verknüpfung permutiert. Folgende Verknüpfung ist denkbar: Das erste Bit eines ersten Datenwortes 101, das zweite Bit eines zweiten Datenwortes 102, das dritte Bit eines dritten Datenwortes 103 und das vierte Bit eines vierten Datenwortes 104 werden über eine Exklusiv-Oder-Verknüpfung zum ersten Bit des Fehlerkodewortes 110 verknüpft. Das zweite Bit des Fehlerkodewortes 110 wird durch eine Verknüpfung des zweiten Bits des ersten Datenwortes 101, des dritten Bits des zweiten Datenwortes 102, des vierten Bits des dritten Datenwortes 103 und des fünften Bits des vierten Datenwortes 104 generiert. Die übrigen Bits des Fehlerkodewortes 110 werden in entsprechender Weise generiert. Selbstverständlich sind auch andere Permutationen möglich oder nur die Permutation eines Teils der Datenworte 101, 102, 103, 104. Bei diesen Verknüpfungen ist dem i-Bit des Fehlerkodewortes 110 jeweils ein Bit der Datenworte 101, 102, 103, 104 zu geordnet. Umgekehrt ist auch jedem Bit eines der Datenworte 101, 102, 103, 104 genau ein Bit des Fehlerkodewortes 110 zugeordnet.
  • Die Datenworte 101, 102, 103, 104 des Datensatzes 10 und das Fehlerkodewort 110 werden mittels einer Verschlüsselungsein richtung 2 verschlüsselt, sodass einem ersten Datenwort 101 ein erstes verschlüsseltes Datenwort 201 zuruordnen ist. Dies gilt auch für die weiteren Datenworte 102, 103, 104 des Datensatzes 10. Vorteilhafterweise wird auch das Fehlerkodewort 110 durch die Verschlüsselungseinrichtung 2 in ein verschlüsseltes Fehlerkodewort 210 überführt. Dieses Vorgehen hat den Vorteil, dass bei einer Abspeicherung des verschlüsselten Datensatzes 20 auch das Fehlerkodewort 110 in verschlüsselter Form abgespeichert wird, um eine unberechtigte Entschlüsselung durch einen Angreifer zu erschweren.
  • Die gewählte Verschlüsselung ist in der Regel eine stark nichtlineare Abbildung, was die unberechtigte Entschlüsselung erschwert. „Stark nichtlinear" bedeutet, dass ein kleiner Abstand zwischen zwei Datenworten, die sich beispielsweise um 1 Bit unterscheiden, nach der Verschlüsselung zu gänzlich unterschiedlich verschlüsselten Datenworten führt, die hinsichtlich wesentlich mehr Bits voneinander abweichen. Ebenso kann es der Fall sein, dass zwei Datenworte, die einen großen Abstand aufweisen, in ähnliche verschlüsselte Datenworten überführt werden, die sich beispielsweise nur um ein oder zwei Bits unterscheiden. Selbstverständlich handelt es sich bei der Verschlüsselung und der dazu gehörigen Entschlüsselung um eine eineindeutige Abbildung.
  • Die Verschlüsselung, Fehlererkennung und Korrektur durch das erfindungsgemäße Verfahren ist in den 8 bis 12 anhand eines beispielhaften Datensatzes 10a in Tabellenform verdeutlicht. Der beispielhafte Datensatz 10a umfasst vier beispielhaften Datenworte 101a 102a, 103a, 104a mit jeweils acht Bits. Zunächst werden die 8 und 9 betrachtet, die die Verschlüsselung verdeutlichen.
  • 8 zeigt, wie durch eine Exklusiv-Oder-Verknüpfung des jeweils i-ten Bits der beispielhaften Datenworte 101a, 102a, 103a, 104a des beispielhaften Datensatzes 10a das i-te Bit des Fehlerkodewortes 110a generiert wird.
  • 9 zeigt die entsprechenden verschlüsselten Datenworte 201a, 202a, 203a, 204a und das verschlüsselte, zugeordnete Fehlerkodewort 210a. Die verwendete Verschlüsselung ist für das Verfahren unerheblich, es ist jedoch deutlich zu erkennen, dass diese stark nichtlinear ist. Ein Einzelfehler, der beispielsweise durch eine Manipulation nach der Verschlüsselung aufgetreten sein kann, im dritten verschlüsselten Datenwort 203a ist fett gekennzeichnet.
  • 7 zeigt die Verfahrensschritte zur Entschlüsselung der verschlüsselten Datenworte 201, 202, 203, 204 und deren Überprüfung und gegebenenfalls Korrektur. Die verschlüsselten Datenworte 201, 202, 203, 204 des verschlüsselten Datensatzes 20 werden durch eine Entschlüsselungseinrichtung 3 in den entschlüsselten Datensatz 30 überführt, der die entschlüsselten Datenworte 301, 302, 303, 304 umfasst. Wenn das Fehlerkodewort 110 ebenfalls in verschlüsselter Form vorliegt, wird auch dieses entschlüsselt, wie in 7 dargestellt.
  • Bei der Verschlüsselungseinrichtung 2 und der Entschlüsselungseinrichtung 3 handelt es sich um ein Entschlüsselungs-Verschlüsselungs-Einrichtungspaar, sodass, wenn die beiden Einrichtungen in Reihe geschaltet, nacheinander auf einem Datensatz angewendet werden, der Datensatz umverändert ausgegeben wird.
  • Die entschlüsselten Datenworte 301, 302, 303, 304 des entschlüsselten Datensatzes 30 werden mit dem Fehlerkodewort 110 verglichen, indem ein Fehlersyndrom 320 generiert wird. Der Vergleich erfolgt, indem die entschlüsselten Datenworte 301, 302, 303, 304 in derselben Weise wie zur Generierung des Fehlerkodewortes 110 miteinander verknüpft werden und das resultierenden Wort mit dem Fehlerkodewort 110 verglichen wird. Das Fehlersyndrom 320 ergibt sich durch eine Exklusive-Oder-Verknüpfung des resultierenden Wortes mit dem Fehlerkodewort 110.
  • Dieser Vergleich erfolgt in einfacher Weise und ohne den Zwischenschritt des erneuten Generierens des resultierenden Wortes, wenn an eine Exklusiv-Oder-Verknüpfung 1, die auch zur Generierung eines i-ten Bits des Fehlerkodewortes verwendet wird, neben dem i-ten Bit der Datenworte 301, 302, 303, 304, auch das i-te Bit des Fehlerkodewortes 110 angelegt wird. Auf diese Weise lässt sich die Verknüpfung der entschlüsselten Datenworte 301, 302, 303, 304 und der Vergleich des resultierenden Wortes mit dem Fehlerkodewort 110 in einem Schritt durch die Exklusiv-Oder-Verknüpfung 1 durchführen. Wenn das Fehlerkodewort 110 den entschlüsselten Datenworten 301, 302, 303, 304 des entschlüsselten Datensatzes 30 zuordnenbar ist, so ist das generierte Fehlersyndrom 320 ein Nullvektor, der nur Bits „0" umfasst. Wenn ein i-tes Bit des Fehlerkodewortes nicht der entsprechend zugeordneten Verknüpfung der Bits der entschlüsselten Datenworte 301, 302, 303, 304 entspricht, so ist das i-te Bit des Fehlersyndroms „1",-was einen Fehler anzeigt. Bei der Exklusiv-Oder-Verknüpfung lässt das i-te Bit, das „1" ist, auf einen Fehler an der i-ten Fosition eines Datenwortes schließen. Selbstverständlich können auch mehr als ein Bit des Fehlersyndroms 320 ungleich „Ö" sein. Unter der Annahme, dass ein Einzelfehler innerhalb des verschlüsselten Datensatzes 20 aufgetreten ist und die Entschlüsselung stark nichtlinear ist, ist hiervon auszugehen.
  • Wenn das Fehlersyndrom 320 ungleich dem Nullvektor ist, wird das folgende Verfahren zur Fehlerkorrektur angewandt. Die den entsprechenden Fehlerposition, die im Fehlersyndrom 320 angezeigt werden, zugeordneten Bits eines jeden entschlüsselten Datenwortes 301, 302, 303, 304 des entschlüsselten Datensatzes 30 werden korrigiert, sodass ein korrigierter Datensatz 40 vorliegt. Wenn lediglich ein Datenwort des entschlüsselten Datensatzes 30 fehlerhaft war, so sind nach der Korrektur alle anderen Datenworte bis auf das vormals falsche fehlerhaft. Auch wenn für das weitere Vorgehen zur Korrektur des fehlerhaften Datenwortes das Fehlerkodewort 110 nicht mehr benötigt wird, kann das folgende Vorgehen auch auf das Fehlerkodewort in gleicher Weise angewendet werden. Dieses Vorgehen hat den Vorteil, dass der zu suchende Fehler natürlich nicht nur in den verschlüsselten Datenworten 201, 202, 203, 204 aufgetreten sein kann, sondern auch in dem Fehlerkodewort 110. Wenn dieser Fall detektiert wird, ist eine Korrektur der entschlüsselten Datenworte 301, 302, 303, 304 ebenfalls nicht erforderlich.
  • 10 zeigt den beispielhaften, verschlüsselten Datensatz 20a aus 9 nach der Entschlüsselung. Das erste Datenwort 301a, das zweite Datenwort 302a und das vierte Datenwort 304a stimmen nach der Entschlüsselung mit dem jeweils ursprünglichen ersten, zweiten und vierten Datenwort 101a, 102a, 104a überein. Der Einzelbitfehler des verschlüsselten dritten Datenwortes 203a führt nach der Entschlüsselung aufgrund der starken Nichtlinearität der Verschlüsselungs- und Entschlüsselungsoperation zu fünf Bitfehlern, die fett gekennzeichnet sind. Das Fehlersyndrom 320a wird durch eine Exklusiv-Oder-Verknüpfung des entschlüsselten ersten Daterwortes 301a mit dem zweiten entschlüsselten Datenwort 302a, dem entschlüssel ten dritten Datenwort 303a, dem entschlüsselten vierten Datenwort 304a und dem entschlüsselten Fehlerkodewort 101a gebildet. Es ist an den Bitpositionen, die im dritten entschlüsselten Datenwort 303a fehlerhaft sind, ungleich „0". Dieses zeigt die Position der Bitfehler in einem der Datenworte 301a, 302a, 303a, 304a an, jedoch nicht in welchem.
  • 11 zeigt die korrigierten Datenworte 401a, 402a, 403a, 404a. Nach der Korrektur der entsprechenden Positionen in jedem der entschlüsselten Datenworte 301a, 302a, 303a, 304a des entschlüsselten Datensatzes 30a liegt das dritte korrigierte Datenwort 403a nunmehr in korrekter Form vor und stimmt mit dem ursprünglichen dritten Datenwort 103a überein. Die anderen korrigierten Datenworte 401a, 402a, 404a sind an den entsprechenden Positionen fehlerhaft.
  • Zur Übersichtlichkeit wird in den weiteren Wabellen in den 11 und 12 auf eine Korrektur des Fehlerkodewortes 110 verzichtet.
  • 7 zeigt den weiteren Verfahrensverlauf zur Detektion des fehlerhaften Wortes. Die nunmehr korrigierten Datenworte 401, 402, 403, 404 werden durch die Verschlüsselungseinrichtung 2 erneut verschlüsselt. Gleiches kann mit dem korrigierten Fehlerkodewort 410 durchgeführt werden. Die verschlüsselten, korrigierten Datenworte 501, 502, 503, 504 werden nunmehr mit den ursprünglich verschlüsselten Datenworten 201, 202, 203, 204 verglichen. Dieses geschieht vorteilhafterweise durch eine Einrichtung zur Abstandsbestimmung 4. Als Abstand ist die Anzahl der Bits, um die sich zwei Datenworte unterscheiden, definiert.
  • Aus den 9 und 12 ist der Unterschied des beispielhaften, verschlüsselten, korrigierten Datensatzes 50a mit dem beispielhaften, ursprünglichen, verschlüsselten Datensatz 20a ersichtlich. Das fehlerhaft verschlüsselte, dritte Datenwort 203a und das verschlüsselte, korrigierte, dritte Datenwort 503a unterscheiden sich nur um ein Bit, obwchl beim entschlüsselten dritten Datenwort 303a fünf Bits korrigiert worden sind. Bei dem korrigierten ersten, zweiten und vierten Datenwort 301a, 302a, 304a sind ebenfalls fünf Bits durch die Korrektur verändert worden. Aufgrund der starken Nichtlinearität der Verschlüsselung weichen das verschlüsselte, korrigierte erste, zweite und vierte Datenwort 501a, 502a, 504a um mehr als ein Bit von den entsprechenden verschlüsselten Datenworten 201a, 202a, 204a ab. Unter der Annahme, dass nur ein Einzelfehler aufgetreten ist, wird das Datenwort mit dem geringsten Abstand, in diesem Fall das dritte Datenwort, als fehlerhaft angenommen und die im vorhergehenden Schritt durchgeführte Korrektur übernommen und das korrigierte dritte Datenwort 403a ausgegeben. Bei den anderen Datenworten wird die Korrektur nicht übernommen und die zuvor ermittelten entschlüsselten Datenworte 301a, 302a, 304a ausgegeben.
  • Wenn man von einem Einzelfehler ausgeht, lässt sich die Auswahl des fehlerhaften Datenwortes noch durch eine entsprechende Ausgestaltung der Vergleichseinrichtung 4 vereinfachen. Anstatt den minimalen Abstand der Datenworte zu bestimmen, ist es ausreichend, lediglich zu bestimmen, ob der Unterschied ein Bit beträgt. Wenn dies der Fall ist, handelt es sich um das zu korrigierende Datenwort.
  • Obwohl sich der beispielhafte Datensatz aus den Tabellen der 8 bis 12 und die Erläuterung hauptsächlich auf Einzelfehler beziehen, sind obige Überlegungen auch für mehrere Bitfehler denkbar, die allerdings nur in einem der Datenworte auftreten dürfen. In diesem Fall wird das Datenwort ausgewählt, das den geringsten Abstand hat, auch wenn es sich hierbei um zwei oder drei Fehler handelt.
  • Da eine stark nichtlineare Verschlüsselungsoperation verwendet wird, ist es natürlich auch denkbar, dass der Abstand zwischen einem entschlüsselten Datenwort, von dem angenommen wird, dass kein Fehler bei dessen Entschlüsselung aufgetreten ist, und dem entsprechenden korrigierten Datenwort nach der erneuten Verschlüsselung ebenfalls ein Abstand von nur 1 Bit auftritt. In diesem Fall kann die Korrektur nicht einwandfrei arbeiten, da nicht zwischen dem korrekten Wort mit dem Abstand 1 Bit und dem fehlerhaften Wort mit dem Abstand 1 Bit unterschieden werden kann. In solchen Fällen liefert der Algorithmus entweder kein Ergebnis oder das korrekte Wort wird möglicherweise fehlerhaft ausgegeben.
  • Die Wahrscheinlichkeit, dass ein Bitfehler mit diesem Verfahren auf diese Weise nicht korrigierbar ist, beträgt bei einem Datensatz, der vier 32-Bit-lange Worte umfasst, 1:33.000.000. Die Wahrscheinlichkeit, dass ein fehlerhaftes Wort nicht erkannt wird oder mit einem Bitfehler ausgegeben wird, beträgt 1:27.000.000. Damit ist die Sicherheit des beschriebenen Verfahrens im Bereich herkömmlicher Fehler korrigierender Kodes.
  • CPU
    Rechenwerk
    MED
    kryptographische Einheit
    MEM
    Speicher
    n
    Anzahl der Bits
    1
    Verknüpfungseinrichtung
    2
    Verschlüsselungseinrichtung
    3
    Entschlüsselungseinrichtung
    4
    Einrichtung zur Abstandsbestimmung
    5
    Vergleicheinrichtung
    11
    Eingang
    22
    Ein-/Ausgang
    33
    Ausgang
    10
    Datensatz
    101, 102, 103, 104
    Datenworte
    20
    verschlüsselter Datensatz
    201, 202, 203, 204
    verschlüsselte Datenworte
    30
    entschlüsselter Datensatz
    301, 302, 303, 304
    entschlüsselte Datenworte
    40
    korrigierter Datensatz
    401, 402, 403, 404
    korrigierte Datenworte
    50
    verschlüsselter, korrigierter
    Datensatz
    501, 502, 503, 504
    verschlüsselte, korrigierte
    Datenworte
    110
    Fehlerkodewort
    210
    verschlüsseltes Fehlerkodewort
    320
    Fehlersyndrom
    10a
    beispielhafter Datensatz
    101a, 102a, 103a, 104a
    beispielhafte Datenworte
    20a
    beispielhafter verschlüsselter
    Datensatz
    201a, 202a, 203a, 204a
    beispielhafte verschlüsselte
    Datenworte
    30a
    beispielhafter entschlüsselter
    Datensatz
    301a, 302a, 303a, 304a
    beispielhafte entschlüsselte
    Datenworte
    40a
    beispielhafter korrigierter
    Datensatz
    401a, 402a, 403a, 404a
    beispielhafte korrigierte
    Datenworte
    50a
    beispielhafter verschlüsselter,
    korrigierter Datensatz
    501a, 502a, 503a, 504a
    beispielhafte verschlüsselte,
    korrigierte Datenworte

Claims (27)

  1. Verfahren zur Überprüfung eines Datensatzes mit mehreren Datenworten, das umfasst: – Bereitstellen eines verschlüsselten Datensatzes (20) mit verschlüsselten Datenworten (201, 202, 203, 204); – Bereitstellen eines dem verschlüsselten Datensatz (20) zu geordneten Fehlerkodewortes (110); – Entschlüsseln der verschlüsselten Datenworte (201, 202, 203, 204) des verschlüsselten Datensatzes (20); – Prüfen, ob das Fehlerkodewort (110) den entschlüsselten Datenworten (301, 302, 303, 304) des entschlüsselten Datensatzes (30) zuzuordnen ist; – Durchführen einer Alarmaktion, wenn das Fehlerkodewort (110) nicht den entschlüsselten Datenworten (301, 302, 303, 304) des entschlüsselten Datensatzes (30) zugeordnet ist.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass dem Bereitstellen des Fehlerkodewortes (110) folgende Schritte vorausgehen: – Bereitstellung eines verschlüsselten Fehlerkodewortes (210); – Entschlüsseln des verschlüsselten Fehlerkodewortes (210).
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die verschlüsselten Datenworte (201, 202, 203, 204) des verschlüsselten Datensatzes (20) durch ein Verschlüsseln aus Datenworten (101, 102, 103, 104) eines Datensatzes (10) generiert werden.
  4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass eine kodegenerierte Überlagerung aus einem Eingangsdatensatz zur Generierung eines Ausgangswortes vorgesehen ist, wobei der Datensatz (10) der Eingangsdatensatz ist und das Fehlerkodewort (110) das Ausgangswort ist.
  5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die Alarmaktion eine Korrektur der entschlüsselten Datenworte (301, 302, 303, 304) oder eine Korrektur der entschlüsselten Datenworte (301, 302, 303, 304) und des Fehlerkodewortes (110) umfasst.
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass die Korrektur der entschlüsselten Datenworte (301, 302, 303, 304) oder die Korrektur der entschlüsselten Datenworte (301, 302, 303, 304) und des Fehlerkodewortes (110) folgende Schritte umfasst: – Bereitstellen der entschlüsselten Datenworte (301, 302, 303, 304) des entschlüsselten Datensatzes (30); – Bereitstellen des Fehlerkodewortes (110); – Generierung eines Fehlersyndroms (320), das mehrere Bits mit einem ersten und einem zweiten Zustand umfasst, und das anhand der Zustände der Bits anzeigt, ob das Fehlerkodewort (110) den entschlüsselten Datenworten (301, 302, 303, 304) des entschlüsselten Datensatzes (30) zugeordnet ist oder inwiefern das Fehlerkodewort den entschlüsselten Datenworten (301, 302, 303, 304) des entschlüsselten Datensatzes (30) nicht zuordnenbar ist; – wenn das Fehlerkodewort (110) den entschlüsselten Datenworten (301, 302, 303, 304) des entschlüsselten Datensatzes (30) nicht zugeordnet ist, Generierung korrigierter Datenworte (401, 402, 403, 404) aus den entschlüsselten Datenworten (301, 302, 303, 304) oder Generierung korrigierter Datenworte (401, 402, 403, 404) und eines korrigierten Fehlerkodewortes (410) aus den entschlüsselten Datenworten (301, 302, 303, 304) und dem Fehlerkodewort (110), wobei eine Korrektur in Abhängigkeit von dem Fehlersyndrom (320) erfolgt.
  7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass das Fehlersyndrom 320 generiert wird durch eine Exklusiv-Oder-Verknüpfung des Ausgangswortes der kodegenerierten Überlagerung, mit dem entschlüsselten Datensatz (30) als Eingangsdatensatz, und des Fehlerkodewortes (110).
  8. Verfahren nach einem der Ansprüche 4 bis 7, dadurch gekennzeichnet, dass die kodegenerierte Überlagerung umfasst, das i-te Hit des Ausgangswortes durch die Exklusiv-Oder-Verknüpfung jeweils eines Bits jedes Eingangswortes des Eingangsdatensatzes zu generieren, wobei das Bit jedes Eingangswortes dem i-tem Bit des Ausgangswortes zugeordnet ist.
  9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass dem i-ten Bit des Ausgangswortes jeweils das i-Bit jedes Eingangswortes zugeordnet ist.
  10. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass die Korrektur umfasst, das dem i-ten Bit des Fehlerkodewortes (110) zugeordnete Bit jedes entschlüsselten Datenwortes (301, 302, 303, 304) durch die Exklusiv-Oder-Verknüpfung mit dem i-ten Bit des Fehlersyndroms (320) zu korrigieren.
  11. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass die Korrektur umfasst, das i-te Bit jedes entschlüsselten Datenwortes (301, 302, 303, 304) durch die Exklusiv-Oder-Verknüpfung mit dem i-ten Bit des Fehlersyndroms (320) zu korrigieren.
  12. Verfahren nach einem der Ansprüche 6 bis 11, dadurch gekennzeichnet, dass verschlüsselte, korrigierte Datenworte (501, 502, 503, 504) durch die Verschlüsselung der korrigierten Datenworte (401, 402, 403, 404) generiert werden.
  13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass die verschlüsselten, korrigierten Datenworte (501, 502, 503, 504) eines verschlüsselten, korrigierten Datensatzes (50) mit den entsprechenden verschlüsselten Datenworten (201, 202, 203, 204) des verschlüsselten Datensatzes (20) verglichen werden.
  14. Verfahren nach Anspruch 13, dadurch gekennzeichnet, dass das korrigierte Datenwort (403) aus dem korrigierten Datensatz (40) mit dem geringsten Abstand zwischen dem entsprechenden verschlüsselten, korrigierten Datenwort (501, 502, 503, 504) und dem entsprechenden verschlüsselten Datenwort (201, 202, 203, 204) bestimmt wird, das das entsprechende entschlüsselte Datenwort (303) des entschlüsselten Datensatzes (30) ersetzt.
  15. Verfahren nach Anspruch 13, dadurch gekennzeichnet, dass das korrigierte Datenwort (403) aus dem korrigierten Datensatz (40) mit dem Abstand 1 zwischen dem entsprechenden verschlüsselten, korrigierten Datenwort (501, 502, 503, 504) und dem entsprechenden verschlüsselten Datenwort (201, 202, 203, 204) bestimmt wird, das das entsprechende entschlüsselte Datenwort (303) des entschlüsselten Datensatzes (30) ersetzt.
  16. Schaltungsanordnung zur Überprüfung eines Datensatzes mit mehreren Datenworten mit einer kryptographischen Einheit (MED), die ihrerseits umfasst – einen Eingang (22) zum Zuführen eines Datensatzes (20) mit verschlüsselten Datenworten (201, 202, 203, 204) und eines Fehlerkodewortes (110), – eine Entschlüsselungseinrichtung (3), die ausgebildet ist, um die verschlüsselten Datenworte (201, 202, 203, 204) des verschlüsselten Datensatzes (20) zu entschlüsseln, – eine Verknüpfungseinrichtung (1), die ausgebildet ist, um die entschlüsselten Datenworte (301, 302, 303, 304) mit dem Fehlerkodewort (110) zu einem Fehlersyndrom (320) zu verknüpfen – und eine Vergleichseinrichtung (5), die ausgebildet ist, um das Fehlersyndrom (320) mit einem vorgegebenen Wert zu vergleichen.
  17. Schaltungsanordnung nach Anspruch 16, dadurch gekennzeichnet, dass die Entschlüsselungseinrichtung (3) ausgebildet ist, ein verschlüsseltes Fehlerkodewort (210) zu entschlüsseln.
  18. Schaltungsanordnung nach einem der Ansprüche 16 bis 17, dadurch gekennzeichnet, dass die kryptographische Einheit (MED) ausgebildet ist, die entschlüsselten Datenworte (301, 302, 303, 304) des entschlüsselten Datensatzes (30) zu korrigieren.
  19. Schaltungsanordnung nach Anspruch 18, dadurch gekennzeichnet, dass die kryptographische Einheit (MED) eine Verschlüsselungseinheit (3) aufweist, die ausgebildet ist, korrigierte Datenworte (401, 402, 403, 404) in verschlüsselte, korrigierte Datenworte (501, 502, 503, 504) zu verschlüsseln, oder korrigierte Datenworte (401, 402, 403, 404) und das Fehlerkodewort (110) in verschlüsselte, korrigierte Datenworte (501, 502, 503, 504) und ein verschlüsseltes, korrigiertes Fehlerkodewort (410) zu verschlüsseln.
  20. Schaltungsanordnung nach Anspruch 19, dadurch gekennzeichnet, dass die kryptographische Einheit (MED) ausgebildet ist, jedes der verschlüsselten Datenworte (211, 202, 203, 204) des verschlüsselten Datensatzes (20) mit dem entsprechenden verschlüsselten, korrigierten Datenwort (501, 502, 503, 504) eines verschlüsselten, korrigierten Datensatzes (50) zu vergleichen.
  21. Schaltungsanordnung nach Anspruch 20, dadurch gekennzeichnet, dass die kryptographische Einheit (MED) ausgebildet ist, das korrigierte Datenwort (401, 402, 403, 404) aus einem korrigierten Datensatz (40) mit einem geringsten Abstand zwischen dem entsprechenden verschlüsseltem Datenwort (201, 202, 203, 204) und dem entsprechenden verschlüsselten, korrigierten Datenwort (501, 502, 503, 504) auszugeben.
  22. Schaltungsanordnung nach Anspruch 21, dadurch gekennzeichnet, dass die kryptographische Einheit (MED) ausgebildet ist, das korrigierte Datenwort (401, 402, 403, 404) aus einem korrigierten Datensatz (40) mit einem Abstand von einem Hit zwischen dem entsprechenden verschlüsselten Datenwort (201, 202, 203, 204) und dem entsprechenden verschlüsselten, korrigierten Datenwort (501, 502, 503, 504) auszugeben.
  23. Schaltungsanordnung nach einem der Ansprüche 16 bis 22, dadurch gekennzeichnet, dass die kryptographische Einheit (MED) zwischen einem Rechenwerk (CPU) und einem Speicher (MEM) angeordnet ist.
  24. Schaltungsanordnung nach einem der Ansprüche 16 bis 23, dadurch gekennzeichnet, dass die kryptographische Einheit (MED) dem Speicher (MEM) vorgeschaltet ist.
  25. Schaltungsanordnung nach einer der Ansprüche 16 bis 24, dadurch gekennzeichnet, dass die kryptographische Einheit (MED) ausgebildet ist, Datenworte (101, 102, 103, 104) zu verschlüsseln.
  26. Schaltungsanordnung nach einem der Ansprüche 16 bis 25, dadurch gekennzeichnet, dass die kryptographische Einheit (MED) einen weiteren Eingang zum Anlegen einer Adressinformation aufweist und ausgebildet ist, Datenworte (101, 102, 103, 104) und/oder die korrigierten Datenworte (401, 402, 403, 404) in Abhängigkeit von der Adressinformation zu verschlüsseln.
  27. Verwendung einer Schaltungsanordnung nach einem der Ansprüche 16 bis 26 in einer Chipkarte.
DE102005001953A 2005-01-14 2005-01-14 Verfahren und Schaltungsanordnung zur Überprüfung eines Datensatzes mit mehreren Datenworten Withdrawn DE102005001953A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102005001953A DE102005001953A1 (de) 2005-01-14 2005-01-14 Verfahren und Schaltungsanordnung zur Überprüfung eines Datensatzes mit mehreren Datenworten
FR0600105A FR2880962A1 (fr) 2005-01-14 2006-01-06 Procede et circuit de controle d'un jeu de donnees ayant plusieurs mots de donnees.
US11/333,552 US20060179395A1 (en) 2005-01-14 2006-01-16 Method and circuit arrangement for verifying a data record having a plurality of data words

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102005001953A DE102005001953A1 (de) 2005-01-14 2005-01-14 Verfahren und Schaltungsanordnung zur Überprüfung eines Datensatzes mit mehreren Datenworten

Publications (1)

Publication Number Publication Date
DE102005001953A1 true DE102005001953A1 (de) 2006-07-27

Family

ID=36636855

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005001953A Withdrawn DE102005001953A1 (de) 2005-01-14 2005-01-14 Verfahren und Schaltungsanordnung zur Überprüfung eines Datensatzes mit mehreren Datenworten

Country Status (3)

Country Link
US (1) US20060179395A1 (de)
DE (1) DE102005001953A1 (de)
FR (1) FR2880962A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8533557B2 (en) 2011-01-28 2013-09-10 Infineon Technologies Ag Device and method for error correction and protection against data corruption

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005028221B4 (de) * 2005-06-17 2007-10-11 Infineon Technologies Ag Vorrichtung und Verfahren zum Schutz der Integrität von Daten
US8612777B2 (en) * 2009-01-09 2013-12-17 Infineon Technologies Ag Apparatus and method for writing data to be stored to a predetermined memory area

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5307409A (en) * 1992-12-22 1994-04-26 Honeywell Inc Apparatus and method for fault detection on redundant signal lines via encryption
US5673316A (en) * 1996-03-29 1997-09-30 International Business Machines Corporation Creation and distribution of cryptographic envelope

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5226043A (en) * 1990-12-27 1993-07-06 Raytheon Company Apparatus and method for data error detection and correction and address error detection in a memory system
US6219791B1 (en) * 1998-06-22 2001-04-17 Motorola, Inc. Method and apparatus for generating and verifying encrypted data packets

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5307409A (en) * 1992-12-22 1994-04-26 Honeywell Inc Apparatus and method for fault detection on redundant signal lines via encryption
US5673316A (en) * 1996-03-29 1997-09-30 International Business Machines Corporation Creation and distribution of cryptographic envelope

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8533557B2 (en) 2011-01-28 2013-09-10 Infineon Technologies Ag Device and method for error correction and protection against data corruption

Also Published As

Publication number Publication date
US20060179395A1 (en) 2006-08-10
FR2880962A1 (fr) 2006-07-21

Similar Documents

Publication Publication Date Title
DE69634880T2 (de) Verfahren und gerät zum kontrollierten zugriff zu verschlüsselten datenakten in einem computersystem
DE102009041176B9 (de) Compiler-System und Verfahren zum Kompilieren eines Quellencodes zu einem verschlüsselten Maschinensprachcode
DE102006001872B4 (de) Vorrichtung und Verfahren zum Überprüfen einer Fehlererkennungsfunktionalität einer Datenverarbeitungseinrichtung auf Angriffe
DE102018113475A1 (de) Rechenwerk zum rechnen mit maskierten daten
DE102011054410B4 (de) Vorrichtung und Verfahren zur Erzeugung einer Bitfolge
DE102007044330A1 (de) Verschlüsselungsprozessor und Verfahren zum Schreiben und Lesen von Daten
DE102005025169A1 (de) Kommunikationsvorrichtung und Verfahren zur Übermittlung von Daten
DE102018125786A1 (de) Verschlüsselte Systemspeicherverwaltung
DE102019128528A1 (de) Datenkryptografievorrichtungen und speichersysteme
WO2005020042A2 (de) Prozessor mit elektronischen sicherungen zum speichern von geheimdaten
DE102005031611B4 (de) Nachweis einer Veränderung der Daten eines Datensatzes
DE2536498A1 (de) Schaltung zur sicherung von informationsspeichern
DE102011087634B4 (de) Vorrichtung und verfahren zum erfassen eines fehlers in einem codierten binärwort
DE102005001953A1 (de) Verfahren und Schaltungsanordnung zur Überprüfung eines Datensatzes mit mehreren Datenworten
DE102013109315B4 (de) Verfahren und Datenverarbeitungseinrichtung zum Rekonstruieren eines Vektors
DE102004061312B4 (de) Vorrichtung und Verfahren zum Detektieren eines potentiellen Angriffs auf eine kryptographische Berechnung
DE102006027448B4 (de) Schaltungsanordnung
DE102013108073B4 (de) Datenverarbeitungsanordnung und verfahren zur datenverarbeitung
EP3798873B1 (de) Verfahren zum schützen einer computer-implementierten anwendung vor manipulation
DE102004037590B4 (de) Integrierte Schaltung und Verfahren zum Betrieb einer solchen
DE102014114157B4 (de) Verfahren zur Datenverarbeitung zum Ermitteln, ob bei einer Ausführung eines Programms ein Fehler aufgetreten ist und Datenverarbeitungsanordnungen zum Erzeugen von Programm-Code
DE102017124805B4 (de) Speicheranordnung und verfahren zum zwischenspeichern von speicherinhalten
EP3251281B1 (de) Intrinsische authentifizierung von programcode
DE102005006832B4 (de) Schaltungsanordnung und Verfahren zur gesicherten Datenverarbeitung und deren Verwendung
DE102005016051A1 (de) Speicherüberprüfungsvorrichtung und Verfahren zum Überprüfen eines Speichers

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8139 Disposal/non-payment of the annual fee