NL1005919C1 - Een methode voor Publiekelijk verifieerbare örecoveryö van Diffie-Hellman, RSA en Rabin gerelateerde asymmetrische versleuteling. - Google Patents

Een methode voor Publiekelijk verifieerbare örecoveryö van Diffie-Hellman, RSA en Rabin gerelateerde asymmetrische versleuteling. Download PDF

Info

Publication number
NL1005919C1
NL1005919C1 NL1005919A NL1005919A NL1005919C1 NL 1005919 C1 NL1005919 C1 NL 1005919C1 NL 1005919 A NL1005919 A NL 1005919A NL 1005919 A NL1005919 A NL 1005919A NL 1005919 C1 NL1005919 C1 NL 1005919C1
Authority
NL
Netherlands
Prior art keywords
key
public
rsa
binding data
modulo
Prior art date
Application number
NL1005919A
Other languages
English (en)
Inventor
Eric Robert Verheul
Henk Tilborg
Original Assignee
Eric Robert Verheul
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 Eric Robert Verheul filed Critical Eric Robert Verheul
Priority to NL1005919A priority Critical patent/NL1005919C1/nl
Priority to EP98401016A priority patent/EP0876028A3/en
Priority to CA 2235848 priority patent/CA2235848A1/en
Priority to JP10156559A priority patent/JPH1173104A/ja
Application granted granted Critical
Publication of NL1005919C1 publication Critical patent/NL1005919C1/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

