NL1010921C2 - 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
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
Application number
NL1010921A
Other languages
English (en)
Inventor
Frank Muller
Gerrit Roelofsen
Dirk Jan Jacobus Van Bruchem
Willem Rombout
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
Application filed by Koninkl Kpn Nv filed Critical Koninkl Kpn Nv
Priority to NL1010921A priority Critical patent/NL1010921C2/nl
Priority to NL1011544A priority patent/NL1011544C1/nl
Priority to NL1011800A priority patent/NL1011800C2/nl
Priority to US09/787,648 priority patent/US7162031B1/en
Priority to DE69932740T priority patent/DE69932740T2/de
Priority to EP99963594A priority patent/EP1142191B1/en
Priority to PCT/EP1999/010208 priority patent/WO2000041356A1/en
Priority to AT99963594T priority patent/ATE336122T1/de
Priority to AU19833/00A priority patent/AU1983300A/en
Priority to ES99963594T priority patent/ES2270628T3/es
Application granted granted Critical
Publication of NL1010921C2 publication Critical patent/NL1010921C2/nl

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/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
    • 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
    • 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

%
Titel: Werkwijze en inrichting voor het cryptografisch 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 5 sleutel, en het uitvoeren van het proces 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 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.
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.
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.
SAMENVATTING VAN DE UITVINDING
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.
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.
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.
10 De uitvinding is mede gebaseerd op het verdere inzicht, 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 aanvullend proces wordt 15 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 aanvullende proces ook op zich bekend is.
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.
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.
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.
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.
5 Met voordeel is het aanvullende proces een inverteerbaar proces.
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,
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.
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.
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.
Bij voorkeur worden de bewerkte eerste data telkens gecombineerd 1 π ·: o o i
E i> U w tAi E
4 met een tweede hulpwaarde. Hierdoor is het mogelijk de derde data te maskeren.
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.
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.
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.
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.
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.
De uitvinding zal in het onderstaande aan de hand van in de figuren weergegeven uitvoeringsvoorbeelden nader worden toegelicht.
35
KORTE BESCHRIJVING VAN DE TEKENINGEN
Fig. 1 toont schematisch een cryptografisch proces volgens de stand van de techniek.
i o i o: . 2 i 5
Fig. 2 toont schematisch een eerste cryptografisch proces volgens een eerste uitvoeringsvorm van de uitvinding.
Fig. 3 toont schematisch een tweede cryptografisch proces volgens een eerste uitvoeringsvorm van de uitvinding.
5 Fig. 4 toont schematisch een wijze waarop de processen 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 proces 10 volgens een tweede uitvoeringsvorm van de uitvinding.
Fig. 7 toont schematisch een schakeling waarin de uitvinding wordt toegepast.
Fig. 8 toont schematisch een betaalsysteem waarin de uitvinding wordt toegepast.
15
VOORKEURSUITVOERINGSVORMEN
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).
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.
Een dergelijke aanval met brute kracht ("brute force attack") is daarom nauwelijks een bedreiging voor de cryptografische beveiliging.
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.
, , / .-v ~λ r· .1 J ; ; · « } - i y I
I {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.
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)
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.
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.
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.
30 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 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)).
Dit maakt het mogelijk dezelfde (primaire) sleutel te gebruiken als in 5 de stand van de techniek.
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.
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.
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.
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.
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.
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.
Het combineren van de eerste data FD2 met de eerste hulpwaarde 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.
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 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 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.
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.
5.
Aan het begin van een transactie draagt het betaalmiddel 1 een identificatie (kaartidentificatie) ID over naar het betaalstation 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.
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.
Het zal deskundigen duidelijk zijn dat vele wijzigingen en aanvullingen mogelijk zijn zonder buiten het kader van de uitvinding te treden.
1 0 1 i)'é 2 1

Claims (19)

