Nothing Special   »   [go: up one dir, main page]

NL1011544C1 - Encryption system for digital data, uses secondary key to mask primary key, is more difficult to decrypt by Brute Force Attack than data encrypted with conventional single key - Google Patents

Encryption system for digital data, uses secondary key to mask primary key, is more difficult to decrypt by Brute Force Attack than data encrypted with conventional single key Download PDF

Info

Publication number
NL1011544C1
NL1011544C1 NL1011544A NL1011544A NL1011544C1 NL 1011544 C1 NL1011544 C1 NL 1011544C1 NL 1011544 A NL1011544 A NL 1011544A NL 1011544 A NL1011544 A NL 1011544A NL 1011544 C1 NL1011544 C1 NL 1011544C1
Authority
NL
Netherlands
Prior art keywords
data
key
additional
auxiliary
auxiliary value
Prior art date
Application number
NL1011544A
Other languages
Dutch (nl)
Inventor
Frank Muller
Willem Rombaut
Gerrit Roelofsen
Dirk Jan Jacobus Van Bruchem
Original Assignee
Koninkl Kpn Nv
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
Priority claimed from NL1010921A external-priority patent/NL1010921C2/en
Application filed by Koninkl Kpn Nv filed Critical Koninkl Kpn Nv
Priority to NL1011544A priority Critical patent/NL1011544C1/en
Priority to NL1011800A priority patent/NL1011800C2/en
Priority to AU19833/00A priority patent/AU1983300A/en
Priority to DE69932740T priority patent/DE69932740T2/en
Priority to AT99963594T priority patent/ATE336122T1/en
Priority to PCT/EP1999/010208 priority patent/WO2000041356A1/en
Priority to US09/787,648 priority patent/US7162031B1/en
Priority to EP99963594A priority patent/EP1142191B1/en
Priority to ES99963594T priority patent/ES2270628T3/en
Publication of NL1011544C1 publication Critical patent/NL1011544C1/en
Application granted granted Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • 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
    • 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/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or 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/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations

Landscapes

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

Abstract

The unencrypted data (X) is fed to a cryptographic processor (P) where is encrypted by a primary key (K) to produce the encrypted output (Y). The processor is of the 'Data Encryption Standard type. In the present system, the primary key (K) is produced by another processor (P-asterisk) which is itself fed with a secondary key (K-asterisk) and an ancillary key (K').

Description

Korte aanduiding: Werkwijze en inrichting voor het cryp-tografisch bewerken van data.Short designation: Method and device for cryptographic processing of data.

ACHTERGROND VAN DE UITVINDINGBACKGROUND OF THE INVENTION

De uitvinding heeft betrekking op een werkwijze voor het cryptografisch bewerken van data, omvattende het aan een cryptografisch proces toevoeren van waarden, te weten de data en een sleutel, en het uitvoeren van het proces 5 teneinde cryptografisch bewerkte data te vormen. Een dergelijke werkwijze is in de praktijk bekend.The invention relates to a method for cryptographically processing data, comprising supplying values, namely the data and a key, to a cryptographic process and executing the process 5 to form cryptographically processed data. Such a method is known in practice.

Voor het cryptografisch bewerken van data worden in de praktijk vaak algemeen bekende processen toegepast. Voorbeelden van dergelijke cryptografische processen 10 (algoritmen) zijn DES en RSA, die bijvoorbeeld zijn beschreven in het boek "Applied Cryptography" door B. Schneier (2e uitgave), New York, 1996.In practice, generally known processes are often used for cryptographic processing of data. Examples of such cryptographic processes (algorithms) are DES and RSA, which are described, for example, in the book "Applied Cryptography" by B. Schneier (2nd edition), New York, 1996.

Deze processen worden gepubliceerd omdat men ervan uitging dat het, bij een voldoende grote sleutellengte, 15 ondoenlijk zou zijn aan de hand van de bewerkte data de oorspronkelijke data en/of de sleutel te achterhalen, ook al was het cryptografische proces bekend.These processes are published because it was assumed that, with a sufficiently large key length, it would be impossible to retrieve the original data and / or the key from the processed data, even if the cryptographic process was known.

Recentelijk zijn echter aanvallen ontdekt die zijn gebaseerd op kennis van het cryptografische proces. Met 20 andere woorden, doordat het gedrag van het proces bekend is wordt het, bij bepaalde aanvallen, aanzienlijk eenvoudiger om de gebruikte sleutel en/of de oorspronkelijke data te herleiden. Het zal duidelijk zijn dat dit ongewenst is.However, attacks based on knowledge of the cryptographic process have recently been discovered. In other words, because the behavior of the process is known, with certain attacks it becomes considerably easier to trace the key used and / or the original data. It will be clear that this is undesirable.

25 SAMENVATTING VAN DE UITVINDING25 SUMMARY OF THE INVENTION

De uitvinding beoogt bovengenoemd probleem op te lossen door een werkwijze en schakeling voor het uitvoeren van een cryptografisch proces aan te geven die het herleiden van de sleutel bij toepassing van een bekend 30 (d.w.z. openbaar) cryptografisch proces aanzienlijk be moeilijken of zelfs ondoenlijk maken. Een werkwijze van 1011544 2 de in de aanhef genoemde soort is hiertoe overeenkomstig de uitvinding gekenmerkt door het aan het proces toevoeren van hulpwaarden teneinde de in het proces gebruikte waarden te maskeren.The object of the invention is to solve the above-mentioned problem by indicating a method and circuit for performing a cryptographic process which makes the retrieval of the key considerably difficult or even impracticable when using a known (i.e. public) cryptographic process. According to the invention, a method of the type mentioned in the preamble of 1011544 2 is for this purpose characterized by supplying auxiliary values to the process in order to mask the values used in the process.

5 Door het maskeren van de data en/of sleutel(s) wordt het aanzienlijk moeilijker deze waarden aan de hand van het gedrag van het proces te herleiden. Het resultaat van het proces, dat wil zeggen de verzameling bewerkte data, kan bij een geschikte keuze van de hulpwaarden onveran-10 derd zijn, dat wil zeggen identiek zijn aan het resultaat van het proces indien daar geen hulpwaarden aan zijn toegevoerd. In dit verband wordt onder een "hulpwaarde" een waarde (data of sleutel) verstaan, die in aanvulling op de corresponderende data en sleutel aan het proces 15 wordt toegevoerd.5 Masking the data and / or key (s) makes it considerably more difficult to trace these values based on the behavior of the process. The result of the process, ie the set of processed data, can be unchanged, if the auxiliary values are selected appropriately, that is, identical to the result of the process if no auxiliary values are added. In this context, an "auxiliary value" is understood to mean a value (data or key), which is supplied to the process 15 in addition to the corresponding data and key.

De uitvinding is derhalve gebaseerd op het inzicht, dat het herleiden van de in een cryptografisch proces gebruikte waarden aanzienlijk gecompliceerd wordt indien deze waarden door middel van hulpwaarden zijn gemaskeerd. 20 De uitvinding is mede gebaseerd op het verdere in zicht, dat het gebruik van hulpwaarden het resultaat van het proces niet noodzakelijkerwijs beïnvloedt.The invention is therefore based on the insight that the conversion of the values used in a cryptographic process is considerably complicated if these values are masked by means of auxiliary values. The invention is partly based on the further insight that the use of auxiliary values does not necessarily influence the result of the process.

In een eerste uitvoeringsvorm van de uitvinding omvat een hulpwaarde een aanvullende sleutel die aan een 25 aanvullend proces wordt toegevoerd teneinde de sleutel te vormen.In a first embodiment of the invention, an auxiliary value comprises an additional key that is supplied to an additional process to form the key.

Door een combinatie van een bekend proces en een aanvullend proces toe te passen wordt een nieuw, op zich onbekend cryptografisch proces gevormd, zelfs indien het 30 aanvullende proces ook op zich bekend is.By using a combination of a known process and an additional process, a new, per se unknown cryptographic process is formed, even if the additional process is also known per se.