- 1 -
Een methode voor Publiekelijk verifieerbare “recovery” van Diffie-Hellman. RSA en Rabin gerelateerde asymmetrische versleuteling 5 1. Inleiding
De ontwikkeling van een wereldwijde informatiemaatschappij op basis van “elektronische snelwegen” gaat in een rap tempo, de toenemende belangstelling voor het Internet is daar indicatief voor. Echter, bij veel toepassingen van de elektronische snelwegen is de betrouwbaarheid van verstuurde of ontvangen informatie van groot belang. Meer in het bijzonder, het 10 voor veel toepassingen is het van groot belang dat: [vertrouwelijkheid] informatie onderweg niet door onbevoegden wordt ingezien, bijvoorbeeld omdat het privacy-gevoelige informatie is; [correctheid] informatie onderweg niet door onbevoegden wordt veranderd, bijvoorbeeld omdat het financiële gegevens betreft.
15
Wil de informatiemaatschappij echt van de grond komen dan moeten deze betrouwbaarheidseisen kunnen worden gegarandeerd, een standpunt dat door veel overheden in de wereld wordt gedeeld Naar verwachting zal hiervoor een wereldwijde informatiebeveiligingsinffastructuur, public key infrastructure (pki) genaamd, moeten worden opgericht. In een pki worden publieke 20 sleutels door een netwerk van betrouwbare partijen (zoals bijvoorbeeld notarissen) gecertificeerd die gebruikt worden voor asymmetrische versleuteling (zoals RSA). Er zijn talloze redenen om te stellen dat overheden een belangrijke partij moeten zijn bij de realisatie van pki’s. Om er een te noemen: in zekere zin zijn gecertificeerde publieke sleutels de digitale paspoorten van de informatie maatschappij, en de organisatie van paspoorten is, niet zonder 25 reden, een overheidstaak.
Echter, de methoden die de vertrouwelijkheid van informatie beschermen tegen inzage door onbevoegden biedt in principe ook bescherming tegen inzage door de opsporings-, veiligheids en inlichtingendiensten wanneer deze met een rechterlijke machtiging de communicatie van een 30 verdachte intercepteren Met andere woorden, als overheden zondermeer de ontwikkeling van pki’s stimuleren dan zullen zij op deze wijze ook criminelen faciliteren. Het is dit gegeven dat het voor overheden moeilijk maakt om zondermeer de realisaties van public key infrastructures 1005919 -2- te stimuleren.
De vraag is daarom: hoe kan een pki gerealiseerd worden die wel het vertrouwen van gezagsgetrouwe burgers en organisaties heeft, maar die criminelen niet faciliteert, dat wil zeggen 5 zodra een verdachte de pki benut dan kan de bescherming die het systeem m b t. vertrouwelijkheid biedt worden opgegeven voor een opsporings-, veiligheids en inlichtingendiensten wanneer deze met een rechterlijke machtiging de communicatie van de verdachte intercepteren. Overigens kan het ongedaan maken van de bescherming ook van belang zijn voor gebruikers wiens sleutels in het ongerede zijn geraakt. Een belangrijke voorwaarde bij de realisatie van pki 10 is dat deze ook gebruikt moet kunnen worden vanuit software en niet alleen vanuit hardware (zoals de “clipper chip” zie [Clip]) 2. Stand der Techniek
Om een analyse van dit probleem te kunnen maken, introduceren we de volgende (notationele) 15 uitleg van (hybride) public key encryption voor vertrouwelijkheid Als persoon Alice een vertrouwelijk bericht M versleuteld wil toesturen aan persoon Bob, dan: a. genereert Alice een random sessiesleutel S; b versleutelt Alice het bericht M met een conventionele (symmetrische) vercijferaar m b v S c versleutelt Alice S met de publieke sleutel van Bob 20
Vervolgens stuurt Alice de pakketten onder b en c naar Bob toe. Bob ontsleutelt pakket c met zijn private sleutel pakket c en beschikt zo over S; pakket b ontsleutelen met S levert wederom de boodschap M op.
25 Deze opzet nu veilig maken voor burgers, maar niet voor criminelen kan op verschillende manieren. Een voor de hand liggende methode is het Key Management Infrastructure voorstel, een “draft” voorstel van het Amerikaanse 'Office of the President”. Hierbij wordt de private sleutel van gebruikers bij een betrouwbare derde partij (Trusted Third Party) gedeponeerd, die meewerkt aan onderzoeken van opsporings-, veiligheids en inlichtingendiensten indien deze 30 over de juiste rechterlijke machtigingen beschikt.
Hier kleven een hoop nadelen aan; de oplossing is bijv moeilijk internationaal toepasbaar 1005919 -3 - (waar komt bijv. de sleutel te liggen). In [VKT] worden nog meer problemen opgesomd, een aardige is dat als Alice (in bovenstaande uitleg) een verdachte is en Bob niet, dan moet de opsporings-, veiligheids en inlichtingendiensten gebruik kunnen maken van de private sleutel van Bob die niet verdacht is. Een concept [RH] van de universiteit van London (Royal 5 Holloway) is in feite gebaseerd op hetzelfde idee, maar maakt de private sleutel van gebruikers - via een ingewikkeld systeem van Key Escrow Agents - in feite in twee landen reconstrueerbaar Hierdoor ontstaat in principe een internationale oplossing (hoewel, misschien willen sommige landen (Noorwegen) helemaal niet bij de sleutels kunnen) Het public encryption systeem dat Royal Holloway gebruikt is nogal rigide waardoor in feite de sessie sleutel 10 onder punt a. vastligt. Dit is niet alleen tegen het prinicipe van pub. encryption, maar heeft bovendien allerlei andere vervelende consequenties.
Een meer liberale en flexibele oplossing bestaat eruit dat elke gebruiker één of meerdere betrouwbare Trusted Retrieval Party (TRP), bijv. te reguleren in wet, kiest en dat aan de 15 communicatie een pakketje d. wordt toegevoegd: d. S versleuteld met de publieke sleutel van de gekozen TRP’s.
Deze TRP’s treden dus als het ware op als virtuele geadresseerden: ze ontvangen geen boodschappen, maar als de TRP’s ze zouden ontvangen dan zouden ze ze kunnen ontcijferen (en 20 lezen). Indien nu een opsporings-, veiligheids of inlichtingendienst een Rechterlijke machtiging heeft en de communicatie onderschept, dan kunnen zij m.b.v. de TRP de (eenmalige!) sessie-sleutel S krijgen uit blok d, vervolgens kan een opsporings-, veiligheids of inlichtingendienst de boodschap M terugvinden door blok b te ontcijferen m.b.v. S. In principe kan de opsporings-, veiligheids of inlichtingendienst de TRP ook vragen allebei de ontsleutelingen uit 25 te voeren en direct de boodschap M te retourneren op basis van blokken a-d, dit geeft de TRP echter in principe inzage in de boodschap hetgeen niet direct gewenst is.
Een risico dat inherent is aan key-recovery oplossingen is dat als een TRP gecorrumpeerd wordt, dat dan de (geheime) informatie van zijn gebruikers bij onbevoegden terecht kan 30 komen Een oplossing hiervoor bestaat uit het toepassen van “splitting” en “sharing” technieken. Dit betekent dat de private sleutel behorende bij een TRP niet in de handen is van één persoon of organisatie maar verdeeld is onder meerdere, zeg een y aantal, “sub-TRP’s”. Deze 1005919 -4- onderdelen vormen een “y uit y splitting” schema van de private sleutel als: - alle y “sub-TRP’s” bij elkaar in staat zijn om de private sleutel te herstellen, - minder dan y “sub-TRP’s” niet in staat zijn om maar iets wijzer te worden over de private sleutel 5 Men spreekt van een “x uit y sharing” schema als er een x (kleiner dan y) bestaat zodat: - een willekeurig x-tal “sub-TRP’s” in staat zijn om de private sleutel te herstellen, - minder dan x “sub-TRP’s” niet in staat zijn om maar iets wijzer te worden over de private sleutel 10
Dit concept geeft niet alleen een zeer ruime keuze aan gebruikers over wie ze willen vertrouwen (wie ze als TRP nemen), omdat meerdere TRP’s (1 van verzendend land; 1 van ontvangend land) kunnen worden gebruikt geeft dit in principe dezelfde internationale voordelen van het Royal Hollaway concept. Echter, een nadeel is dat het makkelijk misbruikbaar is door 15 criminelen Voor alle duidelijkheid, misbruik betekent dat mensen wel gebruik willen maken v.h. systeem, maar zich niet aan de regels houden die aan het systeem (per contract) zijn gesteld. Ter illustratie, als Alice i.p.v. blok d. gewoon willekeurige data stuurt dan benut Alice wel de voordelen van het systeem, maar niet de criminele "nadelen".
20 Binnen het (gepatenteerde, zie de Amerikaanse octrooigeschriften 5.557.346 en 5.557.765) TIS-CKE/ Recoverkey schema [TIS] wordt dit soort "unilateral" misbruik is te voorkomen door de ontvangende software een "reconstructie-check" te laten uitvoeren (de ontvanger kent S en kan dus pakketje d. reconstrueren m.b.v. de publieke sleutel van de TRP en vervolgens het resultaat vergelijken met pakket d.. Echter, m.b.v. een (eenvoudige) manipulatie in het 25 software programma (de constructie-check altijd op “OK” zetten) is deze check te omzeilen.
M.a.w. samenzwerende criminelen kunnen dus eenvoudig gebruik maken van de voordelen van het systeem maar niet van de criminele nadelen.
In [VKT] en met name [VT] is een (gedeeltelijke) oplossing gevonden voor dit probleem met 30 eis dat de samenzweringsffaude (zoals bijv. bovengenoemd) niet behoeft te worden voorkomen, maar dat deze wel door derde partijen (steeksproefsgewijs) moest kunnen worden gedetecteerd. Bij derde partijen, ook wel monitors genoemd, wordt hier gedacht aan (appara- 1005919 -5- tuur van) network-operators en (internet) service providers; dwz. partijen die toch reeds beschikking hebben over alle (versleutelde) data. Men kan echter ook denken aan detecties die worden door uitgevoerd door het besturingssysteem en/of programmatuur van de gebruikers zelf.
5
Een extra eis die aan de detectie werd gesteld, is dat de derde partijen deze fraude moeten kunnen detecteren zonder daarbij over geheime informatie te beschikken. Het mag de privacy van gebruikers dus niet aantasten. De eis dat bepaalde derde partijen op fraude moeten detecteren kan als juridische eis worden gesteld om als provider te mogen opereren Wat er concreet 10 met gedetecteerde fraude moet gebeuren is een kwestie van nationale wetgeving.
Meer concreet bestaat dit concept - binding cryptography genoemd - dus uit het toevoegen van een extra blokje informatie: e. Binding Data 15
Met blok e (en de publieke sleutel van geadresseerde en gekozen TRP’s) moet kunnen worden vastgesteld of de sessiesleutel versleuteld in blok c. hetzelfde is als die in blok d, zonder dat daarbij geheime informatie bekend hoeft te zijn en/of bekend wordt. In een vervolgartikel [VT] wordt een methode geconstrueerd voor binding data voor een bekend public key encryption 20 systeem. EIGamal. In dit artikel worden ook “splitting” en “sharing” technieken voor EIGamal genoemd waarmee het (eerder genoemde) probleem van corrumpering van TRP’s kan worden opgelost.
3. Nieuwe Vinding 25 Deze sectie binnen de beschrijving handelt over een samengestelde binding constructie van drie andere public key systemen, te weten Diffie-Hellman [DH], RSA [RSA] en Rabin’s [Rabin] variant daarop.
Voor deze systemen wordt iets afgeweken van het algemene binding concept genoemd onder 30 punt 2 in die zin dat verschillende public key versleutelsystemen worden gebruikt om dezelfde boodschap (bijv. sessiesleutel) te versleutelen. De functionaliteit van de binding data is ongewijzigd zonder dat er geheime kennis nodig is of beschikbaar komt kan m.b.v. de binding 1 0059 19 -6- data worden vastgesteld dat de (verschillende typen) versleuteling de zelfde geheime informatie beschermen.
3.1 RSA/Rabin (beschrijving) 5 In een RSA systeem [RSA] kiest iedere participant een modulus n die het produkt is van twee (grote) priemgetallen p en q alsmede de publieke en private exponenten e en d die als volgt gerelateerd zijn: e.d = 1 (mod kgv(p-l, q-1)). De publieke exponent en de modulus n worden publiek bekend gemaakt, meestal gecombineerd met een certificaat van echtheid door een betrouwbare partij.
10
Als (e, n) Alice’s publieke RSA-sleutel is, dan wordt een boodschap S < n versleuteld door (een ander partij) Bob als c = Se mod n. Alice ontsleutelt dit bericht door cd uit te rekenen
In Rabin’s variant [Rabin] (voortaan eenvoudig weg Rabin genoemd) wordt e gelijk aan 2 15 gekozen, een Rabin publieke sleutel bestaat daarom alleen uit een modulus n Een boodschap S<n wordt door Alice versleuteld als c = S2 mod n. Een nadeel is dat ontsleuteling door Bob niet meer uniek is: in principe zijn er vier mogelijke boodschappen S die voldoen aan S2 = c mod n. Binnen het Rabin systeem moet Bob op een of andere manier de juiste S uit de vier kunnen kiezen. Overigens, worden de priemgetallen p en q bij Rabin vaak als zg. Blum integers 20 gekozen omdat dan het worteltrekken eenvoudig mogelijk is.
3.2 Diffie-Helman (beschrijving)
Het Diffie-Hellman “key-agreement” [DH] was de eerste praktische oplossing voor twee partijen om tot een gezamenlijke geheime sleutel te komen m.b.v. een onveilig (publiek) 25 kanaal. Het systeem maakt gebruik van een cyclische subgroep Γ van een (multiplicatief geschreven) groep Δ waarin het z.g. discrete log probleem niet praktisch oplosbaar is. Laat n, een groot (zeg 160 bit) getal, de orde van Γ zijn en laat γ een generator zijn van Γ Het element γ, Γ en Δ (en niet noodzakelijk n) worden gegeven aan alle participanten door een Issuing Party (IP). Er zijn diverse keuzen mogelijk voor de groepen Γ, Δ, maar in een typisch 30 voorbeeld is Γ=Δ en Δ is de multiplicatieve groep van een eindig lichaam of de groep van punten op een elliptische kromme over een eindig lichaam (met de gebruikelijke optelling).
1005919 -7-
Als, in de basis versie van het protocol, twee participerende partijen A en B een gezamenlijke geheime sleutel willen afspreken, dan doen ze het volgende: 1. A genereert een willekeurige ka kleiner dan n (of een bovengrens daarvan) en zendt zA = γ1^ 5 naarB.
2. B genereert een willekeurige kb kleiner dan n (of een bovengrens daarvan) en zendt zB = ykb naar A.
3. A ontvangt zB en berekent de gezamenlijke geheime sleutel als (z^ .
4. B ontvangt zA en berekent de gezamenlijke geheime sleutel als (zA)kb.
10
Deze basis versie van het protocol beschermd alleen de vertrouwelijkheid van de gezamenlijke sleutel en niet de authenticiteit van de partijen Er zijn diverse varianten van het protocol die authenticiteit toevoegen aan het basis protocol Men zou bijvoorbeeld alle participerende partijen gefixeerde publieke sleutels geven welke gecertificeerd worden door een (betrouwba-15 re) derde partij. Betere oplossingen zijn gevonden in de Station-to-Station [STS] en MTI [MTI] varianten van Diffie-Hellman.
3.3 McCurley’s EIGamal variant (beschrijving)
Het EIGamal public key systeem [E1G] maakt, evenals Diffie-Hellman, gebruik van een cycli-20 sche subgroep G van een (multiplicatief geschreven) groep H waarin het z.g. discrete log probleem niet praktisch oplosbaar is. Er zijn diverse keuzen mogelijk voor de groepen G, H, maar in een typisch voorbeeld is G=H en H is de multiplicatieve groep van een eindig lichaam of de groep van punten op een elliptische kromme over een eindig lichaam (met de gebruikelijke optelling).
25
De elementen g, G en H worden publiekelijk bekend gemaakt. Om in het systeem te participeren, kiest een participant een zijn eigen private sleutel x (een getal kleiner dan de orde van g of een bovengrens hiervan) en maakt zijn publieke sleutel y = g* publiekelijk bekend al dan niet gecombineerd met een certificaat van echtheid.
Als y Alice’s publieke EIGamal sleutel is dan wordt een boodschap S in H versleuteld door (een ander partij) Bob door een eerst een willekeuringe k (een getal kleiner dan de orde van g 30 1005919 -8- of een bovengrens hiervan) te kiezen en het volgende te berekenen: (t, u) := ( g1*, S y*). Alice ontsleutelt dit bericht door u / tx uit te rekenen
In McCurley’s variant van EIGamal [McC] wordt als H de multiplicatieve groep van Z/nZ 5 genomen waarbij n, net zoals bij RSA, het produkt is van twee (geheime) priemgetallen p en q Als groep G kan een groep voortgebracht door een willekeurig element g uit de multiplicatieve groep Z/nZ worden genomen. In [McC] worden speciale priemgetallen gekozen en wordt als g gelijk aan 16 genomen. De reden hiervoor is dat McCurley bij deze keuze kan bewijzen dat iemand die de vorm van EIGamal kan breken, ook in staat de modulus n te factorizeren 10
In feite is deze keuze van de priemgetallen p,q en de generator g niet nodig, wij zullen ook willekeurige priemgetallen worden p, q beschouwen en een willekeurige g in de multiplicatieve groep van Z/nZ (waarbij dus n = p.q) 15 3.4 Multi Recoverable RSA/Rabin (vinding)
Het RSA/Rabin versleutelen van hetzelfde geheim S met verschillende kan gevaarlijk zijn, cf. [Has] Wij kiezen er daarom ook voor om de versleutelde copieën van S bedoeld voor de TRP’s te maken met een ander systeem dan RSA, nl. McCurley’s variant van EIGamal waarbij wel de - door de gebruiker - gebruikte RSA/Rabin modulus n gebruikt wordt en een generator 20 g wordt gekozen in Z/nZ. Dus, indien er m TRP’s betrokken zijn, dan zijn hun private sleutels van vorm xl , x2 , ...., xm (getallen < n) en hun publieke sleutels van de vorm y, = gxl, y2 = gx2 ..... Ym = 8T.
Dus, als R = S' mod n de versleuteling is met een publieke sleutel (e,n) van een gebruiker, dan 25 zijn de copieën voor de TRP’s van de vorm: (A,, Bj) := (£, S.(yi)k), (A2,B2) =(gk, S.(y2)k), (A3, B3) = (g*, S (y3)k),..., (Ah, , Bm) = (g*, S.(yJk) allen modulo n. Merk op dat bij al deze m versleutelingen dezelfde random k kleiner dan n is gekozen door de gebruiker
M.a.w. het bericht genoemd in Sectie 2 heeft de volgende vorm 30 E. Data versleuteld met S
A. R = Se mod n ; B. (A, , B, ) := ( g\ S.(y,n (A,, B, ) .- ( g\ S (y,/). (A,, B,) = ( g». S (y,)1). . ..
1 0 0 5 9 19 -9- (An,, Bm ) = (£ , S.(ym)k), alien modulo n,
Indien de gekozen sessiesleutel S (willekeurig) wordt gekozen in groep G (i.p.v. de grotere groep H), d w z. S is van de vorm gz mod n met z < n willekeurig, dan kan bewezen worden 5 dat het breken van RSA met de EIGamal/ McCurley "recovery" velden net zo moeilijk is als zonder deze velden Vanuit (formele) veiligheidsoverwegingen kan dus gekozen worden om S te kiezen in groep G.
De door ons geconstrueerde binding data zal bewijzen dat ((Aj)e, (BJe) een EIGamal versleu-10 teling betreffen van R t o v de publieke sleutel y;; dit is voldoende om te bewijzen dat blok A en B de zelfde S bevatten Dit is gelijkwaardig met bewijzen dat voor elke i gelijk aan 1, 2,..., m de logaritme van uitdrukking (A,)c mod n t o.v. de basis g modulo n hetzelfde is als de logaritme van de uitdrukking (B^mod n gedeeld door R modulo n t.o.v. de basis yr Dit laatste kan eenvoudig met een variant op een non-interactief protocol zoals beschreven in 15 [VT]. We zullen dit illustreren voor m=l, het algemene geval volgt analoog In het geval m=l moet binding data aantonen dat er één k bestaat zodat a = gk = (A1)e modn b= (yi)k = (Bj)7R mod n. (*) 20
Dit gaat als volgt, allereerst wordt een veiligheidsparameter v vastgelegd: een kans van 1/2V dat de binding data een onjuiste conclusie geeft wordt acceptabel geacht. De veiligheidsparameter zal bijvoorbeeld rond de 80 (bit) liggen Bovendien wordt een one-way secure hash functie vastgelegd waarvan het aantal output bits voldoende groot is (zeg 160).
25
Vervolgens: 1005919 - 10- 3. De zendende gesprekspartner berekent z = w.k +1 en kijkt of dit getal nog voldoende onzekerheid geeft over de k en 1, m.a.w. dat het aantal oplossingen k,l op basis van de vergelijking z = w.k +1 voldoende groot is ( > 2*) om “gokken” van k,l praktisch onmogelijk te maken. Indien dit het geval is voegt de zendende gesprekspartner z toe aan de binding 5 data; anders start deze wederom bij stap 1 van de methode.
Een monitor, is nu op basis van de binding data (die c,d en z bevat) als volgt in staat te verifiëren dat gelijkheid (*) vervult is. De monitor (her-)berekent - op de voorgeschreven wijze -de one-way-secure hash, genoemd w, van c en d en mogelijk andere informatie en 10 controleert dat: gz = aw.cenyz = bw.d (**)
Is dit het geval, dan accepteert de monitor dat de versleutelde RSA sleutel in pakketje R dezelfde is als in ( Aj, Bj) anders accepteert hij dit niet.
15
De in bovengenoemde methode geconstrueerde binding data kan aanzienlijk verkleind worden door de “Fiat-Shamir” heuristiek toe te passen. Hierbij bevat de binding data i.p.v de c en d de hash w, de binding data bevat dus z en w. De monitor berekent elementen c en d op basis van gelijkheid (**), berekent - op de voorgeschreven wijze - op basis van deze c en d en mogelijk 20 andere informatie de one-way-secure hash w’ en vergelijkt deze met de meegestuurde hash w Als w en w’ gelijk zijn dan accepteert de monitor dat de versleutelde RSA sleutel in pakketje R dezelfde is als in ( A,, B,) anders accepteert hij dit niet.
We merken nog op dat de in [VT] genoemde “splitting” and “sharing” technieken voor ElGa-25 mal ook van toepassing zijn voor McCurley’s variant van EIGamal en dus i.h.b. voor bovengenoemde recoverable RSA.
;1 0 0 5 S Ί 9 - 11 - 3.5 Enkelvoudig Recoverable Diflie-Hellman (vinding)
De binding methode voor Diffie-Hellman systemen bestaat er uit de hierbij gebruikte generator γ (en voorgebrachte cyclische groep Γ en omringende groep Δ) zodanig te kiezen dat de orde hiervan gelijk is aan een RSA modulus n, het produkt van twee (grote) geheime priemgetallen 5 p en q. In het enkelvoudige geval (dat er maar een TRP in het spel is) wordt verondersteld dal de priemgetallen p en q bij de TRP bekend zijn (of gedeelten bij meerdere “sub-TRP’s” in geval “splitting” of “sharing” technieken zijn toegepast voor de priemgetallen p en q), alsmede dat n=p.q publiek bekend (gepubliceerd) is 10 Uiteraard moet Γ bovendien zo gekozen worden dat het discrete log probleem in Γ niet praktisch oplosbaar zijn. Er zijn talloze wijzen waarop γ, Γ en Δ gekozen kunnen worden. Bijvoorbeeld, er zou een priemgetal P gekozen kunnen worden van de vorm P=s.n +1 waarbij s een klein getal is. Het element γ (niet gelijk aan 1 mod P) zou dan vervolgens zo gekozen moeten worden dat γ"=1 mod P.
15
Om Diffie-Hellman systemen van dit type “recoverable” te maken, stellen wij voor dat als een partij een typische Diffie-Hellman boodschap v.h. type ys mod P naar een gesprekspartner stuurt (waarbij S alleen bekend bij de zendende partij is), dan wordt “recovery” geconstrueerd door deze boodschap te vergezellen van een Rabin versleuteling modulo n, i.e. S2 mod n.
20 D w z een typische Recoverable Diffie-Hellman boodschap heeft de vorm (H, R) = (ys mod P , S2 mod n)
Het recovery field S2 mod n behoeft overigens in principe niet door zowel beide zendpartners verstuurd te worden: het volstaat als 1 van de 2 dit doet. Dit geldt onverkort voor de eerder 25 genoemde STS en MTI protocollen, die op Diffie-Hellman zijn gebaseerd.
De door ons geconstrueerde binding data zal nu bewijzen dat: R het kwadraat is van de logaritme van bovengenoemd blok H t.o.v. basis (generator) γ. (***) 30 Hiervoor wordt eerst een one-way secure hash functie vastgelegd waarvan het aantal output bits voldoende groot is (zeg 160). Vervolgens: f005919 - 12- 1. de zendende gesprekspartner genereert een willekeurig getal T kleiner dan n, berekent T2 = T2 mod n en berekent a,=yT en a^y12, welke worden toegevoegd aan de binding data, 2. de zendende gesprekspartner berekent, op publiekelijk bekende wijze, een one-way- 5 secure hash, genoemd w, van a, en %en mogelijk andere voorgeschreven informatie die meegestuurd wordt, mogelijk als onderdeel van de binding data, 3. de zendende gesprekspartner berekent z = w.S + T mod n en voegt deze toe aan de binding data; 10 een monitor, is nu op basis van deze binding data als volgt in staat te verifiëren dat bewering (***) klopt: 4. de monitor (her-)berekent de one-way-secure hash, genoemd w, van a, en a2 en mogelijk andere voorgeschreven informatie, berekent H2 = yR, w2 = w2 mod n en 15 verifieert dat y^FT a, en (H w a, )z = (H2) "2 a2; als dit klopt dan accepteert hij dat bewering (***) klopt, anders accepteert hij dit niet.
De in bovengenoemde methode geconstrueerde binding data kan aanzienlijk verkleind worden 20 door de “Fiat-Shamir” heuristiek toe te passen. Hierbij bestaat de binding data uit (slechts) z en w, de monitor berekent elementen a, en a2 op basis van de gelijkheid genoemd in bovengenoemd punt 4, en berekent - op de voorgeschreven wijze - op basis van deze a, en a2 en mogelijk andere informatie de one-way-secure hash w’ en vergelijkt deze met de meegestuurde hash w. Als w en w’ gelijk zijn dan accepteert de monitor dat de versleutelde RSA sleutel in 25 pakketje R dezelfde is als in pakketje H anders accepteert hij dit niet.
Tot slot merken we op dat de uitspraak (***) equivalent is met de uitspraak: de logaritme van blok H t.o.v. de generator y (=S) gelijk is aan de logaritme van yR t.o.v. de generator H, deze uitspraak kan ook bewezen worden met het interactieve protocol beschreven in “Wallet 30 Databases with Observers”, Advances in Cryptology - Crypto ‘92 Proceedings, Springer-Verlag, 1993, pp. 89-105 1005919 - 13 - 3.6 Multi Recoverable DifTie-Hellman (vinding)
Het meervoudig recoverable maken van Diffie-Hellman bestaat er eenvoudig uit de techniek genoemd onder punt 3.5 te combineren met de techniek genoemd onder punt 3.4 alwaar (ondermeer) Rabin versleuteling meervoudig recoverable wordt gemaakt Het ligt dan voor de 5 hand de private Rabin sleutel (i e. de priemgetallen p en q wiens produkt de modulus n vormt te vernietigen: de TRP’s krijgen allen slechts beschikking over EIGamal private sleutels. Op deze wijze kan één cyclische subgroep G, omringende groep H en de modulus n gebruikt worden om Diffie-Hellman uitwisselingen mogelijk te maken waarbij, steeds verschillende TRP’s kunnen worden gekozen (op basis van een gekozen EIGamal sleutel van een TRP). Dit 10 is een prettige eigenschap in een internationale context. Ter illustratie, als Amerikaanse Alice een Diffie-Hellman uitwisseling wil met Britse Bob, dan sluit zij een versleutelde sessiesleutel (plus binding data) bij voor een Britse TRP versleuteld met diens publieke EIGamal sleutel, als Alice een Diffie-Hellman uitwisseling wil met Franse Frank, dan sluit zij een versleutelde sessiesleutel (plus binding data) bij voor een Franse TRP versleuteld met diens publieke 15 EIGamal sleutel. In beide gevallen kan zij dezelfde parameters (g, G, H, n) gebruiken! 1005919 - 14-
Bibliografie 5 [Clip] Computer Systems Laboratory, National Institute of Standards and Technology, Escrowed Encryption Standard (EES), Federal Information Processing Standards Publication, FIPS PUB 185, Feb 9, 1994.
[DH] W Diffie, M E. Heilman, New directions in cryptography, IEEE Transactions on Information Theory 22, 1976, pp. 644-654 10 [E1G] T ElGamal, A Public Key Cryptosystem and a Signature scheme Based on Discrete
Logarithms, IEEE Transactions on Information Theory 31(4), 1985, pp 469-472.
[Has] J. Hastad, On Using RSA with Low Exponent in a Public Key Network, Advances in Cryptology -CRYPTO '85 Proceedings, Springer-Verlag, 1993, pp 403-405 [KM] Interagency Working Group on Cryptography Policy, Enabling Privacy, Commerce, 15 Security and Public Safety in the Global Information Infrastructure, 17 May 1996, zie http. // www. cdt. org/crypto/clipper_III.
[McC] K McCurley, A Key Distribution System Equivalent to Factoring, J. Cryptology, 1 (1988), pp. 95-105.
[MTI] T Matsumoto, Y. Takashima, H. Imai, On Seeking smart public-key distribution 20 systems, The Transactions of the IECE of Japan, E69, (1986), 99-106.
[Rabin] MO. Rabin, Digitalized signatures and public-key fitnctions as intractable as factorization, MIT/LCS/TR-212, MIT Laboratory for Computer Science, 1979.
[RH] N. Jefferies, C. Mitchell, M Walker, A Proposed Architecture for Trusted Third
Party Services, Cryptography:Policy and Algorithms, Proceedings of the conference, 25 Springer-Verlag(LNCS 1029), 1996, pp. 98-104.
[RSA] R.L. Rivest, A. Shamir, and L Adleman, A methodfor obtaining digital and public key Cryptosystems, Commun. ACM. vol. 21, no. 2, pp 158-164, Feb. 1978 [STS] W. Diffie, P.C. van Oorschot, M. J. Wiener, Authentication an Authenticated key exchanges, Designs, Codes and Cryptography, 2, (1992), 107-125 30 [TIS] D M. Balenson, C M Ellison, S B. Lipner, S.T.Walker (TIS Inc ), A New Approach to Software Key EscrowEncryption, in: L.J. Hoffman (ed.), Building in Big Brother (Springer, New York, 1996), pp. 180-207. Zie ook http://www.tis.com 1005919 -15- [VT] ER Verheul, HC.A. van Tilborg, Binding EIGamal: a fraud-detectable alternative to key-escrow proposals, Eurocrypt97 proceedings, 1997.
[VKT] E R. Verheul, B.-J Koops, H.C.A van Tilborg, Binding Cryptography. A fraud-detectible alternative to key-escrow solutions,Computer Law and Security Report, 5 January-February 1997,pp. 3-14.
1005919

Claims (7)

1. Een methode voor “key-recovery” cryptografie te gebruiken in een systeem bestaande uit a. twee gesprekspartners (uit mogelijk verschillende landen) die geheime informatie 5 versleuteld met elkaar uitwisselen via de publieke telecommunicatie-inffastructuur, b een of meerdere mogelijk aanwezige, legitieme meeluisteraars (bijvoorbeeld een overheidsdienst, of een werkgever van de gesprekspartners), zij beschikken wel over de vercijferde informatie maar zijn niet in staat te ontcijferen; c. een of meerdere, betrouwbare partijen (Trusted Recovery Parties genoemd) in princi- 10 pe verschillend van de gesprekspartners die optreden als virtuele gesprekspartners, zij kunnen de informatie wel ontcijferen maar beschikken niet over de vercijferde informatie, d. een of meerdere mogelijk aanwezige monitors van de uitwisseling tussen de gesprekspartners (bijvoorbeeld een (apparaat) van de gesprekspartners, een PTT of een werk- 15 gever van de gesprekspartners), waarbij de gesprekspartners als onderdeel van de uitwisseling dezelfde geheime informatie ook beschikbaar maken voor genoemde meeluisteraar als deze medewerking (simultaan, of met enige vertraging) van één (of meerdere in het geval “splitting” of “sharing” technieken 20 zijn toegepast) der TRP’s krijgt, de gesprekspartners sturen daarbij ook extra informatie mee, binding data te noemen, waarmee de monitor kan verifiëren dat genoemde beschik-baarheidstelling ook correct kan geschieden, zonder dat de monitor daarvoor hoeft te beschikken over geheime informatie, kenmerkend voor de methode is dat deze betrekking heeft op een uitwisseling waarbij de geheime informatie, te noemen S, versleuteld is als:
25 A. R[S], een RSA versleuteling met een publieke RSA-sleutel met parameters (e, n); B M,[S], M2[S],..MJS] een serie EIGamal versleutelingen in de multiplicatieve groep van Z/nZ gegenereerd door een publiek bekend element g; of als,
30 A. R[S], een RSA versleuteling volgens Rabin’s variant (e=2) met een publieke RSA- sleutel met parameter n; B. M,[S], M2[S],MmtS] een serie EIGamal versleutelingen in de multiplicatieve groep van Z/nZ gegenereerd door een publiek bekend element g, 1005919 C DH[S], een publiek bekend element γ uit een subgroep Γ (van een omringende groep Δ) tot de S-de macht, waarbij voor γ geldt dat γ” = 1, of als,
2 Als de drie typen versleutelingen genoemd onder claim 1 uitgeschreven worden als: A. R = S' mod n , B. (A, , B, ) := ( gk , S.(y,)k), (A2, B2) := ( gk, S.(y2)k), (A,, B3) = ( gk, S.(y3)k), (An,, Bm) = (g“, S.(ym)k), allen modulo n en waarbij y„ y2,... ym de bijbehorende 25 publieke EIGamal Sleutels zijn; of als, A. R = S2 mod n ;
30 B. (A,, B,) := ( £, S.(y,)k), (A2, B2 ) := ( gk , S.(y2)k), (A,, B3) = ( gk, S.(y3)k) , ..., (A™ , Bm) = ( gk, S.(yJk), allen modulo n, C H, = ys, 1005919 dan voorziet de binding data, genoemd onder claim 1, in het eerste geval te bewijzen dat voor elke i gelijk aan 1, 2, ..., m de uitdrukkingen ((A,)c', (B,)c) een EIGamal versleuteling betreffen van S t.o.v de publieke sleutel yj, in het tweede geval dat de uitdrukkingen ((A^)2, (B,)2) een EIGamal versleuteling betreffen van S t.o.v de publieke sleutel y{ en bovendien dat R 5 modulo n het kwadraat is van de logY (H,), en in het derde geval dat log_y, (Al) = log_y2(A2) = ... =log_ym(Arn).
3. De wijze waarop de binding data, genoemd onder claim 1 er in slaagt te bewijzen dat voor elke i gelijk aan 1,2,m de uitdrukkingen ((Aj)e, (B;)e) een EIGamal versleuteling 10 betreffen van S t.o.v de publieke sleutel yf, zoals genoemd onder claim 2, bestaat eruit te bewijzen dat voor elke i gelijk aan 1,2,..., m de logaritme van uitdrukking (Aj)e t.o.v. de basis g modulo n hetzelfde is als de logaritme van de uitdrukking (B()e gedeeld door R modulo n t.o.v. de basis (y(); de wijze waarop de binding data, genoemd onder claim 1 er in slaagt te bewijzen dat voor elke i gelijk aan 1,2, .., m de uitdrukkingen ((Aj)2, (B,)2) een 15 EIGamal versleuteling betreffen van S t.o.v de publieke sleutel y,, zoals genoemd in claim 2, bestaat eruit te bewijzen dat voor elke i gelijk aan 1, 2,. ., m de logaritme van uitdrukking (Aj)2 t.o.v. de basis g modulo n hetzelfde is als de logaritme van de uitdrukking (Bj)2 gedeeld door R modulo n t.o.v. de basis (^).
4. Een methode waarop de binding data, genoemd onder claim 1, erin voorziet te bewijzen dat R modulo n het kwadraat is van de logY (H,) zoals genoemd in Claim 2 is als volgt: a. de zendende gesprekspartner genereert een willekeuringe T kleiner dan n, berekent T2 = T2 mod n en berekent a,=yT en a2=y12, welke worden toegevoegd aan de binding data; 25 b. de zendende gesprekspartner berekent, op publiekelijk bekende wijze, een one-way- secure hash, genoemd w, van a, en a2 en mogelijk andere informatie die meegestuurd wordt, mogelijk als onderdeel van de binding data, c. de zendende gesprekspartner berekent z = w.S + T mod n en voegt deze toe aan de binding data, een monitor, zoals genoemd in claim 1, is nu op basis van de binding data als volgt in staat te verifiëren dat R modulo n het kwadraat is van de logY (H, ) zoals genoemd in Claim 2. 30 1005919 d. de monitor berekent de one-way-secure hash, genoemd w, van a, en a2 en mogelijk andere informatie, berekent H2 = γκ , w2 = w2 mod n en verifieert dat γΜΗ, )w a, en ((H, )". a, )z = (H2 )w2 a2, als dit klopt dan accepteert hij dat R modulo n het kwadraat is van de logY (H,) zoals genoemd in Claim 2, als dit niet 5 klopt dan accepteert hij dit niet.
5. Een (relatief) veilige recovery van RSA/ Rabin wordt geconstrueerd, indien de sessiesleutel S, zoals ondermeer genoemd in claim 1 en 2, (willekeurig) gekozen wordt in de groep voortgebracht door g, i e. S is van de vorm g2 mod n met z kleiner dan n willekeurig. In dit 10 geval kan bewezen worden dat het breken van RSA/ Rabin met "recovery" net zo moeilijk is als zonder "recovery".
5 A. Aj =FDH,[S], A2 = FDH2[S],, Am = FDHm[S] waarbij S van de vorm yk is waarbij γ een publieke generator is van een cyclische subgroep Γ van een (multiplicatief geschreven) groep Δ en waarbij k geheim is en waarbij FDHj[S] = (y;)k waarbij y; de gefixeerde publiek DH sleutel van een gebruiker of een TRP is, d w z. = γ” met xi (tussen 0 en de orde van γ) de geheime sleutel van de i-de participant (gebruiker en / 10 of de TRP) van het systeem is; op de geheime sleutels van de participanten worden randvoorwaarden gelegd (zie claim 6) waarbij de private sleutels - maar niet noodzakelijk allemaal - behorende bij blokken A en B of bij de gesprekspartners of bij de TRP’s bekend zijn (of bekend kunnen worden in het 15 geval “splitting” of “sharing” technieken zijn toegepast): in het eerste geval zal bijvoorbeeld de private RSA sleutel bekend zijn bij de ontvangende partij en de private EIGamal sleutels (of gedeelten daarvan) bij een aantal TRP’s, in het tweede geval zal bijvoorbeeld niemand beschikken over de private Rabin sleutel en zullen alleen de TRP’s beschikken over de private EIGamal sleutels (of gedeelten daarvan) 20
6 Uit de methode die in claim 4 wordt uitgelegd, kan een equivalente worden geconstrueerd door de rollen van H, (resp. H2) en a, (resp. a2) om te draaien, als z te kiezen S + w T en 15 door de verificatie stappen in 4d aan te passen.
7. De binding data zoals geconstrueerd in de methodes uit claims 4 en 5 kunnen verkleind worden door de Fiat-Shamir heuristiek te gebruiken (zie einde van 3.5 uit de beschrijving). 1005919
NL1005919A 1997-04-28 1997-04-28 Een methode voor Publiekelijk verifieerbare örecoveryö van Diffie-Hellman, RSA en Rabin gerelateerde asymmetrische versleuteling. NL1005919C1 (nl)

Priority Applications (4)

Application Number Priority Date Filing Date Title
NL1005919A NL1005919C1 (nl) 1997-04-28 1997-04-28 Een methode voor Publiekelijk verifieerbare örecoveryö van Diffie-Hellman, RSA en Rabin gerelateerde asymmetrische versleuteling.
EP98401016A EP0876028A3 (en) 1997-04-28 1998-04-24 A method for publicly verifiable recovery of Diffie-Hellman, RSA and Rabin related asymmetrical encryption
CA 2235848 CA2235848A1 (en) 1997-04-28 1998-04-24 A method for publicly verifiable recovery of diffie-hellman, rsa and rabin related asymmetrical encryption
JP10156559A JPH1173104A (ja) 1997-04-28 1998-04-28 ディフィーヘルマン、rsa及びラビンに関する非対称暗号化の公に検証可能な回復方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL1005919 1997-04-28
NL1005919A NL1005919C1 (nl) 1997-04-28 1997-04-28 Een methode voor Publiekelijk verifieerbare örecoveryö van Diffie-Hellman, RSA en Rabin gerelateerde asymmetrische versleuteling.

Publications (1)

Publication Number Publication Date
NL1005919C1 true NL1005919C1 (nl) 1998-10-29

Family

ID=19764869

Family Applications (1)

Application Number Title Priority Date Filing Date
NL1005919A NL1005919C1 (nl) 1997-04-28 1997-04-28 Een methode voor Publiekelijk verifieerbare örecoveryö van Diffie-Hellman, RSA en Rabin gerelateerde asymmetrische versleuteling.

Country Status (4)

Country Link
EP (1) EP0876028A3 (nl)
JP (1) JPH1173104A (nl)
CA (1) CA2235848A1 (nl)
NL (1) NL1005919C1 (nl)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0215524D0 (en) 2002-07-05 2002-08-14 Hewlett Packard Co Method and apparatus for generating a cryptographic key
US20090182668A1 (en) * 2008-01-11 2009-07-16 Nortel Networks Limited Method and apparatus to enable lawful intercept of encrypted traffic
US10355859B2 (en) * 2017-03-27 2019-07-16 Certicom Corp. Method and system for selecting a secure prime for finite field diffie-hellman

Also Published As

Publication number Publication date
EP0876028A3 (en) 1999-12-22
CA2235848A1 (en) 1998-10-28
JPH1173104A (ja) 1999-03-16
EP0876028A2 (en) 1998-11-04

Similar Documents

Publication Publication Date Title
US5796833A (en) Public key sterilization
US7359507B2 (en) Server-assisted regeneration of a strong secret from a weak secret
Zheng Signcryption and its applications in efficient public key solutions
Wu et al. Efficient user identification scheme with key distribution preserving anonymity for distributed computer networks
US11677566B2 (en) Systems and methods for signing of a message
Xie et al. Privacy-preserving matchmaking for mobile social networking secure against malicious users
JP2021519541A (ja) デジタル資産へのアクセスを移すためのコンピュータ実施方法及びシステム
US6249585B1 (en) Publicly verifiable key recovery
TWI821248B (zh) 用以移轉數位資產支配權之電腦實施方法及系統
JP2000502553A (ja) 内在的署名を用いた鍵一致及び輸送プロトコル
Verheul et al. Binding ElGamal: A fraud-detectable alternative to key-escrow proposals
CN109495244A (zh) 基于对称密钥池的抗量子计算密钥协商方法
Burmester et al. Equitable key escrow with limited time span (or, how to enforce time expiration cryptographically) extended abstract
Yi et al. A secure and efficient conference scheme for mobile communications
Yi et al. A secure conference scheme for mobile communications
NL1005919C1 (nl) Een methode voor Publiekelijk verifieerbare örecoveryö van Diffie-Hellman, RSA en Rabin gerelateerde asymmetrische versleuteling.
Mao et al. On the plausible deniability feature of Internet protocols
Chen et al. A traceable E-cash transfer system against blackmail via subliminal channel
Sakuraii et al. A key escrow system with protecting user's privacy by blind decoding
Kane On the use of continued fractions for mutual authentication
Sarpong Privacy-Preserving Zero Knowledge Scheme for Attribute-based Matchmaking
Reddy Fixing the generalized integrated Diffie-Hellman-DSA key exchange protocol
Nenadic A security solution for fair exchange and non-repudiation in e-commerce
Mambo et al. On the difficulty of key recovery systems
Truong et al. A Provably Secure User Authentication Scheme Over Unreliable Networks

Legal Events

Date Code Title Description
VD1 Lapsed due to non-payment of the annual fee

Effective date: 20011101