DE10261810B4 - Verfahren zur Fehlererkennung beim kryptografischen Transformieren von binären Daten und Schaltungsanordnung - Google Patents

Verfahren zur Fehlererkennung beim kryptografischen Transformieren von binären Daten und Schaltungsanordnung Download PDF

Info

Publication number
DE10261810B4
DE10261810B4 DE2002161810 DE10261810A DE10261810B4 DE 10261810 B4 DE10261810 B4 DE 10261810B4 DE 2002161810 DE2002161810 DE 2002161810 DE 10261810 A DE10261810 A DE 10261810A DE 10261810 B4 DE10261810 B4 DE 10261810B4
Authority
DE
Germany
Prior art keywords
parity
binary
data
subcircuit
transformation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE2002161810
Other languages
English (en)
Other versions
DE10261810A1 (de
Inventor
Michael Prof. Dr. Gössel
Grigori Kouznetsov
Ramesh Karri
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.)
Universitaet Postdam
Original Assignee
Universitaet Postdam
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 Universitaet Postdam filed Critical Universitaet Postdam
Priority to DE2002161810 priority Critical patent/DE10261810B4/de
Priority to PCT/DE2003/003931 priority patent/WO2004057794A1/de
Priority to AU2003289811A priority patent/AU2003289811A1/en
Publication of DE10261810A1 publication Critical patent/DE10261810A1/de
Application granted granted Critical
Publication of DE10261810B4 publication Critical patent/DE10261810B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES 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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/004Countermeasures against attacks on cryptographic mechanisms for fault attacks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

Verfahren zur Fehlererkennung beim kryptografischen Transformieren von binären Eingangsdaten in binäre Ausgangsdaten mit Hilfe einer kryptopgrafischen Schaltung, die n binäre Eingänge zum Empfangen der binären Eingangsdaten und m binäre Ausgänge zum Ausgeben der binären Ausgangsdaten umfaßt, bei dem:
– im Rahmen des kryptografischen Transformierens der binären Eingangsdaten in die binären Ausgangsdaten mit Hilfe einer von der kryptografischen Schaltung umfaßten Teilschaltung eine binäre Datentransformation ausgeführt wird;
– eine Eingangsparität P auf Basis der binären Eingangsdaten an zumindest einem Teil der n binären Eingänge der kryptografischen Schaltung gebildet wird;
– eine Ausgangsparität PA auf Basis der binären Ausgangsdaten an zumindest einem Teil der m binären Ausgänge gebildet wird;
– die Eingangsparität P in Abhängigkeit von der in der Teilschaltung ausgeführten, binären Datentransformation mittels einer Paritätsumwandlung in eine modifizierte Parität MP umgewandelt wird; und
– die Ausgangsparität PA mit der modifizierten Parität MP verglichen wird, wobei ein Fehler...