Door de voor het bekende proces gebruikte sleutel (primaire sleutel) af te leiden uit een aanvullende sleutel (secundaire sleutel) met behulp van een aanvullend proces wordt bereikt dat niet de (primaire) sleutel van 35 het bekende proces maar de aanvullende (secundaire) sleutel aan de combinatie van processen wordt aangeboden. Met andere woorden, extern wordt de aanvullende (secundaire) 1Π1 1 R4 4 3 sleutel en niet de werkelijke (primaire) sleutel van het eigenlijke proces gebruikt. Het afleiden van de sleutel uit de oorspronkelijke data en de bewerkte data is daarmee ondoenlijk geworden. Tevens is het afleiden van de 5 aanvullende sleutel ernstig bemoeilijkt, omdat de combinatie van het oorspronkelijke proces en het aanvullende proces niet bekend is.By deriving the key (primary key) used for the known process from an additional key (secondary key) by means of an additional process, it is achieved that not the (primary) key of the known process but the additional (secondary) key is offered to the combination of processes. In other words, externally the additional (secondary) 1Π1 1 R4 4 3 key is used and not the actual (primary) key of the actual process. Deriving the key from the original data and the edited data has therefore become impossible. It is also very difficult to derive the additional key, because the combination of the original process and the additional process is unknown.

Deze uitvoeringsvorm van de uitvinding is derhalve onder meer gebaseerd op het inzicht, dat het bekend zijn 10 van een cryptografisch proces ongewenst is, dit in tegenstelling tot wat tot dusver werd aangenomen. Deze uitvoeringsvorm is tevens gebaseerd op het verdere inzicht, dat aanvallen die voortbouwen op kennis van het proces aanzienlijk moeilijker worden indien het proces onbekend is. 15 Bij voorkeur omvat het aanvullende proces een cryp tograf isch proces. Dit maakt het herleiden van de aanvullende sleutel moeilijker. In principe kan echter bijvoorbeeld een eenvoudige codering als aanvullend proces worden toegepast. Bij een cryptografisch proces wordt bij 20 voorkeur een hulpsleutel toegepast.This embodiment of the invention is therefore based, inter alia, on the insight that the knowledge of a cryptographic process is undesirable, contrary to what has hitherto been assumed. This embodiment is also based on the further understanding that attacks that build on knowledge of the process become considerably more difficult if the process is unknown. Preferably, the additional process comprises a cryptographic process. This makes it easier to trace the additional key. In principle, for example, simple coding can be used as an additional process. An auxiliary key is preferably used in a cryptographic process.

Met voordeel is het aanvullende proces een inver-teerbaar proces. Dit maakt het mogelijk de werkwijze volgens de uitvinding bij bestaande apparatuur met minimale wijzigingen toe te passen. Indien bijvoorbeeld een 25 eerste inrichting een (aanvullende) sleutel afgeeft die in een tweede inrichting overeenkomstig de uitvinding wordt toegepast, kan in de eerste inrichting de inverse van het aanvullende proces worden gebruikt om de aanvullende sleutel uit de oorspronkelijke sleutel af te lei-30 den. Met andere woorden, hoewel in zowel de eerste als de tweede inrichting intern de oorspronkelijke (primaire) sleutel wordt gebruikt, wordt tussen de inrichtingen de aanvullende (secundaire) sleutel uitgewisseld. Het onderscheppen van de aanvullende sleutel leidt echter niet tot 35 kennis van de oorspronkelijke sleutel.The additional process is advantageously an invertible process. This makes it possible to apply the method according to the invention to existing equipment with minimal changes. For example, if a first device issues an (additional) key which is used in a second device according to the invention, in the first device the inverse of the additional process can be used to derive the additional key from the original key. . In other words, although the original (primary) key is used internally in both the first and second devices, the additional (secondary) key is exchanged between the devices. However, the interception of the additional key does not lead to knowledge of the original key.

Het kan voordelig zijn als het uitvoeren van het aanvullende proces uitsluitend plaatsvindt indien de data 1011544 4 vooraf bepaalde eigenschappen bezitten. Op deze wijze kan het cryptografisch bewerken alleen voor bepaalde, geselecteerde data worden uitgevoerd, terwijl dit voor alle andere data is geblokkeerd. Op deze wijze wordt een aan-5 vullende bescherming bereikt.It may be advantageous if the additional process is performed only if the data 1011544 4 have predetermined properties. In this way, cryptographic editing can be performed only for certain, selected data, while it is blocked for all other data. In this way, additional protection is achieved.

Een optimale beveiliging wordt geboden indien het proces en het aanvullende proces elk uit een aantal stappen zijn opgebouwd, en waarin afwisselend stappen van het proces en het aanvullende proces worden uitgevoerd. Hier-10 door worden de eigenschappen van het bekende proces verder versluierd, waardoor het herleiden van de sleutels verder wordt bemoeilijkt.Optimal security is offered if the process and the additional process each consist of a number of steps, and in which steps of the process and the additional process are alternated. This further obscures the properties of the known process, making it even more difficult to trace the keys.

In een tweede uitvoeringsvorm van de uitvinding omvat het proces een aantal trappen met elk een crypto-15 grafische bewerking voor het bewerken van uit de data afgeleide rechter data en een combinatiebewerking voor het met uit de data afgeleide linker data combineren van de bewerkte rechter data teneinde gemodificeerde data te vormen, waarin de rechter data, voorafgaande aan de be-20 werking F, gecombineerd worden met een primaire hulpwaar-de. Daardoor is het mogelijk de in de cryptograf ische bewerking gebruikte data te maskeren.In a second embodiment of the invention, the process comprises a number of stages, each with a crypto-15 graphical operation for processing the data derived right data and a combining operation for combining the processed right data with data derived left data in order to to form modified data in which the right hand data, prior to operation F, is combined with a primary auxiliary value. Therefore, it is possible to mask the data used in the cryptographic operation.

Bij voorkeur worden de bewerkte rechter data telkens gecombineerd met een secundaire hulpwaarde. Hierdoor is 25 het onder meer mogelijk de gemodificeerde linker data te maskeren.Preferably, the edited right hand data is always combined with a secondary auxiliary value. This makes it possible, among other things, to mask the modified left data.

Met voordeel is de secundaire hulpwaarde van een trap gevormd uit de combinatie van de primaire hulpwaarde van de voorgaande trap en de primaire hulpwaarde van de 30 volgende trap. Hierdoor wordt het mogelijk de hulpwaarde in de telkens volgende trap te compenseren, waardoor deze hulpwaarde niet in het eindresultaat van het proces zal doorwerken. Een verdere maskering van alle data, in het bijzonder in de eerste trap, wordt bereikt indien de 35 primaire hulpwaarde van de eerste trap tevens met de linker data wordt gecombineerd.Advantageously, the secondary auxiliary value of a stage is formed from the combination of the primary auxiliary value of the previous stage and the primary auxiliary value of the next stage. This makes it possible to compensate the auxiliary value in the subsequent stage, so that this auxiliary value will not affect the end result of the process. A further masking of all data, in particular in the first stage, is achieved if the primary auxiliary value of the first stage is also combined with the left data.

Het is mogelijk de werkwijze volgens de uitvinding 1011544 5 zodanig uit te voeren, dat alle primaire hulpwaarden gelijk zijn. Hierdoor is een zeer eenvoudige praktische realisatie mogelijk. Het gebruik van verschillende hulpwaarden, die bij voorkeur toevalsgetallen zijn en voor 5 elke keer dat het proces wordt uitgevoerd opnieuw worden gegenereerd, biedt echter een grotere cryptografische beveiliging.It is possible to carry out the method according to the invention 1011544 5 such that all primary auxiliary values are equal. This makes a very simple practical realization possible. However, the use of different auxiliary values, which are preferably random numbers and regenerated for each time the process is run, provides greater cryptographic security.