1 Q 1 ü c) 2 1 (A) van de eerste trap tevens met de tweede data (SD) wordt gecombineerd.
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) 5 teneinde cryptografisch 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 een aanvullende sleutel (K*) omvat die aan een aanvullend proces (P*) 10 wordt toegevoerd teneinde de sleutel (K) te vormen.
3. Werkwijze volgens conclusie 2, waarin het aanvullende proces (P*) een cryptografisch proces omvat waaraan een hulpsleutel (K') wordt toegevoerd.
4. Werkwijze volgens conclusie 2 of 3, waarin het aanvullende 15 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 toegevoerd.
6. Werkwijze volgens conclusie 5, waarbij het uitvoeren van het aanvullende proces (P*) uitsluitend plaatsvindt indien de data (X) 20 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 eerste data (FD) en een combinatiebewerking (C) voor het met eveneens uit de data (X) afgeleide tweede data (SD) combineren van de bewerkte eerste 30 data (FD') teneinde derde data (TD) te vormen, en waarin de eerste data (FD) telkens met een eerste hulpwaarde (A) worden gecombineerd.
9. Werkwijze volgens conclusie 8, waarin de bewerkte eerste data (FD') telkens met een tweede hulpwaarde (B) worden gecombineerd.
10. Werkwijze volgens conclusie 8 en 9, waarin de tweede hulpwaarde 35 (B) van een trap gevormd is uit de combinatie van de eerste hulpwaarde (A) van de voorgaande trap en de eerste hulpwaarde (A) van de volgende trap.
11. Werkwijze volgens conclusie 8 of 10, waarin de eerste hulpwaarde
12. Werkwijze volgens een van de conclusies 8-11, waarin alle eerste hulpwaarden (A) gelijk zijn.
13. Werkwijze volgens een van de conclusies 9-12, waarin de eerste hulpwaarden (A) en/of tweede hulpwaarden (B) telkens vooraf met de respectieve bewerking (F) zijn gecombineerd.
14. Werkwijze volgens een van de conclusies 8-13, waarin het combineren door middel van een exclusief-of-bewerking wordt 10 uitgevoerd.
15. Werkwijze volgens een van de voorgaande conclusies, waarin de data (X) identificatiedata van een betaalmiddel (1) omvatten en de bewerkte data (Y) een gediversificeerde sleutel vormen.
16. Werkwijze volgens een van de voorgaande conclusies, waarin het 15 proces (P) DES omvat, bij voorkeur drievoudige DES.
17. Schakeling (10) voor het uitvoeren van de werkwijze volgens een van de voorgaande conclusies.
18. Betaalkaart (1), voorzien van een schakeling (10) volgens conclusie 17.
19. Betaalterminal (2), voorzien van een schakeling volgens conclusie 17. 1 0 ‘\ Cl' 2 1
NL1010921A 1998-12-30 1998-12-30 Werkwijze en inrichting voor het cryptografisch bewerken van data. NL1010921C2 (nl)

Priority Applications (10)

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.
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.
DE69932740T DE69932740T2 (de) 1998-12-30 1999-12-16 Verfahren und vorrichtung zur kryptographischen datenverarbeitung
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
PCT/EP1999/010208 WO2000041356A1 (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
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.

Applications Claiming Priority (2)

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

Publications (1)

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

Family

ID=19768390

Family Applications (1)

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

Country Status (1)

Country Link
NL (1) NL1010921C2 (nl)

Citations (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

Patent Citations (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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
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
JP4659149B2 (ja) 電子チップの不正行為に対する保護の非対称暗号通信法
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 (ja) 暗号化されたアクセスを使う電子的エンティティのセキュリティ化方法
US10567155B2 (en) Securing a cryptographic device
JP2003527790A (ja) コーディングデバイス
EP3661115A1 (en) Encryption device, decryption device, encryption method, decryption method, encryption program, and decryption program
US6175850B1 (en) Scheme for carrying out modular calculations based on redundant binary calculation
JP3733027B2 (ja) 秘密鍵式暗号化アルゴリズムを用いる電子構成部品内の対抗措置方法
EP1351430A1 (en) Expansion key generating device, encryption device and encryption system
US20180270057A1 (en) Secret calculation system, secret calculation apparatus, and secret calculation method
EP1119940B1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
KR20040067779A (ko) 정보 처리방법
NL1010921C2 (nl) Werkwijze en inrichting voor het cryptografisch bewerken van data.
EP1198921A2 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
NL1011544C1 (nl) Werkwijze en inrichting voor het cryptografisch bewerken van data.
EP1119939B1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
DE10328860B4 (de) Vorrichtung und Verfahren zum Verschlüsseln von Daten
EP1419434A1 (fr) Procede securise de realisation d&#39;une operation d&#39;exponentiation modulaire
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
JP2002529777A (ja) 秘密鍵式暗号化アルゴリズムを利用する電子構成部品内の対抗措置方法

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