WO2004057794A1 - Verfahren zur fehlerekennung beim kryptografischen transformieren von binären daten und dazugehörige schaltungsanordnung - Google Patents

Verfahren zur fehlerekennung beim kryptografischen transformieren von binären daten und dazugehörige schaltungsanordnung Download PDF

Info

Publication number
WO2004057794A1
WO2004057794A1 PCT/DE2003/003931 DE0303931W WO2004057794A1 WO 2004057794 A1 WO2004057794 A1 WO 2004057794A1 DE 0303931 W DE0303931 W DE 0303931W WO 2004057794 A1 WO2004057794 A1 WO 2004057794A1
Authority
WO
WIPO (PCT)
Prior art keywords
parity
binary
data
transformation
input
Prior art date
Application number
PCT/DE2003/003931
Other languages
English (en)
French (fr)
Other versions
WO2004057794B1 (de
Inventor
Michael GÖSSEL
Grigori Kouznetsov
Ramesh Karri
Original Assignee
Universität Potsdam
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 Universität Potsdam filed Critical Universität Potsdam
Priority to AU2003289811A priority Critical patent/AU2003289811A1/en
Publication of WO2004057794A1 publication Critical patent/WO2004057794A1/de
Publication of WO2004057794B1 publication Critical patent/WO2004057794B1/de

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

Definitions

  • the invention is in the field of secure cryptographic encryption of binary electronic data.
  • Cryptographic encryption of data that are in electronic form can be carried out, for example, with the aid of a substitution network.
  • Substitution networks for the cryptographic encryption of data are described, for example, in H. Heyes, "A tutorial on linear an differential cryptoanalysis” (cf. http://citeeser.nj.nec.com /443539.html) and in Stern, J., Vaudenary , S., CS Cipher, FSE, LNCS 1372, pages 189-204, 1998.
  • substitution permutation networks and similar circuits for cryptographic encryption operations such as permutations, component-wise modulo-2 addition of the data and of keys and / or constants, linear transformations and implementation of nonlinear functions, which are often referred to as nonlinear substitutions, are performed in successive steps in in different order, carried out step by step.
  • the eight data outputs are also supplemented by a parity bit which realizes the parity of the outputs, so that circuits with nine inputs and nine outputs are used to implement the nonlinear functions with eight data inputs and eight data outputs. It is stated that the effort for a nonlinear function monitored in this way more than doubles compared to an unmonitored nonlinear function if, as in Bertoni, B., Breveglieri, L., Koren,!, Maistri, P. and Piceri, V. "A parity code based fault detection for an implementation of the Advanced Encryption Standard", Proc. DFT, Vancouver, 2002, pp. 51-59, the associated S-Box is implemented as a storage element, which is disadvantageous.
  • Figure 1 shows a known substitution permutation network without error detection with 16 inputs 1, which carry 16 binary input signals pl, ..., p 16 of a text to be encrypted ("piain text"), and 16 outputs 1, the binary output signals cl ,. .., cl6 of the encrypted text ("cipher").
  • the input signals pl, ..., pl6 are linked component by component with components of a key kO in sixteen XOR elements 2.
  • four successive signals of these linked signals are entered into blocks 11, 12, 13, 14, each of which realizes a nonlinear function with four binary input variables and four binary output variables, and is processed therein.
  • Output signals of blocks 11, 12, 13, 14 are generated by a permutation 8, which is implemented with the aid of suitable wiring of the outputs of blocks 11, 12, 13, 14 with the inputs of XOR elements 3, realized in a third step and in a fourth step with the components of a second key k1 in the 16 XOR elements 3 component-XOR.
  • the signals are processed in blocks 15, 16, 17, 18 (s21-s24).
  • the signals are permuted by means of a permutation 9.
  • the signals are XOR-linked to components of a third key k2 in XOR elements 4.
  • processing takes place in blocks 19, 20, 21, 22 (s31-s34), and in a ninth step the signals are permuted with the aid of a permutation 10.
  • the signals are then XOR-linked in a tenth step with the components of a fourth key k3 in XOR elements 5 in order to be processed in an eleventh step for blocks 23, 24, 25, 26 (s41-s44).
  • the signals are then XOR-linked with components of a key k4 in XOR elements 6 and output at outputs 7 of the substitution permutation network as encrypted output signals cl, ..., cl6.
  • a disadvantage of known methods for cryptographic encryption with error detection is that they require a large amount of circuitry, in particular the inclusion of circuit parts for realizing a nonlinear transformation in error detection.
  • the invention has for its object to provide an improved method for error detection in the cryptographic transformation of binary input data into binary output data and a circuit arrangement for executing the method in order to reduce the effort for error detection, in particular when using subcircuits with non-linear transformation functions.
  • the object is achieved according to the invention by a method according to independent claim 1, a circuit arrangement according to independent claim 7 and a subcircuit according to independent claim 13.
  • the invention encompasses the idea of using parity information as follows for error detection in the cryptographic encryption of texts which are in binary form.
  • cryptographic encryption binary input data is transformed into binary output data using a cryptographic circuit.
  • the circuit arrangement has n binary inputs for receiving the binary input data and m binary outputs for outputting the binary output data.
  • a binary data transformation is carried out with the aid of a subcircuit encompassed by the cryptographic circuit.
  • an input parity P is first formed on the basis of the binary input data at at least part of the n binary inputs of the cryptographic circuit.
  • an output parity PA is formed on the basis of the binary output data on at least some of the m binary outputs of the cryptographic circuit.
  • the input parity P is converted into a modified parity MP by means of a parity conversion.
  • the input parity is modified taking into account the specific form of the binary data transformation.
  • the output parity PA is then compared with the modified parity MP for error detection, an error being recognized when it is determined that the output parity PA is different from the modified parity MP.
  • An essential advantage which is achieved with the invention compared with the prior art is that a method is proposed which can be easily implemented with little circuit complexity and which allows the circuit parts used in the method for cryptographic encryption to be implemented in a simple manner, who perform nonlinear transformations to include in error detection.
  • an expedient embodiment of the invention provides that the cryptographic circuit comprises at least one further subcircuit which is coupled between the n binary inputs of the cryptographic circuit and the subcircuit and with which carries out a further binary data transformation as part of the cryptographic transformation of the binary input data into the binary output data, with the parity conversion of the input parity P into the modified parity MP initially based on the input parity P and depending on that carried out in the at least one further subcircuit , further binary data transformation a modified intermediate parity MP * and then from the modified intermediate parity MP * depending on the binary executed in the subcircuit Data transformation the modified parity MP is formed.
  • a further development of the invention provides that in the binary data transformation and / or the further binary data transformation, encryption is carried out with the aid of a respective cryptographic key and that the input parity P and / or the modified intermediate parity MP * in the parity conversion by the modulo-2 Sum of the parity of the respective cryptographic key can be modified.
  • An advantageous development of the invention provides that in the binary data transformation and / or the further binary data transformation, a constant is added modulo-2 by component, and that the input parity P and / or the modified intermediate
  • the parity MP * in the parity conversion can be modified by the modulo-2 sum of the parity of the components of the constants.
  • the new method for error detection in the cryptographic transformation of binary input data into binary output data has its advantageous effect in particular in connection with binary data transformations, in which a non-linear transformation function is implemented.
  • An advantageous embodiment of the invention provides that in the binary data transformation and / or the further binary data transformation, a nonlinear transformation is carried out with the aid of at least one nonlinear transformation subcircuit, in particular an S-box; that a parity of inputs P s and a parity of outputs PA S of the at least one nonlinear transformation subcircuit are determined and a parity signal is output at an additional output of the at least one nonlinear transformation subcircuit, which XOR combination of the parity of the inputs P and the Parity of the outputs PA S corresponds to the at least one nonlinear transformation subcircuit; and that the input parity P and / or the modified intermediate parity MP * are linked to the parity signal XOR- during the parity conversion.
  • FIG 1 shows a known substitution permutation network (SPN);
  • Figure 2 is a schematic representation of a circuit arrangement for cryptographic encryption of binary data
  • FIG. 3 shows an implementation of a block (S-Box) with four inputs and five outputs, which realizes a non-linear function with four input variables and four output variables and an additional output;
  • FIG. 4 shows a further realization of a block (S-Box), which realizes the same function as in Figure 3;
  • FIG. 5 shows a substitution permutation network with error detection, in which blocks (S-
  • FIG. 6 shows a circuit for cryptographic encryption of a 64-bit CS cipher system
  • FIG. 7 shows an illustration of the block for realizing the “16-bit input, 16-bit output” mix
  • FIG. 8 shows an error detection circuit for a block for realizing the “16-bit input
  • FIG. 2 shows a schematic illustration of a circuit arrangement 100 for cryptographically transforming a text to be encrypted, which text is in binary form.
  • the circuit arrangement has 16 binary inputs pl, ..., pl6.
  • Binary input data are given to the binary inputs pl-pl6.
  • Circuits 110-1, ..., 100-z are used for binary data transformations in order to convert the binary input data with the aid of the circuit arrangement 100 into binary output data, which are output via binary outputs cl, ..., cl6.
  • the number of binary inputs pl-pl6 is equal to the number of binary outputs cl-cl6.
  • the number of binary inputs may differ from the number of binary outputs, however, this is not critical to the invention.
  • an input parity P is formed, the binary input data being used on at least some of the binary inputs pl-pl6.
  • the input data pl-pl6 or a subset thereof are linked in an XOR tree 111 to the input parity P XOR.
  • the input parity P is now converted into a modified parity MP, the number of conversion steps for parity modification depending on the number of subcircuits 110-1,... 110-z, which are included in the circuit arrangement 100.
  • the input parity P is first converted into a first modified intermediate parity MP * 1 as a function of the binary data transformation in the subcircuit 110-1.
  • the input parity P is combined with a binary correction signal Kl in the XOR gate 12-1 to the first modified intermediate parity MP * 1.
  • the binary correction signal K 1 is determined by the specific configuration of the subcircuit 110-1.
  • the first modified intermediate parity MP * 1 forms the input variable for a second parity conversion, in which the first modified intermediate parity MP * 1 is modified as a function of the binary data transformation in the subcircuit 110-2 to a second modified intermediate parity MP * 2.
  • the first modified intermediate parity MP * 1 is combined with a binary correction signal K2 in the XOR gate 12-2 to form the second modified intermediate parity MP * 2, the binary correction signal K2 being determined by the specific configuration of the subcircuit 110-2.
  • Each subsequent data transformation in a subsequent subcircuit is followed accordingly until the modified intermediate parity MP * (zl) is combined with the binary correction signal Kz in the XOR gate 12-z to the modified parity MP.
  • parity conversion here also includes cases in which the modified parity does not change from the previous conversion step, for example if only a permutation is carried out with the aid of the associated subcircuit as part of the binary data transformation.
  • the associated binary correction signal is constantly zero, so that the associated XOR gate for modifying the intermediate parity can be omitted in such a step.
  • a modified parity MP is formed as a result.
  • the modified parity MP is then compared with an output parity PA, which is determined for the binary output data at at least part of the binary outputs cl-cl6 of the circuit arrangement 100.
  • the outputs cl-cl6 of the circuit arrangement 100 are linked in an XOR tree 112 to the output parity PA XOR.
  • An XOR operation 113 can be used, for example, to compare the modified parity MP with the output parity PA.
  • FIG. 3 shows an illustration of a block S27 (S-Box) according to the invention for realizing a non-linear function S with four binary input variables ul, u2, u3 and u4 and four binary output variables vl, v2, v3 and v4 with four inputs a, b, c , d 28 and five outputs e, f, g, h 29, and k 30, as can be used in a substitution permutation network with error detection by parity codes.
  • Table 1 describes the value table of the input and Output assignments of such a block with four inputs 28 and five outputs 29, 30 are realized.
  • the outputs e, f, g, h 29 serve as the non-linear function with four input variables and four output variables
  • vl Sl (ul, u2, u3, u4)
  • v2 S2 (ul, u2, u3, u4)
  • v3 S3 (ul, u2, u3, u4)
  • v4 S4 (ul, u2, u3, u4) ,
  • Table 1 shows the values of the input variables ul, u2, u3 and u4 in the first line, the associated values of the output variables vl, v2, v3 and v4 in the second line and the value of the variable v5 in the third line.
  • FIG. 4 shows an implementation of a block S 27, which implements the nonlinear function described in Table 1, including its additional fifth output v5 30, from AND elements 90 and OR elements 91, with non-negated inputs ul, u2, u3, u4 and negated inputs ul ⁇ u2 ⁇ u3 'and u4 ⁇ can be used. It can be seen that in FIG. 4 each output v1, v2, v3, v4
  • each output of a component acts only on one of the outputs vl, v2, v3, v429 or v5 30 and all outputs are implemented separately, which is advantageous for the error detection of the errors in the components , A fault in one of the components can then only affect one of the outputs vl, v2, v3, v4 29 or v5
  • circuit of FIG. 4 can be implemented in order to implement block S 27 in order to implement a non-linear function with regard to the circuit complexity, so that after the optimization, circuit outputs are implemented jointly, as is customary in circuit design. As a result, the circuitry required can be reduced.
  • FIG. 5 shows a substitution permutation network with error detection according to the invention for a parity bit code using blocks according to the invention for realizing nonlinear functions.
  • the functionally permutation network according to FIG. 5 functionally implements the same cryptographic encryption of data as the substitution permutation network without error detection from FIG. 1.
  • the corresponding blocks for realizing nonlinear functions, which are shown in FIG. 1 with 11, ..., 26 (sij) were designated in Figure 6 with 31, ..., 38 (Sij).
  • the inputs 1, which carry the input signals pl, p2, ..., pl6, are linked by an XOR tree 39, the output of which outputs a signal which corresponds to the parity of the inputs P.
  • the data are XOR-linked component by component with the components of the keys kO, kl, k2, k3 and k4.
  • FIG. 5 shows only processing steps 1, 2, 3, 10, 11 and 12 and also only the groups of XOR elements 2, 5 and 6, which combine the XOR links with the components of the keys kO, Realize k4 and k5.
  • step 5 which includes a nonlinear transformation
  • step 8 which also includes a nonlinear transformation
  • the modified intermediate parity MP * 3 is changed into the modified intermediate parity MP * 4 modified.
  • the modified intermediate parity is modified into the modified parity MP by the binary correction signal K4.
  • the 5th outputs 30 of the blocks 31, 32, 33, 34 are linked by the XOR tree 43 with four inputs and one output, and the output of this OR tree 43 is connected via the XOR element 41 is used for the modification of the input parity into the modified parity corresponding to the second step.
  • the 5th outputs 30 of the blocks 35, 36, 37, 38 are linked by the XOR tree 44 and the output of this OR tree 44 is converted to that by the XOR element 42 Eleventh step used corresponding modification of the parity of the inputs into the modified parity.
  • PA cl ⁇ c2 ⁇ ... ⁇ cl6, which is compared with the modified parity MP. If there is an error within the substitution permutation network that changes the parity, the error is recognized by the fact that PA and the modified parity MP do not match.
  • each individual error which falsifies an odd number of bits in one step of the substitution network is recognized by comparing the parity of the outputs with the modified parity.
  • FIG. 6 shows a further circuit for cryptographic encryption.
  • the 64-bit data inputs xo ... 63 45 are XOR-linked component-wise in 64 XOR elements 46, each XOR symbol of the XOR linkages representing a component-wise 8-bit wide link.
  • a second step 8 consecutive of these XOR-linked signals are processed in blocks 47, 48, 49 and 50, each of which realizes a function m (mix function).
  • the output signals of blocks 47, 48, 49 and 50 are permuted 8 bits by a permutation 51 in a third step, in a fourth step in the 64 XOR elements 52 component by component with the 84 components of a constant c XOR , processed in a fifth step in blocks 53, 54, 55 and 56, each realizing the function m, in a sixth step each permuted 8-bit by a permutation 57, in a seventh step in the 64 XOR- Elements 58 with the 64 components of a further constant c 'are component-XOR-linked, processed in an eighth step in blocks 59, 60, 61 and 62, which implement the function m, and in a ninth step each by 8 bits a permutation 63 permuted, the permutations in the third, sixth and ninth steps being the same in each case
  • the XOR elements 65 and 66 which each link eight consecutive bits of their data inputs with the corresponding components of the adjacent key, are XOR-linked and an implementation of the mixing function m is shown in FIG.
  • ⁇ (w) xj. 5 ⁇ k ⁇ , x ⁇ 3 ⁇ ku ® x 14 @ k, x ⁇ 3 ⁇ kn, x ⁇ ® i ® xn ® k ⁇ , ⁇ ® ⁇ , x 9 ⁇ k ?
  • the data inputs x 7 , ..., x 0 are combined with the components k ⁇ , ..., ko of the key k to form x 7 ⁇ ar, ..., x 0 ⁇ ko.
  • the outputs of the block 68 for realizing the function ⁇ and the outputs of the XOR elements 65 are XOR-linked by the XOR elements 69, so that the outputs y ⁇ -y, ..., yo of the XOR elements 69 applies:
  • y ⁇ ⁇ (w) ⁇ (x 7 ⁇ k ⁇ , x 6 ⁇ & 6 , ..., xo ® fa).
  • Block 67 for realizing the function R ⁇ realizes the function
  • the 8-bit wide output of block 67 is linked to the 8-bit wide output of XOR elements 65 in XOR elements 70 to> r , so that the parity P (y r ) of these outputs is:
  • the values z ⁇ are output in accordance with the first and second columns of table 2.
  • the values z r are also given in accordance with the first and second columns of the table.
  • the output of the XOR tree 75 and the output of the XOR element 78 become
  • Block 71 with eight binary inputs and eight binary outputs for realizing the function p in FIG. 7 is provided by block 73 with eight inputs and nine outputs, as described by columns 1, 2 and 3 of Table 2.
  • the block 72 with eight inputs and eight outputs for realizing the function p in FIG. 7 has also been replaced by the block 74 with eight inputs and nine outputs, as it is also in the columns 1, 2 and 3 of Table 2.
  • blocks 73 and 74 implement the XOR sum of the parity of their input values and the parity of their output values.
  • the ninth output of block 73 is fed as a binary correction signal into the first input of the XOR element 82, to the second input of which the output of the XOR element 80 is connected and which outputs the modified parity MP '.
  • the ninth output of block 74 is fed as a binary correction signal into the first input of XOR element 83, to the second input of which the output of XOR element 81 is connected and which outputs the modified parity MP.
  • the first eight outputs of block 73 are XOR-linked in the XOR tree 84 with eight inputs and one output. As a result, the outputs of the XOR tree 84 and the XOR element 82 are the same if there is no error. If the outputs of the XOR element 82 and the XOR tree 84 are not equal, there is an error.
  • parity PAj of the 8 higher-order bits of the outputs ie a part of all 16 outputs with the modified parity P 'of a part of the inputs, namely the inputs 14, 12, 10, 8, 7, 6, 5, 4, 3, 2 and 1
  • parity PA r of the 8 least significant bits of the outputs ie part of all 16 outputs with the parity P of all 16 inputs for error detection.
  • the first eight outputs of the block 74 are linked to PA r XOR.
  • the outputs of the XOR tree 85 and the XOR element 83 are the same as long as there is no error. If the outputs of the XOR element 83 and the XOR tree 85 are not equal, there is an error.

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

Die Erfindung bezieht sich auf ein Verfahren zur Fehlererkennung beim kryptografischen Transformieren von binären Eingangsdaten in binäre Ausgangsdaten mit Hilfe einer kryptografischen 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 umfasst, sowie eine Schaltungsanordnung zum Ausführen des Verfahrens. Im Rahmen des kryptographischen Transformierens der binären Eingangsdaten in die binären Ausgangsdaten wird mit Hilfe einer von der kryptografischen Schaltung umfassten Teilschaltung eine binäre Datentransformation ausgeführt. Auf Basis der binären Eingangsdaten an zumindest einem Teil der n binären Eingänge der kryptografischen Schaltung wird eine Eingangsparität P gebildet. Eine Ausgangsparität PA auf Basis der binären Ausgangsdaten an zumindest einen Teil der m binären Ausgänge wird ebenfalls ermittelt. Die Eingangsparität P wird dann in Abhängigkeit von der in der Teilschaltung ausgeführten, binären Datentransformation mittels einer Paritätsumwandlung in eine modifizierte Parität MP umgewandelt. Zur Fehlererkennung werden die Ausgangsparität PA und die modifizierte Parität MP verglichen, wobei ein Fehler erkannt wird, wenn festgestellt wird, dass die Ausgangsparität PA von der modifizierten Parität MP verschieden ist.

Description

VERFAHREN ZUR FEHLERERKENNUNG BEIM KRYPTOGRAFISCHEN TRANSFORMIEREN VON BINÄREN DATEN UND DAZUGEHÖRIGE SCHALTUNGSANORDNUNG
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,!, Maistri,P. und PiceriN., „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.
In Bertoni, B., Breveglieri, L., Koren,!, 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,!, 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.
Figur 1 zeigt ein bekanntes Substitutions-Permutationsnetzwerk ohne Fehlererkennung mit 16 Eingängen 1, die 16 binäre Eingangssignale pl,...,p 16 eines zu verschlüsselnden Textes („piain text") führen, und 16 Ausgängen 1, die binäre Ausgangssignale cl,...,cl6 des verschlüsselten Textes („ci- pher") führen. Die Eingangssignale pl,...,pl6 werden in einem ersten Schritt mit Komponenten eines Schlüssels kO 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 Eingangs variablen und vier binären Ausgangsvariablen realisieren, eingegeben und hierin verarbeitet.
Ausgangssignale der Blöcke 11, 12, 13 , 14 (sl l-sl4) 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 kl in den 16 XOR-Elementen 3 komponentenweise XOR- erknü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 cl,...,cl6 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 Transforrήierens 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 durchfuhren 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 Datentransformati- on(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äts- signal ausgegeben wird, welches einer XOR- Verknüpfung der Parität der Eingänge P und der Parität der Ausgänge PAS der wenigstens einen nichtlinearen Transformationsteilschaltung entspricht; und daß die Emgangsparität P und/oder die modifizierte Zwischenparität MP* bei der Paritätsumwandlung mit dem Paritätssignal XOR- erknüpft werden.
Weiterbildungen aus abhängigen Unteransprüchen der erfmdungsgemäßeri 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:
Figur 1 ein bekanntes Substitutions-Permutations-Netzwerk (SPN);
Figur 2 eine schematische Darstellung einer Schaltungsanordnung zum kryptografischen Verschlüsseln binärer Daten;
Figur 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;
Figur 4 eine weitere Realisierung eines Blockes (S-Box), der die gleiche Funktion wie in Figur 3 realisiert; Figur 5 ein Substitutions-Permutations-Netzwerk mit Fehlererkennung, in dem Blöcke (S-
Boxen) zur Realisierung nichtlinearer Funktionen Verwendung finden;
Figur 6 eine Schaltung zur kryptographischen Verschlüsselung eines 64-Bit CS Cipher Systems;
Figur 7 eine Darstellung des Blockes zur Realisierung der „16-Bit Input, 16-Bit Output"-Mix-
Funktion m nach Figur 6 ohne Fehlererkennung; und
Figur 8 eine Fehlererkennungsschaltung für einen Block zur Realisierung der „16-Bit Input,
16-Bit Output"-Mix-Funktion m nach Figur 6.
Figur 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 pl, ..., pl6. Auf die binären Eingänge pl-pl6 werden binäre Eingangsdaten gegeben. Innerhalb der Schaltungsanordnung 100 werden mehrere Teil-. Schaltungen 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 cl, ..., cl6 ausgegeben werden. Bei dem in Figur 2 gezeigten Ausführungsbeispiel ist die Anzahl der binären Eingänge pl-pl6 gleich der Anzahl der binären Ausgänge cl-cl6. 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 pl-pl6 herangezogen werden. Die Eingangsdaten pl- pl6 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äß Figur 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 Kl in dem XOR-Gatter 12-1 zur ersten modifizierten Zwischenparität MP*1 verknüpft. Das binäre Korrektursignal Kl ist durch die kon- rete 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-l) 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äß Figur 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 cl-cl6 der Schaltungsanordnung 100 ermittelt wird. Hierbei werden die Ausgänge cl-cl6 der Schaltungsanordnung 100 in einem XOR-Baum 112 zur Ausgangsparität PA XOR- erknüpft. Für die kryptografische Transformation mit Hilfe der Schaltungs- anordnung 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 Figur 2 beschriebene Verfahren wird im folgenden unter Bezugnahme auf die Figuren 3 bis 8 für verschiedene Ausführungsbeispiele detaillierter erläutert.
Figur 3 zeigt eine Darstellung eines erfindungsgemäßen Blockes S27 (S-Box) zur Realisierung einer nichtlinearen Funktion S mit vier binären Eingangsvariablen ul,u2, u3 und u4 und vier binären Ausgangsvariablen vl, 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 Substirutions-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 imgf000010_0001
Die Ausgänge e, f, g, h 29 dienen dazu, die nichtlineare Funktion mit vier Eingangsvariablen und vier Ausgangsvariablen als
vl = Sl(ul, u2, u3, u4) v2 = S2(ul, u2, u3, u4) v3 = S3(ul, u2, u3, u4) v4 = S4(ul, u2, u3, u4) zu realisieren.
Der Ausgang k 30 realisiert die Funktion v5 = (ul ® u2 ® u3 ® u4) ® (Sl(w)θ S2(u)® S3(«)θ S4(u)), wobei u = ul,u2,u3,u4 gilt.
Es ergibt sich, daß der Ausgang v5 30 die XOR- Verknüpfung der Parität P der Eingangsvariablen ul,u2,u3,u4 des Blockes 27 Ps(«) =( ul ® u2 ® u3 ® u4) und der Parität PAS der vier Ausgänge vl,v2,v3, v4 29 des Blockes 27 PAS-=(S1(«)Θ 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 (ul,u2,u3 u4) = u und vier binären Ausgangsvariblen (vl,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 PA realisiert. In Tabelle 1 sind die Werte der Eingangs variablen ul,u2,u3 und u4 in der ersten Zeile, die dazugehörigen Werte der Ausgangs variablen vl,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 ul,u2,u3, u4 29 die Werte 6 (hexadezimal = 0110 (binär) an den Ausgängen vl,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.
Figur 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 ul, u2, u3, u4 und negierte Eingänge ul\ u2\ u3' und u4λ verwendet werden. Es ergibt sich, daß in Figur 4 jeder Ausgang vl,v2,v3,v4
29 und v5 30 so durch logische Bauelemente realisiert ist, daß jeder Ausgang eines Bauelementes nur auf einen der Ausgänge vl,v2,v3,v429 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 vl,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
Figure imgf000011_0001
und der Ausgabe-Parität
PAs=Ps(v) = vl θ v2 θ v3 θ v4 nur 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 Figur 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. Figur 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 Figur 5 realisiert funktionell die gleiche kryptografische Verschlüsselung von Daten, wie das Substitutions-Permutationsnetzwerk ohne Fehlererkennung von Figur 1. Die entsprechenden Blöcke zur Realisierung nichtlinearer Funktionen, die in Figur 1 mit 11,...,26 (sij) bezeichnet wurden, werden in Figur 6 mit 31,...,38 (Sij) bezeichnet.
Die Eingänge 1, die die Eingangssignale pl,p2,...,pl6 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 Figur 1 werden in den Schritten 1,4,7,10 und 12 die Daten komponentenweise mit den Komponenten der Schlüssel kO, kl , k2, k3 und k4 XOR- verknüpft. In Figur 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üpfüngen mit den Komponenten der Schlüssel kO, k4 und k5 realisieren.
In den Verarbeitungsschritten 1, 4, 7, 10 und 12, in denen die Daten mit den Schlüsseln kO, kl, k2, k3 und k4 komponentenweise XOR- verknüpft werden, ist die Eingangsparität schrittweise jeweils durch die Parität P(kj) = kjO θ kj 1 ® ... θ kj 16, 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 Eingangs aritä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 Kl, das den Wert P(k) führt, mit
?(k) = kOι ® k02 ® ... ® k 0ιβ ® kU ® kl2 ® ... ® klu ® k 2x ® ... ® k2X6 ® k 3ι ® ...
Figure imgf000012_0001
XOR-verknüpft, der bereits bei der Bestimmung der Schlüssel kO, kl, 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 Figur 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 Figur 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 Verar- beitungsschritten 1,4, 7 und 10 entsprechen, in denen die Schlüssel kO, kl, 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 Figur 5 nicht eingezeichnet worden. Die Permutation 8, ebenso wie die Permutationen 9 und 10, die in Figur 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 cl,c2,...,cl6 tragen als
PA = cl Θ c2 θ ... © cl6 gebildet, die mit der modifizierten Parität MP verglichen wird. Liegt ein Fehler innerhalb des Sub- stitutions-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.
Figur 6 zeigt eine weitere Schaltung zur kryptographischen Verschlüsselung.
Die 64 Bit breiten Datenemgänge xo ... 63 45 werden in einem ersten Schritt koniponentenweise 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,...,xo 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 Realisierimg der Misch- Funktion m in Figur 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 xη,..., x0 = xτ mit den entsprechenden Komponenten kj,..., ko - kτ des Schlüssels k= k\, kτ 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 = x\ mit den entsprechenden Komponenten des Schlüssels £15 ... k& = k\ verknüpft und in den Block 68 zur Realisierung der Funktion φ geführt.
Bei Eingabe von w - w15 ... w 8 gibt der Block 69 zur Realisierung der Funktion φ den Wert φ(w)= (wu,... w8, w15)Λ(010101))Θ(w 15,w14,...,Ws)= w i5,W].3 Θ w14,w13,w π θ w12,
Wπ,W9 θ Wιo,Wg Wg ® Wi5.
Mit w= xj.5 θ kis, ... , x8 θ &g ergibt sich:
φ(w) = xj.5 θ k^ , xι3 θ ku ® x14 @ k , xι3 θ kn, xπ ® i ® xn ® kγχ, \\ ® Äπ,x9 θ k?
ΘXJO Φkjo,, X9 θ kg, Xg θ k% Θ,X15 ® k\s .
In den XOR-Elementen 65 werden die Dateneingänge x7, ...,x0 mit den Komponenten kη, ...,ko des Schlüssels k zu x7 θ Är ,...,x0 θ ko 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 y\ -y ,...,yo der XOR-Elemente 69 gilt:
y\ = φ(w)Φ (x7 θ kη, x6 θ &6,...,xo ® fa).
Für die Parität ?(y) =yη ® yβ Θ...Θ yo gilt dann:
POO = x © *i2 © *ιo θ x8 θ P(xr) θ γ, mit
P(xι) =X7 ® X6 θ X5 Φ θ X4 Φ X3 © X2 ® Xj @ Xj θ x0
und y = ku® ku Φ 0 ®ks® ?(k)
mit
P(r) = kη © k6 © ks Φ ® © h © *ι © Ab.
Der Block 67 zur Realisierung der Funktion R\ realisiert die Funktion
Rl(Xj © ki) = R\(X\5 © ^5,-^8 © )= *14 © l4,*13 © .»^8 © &8Λ5 © #15-
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 >r verknüpft, so daß für die Parität P(yr) dieser Ausgänge gilt:
POr) =yη®y6® ... yι®yo = P(*ι) © P(*r) © P(*ι) © P(fc) mit P(x]) = x7©...Φ 0
?(Xr)=Xl5®...®XS P(kr) = k ®...®k0
P(AD = *15 ®-© *β-
Die Ausgänge ^1 der XOR-Elemente 69 und die Ausgänge^ der XOR-Elemente 70 γ 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 imgf000017_0002
Figure imgf000017_0001
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 j in den Block 71 zur Realisierung der nichtlinearen Funktion p werden die Werte z\ entsprechend der ersten und zweiten Spalte von Tabelle 2 ausgegeben. Ebenso werden bei Eingabe von γ in den Block 72 zur Realisierung der nichtlinearen Funktion p die Werte zr ebenfalls entsprechend der ersten und zweiten Spalte von Tabelle angegeben.
Ein erfmdungsgemäß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 0 0 = 0000 0000 und Ausgaben von 2 9 = 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 = 0 und der Ausgangsparität
P(00101001 = 0 © O Φ 1 Φ O Φ 1 Φ O © 0 © 1 = 1 entspricht.
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 Figur 6 anhand von Figur 8 erläutert werden. Figur 8 beschreibt eine Fehlererkennungsschaltung für die Eingabewerte x = x15,...,x8 und xr = x ,...,xo für eine kryptographischen Verschlüsselung. Gleiche Blöcke sind in Figur 8 und in Figur 9 mit gleichen Bezugszeichen bezeichnet.
Der XOR-Baum 76 realisiert die XOR-Summe π = x14 © x12 © xio © x8, während der XOR-Baum 75 die XOR-Summe
Figure imgf000019_0001
und der XOR-Baum 77 die XOR-Summe π3 = x7 Φ x6 © xs ® x4 Φ x3 Φ x2 Φ x\ ® XQ = P(xr) realisieren.
Hierbei gilt: πi © π2 =x-.5 Φ x14 Φ x13 Φ ι2 © Xu Φ x10 © x Φ x8 = P(xι).
In dem XOR-Element 78 wird der Ausgang des XOR-Baumes 76 mit dem Ausgang des XOR- Baumes 77 zu π2 Φ π3 = x14 © x12 © CIO Φ 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
πi Φ π2 Φ π3 = P(xr) Φ P(xj) = P verknü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(Λ = P( ) Φ P(/q) 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 Konektursignal 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 Figur 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 Figur 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 PAj 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 PAj 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

Ansprüche
Verfahren zur Fehlererkennung beim kryptografischen Transformieren von binären Eingangsdaten in binäre Ausgangsdaten mit Hilfe einer krytopgrafischen 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 krytopgrafischen 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.
Verfahren nach Anspruch 1 , dadurch g e k enn z e i c hn e t, 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 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. Verfahren nach Anspruch 1 oder 2, dadurch g ek ennz e i c hn e t, 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. .
Verfahren nach einem der vorangehenden Ansprüche, dadurch g e k enn z e i c hn e t, 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.
Verfahren nach einem der vorangehenden Ansprüche, dadurch g e k enn z ei c hn e t, 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.
Verfahren nach einem der vorangehenden Ansprüche, dadurch g e k e nn z e i c hn e t, 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 Pantät von Eingängen P und eine Parität von Ausgängen PA 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 P und der Parität der Ausgänge PA 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, g ek e nn z e i c hn e t 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 g e k e nn z e i c hn e t, 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/öder 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 g ek e nnz e i c h n e t, daß die Teilschaltung und oder die zumindest eine weitere Teilschaltung eine Permutationsschaltung ist und die Umwandlungsmittel der Permutationsschaltung zugeordnete Umwandlungsmittel umfassen, um die Eingangspäritä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 g e k enn z e i c h n e t, 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 Additionsschaltimg 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 P und einer Parität von Ausgängen PA 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.
PCT/DE2003/003931 2002-12-19 2003-11-27 Verfahren zur fehlerekennung beim kryptografischen transformieren von binären daten und dazugehörige schaltungsanordnung WO2004057794A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
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 (2)

Application Number Priority Date Filing Date Title
DE10261810.0 2002-12-19
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
WO2004057794A1 true WO2004057794A1 (de) 2004-07-08
WO2004057794B1 WO2004057794B1 (de) 2004-09-02

Family

ID=32478132

Family Applications (1)

Application Number Title Priority Date Filing Date
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

Country Status (3)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112118097B (zh) * 2020-09-07 2021-10-08 昆明理工大学 一种对称密钥加密方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004043480B3 (de) 2004-09-08 2005-12-29 Infineon Technologies Ag Vorrichtung und Verfahren zum Erkennen einer Störung einer kryptographischen Einheit vorzugsweise des AES-Algorithmus
DE102004062825B4 (de) 2004-12-27 2006-11-23 Infineon Technologies Ag Kryptographische Einheit und Verfahren zum Betreiben einer kryptographischen Einheit
US9646175B2 (en) * 2014-11-26 2017-05-09 Synopsys, Inc. Two-way parity error detection for advanced encryption standard engines

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5432848A (en) * 1994-04-15 1995-07-11 International Business Machines Corporation DES encryption and decryption unit with error checking

Family Cites Families (1)

* 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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5432848A (en) * 1994-04-15 1995-07-11 International Business Machines Corporation DES encryption and decryption unit with error checking

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BERTONI G ET AL: "A Parity Code Based Fault Detection for an Implementation of the Advanced Encryption Standard", PROCEEDINGS 17TH IEEE INTERNATIONAL SYMPOSIUM ON DEFECT AND FAULT TOLERANCE IN VLSI SYSTEMS, DFT 2002, VANCOUVER, BC, CANADA, 6 November 2002 (2002-11-06), pages 51 - 59, XP010624994 *
PATSEI N V ET AL: "On the design of error detection and correction cryptography schemes", IEEE/AFCEA EUROCOMM 2000. INFORMATION SYSTEMS FOR ENHANCED PUBLIC SAFETY AND SECURITY (CAT. NO.00EX405), PROCEEDINGS ON INFORMATION SYSTEMS FOR ENHANCED PUBLIC SAFETY AND SECURITY (EUR-COMM 2000), MUNICH, GERMANY, 17 MAY 2000, 2000, Piscataway, NJ, USA, IEEE, USA, pages 266 - 268, XP002279964, ISBN: 0-7803-6323-X *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112118097B (zh) * 2020-09-07 2021-10-08 昆明理工大学 一种对称密钥加密方法

Also Published As

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

Similar Documents

Publication Publication Date Title
DE69931606T2 (de) Datenwandler und aufzeichnungsmedium zur aufnahme eines programms zur datenumwandlung
DE2855787A1 (de) Digitalsignatureinrichtung
DE2626432C2 (de) Arithmetische Einheit für automatische Rechengeräte
DE2063199A1 (de) Einrichtung zur Ausfuhrung logischer Funktionen
DE2217935A1 (de) Anordnung und Verfahren zur Korrektur von Doppelfehlern
DE10110049A1 (de) Verfahren und Vorrichtung zur Datenverschlüsselung bei der Programmierung von Steuergeräten
WO2004057794A1 (de) Verfahren zur fehlerekennung beim kryptografischen transformieren von binären daten und dazugehörige schaltungsanordnung
DE2848096C3 (de) Digitale Addieranordnung
DE1216348B (de) Digitale Multiplexvorrichtung zum selektiven Durchleiten von N charakteristischen binaeren Serienwoertern
DE1187403B (de) Verfahren und Einrichtung zur logischen Verknuepfung zweier Operanden
EP1676394A1 (de) Verfahren und vorrichtung zur ver-/ entschlüsselung
DE69829566T2 (de) Verschlüsselungsgerät
DE10352401A1 (de) Verfahren zur Speicherung von Daten in einem Wahlzugriffspeicher und Verschlüsselungs- und Entschlüsselungsvorrichtung
DE1174541B (de) Anordnung zur Addition mehrerer in einem Mischcode verschluesselter Zahlen
EP3607446A1 (de) Verfahren zur erstellung und verteilung von kryptographischen schlüsseln
DE19757370C2 (de) Verfahren zur taktilen Erzeugung pseudo-zufälliger Datenworte
EP1625688B1 (de) Vorrichtung und verfahren zur kommunikation mit hilfe einer kryptographisch verschlüsselten codetabelle
WO1998038767A1 (de) Verfahren und anordnung zur rechnergestützten bildung einer permutation zur permutierung digitaler signale und verfahren und anordnung zur verschlüsselung digitaler signale
DE102018208851A1 (de) Vorrichtung und Verfahren zum Umwandeln von Eingangsbitfolgen
DE2639806C2 (de) Verfahren und Einrichtung zum Verschlüsseln oder Entschlüsseln von Datenblöcken in binärer Darstellung
DE2507112A1 (de) Anordnung zur bildung von fehlersyndrom- und fehlerkorrekturcodegruppen in einem datenverarbeitungssystem
DE2136536A1 (de) Verfahren zur komprimierung und dekomprimierung binaerer daten
DE2450669A1 (de) Verfahren und schaltungsanordnungen zur verschluesselung und entschluesselung
DE102004042756B3 (de) Verfahren und Anordnung zur Erzeugung von Pseudozufallszahlen
DE1574603A1 (de) Binaere Addierschaltung

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
B Later publication of amended claims

Effective date: 20040716

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WA Withdrawal of international application
NENP Non-entry into the national phase

Ref country code: JP