Een verdere vereenvoudiging van deze uitvoeringsvorm kan worden verkregen indien de primaire hulpwaarden en/of 10 secundaire hulpwaarden telkens vooraf met de respectieve bewerking zijn gecombineerd. Dat wil zeggen, het combineren met hulpwaarden wordt in de betreffende bewerking (bijvoorbeeld een substitutie) verwerkt, zodat het resultaat van de respectieve bewerking gelijk is aan dat van 15 de oorspronkelijke bewerking plus een of twee combinatie-bewerkingen met hulpwaarden. Door het vooraf in de bewerking opnemen van de combinatiebewerkingen is een eenvoudiger en snellere praktische realisatie mogelijk.A further simplification of this embodiment can be obtained if the primary auxiliary values and / or secondary auxiliary values are each previously combined with the respective operation. That is, combining with auxiliary values is processed in the respective operation (for example, a substitution), so that the result of the respective operation is equal to that of the original operation plus one or two combination operations with auxiliary values. By including the combination operations in the machining in advance, a simpler and faster practical realization is possible.

De genoemde combinatiebewerkingen worden bij voor-20 keur door middel van een exclusief-of-bewerking uitgevoerd. Andere combinatiebewerkingen, zoals binair optellen, zijn in principe echter ook mogelijk.The said combination operations are preferably performed by means of an exclusive or operation. However, other combination operations, such as binary addition, are also possible in principle.

De uitvinding verschaft verder een schakeling voor het uitvoeren van: een werkwijze voor het cryptografisch 25 bewerken van data. De uitvinding verschaft bovendien een betaalkaart en een betaalterminal die van een dergelijke schakeling zijn voorzien.The invention further provides a circuit for performing: a method of cryptographically processing data. The invention also provides a payment card and a payment terminal which are provided with such a circuit.

De uitvinding zal in het onderstaande aan de hand van in de figuren weergegeven uitvoeringsvoorbeelden 30 nader worden toegelicht.The invention will be explained in more detail below with reference to illustrative embodiments shown in the figures.

KORTE BESCHRIJVING VAN DË TEKENINGENBRIEF DESCRIPTION OF THE DRAWINGS

Fig. 1 toont schematisch een cryptografisch proces volgens de stand van de techniek.Fig. 1 schematically shows a prior art cryptographic process.

Fig. 2 toont schematisch een eerste cryptografisch 35 proces volgens een eerste uitvoeringsvorm van de uitvinding.Fig. 2 schematically shows a first cryptographic process according to a first embodiment of the invention.

1011544 61011544 6

Fig. 3 toont schematisch een tweede cryptografisch proces volgens een eerste uitvoeringsvorm van de uitvinding .Fig. 3 schematically shows a second cryptographic process according to a first embodiment of the invention.

Fig. 4 toont schematisch een wijze waarop de proces-5 sen van Fig. 1 en 2 kunnen worden uitgevoerd.Fig. 4 schematically shows a way in which the processes of FIG. 1 and 2 can be performed.

Fig. 5 toont schematisch een eerste cryptografisch proces volgens een tweede uitvoeringsvorm van de uitvinding.Fig. 5 schematically shows a first cryptographic process according to a second embodiment of the invention.

Fig. 6 toont schematisch een tweede cryptografisch 10 proces volgens een tweede uitvoeringsvorm van de uitvinding.Fig. 6 schematically shows a second cryptographic process according to a second embodiment of the invention.

Fig. 7 toont schematisch een derde cryptografisch proces volgens een derde uitvoeringsvorm van de uitvinding.Fig. 7 schematically shows a third cryptographic process according to a third embodiment of the invention.

15 Fig. 8 toont schematisch een schakeling waarin de uitvinding wordt toegepast.FIG. 8 schematically shows a circuit in which the invention is applied.

Fig. 9 toont schematisch een betaalsysteem waarin de uitvinding wordt toegepast.Fig. 9 schematically shows a payment system in which the invention is applied.

VOORKEURSUITVOERINGSVORMENPREFERRED EMBODIMENTS

20 Een (cryptografisch) proces P volgens de stand van de techniek is in figuur 1 schematisch weergegeven. Aan het proces P worden ingangsdata X en een sleutel K toegevoerd. Aan de hand van de sleutel K zet het proces P de ingangsdata X om in (cryptografisch) bewerkte uitgangsda-25 ta Y: Y = PK(X). Het proces P kan een bekend cryptogra-fisch proces zijn, zoals DES (Data Encryption Standard), drievoudige DES, of RSA (Rivest, Shamir & Adleman).A (cryptographic) process P according to the prior art is schematically shown in figure 1. Input data X and a key K are applied to the process P. Using the key K, the process P converts the input data X into (cryptographically) processed output data Y: Y = PK (X). Process P can be a known cryptographic process, such as DES (Data Encryption Standard), triple DES, or RSA (Rivest, Shamir & Adleman).

Indien de ingangsdata X en de uitgangsdata Y bekend zijn is het in principe mogelijk de gebruikte sleutel K 3 0 te herleiden. Bij een sleutel met een voldoende grote lengte (d.w.z., een voldoend groot aantal bits) werd het tot nu toe ondoenlijk geacht deze sleutel te herleiden, zelfs indien het proces P bekend was. Ondoenlijk wil in dit geval zeggen dat het in theorie weliswaar mogelijk 35 is, bijvoorbeeld door het proberen van alle mogelijke sleutels, om de gebruikte sleutel te achterhalen, maar 1011544 7 dat dit een onbruikbaar lange rekentijd vergt. Een dergelijke aanval met brute kracht {"brute force attack") is daarom nauwelijks een bedreiging voor de cryptografische beveiliging.If the input data X and the output data Y are known, it is in principle possible to retrieve the key K30 used. With a key of sufficiently long length (i.e., a sufficiently large number of bits), it has hitherto been considered impossible to retrieve this key, even if the process P was known. Impossible in this case means that in theory it is possible, for example by trying all possible keys, to find out the key used, but that this requires an unusually long computing time. Such a brute force attack ("brute force attack") is therefore hardly a threat to cryptographic security.

5 Recent ontdekte aanvallen maken echter gebruik van kennis van het proces, waardoor het aantal mogelijke sleutels drastisch kan worden gereduceerd. Het herleiden van de gebruikte sleutel K en/of de ingangsdata X uit de uitgangsdata Y wordt daardoor binnen aanvaardbare reken-10 tijden mogelijk.However, recently discovered attacks use knowledge of the process, which can drastically reduce the number of possible keys. The conversion of the used key K and / or the input data X from the output data Y is thereby possible within acceptable calculation times.

Het principe van de uitvinding, die beoogt dergelijke aanvallen aanzienlijk moeilijker en tijdrovender te maken, is in fig. 2 schematisch weergegeven. Evenals in fig. l worden aan een (bekend) proces P ingangsdata X en 15 een (geheime) sleutel K toegevoerd om uitgangsdata Y te genereren.The principle of the invention, which aims at making such attacks considerably more difficult and time-consuming, is schematically shown in Fig. 2. As in Fig. 1, a (known) process P input data X and 15 is supplied a (secret) key K to generate output data Y.

In tegenstelling tot de situatie van fig. 1 wordt in de situatie van fig. 2 de sleutel K vanuit een aanvullend proces P* aan het proces P toegevoerd. Het aanvullende 20 proces P* heeft een aanvullende (secundaire) sleutel K* als ingangsdata om, onder invloed van een hulpsleutel K', de (primaire) sleutel K als uitgangsdata te produceren. De sleutel K wordt dus niet, zoals in de situatie van fig. 1, vanuit een externe bron (bijvoorbeeld een geheu-25 gen) aan het proces P toegevoerd, maar wordt door het proces P* voortgebracht uit de aanvullende (secundaire) sleutel K*: K = P*K. (K)In contrast to the situation of Fig. 1, in the situation of Fig. 2, the key K is supplied from an additional process P * to the process P. The additional process P * has an additional (secondary) key K * as input data to produce, under the influence of an auxiliary key K ', the (primary) key K as output data. The key K is thus not supplied, as in the situation of Fig. 1, from an external source (for example a memory) to the process P, but is generated by the process P * from the additional (secondary) key K *: K = P * K. (K)