Description

  • Die Erfindung liegt auf dem Gebiet der sicheren kryptografischen Verschlüsselung von binären elektronischen Daten.
  • Eine kryptografische Verschlüsselung von Daten, die in elektronischer Form vorliegen, kann beispielsweise mit Hilfe eines Substitutionsnetzwerkes ausgeführt werden. Substitutionsnetzwerke zur kryptographischen Verschlüsselung von Daten werden zum Beispiel in H. Heyes, „A tutorial on linear an differential cryptoanalysis" (vgl. http://citeeser.nj.nec.com/443539.html) und in Stern, J., Vaudenary, S., CS Cipher, FSE, LNCS 1372, Seiten 189–204, 1998 beschrieben.
  • In Substitutions-Permutationsnetzwerken und ähnlichen Schaltungen zur kryptographischen Verschlüsselung werden Operationen wie Permutationen, komponentenweise modulo-2-Addition der Daten und von Schlüsseln und/oder Konstanten, lineare Transformationen und Realisierung nichtlinearer Funktionen, die oft als nichtlineare Substitutionen bezeichnet werden, in aufeinanderfolgenden Schritten in unterschiedlicher Reihenfolge schrittweise hintereinander ausgeführt.
  • Es ist bekannt, die Bildung und die Überprüfung mehrerer Paritätsbits für die Fehlererkennung bei Substitutions-Permutationsnetzwerken zu nutzen, beispielsweise aus der Druckschrift US 5,432,848 und aus Bertoni, B., Breveglieri, L., Koren, I., Maistri, P. und Piceri, V., „A Parity-Code Based Fault Detection for an Implementation of the Advanced Encryption Standard", Proc. DFT, Vancouver, 2002, S. 51–59.
  • In der Druckschrift US 5,432,848 werden zur Überwachung von acht nichtlinearen Substitutionsfunktionen, die durch acht so genannte S-Boxen mit jeweils sechs Eingängen und vier Ausgängen realisiert werden, acht Blöcke mit jeweils sechs Eingängen und einem Ausgang hinzugefügt. Die hinzugefügten Blöcke mit jeweils sechs Eingängen und einem Ausgang realisieren jeweils die invertierte Parität der vier Ausgänge der entsprechenden S-Boxen mit sechs Eingängen und vier Ausgängen. Insgesamt ist der erforderliche Aufwand für die Fehlererkennung bei der kryptografischen Tranformation hoch.
  • Aus Patsei, N.V., Urbanovich, P.P., „On the design of error detection and correction cryptography schemes" in „Information systems for enhanced public safety and security", Eurocom 2000, IEEE/AFCEA, 17. Mai 2000, S. 266–268, ist ein Verfahren zur Fehlererkennung beim kryptografischen Transformieren von Eingangsdaten bekannt. Hierbei werden Paritäten für die Eingangsdaten gebildet. Eine Fehlererkennung wird mittels Überprüfen der kryptografischen Schaltung bzw. deren logischen Operationen mit Hilfe einer Vergleichseinheit durchgeführt.
  • In der Druckschrift US 5,365,591 ist ein Verfahren zur Fehlererkennung innerhalb einzelner Einheiten beschrieben, welche bei der kryptografischen Transformation von Eingangsdaten durchlaufen werden. Fehler werden hierbei mittels Datenvergleichs ermittelt.
  • In Bertoni, B., Breveglieri, L., Koren, I., Maistri,P. und Piceri, V. „A Parity-Code Based Fault Detection for an Implementation of the Advanced Encryption Standard", Proc. DFT, Vancouver, 2002, S. 51–59 werden nichtlineare Funktionen betrachtet, die durch S-Boxen mit acht Bit breiten Dateneingängen und mit acht Bit breiten Datenausgängen versehen sind. Die acht Bit breiten Dateneingänge sind durch ein neuntes Paritätsbit ergänzt, das die Parität der Eingänge realisiert. Ebenso sind die acht Datenausgänge durch ein Paritätsbit ergänzt, das die Parität der Ausgänge realisiert, so daß zur Realisierung der nichtlinearen Funktionen mit acht Dateneingängen und acht Datenausgängen Schaltungen mit neun Eingängen und neun Ausgängen verwendet werden. Es wird ausgeführt, daß sich der Aufwand für eine in dieser Weise überwachte nichtlineare Funktion gegenüber einer nicht überwachten nichtlinearen Funktion mehr als verdoppelt, wenn, wie in Bertoni, B., Breveglieri, L., Koren, I., Maistri,P. und Piceri, V. „A Parity-Code Based Fault Detection for an Implementation of the Advanced Encryption Standard", Proc. DFT, Vancouver, 2002, S. 51–59 dargestellt, die zugehörige S-Box als Speicherelement implementiert wird, was nachteilig ist.
  • 1 zeigt ein bekanntes Substitutions-Permutationsnetzwerk ohne Fehlererkennung mit 16 Eingängen 1, die 16 binäre Eingangssignale p1, ..., p16 eines zu verschlüsselnden Textes („plain text") führen, und 16 Ausgängen 7, die binäre Ausgangssignale c1, ..., c16 des verschlüsselten Textes („cipher") führen. Die Eingangssignale p1, ..., p16 werden in einem ersten Schritt mit Komponenten eines Schlüssels k0 in sechzehn XOR-Elementen 2 komponentenweise verknüpft. In einem zweiten Schritt werden jeweils vier aufeinanderfolgende Signale dieser verknüpften Signale in Blöcke 11, 12, 13, 14, die jeweils eine nichtlineare Funktion mit vier binären Eingangsvariablen und vier binären Ausgangsvariablen realisieren, eingegeben und hierin verarbeitet.
  • Ausgangssignale der Blöcke 11, 12, 13, 14 (s11–s14) werden durch eine Permutation 8, die mit Hilfe einer geeigneten Verdrahtung der Ausgänge der Blöcke 11, 12, 13, 14 mit den Eingängen von XOR-Elementen 3 realisiert ist, in einem dritten Schritt realisiert und in einem vierten Schritt mit den Komponenten eines zweiten Schlüssels k1 in den 16 XOR-Elementen 3 komponentenweise XOR-verknüpft. In einem fünften Schritt werden die Signale in Blöcken 15, 16, 17, 18 (s21–s24) verarbeitet. In einem sechsten Schritt werden die Signale mittels einer Permutation 9 permutiert. Die Signale werden in einem siebenten Schritt mit Komponenten eines dritten Schlüssels k2 in XOR-Elementen 4 XOR-verknüpft. In einem achten Schritt findet in Blöcken 19, 20, 21, 22 (s31–s34) eine Verarbeitung statt, und in einem neunten Schritt werden die Signale mit Hilfe einer Permutation 10 permutiert. Anschließend werden die Signale in einem zehnten Schritt mit den Komponenten eines vierten Schlüssels k3 in XOR-Elementen 5 XOR-verknüpft, um in einem elften Schritt den Blöcken 23, 24, 25, 26 (s41–s44) verarbeitet zu werden. In einem zwölften Schritt werden die Signale dann mit Komponenten eines Schlüssels k4 in XOR-Elementen 6 XOR-verknüpft und an Ausgängen 7 des Substitutions-Permutations-Netzwerkes als verschlüsselte Ausgangssignale c1, ..., c16 ausgegeben.
  • Nachteilig bei bekannten Verfahren zum kryptografischen Verschlüsseln mit Fehlererkennung ist, daß sie einen hohen Schaltungsaufwand erfordern, insbesondere die Einbeziehung von Schaltungsteilen zur Realisierung einer nichtlinearen Transformation in die Fehlererkennung.
  • Der Erfindung liegt die Aufgabe zugrunde, ein verbessertes Verfahren zur Fehlererkennung beim kryptografischen Transformieren von binären Eingangsdaten in binäre Ausgangsdaten und eine Schaltungsanordnung zum Ausführen des Verfahrens anzugeben, um den Aufwand für die Fehlererkennung zu vermindern, insbesondere bei Verwendung von Teilschaltungen mit nichtlinearer Transformationsfunktionen.
  • Die Aufgabe wird erfindungsgemäß durch ein Verfahren nach dem unabhängigen Anspruch 1, eine Schaltungsanordnung nach dem unabhängigen Anspruch 7 sowie eine Teilschaltung nach dem unabhängigen Anspruch 13 gelöst.
  • Die Erfindung umfaßt den Gedanken, zur Fehlererkennung beim kryptografischen Verschlüsseln von Texten, die in binärer Form vorliegen, Paritätsinformation wie folgt zu nutzen. Bei der kryptografischen Verschlüsselung werden mit Hilfe einer krytografischen Schaltung binäre Eingangsdaten in binäre Ausgangsdaten transformiert. Zu diesem Zweck weist die Schaltungsanordnung n binäre Eingänge zum Empfangen der binären Eingangsdaten und m binäre Ausgänge zum Ausgeben der binären Ausgangsdaten auf. Im Rahmen des kryptografischen Transformierens der binären Eingangsdaten in die binären Ausgangsdaten wir mit Hilfe einer von der kryptografischen Schaltung umfaßten Teilschaltung eine binäre Datentransformation ausgeführt. Zur Fehlererkennung wird zunächst eine Eingangsparität P auf Basis der binären Eingangsdaten an zumindest einem Teil der n binären Eingänge der kryptografischen Schaltung gebildet. Darüber hinaus wird eine Ausgangsparität PA auf Basis der binären Ausgangsdaten an zumindest einen Teil der m binären Ausgänge der kryptografischen Schaltung gebildet. Die Eingangsparität P wird in Abhängigkeit von der in der Teilschaltung ausgeführten, binären Datentransformation mittels einer Paritätsumwandlung in eine modifizierte Parität MP umgewandelt. Die Modifikation der Eingangsparität erfolgt hierbei unter Berücksichtigung der konkreten Ausprägung der binären Datentransformation. Zur Fehlererkennung wird dann die Ausgangsparität PA mit der modifizierten Parität MP verglichen, wobei ein Fehler erkannt wird, wenn festgestellt wird, daß die Ausgangsparität PA von der modifizierten Parität MP verschieden ist.
  • Ein wesentlicher Vorteil, welcher mit der Erfindung gegenüber mit dem Stand der Technik erreicht wird, besteht darin, daß ein Verfahren vorgeschlagen wird, das mit geringem Schaltungsaufwand einfach realisiert werden kann und es auf einfache Weise gestattet, die im Verfahren zur kryptografischen Verschlüsselung verwendeten Schaltungsteile, die nichtlineare Transformationen durchführen, in die Fehlererkennung einzubeziehen.
  • Um bei der kryptografischen Transformation der binären Eingangsdaten mehrere voneinander unabhängige Transformationsschritte durchführen zu können, sieht eine zweckmäßige Ausgestaltung der Erfindung vor, daß die kryptografische Schaltung zumindest eine weitere Teilschaltung umfaßt, die zwischen die n binären Eingängen der kryptografischen Schaltung und die Teilschaltung gekoppelt ist und mit der eine weitere binäre Datentransformation im Rahmen des kryptografischen Transformierens der binären Eingangsdaten in die binären Ausgangsdaten ausgeführt wird, wobei bei der Paritätsumwandlung der Eingangsparität P in die modifizierte Parität MP zunächst auf Basis der Eingangsparität P und in Abhängigkeit von der in der zumindest einen weiteren Teilschaltung ausgeführten, weiteren binären Datentransformation eine modifizierte Zwischenparität MP* und anschließend aus der modifizierten Zwischenparität MP* in Abhängigkeit von der in der Teilschaltung ausgeführten, binären Datentransformation die modifizierte Parität MP gebildet wird.
  • Zur Umwandlung der Parität in Abhängigkeit von der/den ausgeführten binären Datentransformation(en) können die folgenden Weiterbildungen der Erfindung vorgesehen sein, um die Paritätsumwandlung effektiv und mit wenig Aufwand zu realisieren. Eine Fortbildung der Erfindung sieht vor, daß bei der binären Datentransformation und/oder der weiteren binären Datentransformation eine Verschlüsselung mit Hilfe eines jeweiligen kryptografischen Schlüssels ausgeführt wird und daß die Eingangsparität P und/oder die modifizierte Zwischenparität MP* bei der Paritätsumwandlung durch die modulo-2-Summe der Parität des jeweiligen kryptografischen Schlüssels modifiziert werden.
  • Bei einer zweckmäßigen Ausgestaltung der Erfindung kann vorgesehen sein, daß bei der binären Datentransformation und/oder der weiteren binären Datentransformation eine Permutation ausgeführt wird und daß die Eingangsparität P und/oder die modifizierte Zwischenparität MP* bei der Paritätsumwandlung nicht modifiziert werden.
  • Eine vorteilhafte Weiterbildung der Erfindung sieht vor, daß bei der binären Datentransformation und/oder der weiteren binären Datentransformation eine Konstante mit Komponenten komponentenweise modulo-2-addiert wird und daß die Eingangsparität P und/oder die modifizierte Zwi schenparität MP* bei der Paritätsumwandlung durch die modulo-2-Summe der Parität der Komponenten der Konstanten modifiziert werden.
  • Das neue Verfahren zur Fehlererkennung beim kryptografischen Transformieren von binären Eingangsdaten in binäre Ausgangsdaten entfaltet seine vorteilhafte Wirkung insbesondere in Verbindung mit binären Datentransformationen, bei denen eine nichtlineare Transformationsfunktion realisiert wird. Eine vorteilhafte Ausgestaltung der Erfindung sieht vor, daß bei der binären Datentransformation und/oder der weiteren binären Datentransformation eine nichtlineare Transformation mit Hilfe wenigstens einer nichtlinearen Transformationsteilschaltung, insbesondere einer S-Box, ausgeführt wird; daß eine Parität von Eingängen PS und eine Parität von Ausgängen PAS der wenigstens einen nichtlinearen Transformationsteilschaltung ermittelt werden und an einem zusätzlichen Ausgang der wenigstens einen nichtlinearen Transformationsteilschaltung ein Paritätssignal ausgegeben wird, welches einer XOR-Verknüpfung der Parität der Eingänge PS und der Parität der Ausgänge PAS der wenigstens einen nichtlinearen Transformationsteilschaltung entspricht; und daß die Eingangsparität P und/oder die modifizierte Zwischenparität MP* bei der Paritätsumwandlung mit dem Paritätssignal XOR-verknüpft werden.
  • Weiterbildungen aus abhängigen Unteransprüchen der erfindungsgemäßen Schaltungsanordnung mit Fehlererkennung zum kryptografischen Transformieren von binären Eingangsdaten in binäre Ausgangsdaten weisen die in Verbindung mit den zugehörigen abhängigen Verfahrensansprüchen genannten Vorteile entsprechend auf.
  • Die Erfindung wird im folgenden anhand von Ausführungsbeispielen unter Bezugnahme auf eine Zeichnung näher erläutert. Hierbei zeigen:
  • 1 ein bekanntes Substitutions-Permutations-Netzwerk (SPN);
  • 2 eine schematische Darstellung einer Schaltungsanordnung zum kryptografischen Verschlüsseln binärer Daten;
  • 3 eine Realisierung eines Blockes (S-Box) mit vier Eingängen und fünf Ausgängen, die eine nichtlineare Funktion mit vier Eingangsvariablen und vier Ausgangsvariablen und einen zusätzlichen Ausgang realisiert;
  • 4 eine weitere Realisierung eines Blockes (S-Box), der die gleiche Funktion wie in 3 realisiert;
  • 5 ein Substitutions-Permutations-Netzwerk mit Fehlererkennung, in dem Blöcke (S-Boxen) zur Realisierung nichtlinearer Funktionen Verwendung finden;
  • 6 eine Schaltung zur kryptographischen Verschlüsselung eines 64-Bit CS Cipher Systems;
  • 7 eine Darstellung des Blockes zur Realisierung der „16-Bit Input, 16-Bit Output"-Mix-Funktion m nach 6 ohne Fehlererkennung; und
  • 8 eine Fehlererkennungsschaltung für einen Block zur Realisierung der „16-Bit Input, 16-Bit Output"-Mix-Funktion m nach 6.
  • 2 zeigt einen schematische Darstellung einer Schaltungsanordnung 100 zum kryptografischen Transformieren eines zu verschlüsselnden Textes, der in binärer Form vorliegt. Die Schaltungsanordnung verfügt über 16 binäre Eingänge p1, ..., p16. Auf die binären Eingänge p1–p16 werden binäre Eingangsdaten gegeben. Innerhalb der Schaltungsanordnung 100 werden mehrere Teilschaltungen 110-1, ..., 100-z für binäre Datentransformationen genutzt, um die binären Eingangsdaten mit Hilfe der Schaltungsanordnung 100 in binäre Ausgangsdaten umzuwandeln, die über binäre Ausgänge c1, ..., c16 ausgegeben werden. Bei dem in 2 gezeigten Ausführungsbeispiel ist die Anzahl der binären Eingänge p1–p16 gleich der Anzahl der binären Ausgänge c1–c16. In Abhängigkeit vom Anwendungsfall kann die Anzahl der binären Eingänge jedoch von der Anzahl der binären Ausgänge verschieden sein, dieses ist für die Erfindung nicht kritisch.
  • Um Fehler zu erkennen, die bei der kryptografischen Transformation mit Hilfe der Schaltungsanordnung 100 auftreten, wird eine Eingangsparität P gebildet, wobei die binären Eingangsdaten an zumindest einem Teil der binären Eingänge p1–p16 herangezogen werden. Die Eingangsdaten p1–p16 oder eine Teilmenge hiervon werden in einem XOR-Baum 111 zur Eingangsparität P XOR-verknüpft. Die Eingangsparität P wird nun in eine modifizierte Parität MP umgewandelt, wobei die Anzahl von Umwandlungsschritten zur Paritätsmodifikation von der Anzahl der Teilschaltungen 110-1, ..., 110-z abhängt, die von der Schaltungsanordnung 100 umfaßt sind. Gemäß 2 wird die Eingangsparität P hierbei zunächst in Abhängigkeit von der binären Datentransformation in der Teilschaltung 110-1 in eine erste modifizierte Zwischenparität MP*1 umgewandelt. Hierbei wird die Eingangsparität P mit einem binären Korrektursignal K1 in dem XOR-Gatter 12-1 zur ersten modifizierten Zwischenparität MP*1 verknüpft. Das binäre Korrektursignal K1 ist durch die konrete Ausgestaltung der Teilschaltung 110-1 festgelegt.
  • Die erste modifizierte Zwischenparaität MP*1 bildet die Eingangsgröße für eine zweite Paritätsumwandlung, bei der die erste modifizierte Zwischenparität MP*1 in Abhängigkeit von der binären Datentransformation in der Teilschaltung 110-2 zu einer zweiten modifizierten Zwischparität MP*2 modifiziert wird. Die erste modifizierte Zwischenparität MP*1 wird mit einem binären Korrektursignal K2 in dem XOR-Gatter 12-2 zur zweiten modifizierten Zwischenparität MP*2 verknüpft, wobei das binäre Korrektursignal K2 durch die konkrete Ausgestaltung der Teilschaltung 110-2 bestimmt ist. Bei jeder folgenden Datentrasformation in einer folgenden Teilschaltung wird entsprechend verfahren, bis die modifizierte Zwischenparität MP*(z-1) mit dem binären Korrektursignal Kz in dem XOR-Gatter 12-z zur modifizierten Parität MP verknüpft wird.
  • Der Begriff der Paritätsumwandlung umfaßt hier auch Fälle, in denen eine Änderung der modifizierten Parität aus dem vorhergehenden Umwandlungsschritt nicht stattfindet, beispielsweise wenn mit Hilfe der zugehörigen Teilschaltung im Rahmen der binären Datentransformation lediglich eine Permutation ausgeführt wird. In einem solchen Fall ist das zugehörige binäre Korrektursignal konstant gleich Null, so daß das zugehörige XOR-Gatter zur Modifikation der Zwischenparität in einem derartigen Schritt entfallen kann.
  • Gemäß 2 wird im Ergebnis eine modifizierte Parität MP gebildet. Die modifizierte Parität MP wird dann mit einer Ausgangsparität PA verglichen, die für die binären Ausgangsdaten an zumindest einem Teil der binären Ausgänge c1–c16 der Schaltungsanordnung 100 ermittelt wird. Hierbei werden die Ausgänge c1–c16 der Schaltungsanordnung 100 in einem XOR-Baum 112 zur Ausgangsparität PA XOR-verknüpft. Für die kryptografische Transformation mit Hilfe der Schaltungsanordnung 100 wird ein Fehler erkannt, wenn die modifizierte Parität MP von der Ausgangsparität PA verschieden ist. Zur Realisierung des Vergleichs der modifizierten Parität MP mit der Ausgangsparität PA kann beispielsweise eine XOR-Verknüpfung 113 genutzt werden.
  • Das anhand der schematischen Darstellung in 2 beschriebene Verfahren wird im folgenden unter Bezugnahme auf die 3 bis 8 für verschiedene Ausführungsbeispiele detaillierter erläutert.
  • 3 zeigt eine Darstellung eines erfindungsgemäßen Blockes S27 (S-Box) zur Realisierung einer nichtlinearen Funktion S mit vier binären Eingangsvariablen u1, u2, u3 und u4 und vier binären Ausgangsvariablen v1, v2, v3 und v4 mit vier Eingängen a, b, c, d 28 und fünf Ausgängen e, f, g, h 29, und k 30, wie er in einem Substitutions-Permutations-Netzwerk mit Fehlererkennung durch Paritätskodes angewendet werden kann. Tabelle 1 beschreibt die Wertetabelle der Eingangs- und Ausgangsbelegungen eines solchen Blockes mit vier Eingängen 28 und fünf Ausgängen 29, 30 realisiert.
  • Tabelle 1
    Figure 00090001
  • Die Ausgänge e, f, g, h 29 dienen dazu, die nichtlineare Funktion mit vier Eingangsvariablen und vier Ausgangsvariablen als
    v1 = S1(u1, u2, u3, u4)
    v2 = S2(u1, u2, u3, u4)
    v3 = S3(u1, u2, u3, u4)
    v4 = S4(u1, u2, u3, u4)
    zu realisieren.
  • Der Ausgang k 30 realisiert die Funktion
    v5 = (u1 ⊕ u2 ⊕ u3 ⊕ u4) ⊕ (S1(u) ⊕ S2(u) ⊕ S3(u) ⊕ S4(u)),
    wobei u = u1, u2, u3, u4 gilt.
  • Es ergibt sich, daß der Ausgang v5 30 die XOR-Verknüpfung der Parität P der Eingangsvariablen u1, u2, u3, u4 des Blockes 27 PS(u) = (u1 ⊕ u2 ⊕ u3 ⊕ u4) und der Parität PAS der vier Ausgänge v1, v2, v3, v4 29 des Blockes 27 PAS = (S1(u) ⊕ S2 ⊕ S3(u) ⊕ S4(u)) implementiert.
  • Es soll nun Tabelle 1 näher erläutert werden. Tabelle 1 beschreibt in hexadezimaler Darstellung die Funktionswerte einer nichtlinearen Funktion S mit vier binären Eingangsvariablen (u1, u2, u3 u4) = u und vier binären Ausgangsvariblen (v1, v2, v3, v4) = v, die erfindungsgemäß durch einen Ausgang v5 ergänzt wurde, der die XOR-Summe der Parität der Eingänge PS und der Parität der Ausgänge PAS realisiert. In Tabelle 1 sind die Werte der Eingangsvariablen u1, u2, u3 und u4 in der ersten Zeile, die dazugehörigen Werte der Ausgangsvariablen v1, v2, v3 und v4 in der zweiten Zeile und der Wert der Variablen v5 in der dritten Zeile dargestellt.
  • Es ergibt sich aus der elften Spalte von Tabelle 1, daß bei Eingabe von A = 10 (hexadezimal) = 1010 (binär) an den Eingängen u1, u2, u3, u4 29 die Werte 6 (hexadezimal = 0110 (binär) an den Ausgängen v1, v2, v3, v4 29 und 0 an dem Ausgang v5 30 ausgegeben werden. Dieses bedeutet, daß 0 gleich der XOR-Summe der Eingabeparität 1 ⊕ 0 ⊕ 1 ⊕ 0 = 0 und der Ausgabeparität 0 ⊕ 1 ⊕ 1 ⊕ 0 = 0 ist.
  • 4 zeigt eine Realisierung eines Blockes S 27, der die in Tabelle 1 beschriebenen nichtlinearen Funktion einschließlich ihres zusätzlichen fünften Ausganges v5 30 realisiert, aus UND-Elementen 90 und ODER-Elementen 91, wobei nicht negierte Eingänge u1, u2, u3, u4 und negierte Eingänge u1', u2', u3' und u4' verwendet werden. Es ergibt sich, daß in 4 jeder Ausgang v1, v2, v3, v4 29 und v5 30 so durch logische Bauelemente realisiert ist, daß jeder Ausgang eines Bauelementes nur auf einen der Ausgänge v1, v2, v3, v4 29 oder v5 30 wirkt und alle Ausgänge separat realisiert sind, was für die Fehlererkennung der Fehler in den Bauelementen vorteilhaft ist. Ein Fehler in einem der Bauelemente kann sich dann jeweils nur auf einen der Ausgänge v1, v2, v3, v4 29 oder v5 30 auswirken. Es ergibt sich außerdem, daß die Realisierung des zusätzlichen Ausganges v5 zur Realisierung der XOR-Summe der Eingabe-Parität PS(u) = u1 ⊕ u2 ⊕ u3 ⊕u4und der Ausgabe-Parität PAS = PS(v) = v1 ⊕ v2 ⊕ v3 ⊕ v4nur vier UND-Elemente 90 mit drei Eingängen und einem Ausgang und ein ODER-Element 91 mit vier Eingängen und einem Ausgang erfordert.
  • Der Fachmann kann vorsehen, die Schaltung von 4 zur Realisierung des Blockes S 27 zur Realisierung einer nichtlinearen Funktion bezüglich des Schaltungsaufwandes zu optimieren, so daß nach der Optimierung Schaltungsausgänge gemeinsam realisiert werden, wie das beim Schaltungsentwurf üblich ist. Hierdurch kann der erforderliche Schaltungsaufwand reduziert werden.
  • Darüber hinaus erkennt der Fachmann ohne weiteres, daß die in Tabelle 1 beschriebene Funktion des S-Blockes 27 auch als Speicherelement, etwa als ein ROM, realisiert werden kann.
  • 5 zeigt ein Substitutions-Permutations-Netzwerk mit erfindungsgemäßer Fehlererkennung für einen Paritätsbit-Code unter Verwendung erfindungsgemäßer Blöcke zur Realisierung nichtlinearer Funktionen.
  • Das Substitutions-Permutationsnetzwerk nach 5 realisiert funktionell die gleiche kryptografische Verschlüsselung von Daten, wie das Substitutions-Permutationsnetzwerk ohne Fehlererkennung von 1. Die entsprechenden Blöcke zur Realisierung nichtlinearer Funktionen, die in 1 mit 11, ..., 26 (sij) bezeichnet wurden, werden in 6 mit 31, ..., 38 (Sij) bezeichnet.
  • Die Eingänge 1, die die Eingangssignale p1, p2, ..., p16 tragen werden durch einen XOR-Baum 39 verknüpft, dessen Ausgang ein Signal ausgibt, welches der Parität der Eingänge P entspricht. Wie in dem Substitutions-Permutationsnetzwerk nach 1 werden in den Schritten 1, 4, 7, 10 und 12 die Daten komponentenweise mit den Komponenten der Schlüssel k0, k1, k2, k3 und k4 XOR-verknüpft. In 5 sind der besseren Übersicht halber nur die Verarbeitungsschritte 1, 2, 3, 10, 11 und 12 und auch nur die Gruppen von XOR-Elementen 2, 5 und 6 dargestellt, die die XOR-Verknüpfungen mit den Komponenten der Schlüssel k0, k4 und k5 realisieren.
  • In den Verarbeitungsschritten 1, 4, 7, 10 und 12, in denen die Daten mit den Schlüsseln k0, k1, k2, k3 und k4 komponentenweise XOR-verknüpft werden, ist die Eingangsparität schrittweise jeweils durch die Parität P(kj) = kj0 ⊕ kj1 ⊕...⊕ kj16, j = 1, ..., 4 über eine XOR-Verknüpfung in die entsprechenden modifizierten Zwischenparitäten zu modifizieren. Diese den Verarbeitungsschritten 1, 4, 7, 10 und 12 zugeordneten Modifikationen der Eingangsparität P läßt sich hier vorteilhaft zu einer einzigen Modifikation der Eingangsparität P zusammenfassen, die bei dem Ausführungsbeispiel in ihrer Funktion den einzelnen Verarbeitungsschritten 1, 4, 7, 10 und 12 nach dem allgemeinen Verfahren zugeordneten Modifikationen gleichwertig ist, indem die Eingangsparität P durch die XOR-Summe der den Schritten 1, 4, 7, 10 und 12 zugeordneten Paritäten der Komponenten der jeweiligen Schlüssel entspricht, in einem Schritt in die modifizierte Zwischenparität MP*1 modifiziert wird. So werden in dem XOR-Element 40 die Eingangsparität P mit dem binären Korrektursignal K1, das den Wert P(k) führt, mit P(k) = k01 ⊕ k02 ⊕...⊕ k016 ⊕ k11 ⊕ k12 ⊕...⊕ k116 ⊕ k21 ⊕...⊕ k216 ⊕ k31 ⊕... ⊕ k316 ⊕ k41 ⊕...⊕ k416 XOR-verknüpft, der bereits bei der Bestimmung der Schlüssel k0, k1, k2, k3 und k4 ermittelt werden kann.
  • Es wurde festgestellt, daß es zur Berücksichtigung des Einflusses der nichtlinearen Transformationen auf die Parität genügt, die Parität der Eingänge jeweils im dritten, fünften, achten und elften Schritt durch die modulo-2-Summe der jeweils zusätzlichen fünften Ausgänge 30 der Blöcke 31 ... 38 zur Realisierung der nichtlinearen Funktionen durch eine einfache XOR-Verknüpfung zu modifizieren. In 5 ist das für den zweiten und elften Verarbeitungsschritt ausführlich dargestellt. Im zweiten Schritt wird die modifizierte Zwischenparität MP*1 durch eine XOR-Verknüpfung mit dem binären Korrektursignal K2 in dem XOR-Element 41 in die modifizierte Zwischenparität MP*2 modifiziert. Den Verarbeitungsschritten 3, 6 und 9, denen jeweils Permutationen zugeordnet sind, entsprechen keine Modifikationen der Zwischenparitäten, da die entsprechenden binären Korrektursignale konstant gleich 0 sind.
  • Im Schritt 5, der eine nichtlineare Transformation beinhaltet, wird die modifizierte Zwischenparität MP*2 in die modifizierte Zwischenparität MP*3 modifiziert, und im Schritt 8, der ebenfalls eine nichtlineare Transformation beinhaltet, wird die modifizierte Zwischenparität MP*3 in die modifizierte Zwischenparität MP*4 modifiziert. Diese beiden Schritte sind, wie schon erwähnt, in 5 nicht eingezeichnet. Im elften Schritt wird die modifizierte Zwischenparität durch das binäre Korrektursignal K4 in die modifizierte Parität MP modifiziert. Da alle Modifikationen, die den Verarbeitungsschritten 1, 4, 7 und 10 entsprechen, in denen die Schlüssel k0, k1, k2, k3 und k4 mit den Daten komponentenweise XOR-verknüpft werden, in eine einzige Modifikation zusammengefaßt werden können, und da den Verarbeitungsschritten 3, 6 und 9, in denen eine Permutation der Daten ausgeführt wird, keine Modifikation der Zwischenparitäten erfordern, sind hier nur vier Zwischenparitäten MP*1, MP*2, MP*3 und MP*4 erforderlich.
  • Im zweiten Verarbeitungsschritt werden die jeweils 5-ten Ausgänge 30 der Blöcke 31, 32, 33, 34 (S11–S14) durch den XOR-Baum 43 mit vier Eingängen und einem Ausgang verknüpft, und der Ausgang dieses OR-Baumes 43 wird über das XOR-Element 41 zur der dem zweiten Schritt entsprechenden Modifikation der Eingangsparität in die modofizierte Parität genutzt.
  • Im elften Verarbeitungsschritt werden die jeweils 5-ten Ausgänge 30 der Blöcke 35, 36, 37, 38 (S41–S44) durch den XOR-Baum 44 verknüpft und der Ausgang dieses OR-Baumes 44 wird über das XOR-Element 42 zur der dem elften Schritt entsprechenden Modifikation der Parität der Eingänge in die modofizierte Parität genutzt.
  • Entsprechend wird in den Verarbeitungsschritten 5 und 8 verfahren. Aus Gründen der besseren Übersichtlichkeit sind diese Schritte in 5 nicht eingezeichnet worden.
  • Die Permutation 8, ebenso wie die Permutationen 9 und 10, die in 1 dargestellt sind, wirken sich auf die Parität der Daten nicht aus, und so ist in den Verarbeitungsschritten, in denen eine Permutation ausgeführt wird, keine Modifikation der Parität vorzunehmen.
  • In dem XOR-Baum 44 wird die Parität der Ausgänge 7, die die Ausgangssignale c1, c2, ..., c16 tragen als PA = c1 ⊕ c2 ⊕...⊕ c16gebildet, die mit der modifizierten Parität MP verglichen wird. Liegt ein Fehler innerhalb des Substitutions-Permutationsnetzwerkes vor, der die Parität verändert, so wird der Fehler daran erkannt, daß PA und die modifizierte Parität MP nicht übereinstimmen.
  • Obwohl sich Fehler nach Durchlaufen mehrerer Verarbeitungschritte auf viele Bits ausdehnen, wird überraschender Weise in der erfindungsgemäßen Schaltung jeder einzelne Fehler, der in einem Schritt des Substitutionsnetzwerk eine ungerade Anzahl von Bits verfälscht, am Vergleich der Parität der Ausgänge mit der modifizierten Parität erkannt.
  • 6 zeigt eine weitere Schaltung zur kryptographischen Verschlüsselung.
  • Die 64 Bit breiten Dateneingänge x0 ... x63 45 werden in einem ersten Schritt komponentenweise in 64 XOR-Elementen 46 XOR-verknüpft, wobei jedes XOR-Symbol der XOR-Verknüpfungen eine komponentenweise 8 Bit breite Verknüpfung darstellt.
  • In einem zweiten Schritt werden jeweils 8 aufeinanderfolgende dieser XOR-verknüpften Signale in den Blöcken 47, 48, 49 und 50 verarbeitet, die jeweils eine Funktion m (Mix-Funktion) realisieren. Die Ausgangssignale der Blöcke 47, 48, 49 und 50 werden jeweils 8-Bit-weise durch eine Permutation 51 in einem dritten Schritt permutiert, in einem vierten Schritt in den 64 XOR-Elementen 52 komponentenweise mit den 84 Komponenten einer Konstanten c XOR-verknüpft, in einem fünften Schritt in den Blöcken 53, 54, 55 und 56, die jeweils die Funktion m realisieren, verarbeitet, in einem sechsten Schritt jeweils 8-Bit-weise durch eine Permutation 57 permutiert, in einem siebenten Schritt in den 64 XOR-Elementen 58 mit den 64 Komponenten einer weiteren Konstanten c' komponentenweise XOR-verknüpft, in einem achten Schritt in den Blöcken 59, 60, 61 und 62, die die Funktion m realisieren, verarbeitet und in einem neunten Schritt jeweils 8-Bit-weise durch eine Permutation 63 permutiert, wobei die Permutationen in dritten, sechsten und neunten Schritt jeweils gleich sind.
  • Die Verarbeitung der eingegebenen Bits x15, ..., x0 in ersten und im zweiten Schritt soll nun noch näher beschrieben werden.
  • Für den ersten und zweiten Verarbeitungsschritt sind die XOR-Elemente 65 und 66, die jeweils acht aufeinanderfolgende Bits ihrer Dateneingänge komponentenweise mit den entsprechenden Komponenten des anliegenden Schlüssels XOR-verknüpfen und eine Realisierung der Misch-Funktion m in 7 dargestellt.
  • In dem XOR-Element 65, welches 8 einzelne XOR-Elemente mit zwei binären Eingängen und einem binären Ausgang veranschaulicht, werden die Dateneingänge x7, ..., x0 = xr mit den entsprechenden Komponenten k7, ..., k0 = kr des Schlüssels k = k1, kr verknüpft. In dem XOR-Element 66, welches 8 einzelne XOR-Elemente mit zwei binären Eingängen und einem binären Ausgang veranschaulicht, werden die Dateneingänge x15 ... x8 = x1 mit den entsprechenden Komponenten des Schlüssels k15 ... k8 = k1 verknüpft und in den Block 69 zur Realisierung der Funktion φ geführt.
  • Bei Eingabe von w = w15 ... w8 gibt der Block 68 zur Realisierung der Funktion φ den Wert φ(w) = (w14, ... w8, w15)Λ(010101))⊕(w15, w14, ..., w8) = w15, w13 ⊕ w14, w13, w11 ⊕ w12, w11, w9 ⊕ w10, w9 w8 ⊕ w15.
  • Mit w = x15 ⊕ k15, ..., x8 ⊕ k8 ergibt sich: φ(w) = x15 ⊕ k15, x13 ⊕ k13 ⊕ x14 ⊕ k14, x13 ⊕ k13, x11 ⊕ k11 ⊕ x12 ⊕ k12, x11 ⊕ k11, x9 ⊕ k9 ⊕ x10 ⊕ k10, x9 ⊕ k9, x8 ⊕ k8 ⊕ x15 ⊕ k15.
  • In den XOR-Elementen 65 werden die Dateneingänge x7, ..., x0 mit den Komponenten k7, ..., k0 des Schlüssels k zu x7 ⊕ k7, ..., x0 ⊕ k0 verknüpft. Die Ausgänge des Blockes 68 zur Realisierung der Funktion φ und die Ausgänge der XOR-Elemente 65 werden durch die XOR-Elemente 69 komponentenweise XOR-verknüpft, so daß für die Ausgänge y1 = y7, ..., y0 der XOR-Elemente 69 gilt: y1 = φ(w) ⊕ (x7 ⊕ k7, x6 ⊕ k6, ..., x0 ⊕ k0).
  • Für die Parität P(y1) = y7 ⊕ y6 ⊕...⊕ y0 gilt dann: P(y1) = x14 ⊕ x12 ⊕ x10 ⊕ x8 ⊕ P(xr) ⊕ γ,mit P(x1) = x7 ⊕ x6 ⊕ x5 ⊕⊕ x4 ⊕ x3 ⊕ x2 ⊕ x1 ⊕ x1 ⊕ x0 und γ = k14 ⊕ k12 ⊕ k10 ⊕ k8 ⊕ P(kr)mit P(kr) = k7 ⊕ k6 ⊕ k5 ⊕ k4 ⊕ k3 ⊕ k2 ⊕ k1 ⊕ k0.
  • Der Block 67 zur Realisierung der Funktion R1 realisiert die Funktion R1(x1 ⊕ k1) = R1(x15 ⊕ k15, ..., x8 ⊕ k8) = x14 ⊕ k14, x13 ⊕ k13, ..., x8 ⊕ k8, x15 ⊕ k15.
  • Der 8 Bit breite Ausgang des Blockes 67 wird mit dem 8 Bit breiten Ausgang der XOR-Elemente 65 in den XOR-Elementen 70 komponentenweise zu yr verknüpft, so daß für die Parität P(yr) dieser Ausgänge gilt: P(yr) = y7 ⊕ y6 ⊕ ... y1 ⊕ y0 = P(x1) ⊕ P(xr) ⊕ P(k1) ⊕ P(kr) mit P(x1) = x7 ⊕...⊕ x0 P(xr) = x15 ⊕...⊕ x8 P(kr) = k7 ⊕...⊕ k0 P(k1) = k15 ⊕...⊕ k8.
  • Die Ausgänge y1 der XOR-Elemente 69 und die Ausgänge yr der XOR-Elemente 70 yr werden jeweils in einem Block 71, 72 zur Realisierung einer nichtlinearen Funktion p verarbeitet, deren Wahrheitstafel in Tabelle 2 in hexadezimaler Darstellung beschrieben ist.
  • Tabelle 2
    Figure 00160001
  • Den Eingangsbelegungen 00 = 00000000,01 = 00000001,10 = 00010000, ..., FF = 1111 1111 in der ersten Spalte von Tabelle 2 sind in der zweiten Spalte die funktionalen Ausgangsbelegungen 29 = 00101001,0D = 00001101,97 = 10010111,...55 = 01010101 zugeordnet.
  • Bei Eingabe von y1 in den Block 71 zur Realisierung der nichtlinearen Funktion p werden die Werte z1 entsprechend der ersten und zweiten Spalte von Tabelle 2 ausgegeben. Ebenso werden bei Eingabe von yr in den Block 72 zur Realisierung der nichtlinearen Funktion p die Werte zr ebenfalls entsprechend der ersten und zweiten Spalte von Tabelle angegeben.
  • Ein erfindungsgemäßer Block mit acht Eingängen und neun Ausgängen, der die durch die Spalten 1 und 2 von Tabelle 2 beschriebene nichtlineare Funktion p mit acht binären Eingängen und acht binären Ausgängen an seinen ersten acht Ausgängen realisiert und der an seinem neunten Ausgang die XOR-Summe der Parität der Eingabenwerte und der Parität der Ausgabewerte realisiert ist durch die Spalten 1, 2 und 3 von Tabelle 2 festgelegt.
  • Es ergibt sich, daß der Block zur Realisierung der Funktion p bei Eingabe von 00 = 0000 0000 und Ausgaben von 29 = 0010 1001 an seinen ersten acht Ausgängen an seinem neunten Ausgang entsprechend der ersten und zweiten Spalte von Tabelle 2 an seinem neunten Ausgang den Wert 1 ausgibt, wie das in Spalte 3 von Tabelle 2 beschrieben ist, der der XOR Summe der Eingabeparität P(00000000) = 0 ⊕ 0 ⊕ 0 ⊕ 0 ⊕ 0 ⊕ 0 ⊕ 0 ⊕ 0 = 0und der Ausgangsparität P(00101001 = 0 ⊕ 0 ⊕ 1 ⊕ 0 ⊕ 1 ⊕ 0 ⊕ 0 ⊕ 1 = 1entspricht.
  • Die Realisierung einer durch eine Wertetabelle gegebene kombinatorische Schaltung kann vom Fachmann ohne weiteres ausgeführt werden. Eine spezielle Realisierung dieser Funktion ist nicht Gegenstand der Erfindung. Es wird deshalb eine spezielle Implementierung dieser Funktion auf Gatterebene oder unter Verwendung eines ROMs hier nicht beschrieben.
  • Die Anwendung eines Blockes 73, 74 mit acht binären Eingängen und acht binären Ausgängen zur Realisierung einer Funktion mit acht binären Eingangsvariablen und acht binären Ausgangsvariablen und einem weiteren binären Ausgang, der die XOR-Summe der Parität der Eingänge P und der Parität der Ausgänge PA ausgibt, soll nun für die Schaltung zur kryptographischen Verschlüsselung von 6 anhand von 8 erläutert werden.
  • 8 beschreibt eine Fehlererkennungsschaltung für die Eingabewerte x1 = x15, ..., x8 und xr = x7, ..., x0 für eine kryptographischen Verschlüsselung. Gleiche Blöcke sind in 8 und in 9 mit gleichen Bezugszeichen bezeichnet.
  • Der XOR-Baum 76 realisiert die XOR-Summe π2 = x14 ⊕ x12 ⊕ x10 ⊕ x8, während der XOR-Baum 75 die XOR-Summe π1 = x15 ⊕ x13 ⊕ x11 ⊕ x9 und der XOR-Baum 77 die XOR-Summe π3 = x7 ⊕ x6 ⊕ x5 ⊕ x4 ⊕ x3 ⊕ x2 ⊕ x1 ⊕ x0 = P(xr)realisieren.
  • Hierbei gilt: π1 ⊕ π2 = x15 ⊕ x14 ⊕ x13 ⊕ x12 ⊕ x11 ⊕ x10 ⊕ x9 ⊕ x8 = P(x1).
  • In dem XOR-Element 78 wird der Ausgang des XOR-Baumes 76 mit dem Ausgang des XOR-Baumes 77 zu π2 ⊕ π3 = x14 ⊕ x12 ⊕ x10 ⊕ x8 ⊕ P(xr) = P'verknüpft. In dem XOR-Element 79 werden der Ausgang des XOR-Baumes 75 und der Ausgang des XOR-Elementes 78 zu π1 ⊕ π2 ⊕ π3 = P(xr) ⊕ P(x1) = Pverknüpft. In dem XOR-Element 80 werden π2 ⊕ π3 und γ zu π2 ⊕ π3 γ zur modifizierten Zwischenparität MP'*1 verknüpft.
  • In dem XOR-Element 81 werden P(k) = P(kr) ⊕ P(k1) mit dem Ausgang des XOR-Elementes 79, der den Wert P(x) führt, zur modifizierten Zwischenparität MP*1 verknüpft. Man bemerkt, daß das entsprechende binäre Korrektursignal den Wert P(k) führt. Der Block 71 mit acht binären Eingängen und acht binären Ausgängen zur Realisierung der Funktion p in 7 ist durch den Block 73 mit acht Eingängen und neun Ausgängen, wie er durch die Spalten 1, 2 und 3 von Tabelle 2 beschrieben ist, ersetzt worden. Ebenso ist der Block 72 mit acht Eingängen und acht Ausgängen zur Realisierung der Funktion p in 7 durch den Block 74 mit acht Eingängen und neun Ausgängen ersetzt worden, wie er ebenfalls in den Spalten 1, 2 und 3 von Tabelle 2 beschrieben ist. An ihrem jeweils neunten Ausgang realisieren die Blöcke 73 und 74 die XOR-Summe der Parität ihrer Eingabewerte und der Parität ihrer Ausgabewerte.
  • Der neunte Ausgang des Blockes 73 wird als binäres Korrektursignal in den ersten Eingang des XOR-Elementes 82 geführt, an dessen zweitem Eingang der Ausgang des XOR-Elementes 80 angeschlossen ist und der die modifizierte Parität MP' ausgibt. Der neunte Ausgang des Blockes 74 wird als binäres Korrektursignal in den ersten Eingang des XOR-Elementes 83 geführt, an dessen zweitem Eingang der Ausgang des XOR-Elementes 81 angeschlossen ist und der die modifizierte Parität MP ausgibt.
  • In dem XOR-Baum 84 mit acht Eingängen und einem Ausgang werden die ersten acht Ausgänge des Blockes 73 zu PA1 XOR-verknüpft. Es ergibt sich, daß die Ausgänge des XOR-Baumes 84 und des XOR-Elementes 82 gleich sind, wenn kein Fehler vorliegt. Sind die Ausgänge des XOR-Elementes 82 und des XOR-Baumes 84 ungleich, liegt ein Fehler vor. Es ergibt sich, daß hier die Parität PA1 der 8 höherwertigen Bits der Ausgänge, d.h. eines Teiles aller 16 Ausgänge mit der modifizierten Parität P' eines Teiles der Eingänge, nämlich der Eingänge 14, 12, 10, 8, 7, 6, 5, 4, 3, 2 und 1 und die Parität PAr der 8 niederwertigsten Bits der Ausgänge, d. h. eines Teiles aller 16 Ausgänge mit der Parität P aller 16 Eingänge zur Fehlererkennung verglichen werden.
  • In dem XOR-Baum 85 mit acht Eingängen und einem Ausgang werden die ersten acht Ausgänge des Blockes 74 zu PAr XOR-verknüpft. Es ergibt sich, daß die Ausgänge des XOR-Baumes 85 und des XOR-Elementes 83 gleich sind, solange kein Fehler vorliegt. Sind die Ausgänge des XOR-Elementes 83 und des XOR-Baumes 85 ungleich, liegt ein Fehler vor.
  • Die in der vorstehenden Beschreibung und der Zeichnung offenbarten Merkmale der Erfindung können sowohl einzeln als auch in beliebiger Kombination für die Verwirklichung der Erfindung in ihren verschiedenen Ausführungsformen von Bedeutung sein.

Claims (13)

  1. Verfahren zur Fehlererkennung beim kryptografischen Transformieren von binären Eingangsdaten in binäre Ausgangsdaten mit Hilfe einer kryptopgrafischen Schaltung, die n binäre Eingänge zum Empfangen der binären Eingangsdaten und m binäre Ausgänge zum Ausgeben der binären Ausgangsdaten umfaßt, bei dem: – im Rahmen des kryptografischen Transformierens der binären Eingangsdaten in die binären Ausgangsdaten mit Hilfe einer von der kryptografischen Schaltung umfaßten Teilschaltung eine binäre Datentransformation ausgeführt wird; – eine Eingangsparität P auf Basis der binären Eingangsdaten an zumindest einem Teil der n binären Eingänge der kryptografischen Schaltung gebildet wird; – eine Ausgangsparität PA auf Basis der binären Ausgangsdaten an zumindest einem Teil der m binären Ausgänge gebildet wird; – die Eingangsparität P in Abhängigkeit von der in der Teilschaltung ausgeführten, binären Datentransformation mittels einer Paritätsumwandlung in eine modifizierte Parität MP umgewandelt wird; und – die Ausgangsparität PA mit der modifizierten Parität MP verglichen wird, wobei ein Fehler erkannt wird, wenn festgestellt wird, daß die Ausgangsparität PA von der modifizierten Parität MP verschieden ist.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die kryptografische Schaltung zumindest eine weitere Teilschaltung umfaßt, die zwischen die n binären Eingänge der kryptografischen Schaltung und die Teilschaltung gekoppelt ist und mit der eine weitere binäre Datentransformation im Rahmen des kryptografischen Transformierens der binären Eingangsdaten in die binären Ausgangsdaten ausgeführt wird, wobei bei der Paritätsumwandlung der Eingangsparität P in die modifiziere Parität MP zunächst auf Basis der Eingangsparität P und in Abhängigkeit von der in der zumindest einen weiteren Teilschaltung ausgeführten, weiteren binären Datentransformation eine modifizierte Zwischenparität MP* und anschließend aus der modifizierten Zwischenparität MP* in Abhängigkeit von der in der Teilschaltung ausgeführten, binären Datentransformation die modifizierte Parität MP gebildet wird.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß bei der binären Datentransformation und/oder der weiteren binären Datentransformation eine Verschlüsselung mit Hilfe eines jeweiligen kryptografischen Schlüssels ausgeführt wird und daß die Eingangsparität P und/oder die modifizierte Zwischenparität MP* bei der Paritätsumwandlung durch die modulo-2-Summe der Parität des jeweiligen kryptografischen Schlüssels modifiziert werden.
  4. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß bei der binären Datentransformation und/oder der weiteren binären Datentransformation eine Permutation ausgeführt wird und daß die Eingangsparität P und/oder die modifizierte Zwischenparität MP* bei der Paritätsumwandlung nicht modifiziert werden.
  5. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß bei der binären Datentransformation und/oder der weiteren binären Datentransformation eine Konstante mit Komponenten komponentenweise modulo-2-addiert wird und daß die Eingangsparität P und/oder die modifizierte Zwischenparität MP* bei der Paritätsumwandlung durch die modulo-2-Summe der Parität der Komponenten der Konstanten modifiziert werden.
  6. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß: – bei der binären Datentransformation und/oder der weiteren binären Datentransformation eine nichtlineare Transformation mit Hilfe wenigstens einer nichtlinearen Transformationsteilschaltung, insbesondere einer S-Box, ausgeführt wird; – eine Parität von Eingängen PS und eine Parität von Ausgängen PAS der wenigstens einen nichtlinearen Transformationsteilschaltung ermittelt werden und an einem zusätzlichen Ausgang der wenigstens einen nichtlinearen Transformationsteilschaltung ein Paritätssignal ausgegeben wird, welches einer XOR-Verknüpfung der Parität der Eingänge PS und der Parität der Ausgänge PAS der wenigstens einen nichtlinearen Transformationsteilschaltung entspricht; und – die Eingangsparität P und/oder die modifizierte Zwischenparität MP* bei der Paritätsumwandlung mit dem Paritätssignal XOR-verknüpft werden.
  7. Schaltungsanordnung zum kryptografischen Transformieren von binären Eingangsdaten in binäre Ausgangsdaten mit: – n binären Eingängen zum Empfangen der binären Eingangsdaten; – m binären Ausgängen zum Ausgeben der binären Ausgangsdaten; – einer mit den n binären Eingängen und den m binären Ausgängen in Verbindung stehenden Teilschaltung zum Ausführen einer binäre Datentransformation im Rahmen des kryptografischen Transformierens der binären Eingangsdaten in die binären Ausgangsdaten; – Mittel zum Bilden einer Eingangsparität P auf Basis der binären Eingangsdaten an zumindest einem Teil der n binären Eingänge; – Mittel zum Bilden einer Ausgangsparität PA auf Basis der binären Ausgangsdaten an zumindest einen Teil der m binären Ausgänge; – Umwandlungsmittel zum Umwandeln der Eingangsparität P in Abhängigkeit von der in der Teilschaltung ausgeführten, binären Datentransformation mittels einer Paritätsumwandlung in eine modifizierte Parität MP; und – Fehlererkennungsmittel zum Vergleichen der Ausgangsparität PA mit der modifizierten Parität MP, wobei ein Fehler erkannt wird, wenn beim Vergleichen festgestellt wird, daß die Ausgangsparität PA von der modifizierten Parität MP verschieden ist.
  8. Schaltungsanordnung nach Anspruch 7, gekennzeichnet durch zumindest eine weitere Teilschaltung, die zwischen die n binären Eingängen und die Teilschaltung gekoppelt ist und mit der eine weitere binäre Datentransformation im Rahmen des kryptografischen Transformierens der binären Eingangsdaten in die binären Ausgangsdaten ausführbar ist, wobei die Umwandlungsmittel konfiguriert sind, so daß bei der Paritätsumwandlung der Eingangsparität P in die modifizierte Parität MP zunächst auf Basis der Eingangsparität P und in Abhängigkeit von der in der zumindest einen weiteren Teilschaltung ausgeführten, weiteren binären Datentransformation eine modifizierte Zwischenparität MP* und anschließend aus der modifizierten Zwischenparität MP* in Abhängigkeit von der in der Teilschaltung ausgeführten, binären Datentransformation die modifizierte Parität MP gebildet werden kann.
  9. Schaltungsanordnung nach Anspruch 7 oder 8, dadurch gekennzeichnet, daß die Teilschaltung und/oder die zumindest eine weitere Teilschaltung eine Verschlüsse lungsschaltung zum Verschlüsseln mit Hilfe eines jeweiligen kryptografischen Schlüssels ist und die Umwandlungsmittel der Verschlüsselungsschaltung zugeordnete Umwandlungsmittel umfassen, um die Eingangsparität P und/oder die modifizierte Zwischenparität MP* bei der Paritätsumwandlung durch die modulo-2-Summe der Parität des jeweiligen kryptografischen Schlüssels zu modifizieren.
  10. Schaltungsanordnung nach einem der Ansprüche 7 bis 9, dadurch gekennzeichnet, daß die Teilschaltung und/oder die zumindest eine weitere Teilschaltung eine Permutationsschaltung ist und die Umwandlungsmittel der Permutationsschaltung zugeordnete Umwandlungsmittel umfassen, um die Eingangsparität P und/oder die modifizierte Zwischenparität MP* bei der Paritätsumwandlung nicht zu modifizieren.
  11. Schaltungsanordnung nach einem der Ansprüche 7 bis 10, dadurch gekennzeichnet, daß die Teilschaltung und/oder die zumindest eine weitere Teilschaltung eine Additionsschaltung zum komponentenweisen modulo-2-Addieren einer Konstante mit Komponenten ist und die Umwandlungsmittel der Additionsschaltung zugeordnete Umwandlungsmittel umfassen, um die Eingangsparität P und/oder die modifizierte Zwischenparität MP* bei der Paritätsumwandlung durch die modulo-2-Summe der Parität der Komponenten der Konstanten zu modifizieren.
  12. Schaltungsanordnung nach einem der Ansprüche 7 bis 11, wobei: – die Teilschaltung und/oder die zumindest eine weitere Teilschaltung eine nichtlineare Transformationsschaltung, insbesondere eine S-Box umfaßt; – die nichtlineare Transformationsschaltung einen zusätzlichen Ausgang für die Ausgabe eines Paritätssignals aufweist, welches einer XOR-Verknüpfung einer Parität von Eingängen PS und einer Parität von Ausgängen PAS der wenigstens einen nichtlinearen Transformationsteilschaltung entspricht; und – die Umwandlungsmittel der nichtlineare Transformationsschaltung zugeordnete Umwandlungsmittel umfassen, um die Eingangsparität P und/oder die modifizierte Zwischenparität MP* bei der Paritätsumwandlung mit dem Paritätssignal über eine XOR-Operation zu verknüpfen.
  13. Teilschaltung für eine kryptografische Schaltungsanordnung zum nichtlinearen Transformieren binärer Eingangsdaten in binäre Ausgangsdaten, insbesondere S-Box oder ei ne p-Box eines CS-Cipher Systems, mit k binären Eingängen und h binären Ausgängen, dadurch gekennzeichnet, daß ein zusätzlicher Ausgang für die Ausgabe eines Paritätssignals vorgesehen ist, welches einer XOR-Verknüpfung einer Parität der binären Ausgangsdaten an den h binären Ausgängen und einer Parität der binären Eingangsdaten an den k binären Eingängen entspricht.
DE2002161810 2002-12-19 2002-12-19 Verfahren zur Fehlererkennung beim kryptografischen Transformieren von binären Daten und Schaltungsanordnung Expired - Fee Related DE10261810B4 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE2002161810 DE10261810B4 (de) 2002-12-19 2002-12-19 Verfahren zur Fehlererkennung beim kryptografischen Transformieren von binären Daten und Schaltungsanordnung
PCT/DE2003/003931 WO2004057794A1 (de) 2002-12-19 2003-11-27 Verfahren zur fehlerekennung beim kryptografischen transformieren von binären daten und dazugehörige schaltungsanordnung
AU2003289811A AU2003289811A1 (en) 2002-12-19 2003-11-27 Method for recognizing errors during the cryptographic transformation of binary data, and associated circuit arrangement

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2002161810 DE10261810B4 (de) 2002-12-19 2002-12-19 Verfahren zur Fehlererkennung beim kryptografischen Transformieren von binären Daten und Schaltungsanordnung

Publications (2)

Publication Number Publication Date
DE10261810A1 DE10261810A1 (de) 2004-07-08
DE10261810B4 true DE10261810B4 (de) 2004-12-23

Family

ID=32478132

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2002161810 Expired - Fee Related DE10261810B4 (de) 2002-12-19 2002-12-19 Verfahren zur Fehlererkennung beim kryptografischen Transformieren von binären Daten und Schaltungsanordnung

Country Status (3)

Country Link
AU (1) AU2003289811A1 (de)
DE (1) DE10261810B4 (de)
WO (1) WO2004057794A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004062825A1 (de) * 2004-12-27 2006-07-13 Infineon Technologies Ag Kryptographische Einheit und Verfahren zum Betreiben einer kryptographischen Einheit
US8781114B2 (en) 2004-09-08 2014-07-15 Infineon Technologies Ag Apparatus and method for recognizing a failure of a cryptographic unit

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9646175B2 (en) * 2014-11-26 2017-05-09 Synopsys, Inc. Two-way parity error detection for advanced encryption standard engines
CN112118097B (zh) * 2020-09-07 2021-10-08 昆明理工大学 一种对称密钥加密方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5365591A (en) * 1993-10-29 1994-11-15 Motorola, Inc. Secure cryptographic logic arrangement
US5432848A (en) * 1994-04-15 1995-07-11 International Business Machines Corporation DES encryption and decryption unit with error checking

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5365591A (en) * 1993-10-29 1994-11-15 Motorola, Inc. Secure cryptographic logic arrangement
US5432848A (en) * 1994-04-15 1995-07-11 International Business Machines Corporation DES encryption and decryption unit with error checking

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
PATSEI, N.V. *
PATSEI, N.V.; URBANOVICH, P.P.: On the Design of Error Detection and Correction Cryptography Schemes. In: Information Systems for Enhanced Public Safety and Security. EUROCOM 2000, IEEE/ AFCEA, 17. Mai 2000, S. 266-268
URBANOVICH, P.P.: On the Design of Error Detection and Correction Cryptography Schemes. In: Information Systems for Enhanced Public Safety and Security. EUROCOM 2000, IEEE/ AFCEA, 17. Mai 2000, S. 266-268 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8781114B2 (en) 2004-09-08 2014-07-15 Infineon Technologies Ag Apparatus and method for recognizing a failure of a cryptographic unit
DE102004062825A1 (de) * 2004-12-27 2006-07-13 Infineon Technologies Ag Kryptographische Einheit und Verfahren zum Betreiben einer kryptographischen Einheit
DE102004062825B4 (de) * 2004-12-27 2006-11-23 Infineon Technologies Ag Kryptographische Einheit und Verfahren zum Betreiben einer kryptographischen Einheit

Also Published As

Publication number Publication date
WO2004057794A1 (de) 2004-07-08
DE10261810A1 (de) 2004-07-08
AU2003289811A1 (en) 2004-07-14
WO2004057794B1 (de) 2004-09-02

Similar Documents

Publication Publication Date Title
DE602005002632T2 (de) Schlüsselmaskierung für kryptographische Prozesse mittels einer Kombination von Zufallsmaskenwerten
DE2855787A1 (de) Digitalsignatureinrichtung
DE102017125617B4 (de) Bestimmung und Verwendung von Bytefehlerpostionssignalen
EP0624294B1 (de) Decodierung durch kreuzkorrelation einer durch zyklische verschiebung und invertierung codierten datenfolge
DE2217935C3 (de) Anordnung und Verfahren zur Korrektur von Doppelfehlern in einer Nachricht
DE102013205542A1 (de) Vorrichtung und Verfahren zur Verarbeitung von Daten
DE2063199A1 (de) Einrichtung zur Ausfuhrung logischer Funktionen
DE102014207296A1 (de) Vorrichtung und Verfahren zur Verarbeitung von Daten
EP0976221A1 (de) Verfahren und anordnung zur bildung und überprüfung einer prüfsumme für digitale daten, die in mehrere datensegmente gruppiert sind
DE10261810B4 (de) Verfahren zur Fehlererkennung beim kryptografischen Transformieren von binären Daten und Schaltungsanordnung
DE102018131613A1 (de) Fehlererkennung mittels Gruppenfehler
WO2005043803A1 (de) Verfahren und vorrichtung zur ver-/ entschlüsselung
DE19757370C2 (de) Verfahren zur taktilen Erzeugung pseudo-zufälliger Datenworte
DE102013219088A1 (de) Schaltungsanordnung und Verfahren zur Realisierung von Prüfbitkompaktierung für Cross-Parity-Codes
EP1625688B1 (de) Vorrichtung und verfahren zur kommunikation mit hilfe einer kryptographisch verschlüsselten codetabelle
DE2639806C2 (de) Verfahren und Einrichtung zum Verschlüsseln oder Entschlüsseln von Datenblöcken in binärer Darstellung
DE1088257B (de) Anordnung zum Pruefen eines vielstelligen Zahlenausdrucks
WO2004057356A1 (de) Vorrichtung und verfahren zur bildung einer signatur
DE2906578C2 (de)
DE2136536B2 (de) Verfahren und Anordnung zur Korn pnmierung und Dekompnmierung binarer Daten
EP0963634A1 (de) Verfahren und anordnung zur rechnergestützten bildung einer permutation zur permutierung digitaler signale und verfahren und anordnung zur verschlüsselung digitaler signale
DE3942150C2 (de) Verfahren und Schaltungsanordnung zur Datensicherung in Speichereinheiten
DE102020120719A1 (de) Zugriff auf einen speicher
DE1574603A1 (de) Binaere Addierschaltung
DE102021133678A1 (de) Korrektur von bitfehlern

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee