NL1010921C2 - 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 PDFInfo
- Publication number
- NL1010921C2 NL1010921C2 NL1010921A NL1010921A NL1010921C2 NL 1010921 C2 NL1010921 C2 NL 1010921C2 NL 1010921 A NL1010921 A NL 1010921A NL 1010921 A NL1010921 A NL 1010921A NL 1010921 C2 NL1010921 C2 NL 1010921C2
- Authority
- NL
- Netherlands
- Prior art keywords
- data
- key
- auxiliary
- additional
- cryptographic
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/04—Masking or blinding
- H04L2209/046—Masking 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
Description
%%
Titel: Werkwijze en inrichting voor het cryptografisch bewerken van data.Title: Method and device for cryptographically processing 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 5 sleutel, en het uitvoeren van het proces 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 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 10 cryptografische processen (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, ondoenlijk zou zijn aan de 15 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 believed that, if the key length is sufficiently long, it would be impracticable 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 andere woorden, doordat het gedrag van het proces bekend is wordt het, bij bepaalde aanvallen, 20 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, it becomes considerably easier, in certain attacks, to retrieve the key used and / or the original data. It will be clear that this is undesirable.
SAMENVATTING VAN DE UITVINDINGSUMMARY OF THE INVENTION
25 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 (d.w.z. openbaar) cryptografisch proces aanzienlijk bemoeilijken of zelfs ondoenlijk maken. Een werkwijze van de in de 30 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 executing a cryptographic process which makes the retrieval of the key considerably more 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 is characterized for this purpose by adding auxiliary values to the process in order to mask the values used in the process.
Door het maskeren van de data en/of sleutel(s) wordt het aanzienlijk moeilijker deze waarden aan de hand van het gedrag van het 35 proces te herleiden. Het resultaat van het proces, dat wil zeggen de verzameling bewerkte data, kan bij een geschikte keuze van de 1 0 1 GO 2 1 2 hulpwaarden onveranderd 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 5 data en sleutel aan het proces wordt toegevoerd.By masking the data and / or key (s) it becomes considerably more difficult to retrieve these values on the basis of the behavior of the process. The result of the process, i.e. the set of edited data, can be unchanged with a suitable selection of the 1 0 1 GO 2 1 2 auxiliary values, i.e. identical to the result of the process if no auxiliary values have been added to it . In this connection, an "auxiliary value" is understood to mean a value (data or key), which is added to the process 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.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.
10 De uitvinding is mede gebaseerd op het verdere inzicht, dat het gebruik van hulpwaarden het resultaat van het proces niet noodzakelijkerwijs beïnvloedt.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 aanvullend proces wordt 15 toegevoerd teneinde de sleutel te vormen.In a first embodiment of the invention, an auxiliary value comprises an additional key which 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 aanvullende proces ook op zich bekend is.By applying 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.
20 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 het bekende proces maar de aanvullende (secundaire) sleutel aan de combinatie van processen wordt aangeboden.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.
25 Met andere woorden, extern wordt de aanvullende (secundaire) 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 aanvullende sleutel ernstig bemoeilijkt, omdat de 30 combinatie van het oorspronkelijke proces en het aanvullende proces niet bekend is.In other words, externally the additional (secondary) 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 not known.
Deze uitvoeringsvorm van de uitvinding is derhalve onder meer gebaseerd op het inzicht, dat het bekend zijn van een cryptografisch proces ongewenst is, dit in tegenstelling tot wat tot dusver werd 35 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.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.
Bij voorkeur omvat het aanvullende proces een cryptografisch l' N-· l ^.· 1 ^ 3 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 voorkeur een hulpsleutel toegepast.Preferably, the additional process comprises a cryptographic 1 'N- · 1 ^. · 1 ^ 3 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.
5 Met voordeel is het aanvullende proces een inverteerbaar proces.Advantageously, the additional process is an invertible process.
Dit maakt het mogelijk de werkwijze volgens de uitvinding bij bestaande apparatuur mét minimale wijzigingen toe te passen. Indien bijvoorbeeld een eerste inrichting een (aanvullende) sleutel afgeeft die in een tweede inrichting overeenkomstig de uitvinding wordt 10 toegepast, kan in de eerste Inrichting de inverse van het aanvullende proces worden gebruikt om de aanvullende sleutel uit de oorspronkelijke sleutel af te leiden. Met andere woorden, hoewel in zowel de eerste als de tweede inrichting intern de oorspronkelijke (primaire) sleutel wordt gebruikt, wordt tussen de inrichtingen de 15 aanvullende (secundaire) sleutel uitgewisseld. Het onderscheppen van de aanvullende sleutel leidt echter niet tot kennis van de oorspronkelijke sleutel,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 in both the first and the second device the original (primary) key is used internally, the additional (secondary) key is exchanged between the devices. However, 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 plaatvindt indien de data vooraf bepaalde 20 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 aanvullende bescherming bereikt.It may be advantageous if the additional process takes place only if the data has 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 25 aanvullende proces elk uit een aantal stappen zijn opgebouwd, en waarin afwisselend stappen van~Tiet proces en het aanvullende proces worden uitgevoerd. Hierdoor worden de eigenschappen van het bekende proces verder versluierd, waardoor het herleiden van de sleutels verder wordt bemoeilijkt.Optimal security is provided if the process and the additional process are each composed of a number of steps, and in which steps of the Tiet process and the additional process are alternately carried out. This further obscures the properties of the known process, making it even more difficult to trace back the keys.
30 In een tweede uitvoeringsvorm van de uitvinding omvat het proces een aantal trappen met elk een cryptografische bewerking voor het bewerken van uit de data afgeleide eerste data en een combinatiebewerking voor het met uit de data afgeleide tweede data combineren van de bewerkte eerste data teneinde derde data te vormen, 35 waarin de eerste data telkens gecombineerd worden met een eerste hulpwaarde. Daardoor is het mogelijk de in de cryptografische bewerking gebruikte data te maskeren.In a second embodiment of the invention, the process comprises a number of stages, each with a cryptographic operation for processing first data derived from the data and a combining operation for combining the processed first data with data derived second data to form third data in which the first data are each time combined with a first auxiliary value. This makes it possible to mask the data used in the cryptographic operation.
Bij voorkeur worden de bewerkte eerste data telkens gecombineerd 1 π ·: o o iPreferably, the edited first data is always combined 1 π ·: o o i
E i> U w tAi EE i> U w tAi E
4 met een tweede hulpwaarde. Hierdoor is het mogelijk de derde data te maskeren.4 with a second auxiliary value. This makes it possible to mask the third data.
Met voordeel is de tweede hulpwaarde van een trap gevormd uit de combinatie van de eerste hulpwaarde van de voorgaande trap en de 5 eerste hulpwaarde van de volgende trap. Hierdoor wordt het mogelijk de eerste hulpwaarde in de telkens volgende trap te compenseren, waardoor deze eerste 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 eerste hulpwaarde van de 10 eerste trap tevens met de tweede data wordt gecombineerd.Advantageously, the second auxiliary value of a stage is formed from the combination of the first auxiliary value of the previous stage and the first auxiliary value of the next stage. This makes it possible to compensate the first auxiliary value in the subsequent stage, so that this first auxiliary value will not affect the final result of the process. A further masking of all data, in particular in the first stage, is achieved if the first auxiliary value of the first stage is also combined with the second data.
Het is mogelijk de werkwijze volgens de uitvinding zodanig uit te voeren, dat alle eerste hulpwaarden gelijk zijn. Hierdoor is een zeer eenvoudige praktische realisatie mogelijk. Het gebruik van verschillende hulpwaarden, die bij voorkeur toevalsgetallen zijn, 15 biedt echter een grotere cryptografische beveiliging.It is possible to carry out the method according to the invention in such a way that all first aid values are equal. This makes a very simple practical realization possible. However, the use of different auxiliary values, which are preferably random numbers, offers greater cryptographic security.
Een verdere vereenvoudiging van deze uitvoeringsvorm kan worden verkregen indien de eerste hulpwaarden en/of tweede hulpwaarden telkens vooraf met de respectieve bewerking zijn gecombineerd. Dat wil zeggen, het combineren met hulpwaarden wordt in de betreffende 20 bewerking (bijvoorbeeld een substitutie) verwerkt, zodat het resultaat van de respectieve bewerking gelijk is aan dat van de oorspronkelijke bewerking plus een of twee combinatiebewerkingen 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 first auxiliary values and / or second auxiliary values are each time combined in advance with the respective operation. That is, combining with auxiliary values is processed in the respective operation (eg, a substitution), so that the result of the respective operation is equal to that of the original operation plus one or two auxiliary value combination operations. By including the combination operations in the machining in advance, a simpler and faster practical realization is possible.
25 De genoemde combinatiebewerkingen worden bij voorkeur 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 30 van een werkwijze voor het cryptografisch 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 nader worden toegelicht.The invention will be explained in more detail below with reference to illustrative embodiments shown in the figures.
3535
KORTE BESCHRIJVING VAN DE 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.
i o i o: . 2 i 5i o i o:. 2 i 5
Fig. 2 toont schematisch een eerste cryptografisch proces volgens een eerste uitvoeringsvorm van de uitvinding.Fig. 2 schematically shows a first cryptographic process according to a first embodiment of the invention.
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.
5 Fig. 4 toont schematisch een wijze waarop de processen van Fig.FIG. 4 schematically shows a way in which the processes of FIG.
1 en 2 kunnen worden uitgevoerd.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 proces 10 volgens een tweede uitvoeringsvorm van de uitvinding.Fig. 6 schematically shows a second cryptographic process 10 according to a second embodiment of the invention.
Fig. 7 toont schematisch een schakeling waarin de uitvinding wordt toegepast.Fig. 7 schematically shows a circuit in which the invention is applied.
Fig. 8 toont schematisch een betaalsysteem waarin de uitvinding wordt toegepast.Fig. 8 schematically shows a payment system in which the invention is applied.
1515
VOORKEURSUITVOERINGSVORMENPREFERRED EMBODIMENTS
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 20 K zet het proces P de ingangsdata X om in (cryptografisch) bewerkte uitgangsdata Y: Y = PR(X) . Het proces P kan een bekend cryptograf isch 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 20 K, the process P converts the input data X into (cryptographically) processed output data Y: Y = PR (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 25 in principe mogelijk de gebruikte sleutel K 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 is, bijvoorbeeld 30 door het proberen van alle mogelijke sleutels, om de gebruikte sleutel te achterhalen, maar dat dit een onbruikbaar lange rekentijd vergt.If the input data X and the output data Y are known, it is in principle possible to retrieve the key K 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 while it is theoretically possible, for example by trying all possible keys, to find out the key used, this requires an unusually long computing time.
Een dergelijke aanval met brute kracht ("brute force attack") is daarom nauwelijks een bedreiging voor de cryptografische beveiliging.Such a brute force attack is therefore hardly a threat to cryptographic security.
Recent ontdekte aanvallen maken echter gebruik van kennis van 35 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 rekentijden mogelijk.Recently discovered attacks, however, use knowledge of the process, which can drastically reduce the number of possible keys. This enables the used key K and / or the input data X to be derived from the output data Y within acceptable calculation times.
, , / .-v ~λ r· .1 J ; ; · « } - i y I,, /.-v ~ λ r ·. 1 J; ; · «} - i y I
I {J i ^ w 4.-» « 6I {J i ^ w 4.- »« 6
Het principe van de uitvinding, die beoogt dergelijke aanvallen aanzienlijk moeilijker en tijdrovender te maken, is in fig. 2 schematisch weergegeven. Evenals in fig. 1 worden aan een (bekend) proces P ingangsdata X en een (geheime) sleutel K toegevoerd om 5 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 is supplied with input data X and a (secret) key K to generate 5 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 proces P* heeft een aanvullende (secundaire) sleutel K* als ingangsdata om, onder invloed van een 10 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 geheugen) aan het proces P toegevoerd, maar wordt door het proces P* voortgebracht uit de aanvullende (secundaire) sleutel K*: 15 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. Thus, as in the situation of Fig. 1, the key K is not supplied 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 *: 15 K - P * K, (K)
Het is dus de secundaire sleutel K* in plaats van de 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 20 toegevoerd niet vooraf bepaald.Thus, it is the secondary key K * instead of the primary key K which is predetermined and 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.
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 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 'is used.
De combinatie van de processen P en P* vormt een nieuw proces, 25 dat schematisch is aangeduid als Q. Aan het proces Q, dat vanwege het aanvullende proces P* op zich 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 *.
30 Het aanvullende proces P* is bij voorkeur de inverse van een ander, inverteerbaar proces R. Dat wil zeggen: P* - R-1.The additional 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 primaire sleutel K: 35 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 plaats van de secundaire sleutel K* aan 1 υ ï ^ J ‘ i 7 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: 35 K * = RK, (K), as will be explained in more detail later with reference to Figure 5. Optionally, the new process Q can be extended with the process R, so that the primary key K is fed 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 gebruiken als in 5 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 cryptografische 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 sleutel K door het aanvullende proces P* uit de 10 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 ingangsdata X wordt bepaald: K - P*K,(K*,X) 15 Hierdoor wordt een aanvullende cryptografische bescherming 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 ingangsdata X omvatten en het uitvoeren van het 20 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 dergelijke ingangsdata-afhankelijke bewerking is, dat slechts voor bepaalde ingangsdata X de juiste primaire sleutel K zal 25 worden geproduceerd, zodat alleen die ingangsdata de gewenste uitgangsdata Y opleveren. Het zal duidelijk zijn dat de cryptografische veiligheid hierdoor verder wordt vergroot.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 by the additional process P * 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) 15 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 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 only for certain input data X the correct primary key K will be produced, 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 30 ("interleaving") teneinde de bescherming tegen aanvallen verder te vergroten. De deelstappen 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 partial steps of processes P and P * can be performed alternately (interleaving) in order to further increase the protection against attacks. The sub-steps can comprise so-called "rounds", as is the case with DES, for example. Preferably, however, the sub-steps comprise only one or a few instructions from a program with which the processes are executed.
35 In een eerste stap 101 wordt een eerste deelstap Pj van het proces P uitgevoerd. Vervolgens wordt in een tweede stap 102 de eerste deelstap Pj* van het aanvullende proces P* uitgevoerd. Evenzo wordt in een derde stap 103 de tweede deelstap P2 van het proces P uitgevoerd «j c *. c·. O 1 1 Ü \ >J<3 * 8 enz. Dit gaat door totdat in stap 110 de laatste deelstap Pn* van 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 5 overeenkomstige deelstap uitgevoerd, en worden in verdere stappen de resterende deelstappen uitgevoerd.In a first step 101, a first sub-step Pj of the process P is performed. Then, in a second step 102, the first sub-step Pj * 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. c ·. O 1 1 Ü \> J <3 * 8 etc. This continues until in step 110 the last sub-step Pn * of the additional process P * has been carried out, for the sake of the example it is assumed that the processes P and P * have the same include 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 bekende) proces P* kan een reeks van deelstappen worden verkregen, die niet overeenkomt met die 10 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 (possibly also known per se) process P *, 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.
Het in fig. 5 schematisch weergegeven cryptografisch proces omvat een aantal trappen S (S1( S2......). In elke trap S worden eerste data FD toegevoerd aan een cryptografische bewerking F. Deze 15 cryptografische bewerking kan zelf een aantal deelstappen omvatten, zoals een expansie, een combinatie met een sleutel, een substitutie en een permutatie. De cryptografische bewerking F levert bewerkte eerste data FD', die in een combinatiebewerking C (C2, C2.....) met tweede data SD worden gecombineerd tot derde data TD, die evenals de eerste 20 data FD worden doorgegeven aan de volgende trap. De eerste en tweede data zijn in een voorafgaande bewerking PP afgeleid uit ingangsdata X en kunnen daarbij een voorbereidende permutatie ondergaan. De uitgangsdata van de laatste trap vormen de bewerkte data Y van de werkwijze, eventueel nadat deze een eindbewerking, zoals een 25 uitgangspermutatie, hebben ondergaan. Zoals in fig. 5 is getoond wisselen aan het eind van elke trap S de derde data TD en de eerste data FD van positie, zodat deze respectievelijk de eerste data FD en tweede data SD van de volgende trap vormen.The cryptographic process schematically shown in Fig. 5 comprises a number of stages S (S1 (S2 ......). In each stage S, first data FD is supplied to a cryptographic operation F. This cryptographic operation can itself be a number of sub-stages include, such as an expansion, a combination with a key, a substitution, and a permutation. The cryptographic operation F provides processed first data FD ', which are combined in a second operation C (C2, C2 .....) with second data SD to third data TD, which, like the first 20 data FD, are passed to the next stage The first and second data are derived in a preliminary operation PP from input data X and may undergo a preliminary permutation. processed data Y of the method, optionally after it has undergone final processing, such as an output permutation As shown in Fig. 5, at the end of each stage S, the third data TD and d The first data FD of position so that it forms the first data FD and second data SD of the next stage, respectively.
Overeenkomstig de uitvinding worden de in en tussen de trappen 30 aanwezige data gemaskeerd met hulpwaarden. Zo is in de trap S2 een aanvullende eerste combinatiebewerking ACj aanwezig die de eerste data FD2 combineren met een eerste hulpwaarde Aj alvorens deze data aan de cryptografische bewerking F worden toegevoerd. Verder is een aanvullende combinatiebewerking BC2 tussen de cryptografische bewerking 35 F en de combinatiebewerking C2 ingevoegd met het doel de bewerkte eerste data FD'2 met een tweede hulpwaarde B2 te combineren. Bij voorkeur zijn alle combinatiebewerkingen exclusief-of-bewerkingen.In accordance with the invention, the data contained in and between stages 30 are masked with auxiliary values. Thus, in the stage S2, an additional first combination operation ACj is present which combines the first data FD2 with a first auxiliary value Aj before this data is supplied to the cryptographic operation F. Furthermore, an additional combination operation BC2 is inserted between the cryptographic operation 35 F and the combination operation C2 for the purpose of combining the processed first data FD'2 with a second auxiliary value B2. Preferably, all combination operations are exclusive-of-operations.
Het combineren van de eerste data FD2 met de eerste hulpwaarde ACombining the first data FD2 with the first auxiliary value A.
Λ Ο: ’ ' - ) '} i » '<..· 'j * 9 heeft tot gevolg, dat de data die in de cryptografische bewerking F worden bewerkt, worden gemaskeerd. Het combineren met de tweede hulpwaarde B heeft een verdere maskering tot gevolg.Λ Ο: ’'-)'} i» '<.. ·' j * 9 causes the data processed in the cryptographic operation F to be masked. Combining with the second auxiliary value B results in further masking.
Overeenkomstig een verder aspect van de uitvinding zijn de 5 hulpwaarden A en B gerelateerd. De tweede hulpwaarde B is bij voorkeur door middel van een exclusief-of-bewerking gevormd uit de eerste hulpwaarde Aj van de vorige trap en de eerste hulpwaarde A van de volgende trap. Dit heeft tot gevolg, dat de eerste hulpwaarde A telkens in de volgende trap wordt gecompenseerd. De eerste hulpwaarde 10 werkt echter wel door in de derde data TD, zodat deze tussen twee trappen gemaskeerd blijven. In de eerste trap Sj is de tweede hulpwaarde Bj bij voorkeur gelijk aan de eerste hulpwaarde A2 van de tweede trap S2>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 Aj of the previous stage and the first auxiliary value A of the next stage. As a result, the first auxiliary value A is each time compensated in the next step. The first auxiliary value 10, however, has an effect in the third data TD, so that it remains masked between two stages. In the first stage Sj, the second auxiliary value Bj is preferably equal to the first auxiliary value A2 of the second stage S2>
In het proces van fig. 6, dat grotendeels overeenkomt met dat 15 van fig. 5, zijn de combinatiebewerkingen AC en BC met de cryptografische bewerking gecombineerd tot een gecombineerde bewerking F'. Het integreren van de combinatiebewerkingen is mogelijk door bijvoorbeeld een substitutietabel van de bewerking F op geschikte wijze aan te passen. Hierdoor kunnen de aanvullende 20 combinatiebewerkingen AC en BC achterwege blijven.In the process of Fig. 6, which largely corresponds to that of Fig. 5, the combining operations AC and BC with the cryptographic operation are combined into a combined operation F '. Integration of the combination operations is possible, for example, by appropriately adjusting a substitution table of the operation F. As a result, the additional combination operations AC and BC can be omitted.
In fig. 7 is schematisch een schakeling 10 voor het ten uitvoer leggen van de werkwijze volgens de uitvinding getoond. De schakeling 10 omvat een eerste geheugen 11, een tweede geheugen 12 en een processor 13, waarbij de geheugens 11 en 12 en de processor 13 door 25 middel van een databus 14 zijn gekoppeld. Door het verschaffen van twee geheugens is het mogelijk telkens een deelstap van een 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 30 naar de processor 13 over te brengen. Op deze wijze is het mogelijk het afwisselend berekenen van deelstappen van twee verschillende processen efficiënt uit te voeren.Fig. 7 schematically shows a circuit 10 for implementing 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 to perform a partial step of one of the processes P and P * in each case (see Fig. 4), to store the result of that partial step in, for example, the first memory 11, and from the second memory 12 transfers a previous intermediate result from the other process 30 to the processor 13. In this way it is possible to efficiently carry out the alternating calculation of sub-steps of two different processes.
Het in fig. 8 schematisch weergegeven betaalsysteem omvat een elektronisch betaalmiddel 1 en een betaalstation 2. Het elektronische 35 betaalmiddel 1 is bijvoorbeeld 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 een kaartlezer 21 en een processorschakeling 22. De i Π 1 Π·!; 9 i s U s u *.> c. · 10 processorschakeling 22 kan overeenkomen met de schakeling 10 van fig.The payment system schematically shown in Fig. 8 comprises an electronic payment means 1 and a payment station 2. The electronic payment means 1 is for instance a so-called "smart card", i.e. a card which is provided with an integrated circuit for storing and processing payment data. The payment station 2 comprises a card reader 21 and a processor circuit 22. The i Π 1 Π · !; 9 i s U s u *.> C. 10 processor circuit 22 may correspond to circuit 10 of FIG.
5.5.
Aan het begin van een transactie draagt het betaalmiddel 1 een identificatie (kaartidentificatie) ID over naar het betaalstation 2.At the beginning of a transaction, the payment means 1 transfers an identification (card identification) ID to the payment station 2.
5 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 cryptografisch proces worden toegevoerd dat aan de hand van een meestersleutel MK een identificatie-afhankelijke transactiesleutel KID 10 als uitgangsdata Y produceert. Overeenkomstig de uitvinding wordt hiervoor het in de figuren 2 en 3 weergegeven proces gebruikt, waarbij de 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 15 overeenkomstig fig. 3, toegevoerd aan het aanvullende proces P* teneinde de oorspronkelijke meestersleutel MK te reproduceren en de transactiesleutel KID uit de identificatie ID af te leiden.5 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 10 as output data Y on the basis of a master key MK. In accordance with the invention, the process shown in Figures 2 and 3 is used for this purpose, in which the master key MK is previously 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 15 of Figure 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***, .., 20 in serie en/of parallel 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 ***, .., 20 may be used in series and / or parallel to form 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.
1 0 1 i)'é 2 11 0 1 i) é 2 1
Claims (19)
Priority Applications (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
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 |
NL1011800A NL1011800C2 (en) | 1998-12-30 | 1999-04-15 | 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 |
AT99963594T ATE336122T1 (en) | 1998-12-30 | 1999-12-16 | METHOD AND DEVICE FOR CRYPTOGRAPHIC DATA PROCESSING |
ES99963594T ES2270628T3 (en) | 1998-12-30 | 1999-12-16 | METHOD AND DEVICE FOR PROCESSING CRYPTOGRAPHY DATA. |
AU19833/00A AU1983300A (en) | 1998-12-30 | 1999-12-16 | Method and device for cryptographically processing data |
DE69932740T DE69932740T2 (en) | 1998-12-30 | 1999-12-16 | METHOD AND DEVICE FOR CRYPTOGRAPHIC DATA PROCESSING |
EP99963594A EP1142191B1 (en) | 1998-12-30 | 1999-12-16 | Method and device for cryptographically processing data |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
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 |
NL1010921 | 1998-12-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
NL1010921C2 true NL1010921C2 (en) | 2000-07-03 |
Family
ID=19768390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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 |
Country Status (1)
Country | Link |
---|---|
NL (1) | NL1010921C2 (en) |
Citations (2)
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 |
-
1998
- 1998-12-30 NL NL1010921A patent/NL1010921C2/en not_active IP Right Cessation
Patent Citations (2)
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 |
Non-Patent Citations (1)
Title |
---|
ELI BIHAM ET AL: "HOW TO STRENGTHEN DES USING EXISTING HARDWARE", ADVANCES IN CRYPTOLOGY - ASIACRYPT '94, 4TH. INTERNATIONAL CONFERENCE ON THE THEORY AND APPLICATIONS OF CRYPTOLOGY, WOLLONGONG, AUSTRALIA, NOV. 28 - DEC. 1, 1994 PROCEEDINGS, no. CONF. 4, 28 November 1994 (1994-11-28), PIEPRZYK J;SAFAVI-NAINI R (EDS ), pages 398 - 412, XP000527605, ISBN: 3-540-59339-X * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7162031B1 (en) | Method and device for cryptographically processing data | |
US20210256165A1 (en) | Protecting parallel multiplication operations from external monitoring attacks | |
EP3403365B1 (en) | Fast format-preserving encryption for variable length data | |
JP4659149B2 (en) | Asymmetric cryptographic communication method of protection against fraudulent behavior of electronic chip | |
US20020054682A1 (en) | Method and device for protecting the contents of an electronic document | |
EP1873671A1 (en) | A method for protecting IC Cards against power analysis attacks | |
JP2011103686A (en) | Method for making secure electronic entity with encrypted access | |
JP2003527790A (en) | Coding device | |
EP3661115A1 (en) | Encryption device, decryption device, encryption method, decryption method, encryption program, and decryption program | |
US10567155B2 (en) | Securing a cryptographic device | |
US6175850B1 (en) | Scheme for carrying out modular calculations based on redundant binary calculation | |
CN108229966A (en) | A kind of bank card business dealing processing method, bank card and bank server | |
JP3733027B2 (en) | Countermeasure method in electronic components using secret key encryption algorithm | |
US20180270057A1 (en) | Secret calculation system, secret calculation apparatus, and secret calculation method | |
EP1119940B1 (en) | Countermeasure method in an electronic component using a secret key cryptographic algorithm | |
KR20040067779A (en) | Information processing means | |
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 | |
EP1198921A2 (en) | Method for countermeasure in an electronic component using a secret key algorithm | |
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 | |
US7450716B2 (en) | Device and method for encrypting data | |
EP1119939B1 (en) | Countermeasure method in an electronic component using a secret key cryptographic algorithm | |
EP1419434A1 (en) | Secure method for performing a modular exponentiation operation | |
US20110091034A1 (en) | Secure Method for Cryptographic Computation and Corresponding Electronic Component | |
US7493356B2 (en) | Device and method for cryptoprocessor | |
US20030118190A1 (en) | Method and apparatus for processing data where a part of the current supplied is supplied to an auxiliary circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PD2B | A search report has been drawn up | ||
SD | Assignments of patents |
Owner name: NOKIA CORPORATION Effective date: 20050722 |
|
SD | Assignments of patents |
Effective date: 20101230 |
|
TD | Modifications of names of proprietors of patents |
Effective date: 20150126 |
|
MK | Patent expired because of reaching the maximum lifetime of a patent |
Effective date: 20181229 |