Het is dus de secundaire sleutel K* in plaats van de 30 primaire sleutel K die vooraf is bepaald en die bijvoorbeeld in een sleutelgeheugen (niet getoond) wordt opgeslagen. Overeenkomstig de uitvinding is de primaire sleutel K die aan het proces P wordt toegevoerd niet vooraf bepaald.Thus, it is the secondary key K * instead of the primary key K which is predetermined and is stored, for example, in a key memory (not shown). In accordance with the invention, the primary key K supplied to the process P is not predetermined.

35 De hulpsleutel K' kan een vast opgeslagen, vooraf bepaalde sleutel zijn. Het is ook mogelijk een aanvullend proces P* toe te passen waarin geen hulpsleutel K' wordt 1011544 8 gebruikt.The auxiliary key K 'may be a permanently stored predetermined key. It is also possible to use an additional process P * in which no auxiliary key K '1011544 8 is used.

De combinatie van de processen P en P* vormt een nieuw proces, dat schematisch is aangeduid als Q. Aan het proces Q, dat vanwege het aanvullende proces P* op zich 5 onbekend is, worden de ingangsdata X en de (secundaire) sleutel K* toegevoerd om de uitgangsdata Y te produceren. De relatie tussen de secundaire sleutel K* en de primaire sleutel K wordt door het aanvullende proces P* versluierd.The combination of the processes P and P * forms a new process, which is schematically indicated as Q. The process Q, which is unknown per se because of the additional process P *, becomes the input data X and the (secondary) key K * supplied to produce the output data Y. The relationship between the secondary key K * and the primary key K is obscured by the additional process P *.

10 Het aanvullende proces P* is bij voorkeur de inverse van een ander, inverteerbaar proces R. Dat wil zeggen: P* = R-1.The complementary process P * is preferably the inverse of another invertible process R. That is, P * = R-1.

Dit maakt het mogelijk de secundaire sleutel K* met behulp van R en de hulpsleutel K' voort te brengen uit de 15 primaire sleutel K: K* = RK. (K) , zoals later aan de hand van figuur 5 nader zal worden toegelicht. Eventueel kan het nieuwe proces Q worden uitgebreid met het proces R, zodat de primaire sleutel K in 20 plaats van de secundaire sleutel K* aan het proces Q wordt toegevoerd. De primaire sleutel K wordt in dat geval in het proces Q afgeleid uit: K = P*K. (K*) = P*K. (RK. (K) ) .This makes it possible to generate the secondary key K * with the aid of R and the auxiliary key K 'from the primary key K: K * = RK. (K), as will be further explained with reference to Figure 5. Optionally, the new process Q can be extended with the process R, so that the primary key K is supplied to the process Q instead of the secondary key K *. In that case, the primary key K is derived in the process Q from: K = P * K. (K *) = P * K. (RK. (K)).

Dit maakt het mogelijk dezelfde (primaire) sleutel te 25 gebruiken als in de stand van de techniek.This makes it possible to use the same (primary) key as in the prior art.

Het in fig. 3 schematisch weergegeven cryptografi-sche proces volgens de uitvinding omvat eveneens een proces P met een primaire sleutel K en een aanvullende proces P* met een hulpsleutel K', waarbij de primaire 30 sleutel K door het aanvullende proces P* uit de aanvullende sleutel K* wordt afgeleid. In aanvulling op het proces van fig. 1 worden in dit geval ook de ingangsdata X aan het aanvullende proces P* toegevoerd, zodat de primaire sleutel K mede in afhankelijkheid van de in-35 gangsdata X wordt bepaald: K = P*K, (K*,X)The cryptographic process according to the invention schematically shown in Fig. 3 also comprises a process P with a primary key K and an additional process P * with an auxiliary key K ', wherein the primary key K is extracted from the additional key K * is derived. In addition to the process of Fig. 1, in this case the input data X is also supplied to the additional process P *, so that the primary key K is determined partly in dependence on the input data X: K = P * K, ( K *, X)

Hierdoor wordt een aanvullende cryptografische be- 101 1544 9 scherming gekregen. Bovendien wordt hierdoor de mogelijkheid geboden het aanvullende proces P* uitsluitend uit te voeren indien bepaalde ingangsdata worden aangeboden. Dat wil zeggen, het aanvullende proces P* kan een test van de 5 ingangsdata X omvatten en het uitvoeren van het aanvullende proces P* kan afhangen van het resultaat van die test. Zo kan het aanvullende proces P* bijvoorbeeld slechts worden uitgevoerd als de laatste twee bits van de invoerdata X gelijk zijn aan nul. Het effect van een 10 dergelijke ingangsdata-afhankelijke bewerking is, dat slechts voor bepaalde ingangsdata X de juiste primaire sleutel K zal worden geproduceerd, zodat alleen die ingangsdata de gewenste ^uitgangsdata Y opleveren. Het zal duidelijk zijn dat de cryptografische veiligheid hierdoor 15 verder wordt vergroot.This provides additional cryptographic protection. In addition, this offers the possibility to execute the additional process P * only if certain input data are offered. That is, the additional process P * may include a test of the 5 input data X and the execution of the additional process P * may depend on the result of that test. For example, the additional process P * can only be performed if the last two bits of the input data X are equal to zero. The effect of such an input data-dependent operation is that the correct primary key K will be produced only for certain input data X, so that only those input data yield the desired output data Y. It will be clear that this further enhances cryptographic security.

In fig. 4 is schematisch de wijze weergegeven waarop deelstappen van de processen P en P* afwisselend kunnen worden uitgevoerd ("interleaving") teneinde de bescherming tegen aanvallen verder te vergroten. De deelstappen 20 kunnen zogenaamde "rondes" omvatten, zoals bijvoorbeeld bij DES het geval is. Bij voorkeur omvatten de deelstappen echter slechts een of enkele instructies van een programma, waarmee de processen worden uitgevoerd.Fig. 4 schematically shows the manner in which sub-steps of processes P and P * can be performed alternately ("interleaving") in order to further increase the protection against attacks. The sub-steps 20 can comprise so-called "rounds", as is the case, for example, with DES. Preferably, however, the sub-steps comprise only one or a few instructions from a program with which the processes are executed.

In een eerste stap 101 wordt een eerste deelstap Pj^ 25 van het proces P uitgevoerd. Vervolgens wordt in een tweede stap 102 de eerste deelstap Px* van het aanvullende proces P* uitgevoerd. Evenzo wordt in een derde stap 103 de tweede deelstap P2 van het proces P uitgevoerd enz. Dit gaat door totdat in stap 110 de laatste deelstap Pn* van 30 het aanvullende proces P* is uitgevoerd, waarbij omwille van het voorbeeld ervan is uitgegaan dat de processen P en P* evenveel deelstappen omvatten. Indien dat niet het geval is, wordt in stap 110 de laatste overeenkomstige deelstap uitgevoerd, en worden in verdere stappen de 35 resterende deelstappen uitgevoerd.In a first step 101, a first sub-step Pj ^ 25 of the process P is performed. Then, in a second step 102, the first sub-step Px * of the additional process P * is performed. Likewise, in a third step 103, the second sub-step P2 of the process P is carried out, etc. This continues until, in step 110, the last sub-step Pn * of 30, the additional process P * is performed, assuming for the example that the processes P and P * comprise the same number of sub-steps. If not, the last corresponding sub-step is performed in step 110, and the remaining sub-steps are performed in further steps.

