NL1011544C1 - Werkwijze en inrichting voor het cryptografisch bewerken van data. - Google Patents

Werkwijze en inrichting voor het cryptografisch bewerken van data. 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
English (en)
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/nl
Application filed by Koninkl Kpn Nv filed Critical Koninkl Kpn Nv
Priority to NL1011544A priority Critical patent/NL1011544C1/nl
Priority to NL1011800A priority patent/NL1011800C2/nl
Priority to US09/787,648 priority patent/US7162031B1/en
Priority to ES99963594T priority patent/ES2270628T3/es
Priority to AU19833/00A priority patent/AU1983300A/en
Priority to AT99963594T priority patent/ATE336122T1/de
Priority to EP99963594A priority patent/EP1142191B1/en
Priority to PCT/EP1999/010208 priority patent/WO2000041356A1/en
Priority to DE69932740T priority patent/DE69932740T2/de
Publication of NL1011544C1 publication Critical patent/NL1011544C1/nl
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)

Description

Korte aanduiding: Werkwijze en inrichting voor het cryp-tografisch bewerken van data.
ACHTERGROND VAN DE UITVINDING
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.
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.
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.
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.
25 SAMENVATTING VAN DE UITVINDING
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
De uitvinding zal in het onderstaande aan de hand van in de figuren weergegeven uitvoeringsvoorbeelden 30 nader worden toegelicht.
KORTE BESCHRIJVING VAN DË TEKENINGEN
Fig. 1 toont schematisch een cryptografisch proces volgens de stand van de techniek.
Fig. 2 toont schematisch een eerste cryptografisch 35 proces volgens een eerste uitvoeringsvorm van de uitvinding.
1011544 6
Fig. 3 toont schematisch een tweede cryptografisch proces volgens een eerste uitvoeringsvorm van de uitvinding .
Fig. 4 toont schematisch een wijze waarop de proces-5 sen van Fig. 1 en 2 kunnen worden uitgevoerd.
Fig. 5 toont schematisch een eerste cryptografisch proces volgens een tweede uitvoeringsvorm van de uitvinding.
Fig. 6 toont schematisch een tweede cryptografisch 10 proces volgens een tweede uitvoeringsvorm van de uitvinding.
Fig. 7 toont schematisch een derde cryptografisch proces volgens een derde uitvoeringsvorm van de uitvinding.
15 Fig. 8 toont schematisch een schakeling waarin de uitvinding wordt toegepast.
Fig. 9 toont schematisch een betaalsysteem waarin de uitvinding wordt toegepast.
VOORKEURSUITVOERINGSVORMEN
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).
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.
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.
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.
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)
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.
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.
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.
10 Het aanvullende proces P* is bij voorkeur de inverse van een ander, inverteerbaar proces R. Dat wil zeggen: 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) ) .
Dit maakt het mogelijk dezelfde (primaire) sleutel te 25 gebruiken als in de stand van de techniek.
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)
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.
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.
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.
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.
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.
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.
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.
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 .
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.
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.
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:
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.
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.
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.
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.
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.
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.
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 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.
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. ___________
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.
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.
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.
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.
Het zal deskundigen duidelijk zijn dat vele wijzigingen en aanvullingen mogelijk zijn zonder buiten het kader van de uitvinding te treden.
1011544

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. ....._
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.
3. Werkwijze volgens conclusie 2, waarin het aanvullende proces (P*) een cryptografisch proces omvat waaraan 15 een hulpsleutel (K') wordt toegevoerd.
4. Werkwijze volgens conclusie 2 of 3, waarin het aanvullende proces (P*) een inverteerbaar proces is.
5. Werkwijze volgens conclusie 2, 3 of 4, waarin de data (X) tevens aan het aanvullende proces (P*) worden 20 toegevoerd.
6. Werkwijze volgens conclusie 5, waarbij het uitvoeren van het aanvullende proces (P*) uitsluitend plaatsvindt indien de data (X) vooraf bepaalde eigenschappen bezitten.
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.
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.
9. Werkwijze volgens conclusie 8, waarin de bewerkte rechter data (RD') , volgend op de bewerking F, met een secundaire hulpwaarde (B) worden gecombineerd.
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.
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.
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.
13. Werkwijze volgens een van de conclusies 8-12, waarin alle primaire hulpwaarden (A) gelijk zijn.
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.
15. Werkwijze volgens een van de conclusies 8-14, waarin het combineren door middel van een exclusief-of-bewerking 30 wordt uitgevoerd.
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.
17. Werkwijze volgens een van de voorgaande conclusies, waarin het proces (P) DES omvat, bij voorkeur drievoudige DES. 1011544
18. Schakeling (10) voor het uitvoeren van de werkwijze volgens een van de voorgaande conclusies.
19. Betaalkaart (1), voorzien van een schakeling (10) volgens conclusie 17.
20. Betaalterminal (2), voorzien van een schakeling volgens conclusie 18. 1011544
NL1011544A 1998-12-30 1999-03-12 Werkwijze en inrichting voor het cryptografisch bewerken van data. NL1011544C1 (nl)

Priority Applications (9)

Application Number Priority Date Filing Date Title
NL1011544A NL1011544C1 (nl) 1998-12-30 1999-03-12 Werkwijze en inrichting voor het cryptografisch bewerken van data.
NL1011800A NL1011800C2 (nl) 1998-12-30 1999-04-15 Werkwijze en inrichting voor het cryptografisch bewerken van data.
AU19833/00A AU1983300A (en) 1998-12-30 1999-12-16 Method and device for cryptographically processing data
ES99963594T ES2270628T3 (es) 1998-12-30 1999-12-16 Metodo y dispositivo para procesar criptograficamente datos.
US09/787,648 US7162031B1 (en) 1998-12-30 1999-12-16 Method and device for cryptographically processing data
AT99963594T ATE336122T1 (de) 1998-12-30 1999-12-16 Verfahren und vorrichtung zur kryptographischen datenverarbeitung
EP99963594A EP1142191B1 (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
DE69932740T DE69932740T2 (de) 1998-12-30 1999-12-16 Verfahren und vorrichtung zur kryptographischen datenverarbeitung

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
NL1010921A NL1010921C2 (nl) 1998-12-30 1998-12-30 Werkwijze en inrichting voor het cryptografisch bewerken van data.
NL1010921 1998-12-30
NL1011544 1999-03-12
NL1011544A NL1011544C1 (nl) 1998-12-30 1999-03-12 Werkwijze en inrichting voor het cryptografisch bewerken van data.

Publications (1)

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

Family

ID=26642898

Family Applications (2)

Application Number Title Priority Date Filing Date
NL1011544A NL1011544C1 (nl) 1998-12-30 1999-03-12 Werkwijze en inrichting voor het cryptografisch bewerken van data.
NL1011800A NL1011800C2 (nl) 1998-12-30 1999-04-15 Werkwijze en inrichting voor het cryptografisch bewerken van data.

Family Applications After (1)

Application Number Title Priority Date Filing Date
NL1011800A NL1011800C2 (nl) 1998-12-30 1999-04-15 Werkwijze en inrichting voor het cryptografisch bewerken van data.

Country Status (1)

Country Link
NL (2) NL1011544C1 (nl)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2802741B1 (fr) * 1999-12-15 2003-10-31 Sagem Dispositif mettant en oeuvre un algorithme de chiffrage par bloc a repetition de rondes
FR2804524B1 (fr) * 2000-01-31 2002-04-19 Oberthur Card Systems Sas Procede d'execution d'un protocole cryptographique entre deux entites electroniques
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 (nl) 1999-11-24
NL1011800A1 (nl) 1999-06-03

Similar Documents

Publication Publication Date Title
US7162031B1 (en) Method and device for cryptographically processing data
DE102008016530B4 (de) Effizienter Advanced Encryption Standard (AES)-Datenweg mittels hybrider Rijndael-S-Box
US6157720A (en) Method and apparatus for encrypting data
EP3403365B1 (en) Fast format-preserving encryption for variable length data
JP2011103686A (ja) 暗号化されたアクセスを使う電子的エンティティのセキュリティ化方法
CN110689349A (zh) 一种区块链中的交易哈希值存储和搜索方法及装置
EP2634953A1 (en) Countermeasure method against side channel analysis for cryptographic algorithms using boolean operations and arithmetic operations
EP2209251B1 (en) Cryptographic processing apparatus and cryptographic processing method
US6175850B1 (en) Scheme for carrying out modular calculations based on redundant binary calculation
NL1011544C1 (nl) Werkwijze en inrichting voor het cryptografisch bewerken van data.
US8612761B2 (en) Method of executing a cryptographic protocol between two electronic entities
US11101981B2 (en) Generating a pseudorandom number based on a portion of shares used in a cryptographic operation
US10924270B2 (en) Secret calculation system, secret calculation apparatus, and secret calculation method
JP2002539488A (ja) 秘密鍵式暗号化アルゴリズムを利用する電子構成部品内の対抗措置方法
US7050579B1 (en) Cryptographic methods and apparatus using word-wise montgomery multiplication
JP2000010479A (ja) モンゴメリ・リダクション装置及び記録媒体
EP1119940B1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
EP1198921A2 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
US7558817B2 (en) Apparatus and method for calculating a result of a modular multiplication
US20050027998A1 (en) Protection of several identical calculations
EP1587237A1 (en) Security countermeasures for power analysis attacks
NL1010921C2 (nl) Werkwijze en inrichting voor het cryptografisch bewerken van data.
US20050041809A1 (en) Device and method for encrypting data
EP1119939B1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
KR20050015857A (ko) 겹침 연산 방식과 변동 클럭 방식을 이용한 암호화 방법

Legal Events

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

Effective date: 20050312