Door het afwisselen van de deelstappen van het op zich bekende proces P en het (mogelijk eveneens op zich 101 1544 10 bekende) proces P* kan een reeks van deelstappen worden verkregen, die niet overeenkomt met die van een bekend proces. De aard van het proces is hierdoor moeilijker te herkennen.By alternating the sub-steps of the process P known per se and the process P * (possibly also known per se) a series of sub-steps can be obtained which does not correspond to that of a known process. This makes the nature of the process more difficult to recognize.

5 Het in fig. 5 schematisch weergegeven cryptografisch proces omvat een aantal trappen S (Sx, S2, .....). In elke trap S worden (rechter) data RD toegevoerd aan een cryptograf ische bewerking F. Deze cryptografische bewerking kan zelf een aantal deelstappen omvatten, zoals een ex-10 pansie, een combinatie met een sleutel, een substitutie en een permutatie. De cryptografische bewerking F levert bewerkte data RD', die in een combinatiebewerking CC (CCX, CC2, ...., de index geeft steeds de betreffende trap S aan) met linker data LD worden gecombineerd tot gemodifi-15 ceerde (linker) data LD', die evenals de oorspronkelijke rechter data RD worden doorgegeven aan de volgende trap.The cryptographic process schematically shown in Fig. 5 comprises a number of steps S (Sx, S2, .....). In each stage S, (right) data RD is applied to a cryptographic operation F. This cryptographic operation may itself comprise a number of sub-steps, such as an expansion, a combination with a key, a substitution and a permutation. The cryptographic operation F provides processed data RD ', which in a combination operation CC (CCX, CC2, ...., the index always indicates the relevant stage S) with left data LD are combined into modified (left) data LD ', which, like the original right hand data RD, are passed to the next stage.

Zoals in fig. 5 is getoond, wisselen aan het eind van elke trap S de gemodificeerde linker data LD' en de rechter data RD van positie, zodat deze respectievelijk 2 0 de rechter data RD en de linker data LD van de volgende trap vormen.As shown in Fig. 5, at the end of each stage S, the modified left data LD 'and the right data RD change position to form the right data RD and the left data LD of the next stage, respectively.

De linker data LD en de rechter data RD zijn in een voorafgaande bewerking PP afgeleid uit ingangsdata X en kunnen daarbij een voorbereidende permutatie ondergaan.The left data LD and the right data RD are derived from input data X in a preliminary operation PP and may undergo a preliminary permutation.

25 De uitgangsdata van de laatste trap vormen de bewerkte data Y van de werkwijze, eventueel nadat deze een eindbewerking, zoals een uitgangspermutatie PP'1, hebben ondergaan .The final stage output data constitutes the processed data Y of the method, optionally after it has undergone final processing, such as an output permutation PP'1.

Overeenkomstig de uitvinding worden de in en tussen 30 de trappen aanwezige data gemaskeerd met hulpwaarden. Zo is in elke trap, bijvoorbeeld de trap S2, een aanvullende combinatiebewerking AC aanwezig die de rechter data RD combineert met een (primaire) hulpwaarde A voordat deze data aan de cryptografische bewerking F worden toege-35 voerd. Een verdere combinatiebewerking BC is tussen de cryptografische bewerking F en de combinatiebewerking CC ingevoegd met het doel de bewerkte (rechter) data RD' met 1011544 11 een verdere (secundaire) hulpwaarde B te combineren. Bij voorkeur zijn alle combinatiebewerkingen exclusief-of-bewerkingen.In accordance with the invention, the data present in and between the stages are masked with auxiliary values. Thus, in each stage, for example the stage S2, there is an additional combination operation AC which combines the right hand data RD with an (primary) auxiliary value A before this data is supplied to the cryptographic operation F. A further combination operation BC is inserted between the cryptographic operation F and the combination operation CC for the purpose of combining the processed (right) data RD 'with a further (secondary) auxiliary value B with 1011544 11. Preferably, all combination operations are exclusive-of-operations.

Het combineren van de data LD en RD met de hulpwaar-5 den A en B heeft tot gevolg, dat de gemodificeerde data LD' gemaskeerd zijn, waardoor het aanzienlijk moeilijker is de oorspronkelijke data LD en RD uit de gemaskeerde data LD' te herleiden.Combining the data LD and RD with auxiliary values A and B results in the modified data LD 'being masked, making it considerably more difficult to retrieve the original data LD and RD from the masked data LD'.

Overeenkomstig een verder aspect van de uitvinding 10 zijn de hulpwaarden A en B gerelateerd. De tweede hulpwaarde B is bij voorkeur door middel van een exclusief-of-bewerking gevormd uit de eerste hulpwaarde A, van de vorige trap en de hulpwaarde A van de volgende trap:In accordance with a further aspect of the invention, the auxiliary values A and B are related. The second auxiliary value B is preferably formed by means of an exclusive-or-operation from the first auxiliary value A of the previous stage and the auxiliary value A of the following stage:

Bi = Aw Θ Ai+,.Bi = Aw Θ Ai + ,.

15 Dit heeft tot gevolg, dat elke hulpwaarde A die middels een verdere aanvullende combinatiebewerking BC als bestanddeel van de verdere hulpwaarde B met de rechter data RD is gecombineerd telkens in de volgende trap wordt gecompenseerd voordat de data aan de bewerking F worden 20 onderworpen. De hulpwaarde A werkt echter wel door in de gemodificeerde data LD', zodat deze tussen twee trappen gemaskeerd blijven.As a result, each auxiliary value A which is combined with the right-hand data RD by means of a further additional combination operation BC as part of the further auxiliary value B, is each time compensated before the data are subjected to the operation F. The auxiliary value A does, however, work through in the modified data LD ', so that these remain masked between two stages.

Met voordeel gaan aan de eerste trap S, voorbereidende combinatiebewerkingen EC en DC vooraf, die respectie-25 velijk de rechter data RD, en de linker data LD, van de eerste trap S, vormen aan de hand van respectievelijk de primaire hulpwaarde A, van de eerste trap en een primaire hulpwaarde A0. Deze combinatiebewerkingen zijn bij voorkeur ook exclusief-of-bewerkingen. In dat geval heeft de 3 0 combinatiebewerking AC, het effect de hulpwaarde A, uit de rechter data RD, te verwijderen alvorens deze aan de bewerking F, worden aangeboden. In de rechter data RD,, die door de kruislingse omwisseling in de tweede trap S2 de linker data LD2 gaan vormen, blijft de hulpwaarde A, en 35 daarmee de maskering van de data behouden.Advantageously, the first stage S precedes preparatory combination operations EC and DC, which respectively form the right data RD, and the left data LD, of the first stage S, with reference to the primary auxiliary value A, respectively. the first stage and a primary auxiliary value A0. These combination operations are preferably also exclusive or operations. In that case, the combination operation AC has the effect of removing the auxiliary value A from the right hand data RD before it is presented to the operation F. In the right data RD, which will form the left data LD2 as a result of the crossover in the second stage S2, the auxiliary value A, and thus the masking of the data, is retained.

De tweede data SD, van de eerste trap S, zijn gemaskeerd met de additionele hulpwaarde A0. Door het combine- 1011544 12 ren met de hulpwaarde Bx = A0 Θ A2 wordt de aanvankelijke hulpwaarde A0 verwijderd (wegens A0 ® A0 = 0) , maar blijft de hulpwaarde A2 en de daarmee bereikte maskering behouden. De hulpwaarde A0 wordt in deze uitvoeringsvorm bij 5 voorkeur gelijk gekozen aan Ax.The second data SD, of the first stage S, are masked with the additional auxiliary value A0. By combining 1011544 12 with the auxiliary value Bx = A0 Θ A2, the initial auxiliary value A0 is removed (due to A0 ® A0 = 0), but the auxiliary value A2 and the masking achieved therewith are retained. The auxiliary value A0 is preferably chosen equal to Ax in this embodiment.

Teneinde de hulpwaarden voorafgaand aan de eindbewerking (PP"1) te verwijderen zijn afsluitende combinatie-bewerkingen FC en GC voorzien, die de gemodificeerde linker data LD'n van de laatste trap Sn met een hulpwaarde 10 A„+1 respectievelijk de rechter data RDn met een hulpwaarde A„ combineren. Hierdoor is het mogelijk de werkwijze zodanig uit te voeren, dat ondanks het gebruik van de hulpwaarden A de einddata Y gelijk zijn aan die welke met de conventionele werkwijze zouden zijn verkregen.In order to remove the auxiliary values before the final operation (PP "1), final combination operations FC and GC are provided, which modify the modified left data LD'n of the last stage Sn with an auxiliary value 10A -1 + the right data RDn, respectively. with an auxiliary value A '. This makes it possible to carry out the method such that, despite the use of the auxiliary values A, the end dates Y are equal to those which would have been obtained with the conventional method.

15 Hoewel bij voorkeur alle hulpwaarden Ai verschillend worden gekozen, met uitzondering van A0 = Alf is het mogelijk alle hulpwaarden A± gelijk te kiezen. In dat geval zijn alle secundaire hulpwaarden in de weergegeven uitvoeringsvorm gelijk aan nul, zodat de verdere combina-20 tiebewerkingen BC achterwege kunnen blijven.Although preferably all auxiliary values Ai are chosen differently, with the exception of A0 = Alf, it is possible to choose all auxiliary values A ± equally. In that case, all secondary auxiliary values in the illustrated embodiment are equal to zero, so that the further combination operations BC can be omitted.

In het proces van fig. 6, dat grotendeels overeenkomt met dat van fig. 5, zijn de combinatiebewerkingen AC en BC en de cryptografische bewerking F geïntegreerd tot een gecombineerde bewerking F' . Het integreren van de 25 combinatiebewerkingen is mogelijk door bijvoorbeeld een substitutietabel van de bewerking F op geschikte wijze aan te passen. Hierdoor kunnen de aanvullende combinatiebewerkingen AC en BC achterwege blijven. In principe is voor elke trap Si een verschillende gecombineerde bewer-30 king Fi nodig, waarin verschillende hulpwaarden Aa zijn geïntegreerd (zie Fig. 5) . Slechts indien de hulpwaarden Ai gelijk worden gekozen, d.w.z. Ax = A2 = .... = A„, kunnen de gecombineerde bewerkingen FA gelijk zijn.In the process of Fig. 6, which largely corresponds to that of Fig. 5, the combining operations AC and BC and the cryptographic operation F are integrated into a combined operation F '. Integration of the combination operations is possible, for example, by appropriately adjusting a substitution table of the operation F. Therefore, the additional combination operations AC and BC can be omitted. In principle, for each stage Si, a different combined operation Fi is required, in which different auxiliary values Aa are integrated (see Fig. 5). Only if the auxiliary values Ai are chosen equal, i.e. Ax = A2 = .... = A „, the combined operations FA can be the same.

De uitvoeringsvorm van fig. 7 komt grotendeels over-35 een met die van Fig. 6. In aanvulling op Fig. 6 is in elke trap S, met uitzondering van de laatste trap Sn, een combinatiebewerking HC opgenomen die de rechter data RDThe embodiment of fig. 7 largely corresponds to that of fig. 6. In addition to Fig. 6, in each stage S, with the exception of the last stage Sn, a combination operation HC is included which contains the right hand data RD

1011544 13 met een tertiaire hulpwaarde W combineert. Bij voorkeur is de teriaire hulpwaarde gelijk aan de exclusief - of -combinatie van de hulpwaarden A0 en Ax: W = A0 Θ Ax.1011544 13 with a tertiary auxiliary value W. Preferably the teriary auxiliary value is equal to the exclusive or combination of the auxiliary values A0 and Ax: W = A0 Θ Ax.

5 Dit heeft het resultaat dat de bewerking HC steeds de hulpwaarde A0 toevoegt en de hulpwaarde Ax compenseert. Hierdoor is het mogelijk dat alle cryptografische bewerkingen F in wezen identiek zijn, hetgeen een veel geringere verwerkings- en/of opslagcapaciteit vereist van een 10 processorsysteem waarmee de werkwijze wordt uitgevoerd. Het zal duidelijk zijn dat in de uitvoeringsvorm van Fig. 7 de bewerkingen F" zodanige aanpassingen van de oorspronkelijke bewerkingen F zijn, dat deze gecorrigeerd zijn voor de hulpwaarde Ax en bovendien de hulpwaarde A0 15 hun resultaat combineren. Met andere woorden, indien RD Θ Ax aan F" wordt toegevoerd, is het resultaat gelijk aan F" (RD) 0 W. ___________The result is that the operation HC always adds the auxiliary value A0 and compensates the auxiliary value Ax. This allows all cryptographic operations F to be essentially identical, which requires a much smaller processing and / or storage capacity of a processor system with which the method is performed. It will be understood that in the embodiment of FIG. 7 the operations F "are adjustments of the original operations F such that they are corrected for the auxiliary value Ax and additionally combine the auxiliary value A0 15 with their result. In other words, if RD Θ Ax is applied to F", the result is equal to F "(RD) 0 W. ___________

In fig. 8 is schematisch een schakeling 10 voor het ten uitvoer leggen van de werkwijze volgens de uitvinding 20 getoond. De schakeling 10 omvat een eerste geheugen ll, een tweede geheugen 12 en een processor 13, waarbij de geheugens 11 en 12 en de processor 13 door middel van een databus 14 zijn gekoppeld. Door het verschaffen van twee geheugens is het mogelijk telkens een deelstap van een 25 van de processen P en P* uit te voeren (zie fig. 4) , het resultaat van die deelstap in bijvoorbeeld het eerste geheugen 11 op te slaan, en vanuit het tweede geheugen 12 een vorig tussenresultaat van het andere proces naar de processor 13 over te brengen. Op deze wijze is het moge-30 lijk het afwisselend berekenen van deelstappen van twee verschillende processen efficiënt uit te voeren.Fig. 8 schematically shows a circuit 10 for carrying out the method according to the invention. The circuit 10 comprises a first memory 11, a second memory 12 and a processor 13, the memories 11 and 12 and the processor 13 being coupled by means of a data bus 14. By providing two memories, it is possible in each case to perform a sub-step of one of the processes P and P * (see Fig. 4), to store the result of that sub-step in, for example, the first memory 11, and from the second memory 12 to transfer a previous intermediate result of the other process to the processor 13. In this way it is possible to efficiently perform alternating calculation of sub-steps of two different processes.

Het in fig. 9 schematisch weergegeven betaalsysteem omvat een elektronisch betaalmiddel 1 en een betaalstati-on 2. Het elektronische betaalmiddel 1 is bijvoorbeeld 35 een zogenaamde "smart card", d.w.z. een kaart die van een geïntegreerde schakeling voor het opslaan en verwerken van betaalgegevens is voorzien. Het betaalstation 2 omvat 1011544 14 een kaartlezer 21 en een processorschakeling 22. De processor schakeling 22 kan overeenkomen met de schakeling 10 van fig. 5.The payment system schematically shown in Fig. 9 comprises an electronic payment means 1 and a payment station 2. The electronic payment means 1 is, for example, a so-called "smart card", ie a card which is an integrated circuit for storing and processing payment data to provide. The payment station 2 comprises a card reader 21 and a processor circuit 22. The processor circuit 22 may correspond to the circuit 10 of Fig. 5.

Aan het begin van een transactie draagt het betaal-5 middel 1 een identificatie (kaartidentificatie) ID over naar het betaalstation 2. Aan de hand van deze identificatie bepaalt het betaalstation 2 een sleutel die voor deze transactie zal worden gebruikt. Deze identificatie ID kan als ingangsdata X (zie de figuren 1-3) aan een 10 cryptografisch proces worden toegevoerd dat aan de hand van een meestersleutel MK een identificatie-afhankelijke transactiesleutel KID als uitgangsdata Y produceert. Overeenkomstig de uitvinding wordt hiervoor het in de figuren 2 en 3 weergegeven proces gebruikt, waarbij de 15 meestersleutel MK vooraf met behulp van een proces R is omgezet in een aanvullende meestersleutel MK*. Deze aanvullende meestersleutel MK* wordt nu, bij voorkeur samen met de identificatie ID overeenkomstig fig. 3, toegevoerd aan het aanvullende proces P* teneinde de oorspronkelijke 20 meestersleutel MK te reproduceren en de transactiesleutel KID uit de identificatie ID af te leiden.At the beginning of a transaction, the payment means 1 transfers an identification (card identification) ID to the payment station 2. On the basis of this identification, the payment station 2 determines a key that will be used for this transaction. This identification ID can be applied as input data X (see Figures 1-3) to a cryptographic process which produces an identification-dependent transaction key KID as output data Y on the basis of a master key MK. According to the invention, the process shown in Figs. 2 and 3 is used for this purpose, in which the master key MK has previously been converted into an additional master key MK * by means of a process R. This additional master key MK * is now fed, preferably together with the identification ID according to FIG. 3, to the additional process P * in order to reproduce the original master key MK and derive the transaction key KID from the identification ID.

Hoewel in de figuren 2 en 3 steeds een enkel aanvullend proces P* is getoond, kunnen eventueel meerdere processen P*, P**, P***, ... in serie en/of parallel 25 worden gebruikt om de primaire sleutel K af te leiden.Although a single additional process P * is always shown in Figures 2 and 3, multiple processes P *, P **, P ***, ... can be used in series and / or parallel 25 to convert the primary key K to distract.

Het zal deskundigen duidelijk zijn dat vele wijzigingen en aanvullingen mogelijk zijn zonder buiten het kader van de uitvinding te treden.It will be clear to those skilled in the art that many modifications and additions are possible without departing from the scope of the invention.

10115441011544

Claims (20)

1. Werkwijze voor het cryptografisch bewerken van data, omvattende het aan een cryptografisch proces (P) toevoeren van waarden, te weten de data (X) en een sleutel (K), en het uitvoeren van het proces (P) teneinde cryptogra- 5 fisch bewerkte data (Y) te vormen, gekenmerkt door het aan het proces (P) toevoeren van hulpwaarden (K*; A, B) teneinde de in het proces (P) gebruikte waarden (K; D) te maskeren. ....._Method for cryptographically processing data, comprising supplying values, i.e. the data (X) and a key (K), to a cryptographic process (P), and executing the process (P) to cryptographically form processed data (Y), characterized by adding auxiliary values (K *; A, B) to the process (P) to mask the values (K; D) used in the process (P). ....._ 2. Werkwijze volgens conclusie 1, waarin een hulpwaarde 10 een aanvullende sleutel (K*) omvat die aan een aanvullend proces (P*) wordt toegevoerd teneinde de sleutel (K) te vormen.The method of claim 1, wherein an auxiliary value 10 includes an additional key (K *) that is supplied to an additional process (P *) to form the key (K). 3. Werkwijze volgens conclusie 2, waarin het aanvullende proces (P*) een cryptografisch proces omvat waaraan 15 een hulpsleutel (K') wordt toegevoerd.Method according to claim 2, wherein the additional process (P *) comprises a cryptographic process to which an auxiliary key (K ') is applied. 4. Werkwijze volgens conclusie 2 of 3, waarin het aanvullende proces (P*) een inverteerbaar proces is.The method of claim 2 or 3, wherein the additional process (P *) is an invertible process. 5. Werkwijze volgens conclusie 2, 3 of 4, waarin de data (X) tevens aan het aanvullende proces (P*) worden 20 toegevoerd.A method according to claim 2, 3 or 4, wherein the data (X) is also supplied to the additional process (P *). 6. Werkwijze volgens conclusie 5, waarbij het uitvoeren van het aanvullende proces (P*) uitsluitend plaatsvindt indien de data (X) vooraf bepaalde eigenschappen bezitten.The method of claim 5, wherein the additional process (P *) is performed only if the data (X) has predetermined properties. 7. Werkwijze volgens een van de conclusies 2-6, waarin het proces (P) en het aanvullende proces (P*) elk uit een aantal stappen zijn opgebouwd, en waarin afwisselend stappen van het proces (P) en het aanvullende proces (P*) worden uitgevoerd.A method according to any one of claims 2-6, wherein the process (P) and the additional process (P *) are each composed of a number of steps, and in which steps of the process (P) and the additional process (P) alternate *) are carried out. 8. Werkwijze volgens een van de voorgaande conclusies, waarin het proces (P) een aantal trappen (S) omvat met elk een cryptografische bewerking (F) voor het bewerken van uit de data (X) afgeleide rechter data (RD) en een combinatiebewerking (C) voor het met eveneens uit de data 35 (X) afgeleide linker data (LD) combineren van de bewerkte 1011544 rechter data (RD') teneinde gemodificeerde linker data (LD') te vormen, en waarin de rechter data (RD), voorafgaand aan de bewerking F, met een primaire hulpwaarde (A) worden gecombineerd.Method according to any of the preceding claims, wherein the process (P) comprises a number of stages (S), each with a cryptographic operation (F) for processing the right-hand data (RD) derived from the data (X) and a combination operation (C) for combining the processed 1011544 right data (RD ') with left data (LD) also derived from data 35 (X) to form modified left data (LD'), and wherein the right data (RD) , prior to operation F, are combined with a primary auxiliary value (A). 9. Werkwijze volgens conclusie 8, waarin de bewerkte rechter data (RD') , volgend op de bewerking F, met een secundaire hulpwaarde (B) worden gecombineerd.The method of claim 8, wherein the processed right data (RD ') following processing F is combined with a secondary auxiliary value (B). 10. Werkwijze volgens conclusie 8 en 9, waarin de secundaire hulpwaarde (B) van een trap gevormd is uit de com- 10 binatie van de primaire hulpwaarde (A) van de voorgaande trap en de primaire hulpwaarde (A) van de volgende trap.10. Method according to claims 8 and 9, wherein the secondary auxiliary value (B) of a stage is formed from the combination of the primary auxiliary value (A) of the previous stage and the primary auxiliary value (A) of the next stage. 11. Werkwijze volgens conclusie 8 of 10, waarin, voorafgaande aan de eerste trap (S1) , de rechter data (RD) met de primaire hulpwaarde (Ax) van de eerste trap (SJ en de 15 linker data (LD) met een additionele hulpwaarde (A0) wordt gecombineerd.The method of claim 8 or 10, wherein, prior to the first stage (S1), the right data (RD) with the primary auxiliary value (Ax) of the first stage (SJ and the left data (LD) with an additional auxiliary value (A0) is combined. 12. Werkwijze volgens conclusie 11, waarin, onmiddellijk na de laatste trap (Sn) , de rechter data (RDn) met de primaire hulpwaarde (A„) van de laatste trap en de gemodi- 20 ficeerde linkerdata (LD') met een verdere additionele hulpwaarde (A^) worden gecombineerd.12. A method according to claim 11, wherein, immediately after the last stage (Sn), the right data (RDn) with the primary auxiliary value (A ') of the last stage and the modified left data (LD') with a further additional auxiliary value (A ^) are combined. 13. Werkwijze volgens een van de conclusies 8-12, waarin alle primaire hulpwaarden (A) gelijk zijn.A method according to any of claims 8-12, wherein all primary auxiliary values (A) are equal. 14. Werkwijze volgens een van de conclusies 9-13, waarin 25 de primaire hulpwaarden (A) en/of secundaire hulpwaarden (B) telkens vooraf met de respectieve bewerking (F) zijn gecombineerd.A method according to any one of claims 9-13, wherein the primary auxiliary values (A) and / or secondary auxiliary values (B) are each pre-combined with the respective operation (F). 15. Werkwijze volgens een van de conclusies 8-14, waarin het combineren door middel van een exclusief-of-bewerking 30 wordt uitgevoerd.15. A method according to any one of claims 8-14, wherein the combining is performed by an exclusive-or-operation. 16. Werkwijze volgens een van de voorgaande conclusies, waarin de data (X) identificatiedata van een betaalmiddel (1) omvatten en de bewerkte data (Y) een gediversificeer-de sleutel vormen.The method according to any of the preceding claims, wherein the data (X) comprises identification data of a payment means (1) and the processed data (Y) forms a diversified key. 17. Werkwijze volgens een van de voorgaande conclusies, waarin het proces (P) DES omvat, bij voorkeur drievoudige DES. 1011544A method according to any preceding claim, wherein the process comprises (P) DES, preferably triple DES. 1011544 18. Schakeling (10) voor het uitvoeren van de werkwijze volgens een van de voorgaande conclusies.Circuit (10) for performing the method according to any of the preceding claims. 19. Betaalkaart (1), voorzien van een schakeling (10) volgens conclusie 17.Payment card (1), provided with a circuit (10) according to claim 17. 20. Betaalterminal (2), voorzien van een schakeling volgens conclusie 18. 1011544Payment terminal (2), provided with a circuit according to claim 18. 1011544
NL1011544A 1998-12-30 1999-03-12 Encryption system for digital data, uses secondary key to mask primary key, is more difficult to decrypt by Brute Force Attack than data encrypted with conventional single key NL1011544C1 (en)

Priority Applications (9)

Application Number Priority Date Filing Date Title
NL1011544A NL1011544C1 (en) 1998-12-30 1999-03-12 Encryption system for digital data, uses secondary key to mask primary key, is more difficult to decrypt by Brute Force Attack than data encrypted with conventional single key
NL1011800A NL1011800C2 (en) 1998-12-30 1999-04-15 Method and device for cryptographically processing data.
AT99963594T ATE336122T1 (en) 1998-12-30 1999-12-16 METHOD AND DEVICE FOR CRYPTOGRAPHIC DATA PROCESSING
DE69932740T DE69932740T2 (en) 1998-12-30 1999-12-16 METHOD AND DEVICE FOR CRYPTOGRAPHIC DATA PROCESSING
AU19833/00A AU1983300A (en) 1998-12-30 1999-12-16 Method and device for cryptographically processing data
PCT/EP1999/010208 WO2000041356A1 (en) 1998-12-30 1999-12-16 Method and device for cryptographically processing data
US09/787,648 US7162031B1 (en) 1998-12-30 1999-12-16 Method and device for cryptographically processing data
EP99963594A EP1142191B1 (en) 1998-12-30 1999-12-16 Method and device for cryptographically processing data
ES99963594T ES2270628T3 (en) 1998-12-30 1999-12-16 METHOD AND DEVICE FOR PROCESSING CRYPTOGRAPHY DATA.

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
NL1010921 1998-12-30
NL1010921A NL1010921C2 (en) 1998-12-30 1998-12-30 Encryption system for digital data, uses secondary key to mask primary key, is more difficult to decrypt by Brute Force Attack than data encrypted with conventional single key
NL1011544A NL1011544C1 (en) 1998-12-30 1999-03-12 Encryption system for digital data, uses secondary key to mask primary key, is more difficult to decrypt by Brute Force Attack than data encrypted with conventional single key
NL1011544 1999-03-12

Publications (1)

Publication Number Publication Date
NL1011544C1 true NL1011544C1 (en) 2000-07-03

Family

ID=26642898

Family Applications (2)

Application Number Title Priority Date Filing Date
NL1011544A NL1011544C1 (en) 1998-12-30 1999-03-12 Encryption system for digital data, uses secondary key to mask primary key, is more difficult to decrypt by Brute Force Attack than data encrypted with conventional single key
NL1011800A NL1011800C2 (en) 1998-12-30 1999-04-15 Method and device for cryptographically processing data.

Family Applications After (1)

Application Number Title Priority Date Filing Date
NL1011800A NL1011800C2 (en) 1998-12-30 1999-04-15 Method and device for cryptographically processing data.

Country Status (1)

Country Link
NL (2) NL1011544C1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2802741B1 (en) * 1999-12-15 2003-10-31 Sagem DEVICE USING A ROUND REPEAT BLOCK CHANGING ALGORITHM
FR2804524B1 (en) 2000-01-31 2002-04-19 Oberthur Card Systems Sas METHOD FOR EXECUTING A CRYPTOGRAPHIC PROTOCOL BETWEEN TWO ELECTRONIC ENTITIES
CA2298990A1 (en) * 2000-02-18 2001-08-18 Cloakware Corporation Method and system for resistance to power analysis

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724428A (en) * 1995-11-01 1998-03-03 Rsa Data Security, Inc. Block encryption algorithm with data-dependent rotations
US5745577A (en) * 1996-07-25 1998-04-28 Northern Telecom Limited Symmetric cryptographic system for data encryption

Also Published As

Publication number Publication date
NL1011800C2 (en) 1999-11-24
NL1011800A1 (en) 1999-06-03

Similar Documents

Publication Publication Date Title
US7162031B1 (en) Method and device for cryptographically processing data
CN110689349B (en) Transaction hash value storage and searching method and device in blockchain
DE102008016530B4 (en) Efficient Advanced Encryption Standard (AES) data transfer using a hybrid Rijndael S-Box
US6157720A (en) Method and apparatus for encrypting data
EP1271839B1 (en) AES Encryption circuit
EP3403365B1 (en) Fast format-preserving encryption for variable length data
US20040139136A1 (en) Method for securing a computer installation involving a cryptographic algorithm using boolean operations and arithmetic operations and the corresponding embedded system
JP2011103686A (en) Method for making secure electronic entity with encrypted access
EP2634953A1 (en) Countermeasure method against side channel analysis for cryptographic algorithms using boolean operations and arithmetic operations
Sasaki Integer linear programming for three-subset meet-in-the-middle attacks: application to GIFT
US11101981B2 (en) Generating a pseudorandom number based on a portion of shares used in a cryptographic operation
US6175850B1 (en) Scheme for carrying out modular calculations based on redundant binary calculation
EP2209251B1 (en) Cryptographic processing apparatus and cryptographic processing method
FR2880750A1 (en) MICROPROCESSOR CARD AND CRYPTOGRAPHIC METHOD FOR PROTECTING A SECRET KEY
NL1011544C1 (en) Encryption system for digital data, uses secondary key to mask primary key, is more difficult to decrypt by Brute Force Attack than data encrypted with conventional single key
US8612761B2 (en) Method of executing a cryptographic protocol between two electronic entities
KR20240074806A (en) Message scheduling for cryptographic hashing
JP2002539488A (en) Countermeasures in electronic components using secret-key cryptographic algorithms
JP2000010479A (en) Montgomery reduction apparatus and recording medium
US11200346B2 (en) Secure computation for reading multiple elements from a secure text array
EP1119940B1 (en) Countermeasure method in an electronic component using a secret key cryptographic algorithm
EP1198921A2 (en) Method for countermeasure in an electronic component using a secret key algorithm
EP1587237A1 (en) Security countermeasures for power analysis attacks
NL1010921C2 (en) Encryption system for digital data, uses secondary key to mask primary key, is more difficult to decrypt by Brute Force Attack than data encrypted with conventional single key
KR20050015857A (en) Method for implementing cryptographic engine of overlapping operation and variable clock operation

Legal Events

Date Code Title Description
VD2 Lapsed due to expiration of the term of protection

Effective date: 20050312