NL9220020A - Algoritme voor een digitale handtekening. - Google Patents

Algoritme voor een digitale handtekening.

Info

Publication number
NL9220020A
NL9220020A NL929220020A NL9220020A NL9220020A NL 9220020 A NL9220020 A NL 9220020A NL 929220020 A NL929220020 A NL 929220020A NL 9220020 A NL9220020 A NL 9220020A NL 9220020 A NL9220020 A NL 9220020A
Authority
NL
Netherlands
Prior art keywords
value
digital signature
message
mod
generating
Prior art date
Application number
NL929220020A
Other languages
English (en)
Original Assignee
Us Commerce
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 Us Commerce filed Critical Us Commerce
Publication of NL9220020A publication Critical patent/NL9220020A/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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

Algoritme voor een digitale handtekening.
ACHTERGROND VAN DE UITVINDING
1) Gebied van de uitvinding
Het gebied van deze uitvinding is gegevensintegriteit en in het bijzonder het genereren en verifiëren van een digitale handtekening voor een boodschap of gegevensbestand.
2) Achtergrond van de techniek
Wanneer een boodschap van de ene partij naar een andere wordt verzonden, kan het voor de ontvangende partij gewenst zijn vast te stellen of de boodschap onderweg is gewijzigd. Voorts kan de ontvangende partij zeker willen zijn van de bron van de boodschap. Het is in de stand van de techniek bekend om deze beide functies te verschaffen door middel van algoritmen voor digitale handtekeningen. Verschillende bekende algoritmen voor digitale handtekeningen zijn beschikbaar voor het verifiëren van de integriteit van een boodschap. Deze bekende algoritmen voor digitale handtekeningen kunnen ook worden gebruikt om aan een derde te bewijzen dat de boodschap werd ondertekend door de werkelijke voortbrenger.
Het gebruik van publieke-sleutelcryptografie om concretiseringen van deze algoritmen voor digitale handtekeningen te bereiken is ook in de techniek bekend. Diffie en Hellman beschrijven bijvoorbeeld het gebruik van publieke-sleutelcryptografie om een algoritme voor een digitale handtekening te krijgen in "New Directions in Cryptography", IEEE Transactions on Information Theory, vol. IT-22, blz. 472-492, 1976. Zie ook het Amerikaanse octrooischrift 4.200.770. Sindsdien zijn verschillende pogingen ondernomen om praktische publieke-sleutel-handtekeningtechnieken te vinden die berusten op de moeilijkheid bij het oplossen van bepaalde mathematische problemen om het wijzigen of vervalsen van een boodschap door niet daartoe gemachtigde partijen moeilijk te maken. Het Rivest-Shamir-Adleman-systeem berust bijvoorbeeld op de moeilijkheid bij het in factoren ontbinden van grote gehele getallen. Zie R.
Rivest, A. Shamir, en L. Adleman, "A Method for Obtaining Digital Signatures and Public Key Cryptosystems", Communications of the ACM, februari 1978, vol. 21, nr. 2, blz. 120-126, en het Amerikaanse octrooischrift nr. 4.405.829.
Taher ElGamal beschrijft een handtekeningschema in "A Public Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms" in IEEE Transactions on Information Theory, vol. IT-31, nr. 4, juli 1985. Gemeend wordt dat dit systeem berust op de moeilijkheid bij het berekenen van discrete logaritmen over eindige velden. In het door Elgamal beschreven systeem betekent m een te ondertekenen document, waarbij 0 < m < p-1, waarin p een groot priemgetal is en a een primitief element mod p, beide bekend. In elk cryptografisch systeem gebaseerd op discrete logaritmen moet p zodanig worden gekozen dat p-1 ten minste één grote priemgetalfactor heeft. Indien p-1 slechts kleine priemgetalfactoren heeft, is het berekenen van de discrete logaritmen gemakkelijk. Het publieke bestand bestaat uit een publieke sleutel y = a- mod p (x = x) voor elke gebruiker, waarbij elke gebruiker een geheime x heeft, een groot priemgetal p en een primitief element a. Voor het ondertekenen van een document gebruikt gebruiker A een geheime sleutel voor het vinden van een handtekening voor m zodanig dat alle gebruikers de authenticiteit van de handtekening kunnen verifiëren door gebruik te maken van de publieke sleutel yA tezamen met α en p en niemand kan een handtekening vervalsen zonder de geheime xA te kennen.
De handtekening voor m is het paar (r,s), 0 < r,s < p-1, zodanig gekozen dat aan α- = y-r5· mod p Vergelijking (1) wordt voldaan (m = m; r = r; s = s).
Bij vele toepassingen is het gemakkelijk of noodzakelijk de boodschap online te ondertekenen. Het Rivest-Shamir-Adleman-systeem is echter duur voor ondertekening online. Het systeem volgens Elgamal maakt het echter mogelijk veel van de berekeningen uit te voeren voordat een koppeling tot stand wordt gebracht, aangezien gebruik wordt gemaakt van waarden die niet afhankelijk zijn van de boodschap m. Het online of gekoppeld genereren van een handtekening is derhalve zeer eenvoudig bij het systeem volgens Elgamal.
De ondertekeningsprocedure van de werkwijze volgens Elgamal omvat drie stappen. In de eerste stap wordt een willekeurig getal k gekozen zodanig dat k uniform tussen 0 en p-1 ligt en gcd(k,p-l) = 1. Vervolgens wordt r bepaald door de relatie
Figure NL9220020AD00041
Vergelijking (2)
Gezien vergelijking (2) kan de relatie waaraan moet worden voldaan voor het bepalen van de handtekening voor de boodschap m, zoals weergegeven in vergelijking (1), worden geschreven als
Figure NL9220020AD00042
Vergelijking (3)
Vergelijking (3) kan voor s worden opgelost door gebruik te maken van
Figure NL9220020AD00043
Vergelijking (4)
Vergelijking 4 heeft een oplossing voor s mits k zodanig wordt gekozen dat gcd(k,p-l) = 1.
Bij de werkwijze volgens EIGamal is het gemakkelijk de authenticiteit van de handtekening (r,s) te verifiëren door beide zijden van vergelijking (1) te berekenen en vast te stellen dat zij gelijk zijn. De gekozen waarde van k mag nooit meer dan eenmaal worden gebruikt. Dit kan bijvoorbeeld worden gewaarborgd door een Data Encryption Standard-chip in de tel-lermodus te gebruiken als een cijferstroom voor het genereren van waarden van k.
Het is mogelijk twee typen pogingen tot kraken van het handtekeningschema volgens EIGamal te ondernemen. Het eerste type kraakpoging omvat pogingen die zijn ontworpen voor het terugwinnen van de geheime sleutel x. Het tweede type kraakpogingen omvat pogingen die zijn ontworpen voor het vervalsen van handtekeningen zonder het terugwinnen van x. Voor sommige van deze ondernomen kraakpogingen kan gemakkelijk worden aangetoond dat zij equivalent zijn aan het berekenen van discrete logaritmen over GF(p).
Bij het eerste type kraakpoging kan een indringer trachten t vergelijkingen van de vorm van vergelijking (4) op te lossen bij gegeven documenten {mi = 1, 2, ..., t} (i = i) tezamen met de bijbehorende handtekeningen {(ri,si): i = 1, 2, t). Er zijn echter t + 1 onbekenden bij dit systeem van vergelijkingen aangezien elke handtekening een andere waarde voor k gebruikt. Dit systeem van vergelijkingen is derhalve onderbepaald en het aantal oplossingen is groot. De reden is dat elke waarde van x een oplossing voor de ki oplevert, aangezien een systeem van lineaire vergelijkingen met een diagonale matrix van coëfficiënten wordt verkregen. Aangezien p-1 zo is gekozen dat ten minste één grote priem-getalfactor q aanwezig is, zou een mogelijk terugwinnen van x mod q een exponentieel aantal boodschap-handtekeningparen vereisen. Indien elke waarde voor k tweemaal wordt gebruikt bij het ondertekenen, dan is het systeem van vergelijkingen uniek bepaald en kan x worden teruggewonnen. Opdat het systeem volgens EIGamal veilig is, mag derhalve geen waarde voor k meer dan eenmaal worden gebruikt, zoals eerder werd opgemerkt.
Bij een andere kraakpoging van dit eerste type kan een indringer trachten vergelijkingen van de vorm van vergelijking (3) op te lossen. Dit is altijd equivalent met het berekenen van discrete logaritmen over GF(p), aangezien beide onbekenden x en k in de exponent verschijnen. Bij weer een andere kraakpoging van dit type kan een indringer trachten bepaalde lineaire afhankelijkheden tussen de onbekenden {k± = 1, 2, ..., t} te ontwikkelen. Dit is ook equivalent aan het berekenen van discrete logaritmen aangezien, indien ki = ck^ mod (p-1), dan geldt r± = mod p, en indien c kan worden berekend dan is het berekenen van discrete logaritmen gemakkelijk.
Bij het tweede type kraakpoging, het trachten handtekeningen te vervalsen zonder kennis van x, kan een vervalser ' trachten r en s te vinden, zodat aan vergelijking (1) wordt voldaan voor een document m. Indien r = a1 mod p is bepaald voor een willekeurig gekozen j dan is het berekenen van s equivalent aan het oplossen van een discreet logaritmeprobleem over GF(p).
Indien de vervalser eerst s bepaalt, dan kan r als volgt worden berekend:
Figure NL9220020AD00051
Vergelijking (5)
Het oplossen van vergelijking (5) voor r kan minder moeilijk zijn dan het berekenen van discrete logaritmen. Gemeend wordt echter dat het oplossen van vergelijking (5) in polynome tijd niet uitvoerbaar is. Bij een andere mogelijke kraakpoging van het tweede type kan een vervalser trachten vergelijking (1) gelijktijdig voor r en s beide op te lossen. Gemeend wordt echter dat een doelmatig algoritme voor het uitvoeren daarvan niet bekend is.
Het handtekeningschema volgens EIGamal maakt ook een kraakpoging mogelijk, waarbij de indringer, die één echte handtekening (r,s) voor één boodschap m kent, andere echte handtekeningen (r,s) en boodschappen m kan genereren. Deze mogelijke kraakpoging, hoewel uitvoerbaar, maakt het echter niet mogelijk dat de indringer een willekeurige boodschap m ondertekent en breekt derhalve het systeem niet. Deze beperkte mogelijkheid tot het creëren van aanvaardbare boodschap-hand-tekeningparen kan worden vermeden door te vereisen dat m een bepaalde structuur heeft. Als alternatief kan dit worden vermeden door een eenrichtingsfunctie H op de boodschap m toe te passen voordat deze wordt ondertekend. Dit heeft tot gevolg dat een mogelijke vervalser onmogelijk een waarde van m kan bepalen welke overeenkomt met de H(m) welke werd ondertekend met behulp van de hierna beschreven methode. De vervalser moet in staat zijn een dergelijke m naar de controleur te verzenden indien de vervalsing als succesvol moet worden beschouwd.
Gegeven een handtekening (r,s) voor de echt ondertekende boodschap m, dan geldt
Figure NL9220020AD00061
Gehele getallen A, B, en C worden door de vervalser willekeurig gekozen zodat (Ar - Cs) relatief primitief is voor p-1. De waarden van r', s', m· worden zo gekozen dat
Figure NL9220020AD00062
Vervolgens wordt gesteld dat (r',s') de ondertekening van de boodschap m' vormt: Aan de verificatievergelijking zal wordei voldaan, aangezien
Figure NL9220020AD00071
waarbij alle berekeningen mod p worden uitgevoerd.
In een bijzonder geval, waarbij wordt gesteld dat A = 0, kunnen verifieerbare handtekeningen (r'-s') worden gegenereerd met bijbehorende boodschappen m· zonder toegang tot enige handtekening:
Figure NL9220020AD00072
Voor de deskundige zal derhalve duidelijk zijn dat het toe-passen van een eenrichtingsfunctie H op de boodschap m voorafgaande aan de ondertekening de algemene kraakpoging en kraakpogingen voor bijzondere gevallen dwarsboomt. Ook zal duidelijk zijn dat de functie H kan worden gebruikt voor het vormen van een samemvatting van lange boodschappen zodat de handtekeningfunctie niet herhaald behoeft te worden toegepast op segmenten van de volledige boodschap m. Dit leidt tot een verdere doelmatigheid.
Het Amerikaanse octrooischrift 4.995.082 van Schnorr, verleend op 19 februari 1991, getiteld "Method for Identifying Subscribers and for Generating and Verifying Electronic Signatures in a Data Exchange System”, verschaft een systeem waarbij communicatie en verificatie efficiënter is ten opzichte van ElGamal. Bovendien handhaaft het systeem volgens Schnorr de bijzonder doelmatige mogelijkheid tot online ondertekening. Bepaalde gewenste eigenschappen van ElGamal alsmede de uitgebreide ervaring en literatuur over het EIGamal-model zijn echter niet toepasbaar op het Schnorr-model.
Het is derhalve gewenst een systeem te verschaffen met doelmatige eigenschappen van Online ondertekening, communicatie en verificatie die vergelijkbaar zijn met het systeem volgens Schnorr, waarbij de compatibiliteit met het ElGamal-model en zijn analytische gereedschappen wordt gehandhaafd.
Het is in het bijzonder gewenst de complexe aard van de EIGamal-handtekeningvergelijking te behouden, welke een veilig gebruik van de eenvoudige uitdrukking H(m) mogelijk maakt in plaats van het vereenvoudigen van de handtekeningvergelijking ten koste van het vervangen van H(m) door H(a~ mod p,m).
SAMENVATTING VAN DE UITVINDING Een werkwijze wordt verschaft voor het genereren en verifiëren van een digitale handtekening van een boodschap m. Deze werkwijze vereist een paar bij elkaar behorende publieke en geheime sleutels (y en x) voor elke ondertekenaar, alsmede een paar publieke en geheime waarden (r en k) die voor elke boodschap worden gegenereerd door de ondertekenaar. De publieke waarde r wordt berekend volgens de regel r = (g^ mod p) mod q. Een waarde s wordt dan gekozen volgens de regel s = k_1(H(m) + xr) mod q, waarbij H een bekende conventionele hash-functie is. De boodschap m wordt vervolgens tezamen met de handtekening (r,s) verzonden. Wanneer het verzonden signaal wordt ontvangen, wordt een verificatieproces uitgevoerd. De ontvangen waarden van r en s worden beproefd om vast te stellen of zij congruent zijn met 0 mod q. Voorts wordt r beproefd om vast te stellen of deze gelijk is aan v mod q, waarbij v wordt berekend uit r, s, m en y. Voor echte handtekeningen geldt v - g- mod p.
KORTE BESCHRIJVING VAN DE TEKENING Fig. 1 en 2 tonen het algoritme voor een digitale handtekening volgens de onderhavige uitvinding.
Fig. 3 toont een algoritme voor hash-bewerking dat geschikt is voor toepassing in het algoritme voor een digitale handtekening volgens de fig. 1 en 2.
GEDETAILLEERDE BESCHRIJVING VAN DE UITVINDING In de fig. 1 en 2 is een algoritme 10 voor een digitale handtekening weergegeven. Bij het algoritme 10 voor een digitale handtekening worden de twee sleutels van een paar privé- en publieke sleutels respectievelijk gebruikt voor het genereren en verifiëren van digitale handtekeningen (r, s), die elk overeenkomen met een verzonden boodschap m. Bij gebruik van het algoritme 10 voor een digitale handtekening kan de houder van een privé-sleutel een digitale handtekening voor de boodschap m genereren, waarbij de boodschap m elke hoeveelheid gegevens kan bevatten. Een houder van de bijbehorende publieke sleutel kan dan de boodschap m ontvangen en de handtekening (r,s) verifiëren. Een indringer die de privé-sleutel niet kent, kan niet de handtekening (r, s) van de houder van de privé-sleutel voor een boodschap m genereren en handtekeningen (r, s) kunnen derhalve niet worden vervalst.
Een indringer kan derhalve ook niet een ondertekende boodschap m veranderen zonder de handtekening r, s ongeldig te maken.
Indien het algoritme 10 voor een digitale handtekening doelmatig moet worden gebruikt, zijn middelen vereist voor het verenigen van een publieke- en privé-sleutelpaar met elke ondertekenaar. Er moet een informatieverbinding zijn die de ondertekenaar met de bijbehorende publieke sleutel identificeert. Teneinde te waarborgen dat elke privé-sleutel of geheime sleutel wordt gehouden door het individu waarvan de identiteit is gebonden aan de bijbehorende publieke sleutel, moet deze verbinding worden gewaarmerkt door een wederzijds vertrouwde derde partij. Een waarmerkende autoriteit kan bijvoorbeeld papieren ondertekenen die de publieke sleutel van een gebruiker van het algoritme 10 voor een digitale handtekening bevat alsmede de identiteit van de gebruiker, teneinde een certificaat te vormen.
Het uitvoeren van het algoritme 10 voor een digitale handtekening volgens de onderhavige uitvinding begint in het startpunt 5. Een gebruiker van het algoritme 10 voor een digitale handtekening kiest eerst een geheime waarde van k zoals in blok 15 is getoond. De gekozen k is een geheim geheel getal dat wordt gegenereerd door de ondertekenaar voor elke boodschap m. De waarde van k wordt zo gekozen dat 0<k<q. De k van het algoritme 10 voor een digitale handtekening kan op willekeurige of pseudo-willekeurige wijze worden gegenereerd. Voor de deskundige zal duidelijk zijn dat het pseudo-willekeurig genereren van het gehele getal k op elke conventionele wijze kan plaatsvinden.
In blok 20 van het algoritme 10 voor een digitale handtekening wordt een bepaling uitgevoerd van gr- mod p. Het is in de techniek bekend de hoeveelheid van blok 20 te bepalen en deze hoeveelheid te verzenden. Deze hoeveelheid kan echter behoorlijk groot zijn. Derhalve wordt in blok 25 de hoeveelheid van blok 20 beperkt door een afbeelding van honderdzestig bits door een beperking met mod q als volgt
Figure NL9220020AD00101
Teneinde r volgens vergelijking (6) te genereren, wordt de waarde g als volgt bepaald:
Figure NL9220020AD00102
waarbij h een niet-nul zijnd geheel getal mod p is, zodat 22 (E-1)/3 niet congruent is aan 1 mod p. De waarde g kan gemeenschappelijk zijn voor alle gebruikers van het algoritme voor een 10 digitale handtekening. In vergelijking (6) is p een primitieve modulus, waarbij 2511<p<2512. De primitieve modulus p kan gemeenschappelijk zijn voor alle gebruikers van het algoritme 10 voor een digitale handtekening. De waarde q is een primitieve deler van (p-1), waarbij 2159«j<2160. q kan ook gemeenschappelijk zijn voor alle gebruikers van het algoritme 10 voor een digitale handtekening.
De uitvoering van het algoritme 10 voor een digitale handtekening gaat vervolgens naar blok 30 waar de hoeveelheid k_1 mod q wordt bepaald. Deze waarde zal nuttig zijn bij het bepalen van de handtekening voor transmissie binnen het systeem van het algoritme 10 voor een digitale handtekening. Voor de deskundige zal duidelijk zijn dat alle bewerkingen die binnen het algoritme 10 voor een digitale handtekening zijn uitgevoerd inclusief de berekening volgens blok 30 onafhankelijk zijn van de boodschap m. Deze berekeningen kunnen derhalve offline worden uitgevoerd, waardoor een aanmerkelijk verkorte online ondertekeningsprocedure mogelijk wordt gemaakt.
De uitvoering van het algoritme 10 voor een digitale handtekening gaat vervolgens naar blok 35, waarbij de boodschap m aan een hash-bewerking wordt onderworpen. Deze hash-bewerking van boodschap m uitgevoerd in blok 35 levert een uitvoer op van honderdzestig bits of minder, aangeduid door H(m). Er zijn vele conventionele algoritmen voor hash-bewerking in de stand van de techniek bekend, die geschikt zijn voor uitvoering van de hash-bewerking van de boodschap m volgens blok 35 van het algoritme 10. Voorts zal duidelijk zijn dat de boodschap waarop het algoritme voor hash-bewerking wordt uitgevoerd, zich in onversleutelde vorm kan bevinden.
Wanneer r en k”1 mod q worden bepaald volgens de vergelijkingen (6) en (7), kan de waarde van s voor de boodschap m worden bepaald volgens blok 40 van het algoritme 10 voor een digitale handtekening:
Figure NL9220020AD00111
Vergelijking (8)
De oplossing van vergelijking (8) van blok 40 van het algoritme 10 voor een digitale handtekening leidt ook tot een geheel getal van 160 bits. De waarden r en s die aldus zijn bepaald in respectievelijk de blokken 25 en 40, vormen de handtekening (r,s) van de boodschap m. Zij worden tezamen met de boodschap m verzonden naar de ontvanger zoals in blok 45 is weergegeven. Het zal duidelijk zijn, dat m in onversleutelde vorm kan worden gevonden. De uitvoering van het algoritme 10 gaat dan verder via de van de bladzijde af wijzende verbinding 50.
Binnen het algoritme 10 voor een digitale handtekening wordt elke ondertekenaar voorzien van een geheime sleutel x, waarbij 0 < x < q. Een geheime sleutel x wordt vastgesteld voor alle boodschappen m die door een individuele gebruiker van het algoritme 10 worden verzonden. Voorts wordt een publieke sleutel y aan de gebruiker verstrekt die de geheime sleutel of geheime waarde x heeft, waarbij y = g- mod p. Voorafgaande aan het verifiëren van een handtekening (r,s) moeten de publieke sleutel y en de identiteit van de ondertekenaar die de bijbehorende geheime sleutel x bezit, op een geverifieerde wijze beschikbaar zijn aan de ontvanger, waarbij het uiteindelijke verificatiedoel is het kunnen bewijzen dat (r,s) oorspronkelijk werd gecreëerd door iemand die kennis had van de waarde van x welke overeenkomt met de bijzondere waarde van y. Indien x niet gecompromitteerd is, is deze ondertekenaar bekend als degene waarvan de identiteit is verbonden met de bijzondere y op een geverifieerde wijze. Voorts moet de ontvanger de globale waarden g, p en q kennen.
De uitvoering van het algoritme 10 gaat dan verder via verbinding 55 naar het startpunt 60. Na het ontvangen van de boodschap m volgens blok 65 tezamen met de beweerdelijke handtekening (r,s), moet de ontvanger in het systeem volgens de onderhavige uitvinding zowel de ontvangen r als de ontvangen s verifiëren. Het zal derhalve duidelijk zijn dat binnen het algoritme 10 voor een digitale handtekening de kernei g-mod p volgens de stand van de techniek gereduceerd mod q wordt en wordt verzonden, g- mod p wordt vervolgens teruggewonnen en geverifieerd binnen het algoritme 10. Bij het systeem volgens de onderhavige uitvinding kan g- mod p derhalve aan de ontvan-gerzijde worden gereconstrueerd in plaats van door de zender worden verzonden.
In de beslissingsruit 70 van algoritme 10 wordt derhalve bepaald of hetzij s hetzij r congruent aan 0 mod q is. Indien hetzij r hetzij s congruent is aan 0 mod q, dan gaat de uitvoering naar blok 115 en wordt de ontvangen handtekening (r,s) afgewezen door het algoritme 10 voor een digitale handtekening. Indien r en s niet congruent zijn aan 0 mod q, gaat de ontvanger door met verificatie van de ontvangen handtekening (r, s) zoals is weergegeven in het door een streeplijn aangeduide verificatiedeel 75.
Bij het binnentreden van het met een streeplijn aangeduide verificatieblok 75 wint het algoritme 10 voor een digitale handtekening g- mod p terug, zoals is aangegeven in het met een streeplijn aangeduide terugwinningsblok 80. Het is in de techniek bekend g- mod p terug te winnen na de ontvangst van een verzonden boodschap, omdat vele methoden volgens de stand van de techniek g- mod p uitzonden zonder enige reduce-ring voor de transmissie. Binnen het terugwinningsblok 80 worden de waarden u^ en u2 bepaald volgens blok 85. De waarden in blok 85 worden bepaald volgens ux = (H(m)) (s)"1 mod q en u2 = (r)(s)-1 mod g. Het bepalen van de waarden u^ en u2 maakt het mogelijk g- mod p te bepalen uit ux, u2 en y zoals in vergelijking (9) is aangegeven. Deze bepaling is weergegeven in blok 90. Voor de deskundige zal duidelijk zijn dat het op dit punt niet bekend is of de hoeveelheid die in blok 90 is teruggewonnen een echte cfi mod p is. De uitvoering van het algoritme 10 voor een digitale handtekening gaat echter verder op basis van de veronderstelling dat deze echt is en controleert deze veronderstelling .
Figure NL9220020AD00131
Vergelijking (9)
Binnen het met een streeplijn aangeduide controleblok 95 wordt de teruggewonnen hoeveelheid g- mod p van vergelijking (9) gecontroleerd door eerst de waarde van w te bepalen zoals in blok 100 is aangegeven. De waarde van blok 100 wordt bepaald volgens w = v mod q. In de beslissingsruit 105 wordt bepaald of de ontvangen waarde van r gelijk is aan de mod q gereduceerde waarde van g- mod p, waarbij m, k, r en s voldoen aan de relatie volgens vergelijking (8) voor de gegeven waarde van y. Indien de bepaling van beslissing 105 bevestigend is, gaat de uitvoering naar verifieerblok 110 waar de handtekening (r,s) die in blok 65 is ontvangen, als geverifieerd wordt beschouwd door het algoritme 10 voor een digitale handtekening. Indien de bepaling van de beslissingsruit 105 negatief is, gaat de uitvoering naar het afwijsblok 115 waar de ontvangen handtekening (r,s) wordt afgewezen.
De veiligheid van het algoritme 10 voor een digitale handtekening is afhankelijk van het handhaven van de geheimhouding van privé-sleutels. Gebruikers van het algoritme 10 voor een digitale handtekening moeten derhalve maatregelen nemen tegen de onbevoegde openbaarmaking van hun privé-sleutels. Voorts moet de hash-functie H van blok 35, die wordt gebruikt voor het bepalen van de waarde van s, zo worden gekozen dat het rekenkundig onuitvoerbaar is een boodschap m te vinden, welke een bepaalde hash-waarde heeft. Op dezelfde wijze dient het rekenkundig onuitvoerbaar te zijn een paar verschillende boodschappen m te vinden die door de hash-functie op dezelfde waarde uitkomen.
In fig. 3 is het algoritme 150 voor hashbewerking weergegeven. Een conventioneel algoritme zoals het algoritme 150, kan bijvoorbeeld worden gevonden in R.L. Rivest, "The MD4 Message Digest Algorithm", Abstracts Crypto '90, blz. 281-291. Zoals eerder werd opgemerkt, vereisen de handtekening- en verificatieprocessen binnen het algoritme 10 voor een digitale handtekening een veilig algoritme voor hash-bewerking, dat een boodschap van willekeurige lengte als invoer ontvangt en een hash-waarde afgeeft met een lengte van honderzestig bits of minder. Het algoritme 150 voor hash-bewerking is geschikt voor het uitvoeren van de hash-functie van het algoritme 10 voor een digitale handtekening volgens blok 35. Voor de deskundige zal duidelijk zijn, dat ook andere conventionele hash-functies dan het algoritme 150 voor hash-bewerking kunnen worden gebruikt voor het uitvoeren van de hash-functie van blok 35 in het algoritme 10 voor een digitale handtekening.
De uitvoering van het algoritme 150 voor hash-bewerking gaat uit van blok 30 van het algoritme 10 voor een digitale handtekening en begint bij het startpunt 152. Het algoritme 150 voor hash-bewerking ontvangt dan als invoer een boodschap m van b bits waarop de hash-bewerking moet worden uitgevoerd, zoals in blok 153 is weergegeven en zorgt voor een boodschapoverzicht A, B, C, D als uitvoer. Het aantal bits b in de boodschap m die in het blok 153 wordt ontvangen, is een willekeurig niet-negatief geheel getal. De waarde b kan nul zijn en behoeft geen veelvoud van acht te zijn. Voorts kan b willekeurig groot zijn. De bits van de boodschap m kunnen als volgt worden beschreven:
Figure NL9220020AD00141
De volgende stap van het algoritme 150 voor hash-bewerking is het aanvullen of verlengen van de boodschap m, zodat zijn lengte in bits congruent is met 448, mod 415, zoals aangegeven in het met een streeplijn aangeduide aanvulblok 155. De boodschap m wordt derhalve verlengd, zodat deze slechts vierenzestig bits korter is dan een veelvoud van vijf-honderdtwaalf bits lang. Het aanvullen van de boodschap m moet altijd worden uitgevoerd binnen het algoritme 150 voor hash-bewerking, zelfs indien de lengte van de boodschap m reeds congruent is aan 448 mod 512. In het geval dat de lengte van de boodschap m reeds congruent is aan 448 mod 512, worden vijfhonderdtwaalf bits toegevoegd aan het met een streeplijn aangeduide aanvulblok 155.
Bij het aanvullen van de boodschap m volgens aanvulblok 155 wordt een enkel bit met een waarde 1 toegevoegd aan de boodschap m zoals in blok 160 binnen aanvulblok 155 is aangegeven. Vervolgens worden voldoende nul-bits toegevoegd aan de boodschap m om de lengte in bits van de aangevulde boodschap m congruent te maken aan 448 mod 512, zoals in blok 165 is aangegeven. De aanvulbewerking volgens aanvulblok 155 is derhalve omkeerbaar, zodat verschillende invoeren verschillende uitvoeren opleveren. De aanvulbewerking van het met een streeplijn aangeduide aanvulblok 155 zou niet omkeerbaar zijn indien alleen nullen werden toegevoegd.
De uitvoering van het algoritme 150 voor hash-bewer-king gaat vervolgens naar blok 170, waar een voorstelling van b van vierenzestig bits wordt toegevoegd aan het resultaat van de toevoegbewerkingen van de blokken 160 tot 165. Het zal duidelijk zijn dat b de lengte van de boodschap m is voordat de aanvullende bits zijn toegevoegd volgens blokken 160, 165. Deze voorstelling van vierenzestig bits wordt als twee woorden van tweeëndertig bits, eerst het woord van de lage orde, toegevoegd. In het onwaarschijnlijke geval dat b groter is 264, worden alleen de vierenzestig bits van de lage orde toegevoegd in blok 170. In deze fase van de uitvoering van het algoritme 150 voor hash-bewerking, heeft de resulterende aangevulde boodschap een lengte welke een exact veelvoud is van vijfhonderdtwaalf bits. Dienovereenkomstig heeft deze aangevulde boodschap een lengte welke een exact veelvoud is van zestien woorden waarbij het duidelijk is dat elk woord tweeëndertig bits heeft. Laat M[u], 0 < u < N-1, de woorden van de boodschap aangeven, die het resultaat is van de bewerking in blok 170, waarbij N een veelvoud van zestien is.
De uitvoering van het algoritme 150 voor hash-bewerking gaat vervolgens naar het met een streeplijn aangeduide boodschapoverzichtblok 175 waarbij een buffer van vier woorden wordt gebruikt voor het berekenen van het boodschapoverzicht A, B, C, D. Elk van de vier woorden van het boodschapoverzicht A, B, C, D is een register van tweeëndertig bits. In blok 180 van het boodschapoverzichtblok 175 worden deze registers geïnitialiseerd op de hexadecimale waarden volgens tabel I, eerst de bytes van de lage orde.
Tabel I
Woord A: 01 23 45 67 Woord B: 89 ab cd ef Woord C: fe dc ba 98 Woord D: 76 54 32 10
Drie hulpfuncties, f^, f2, f3, worden vervolgens gedefinieerd volgens blok 185. De hulpfuncties f1# f2, f3 zijn weergegeven in tabel II. Elke hulpfunctie f2, f3 van tabel II ontvangt als invoer drie woorden X, Y, Z van tweeëndertig bits en levert als uitvoer één woord van tweeëndertig bits f1(X,Y,Z), f2(X,Y,Z) respectievelijk f3(X,Y,Z).
Tabel II
ί^Χ,Υ,Ζ) = XY V (-X)Z £2(X,Y,Z) = xyW xz V xz f3(X,Y,Z) = ΧΦΥ 0Z
Op elke bitpositie van de ingangswoorden X, Y, Z werkt de hulpfunctie f1 voorwaardelijk voor het toepassen van de voorwaarde: if X then Y else Z. Op elke bitpositie werkt de hulpfunctie f2 als een meerderheidsfunctie: indien ten minste twee van X, Y, Z een waarde één hebben, dan heeft f2 de waarde één op die bitpositie. De hulpfunctie f3 past per bit de exclusieve OF of pariteitsfunctie toe op elke bitpositie. Indien de bits van X, Y en Z onafhankelijk zijn en geen asymmetrische fout vertonen, dan is elke bit van (X, Y, Z) onafhankelijk en heeft geen asymmetrie. Op overeenkomstige wijze zijn de hulpfuncties f2 (X, Y, Z) en f3 (X, Y, Z) onafhankelijk en hebben geen asymmetrie indien de bits van X, Y en Z onafhankelijk zijn en geen asymmetrie vertonen.
Het algoritme 150 voor hash-bewerking initialiseert de lusinductievariabele n op nul in blok 186 en stelt vervol gens de huidige waarden van de reeks X[j] voor 0 < j < 15 in in blok 187 en voert een groep van drie ronden van hash-bewerkingen uit, zoals in de blokken 190, 195, 197 is weergegeven, waarbij reeks X[j] wordt bijgewerkt en drie ronden van hash-bewerkingen in totaal N/16 maal worden uitgevoerd. In de ronden twee en drie gebruikt het algoritme 150 voor hash-bewerking constanten. De constante van ronde twee is de vierkantswortel van twee en de constante van ronde drie is de vierkantswortel van drie. De waarden van deze constanten zijn met de cijfers van hoge order eerst in tabel III weergegeven.
Tabel III
Octaal Hex
Ronde 2 constante (f2) 013240474631 5A827999
Ronde 3 constante (f3) 015666365641 6ED9EBA1
Elk van de N/16 groepen van drie ronden begint met de uitvoering van de instructiereeks uit tabel IV volgens blok 185, waarbij de waarde van n de huidige uitgevoerde groep aangeeft. De groepen zijn met de index 0 tot (N/16)-l aangeduid.
Tabel IV
Stel X[J] op M[n*16+], voor j = 0, 1, ..., 15.
Bewaar A als AA, B als BB, C als CC, en D als DD.
Wanneer de uitvoering van het algoritme 150 voor hash-bewerking naar blok 190 gaat en ronde één van de hash-bewerking begint, geeft [A B C D i t] de bewerking A = (A + ^(Β,ΰ,ϋ) + X[i]) «< t. Voor de deskundige zal duidelijk zijn dat (A<«t) de waarde van tweeëndertig bits aangeeft die wordt verkregen door het circulair schuiven of roteren van A naar links over t bitposities. De bewerking die hierboven in het algemeen is aangeduid met [A B C D i t], vindt zestien maal plaats gedurende ronde één, waarbij de waarden die achtereenvolgens worden aangenomen door de operands A, B, C, D, i respectievelijk t in tabel V zijn gegeven.
Tabel V
[A B C D 0 3] [D A B C 1 7] [C D A B 2 11] [B C D A 3 19] [A B C D 4 3] [D A B C 5 7] [C D A B 6 11] [B C D A 7 19] [A B C D 8 3] [D A B C 9 7] [C D A B 10 11] [B C D A 11 19] [A B C D 12 3] [D A B C 13 7] [C D A B 14 11] [B C D A 15 19]
Wanneer de uitvoering naar blok 195 gaat, begint ronde twee van het algoritme 150 voor hash-bewerking. In ronde twee geeft [A B C D i t] de bewerking A = (A + f2(B,c,D) + X[i] + 5A827999) «< t aan. De direct hierboven met [A B C D i t] aangeduide bewerking vindt zestien maal plaats gedurende ronde twee, waarbij de waarden die achtereenvolgens worden aangenomen door de operands A, B, C, D, i respectievelijk t in tabel VI zijn gegeven.
Tabel VI [A B C D 0 3] [D A B C 4 5] [C D A B 8 9] [B C D A 12 13] [A B C D 1 3] [D A B C 5 5] [C D A B 9 9] [B C D A 13 13] [A B C D 2 3] [D A B C 6 5] [C D A B 10 9] [B C D A 14 13] [A B C D 3 3] [D A B C 7 5] [C D A B 11 9] [B C D A 15 13]
Wanneer de uitvoering naar blok 197 gaat, begint ronde drie van het algoritme 150 voor hash-bewerking. In ronde drie geeft [A B C D i t] de bewerking A = (A + f2(B,C,D) + X[i] + 6ED9EBA1) «< t aan. De direct hierboven met [A B C D i t] aangeduide bewerking vindt zestien maal plaats gedurende ronde drie, waarbij de waarden die achtereenvolgens worden aangenomen door de operands A, B, C, D, i respectievelijk t in tabel VII zijn gegeven.
Tabel VI [A B C D 0 3] [D A B C 8 9] [C D A B 4 11] [B C D A 12 15] [A B C D 2 3] [D A B C 10 9] [C D A B 6 11] [B C D A 14 15] [A B C D 1 3] [D A B C 9 9] [C D A B 5 11] [B C D A 13 15] [A B C D 3 3] [D A B C 11 9] [C D A B 7 11] [B C D A 15 15]
Nadat ronde drie is voltooid, gaat de uitvoering van het algoritme 150 voor hash-bewerking binnen blok 35 van het algoritme 10 voor een digitale handtekening naar blok 199, waar de volgende toevoegingen worden uitgevoerd:
A = A + AA
B = B + BB
C = C + CC
D = D + DD
Elk van de vier registers A, B, C, D welke tezamen uiteindelijk het overzicht van de ontvangende boodschap vormen, wordt geïncrementeerd met de waarde welke het had voordat de bepaalde groep werd gestart.
Het boodschapoverzicht dat wordt geproduceerd als de uitvoer van het algoritme 150 voor hash-bewerking binnen het algoritme 10 voor een digitale handtekening is derhalve het viervoud van waarden van A, B, C, D, verkregen in blok 199 na het bewerken van de laatste groep. De lusinductievariabele wordt geïncrementeerd in blok 201 en onderzocht in de beslis-singsruit 202. Indien de uitvoering niet voltooid is, wordt blok 187 opnieuw uitgevoerd. Anders gaat de uitvoering van het algoritme 150 naar het uitgangspunt 203.
Het zal voor de deskundige duidelijk zijn, dat bij bepaalde toepassingen meer dan honderdachtentwintig bits uitvoer vereist kan zijn. Dit kan bijvoorbeeld worden bewerkstelligd door twee systemen parallel te verschaffen, waarbij elk van de parallelle systemen het algoritme 150 voor hash-bewer-king uitvoert met geschikt gekozen constanten en geïnitiali-seerde registers, teneinde ten hoogste tweehonderdzesenvijftig bits totale uitvoer te geven.
Hoewel een uitvoeringsvoorbeeld dat een specificatie van parameterbereikbeperkingen omvat, voor het uitvoeren van de onderhavige uitvinding is beschreven en weergegeven, zal duidelijk zijn dat aanpassingen en wijzigingen kunnen worden aangebracht zonder buiten het kader van het wezen van de uitvinding te treden.

Claims (45)

1. Werkwijze voor het genereren van een digitale handtekening (r,s) van een boodschap m in een systeem, waarbij informatie wordt verzonden en ontvangen door gebruikers van het systeem, omvattende de volgende stappen: (a) het verschaffen van een geheime waarde k die uniek is voor de boodschap m; (b) het verschaffen van een publieke waarde g; (c) het berekenen van de waarde r uitgaande van een primitieve modulus p en een waarde q die is gekozen als een primitieve deler van p-1 volgens de regel r = (gr- mod p) mod q; (d) het toepassen van een hash-transformatie H alleen op de boodschap m voor het genereren van een getransformeerde boodschap H(m); (e) het berekenen van de waarde s volgens de regel s = f(H{m)) waarbij de waarde s een functie is van m alleen via de getransformeerde boodschap H(m); en (f) het genereren van een signaal dat representatief is voor de digitale handtekening (r,s) in overeenstemming met de waarde r en de waarde s en het verzenden van het gegenereerde signaal.
2. Werkwijze voor het genereren van een digitale handtekening (r,s) volgens conclusie 1, waarbij stap (a) het willekeurig kiezen van de geheime waarde k omvat.
3. Werkwijze voor het genereren van een digitale handtekening (r,s) volgens conclusie 1, waarbij stap (b) het berekenen van de waarde g omvat uitgaande van een waarde h die elk niet-nul zijnde gehele getal kan zijn, zodanig dat h^"1^3· niet congruent is aan 1 mod p volgens de regel g = E mocj
4. Werkwijze voor het genereren van een digitale handtekening (r,s) volgens conclusie 1, waarbij stap (d) het transformeren van de boodschap m omvat door het toepassen van ppn ροητΗ nhti ncrstTansfm-mati p> u nn dp hnodsnhan m.
5. Geschrapt.
6. Werkwijze voor het genereren van een digitale handtekening (r,s) volgens conclusie 1, waarbij stap (e) voorts het berekenen van de waarde s omvat volgens de regel s = k_1 (H(m) + xr mod q waarbij de waarde x een geheime waarde is.
7. Werkwijze voor het genereren van een digitale handtekening (r,s) volgens conclusie 1, waarbij de stappen (a)-(c) worden uitgevoerd voorafgaande aan het bekend zijn van de boodschap m.
8. Werkwijze voor het genereren van een digitale handtekening (r,s) volgens conclusie 1, omvattende de stap van verzenden van een ondertekende boodschap die is gevormd uit de boodschap m en de digitale handtekening (r,s).
9. Werkwijze voor het genereren van een digitale handtekening (r,s) volgens conclusie 8, voorts omvattende de stappen: (g) het ontvangen van de verzonden ondertekende boodschap voorzien van een ontvangen digitale handtekening (r,s) met een ontvangen waarde r en een ontvangen waarde s; en (h) het verifiëren van de ontvangen digitale handtekening (r,s).
10. Werkwijze voor het genereren van een digitale handtekening (r,s) volgens conclusie 9, waarbij de stap (h) het reconstrueren van g- mod p uit stap (c) omvat voor het I. verschaffen van een teruggewonnen g- mod p.
11. Werkwijze voor het genereren van een digitale handtekening (r,s) volgens conclusie 10, omvattende de stap van het bepalen van een waarde v uitgaande van een waarde ux = (H(m)) (s)-1 mod q en een waarde u2 = (r) (s)”1 mod q volgens de regel v = (g)~ (y) — mod p waarbij de waarde y congruent is aan g- mod p en de waarde x een geheime waarde is.
12. Werkwijze voor het genereren van een digitale handtekening (r, s) volgens conclusie 11, omvattende de stap van het bepalen of de vastgestelde waarde v na reductie mod g hetzelfde is als de ontvangen waarde r.
13. Werkwijze voor het genereren van een digitale handtekening (r,s) volgens conclusie 12, voorts omvattende de stap van het bepalen dat de ontvangen digitale handtekening (r,s) is geverifieerd in responsie op het bepalen dat de vastgestelde waarde v na reductie mod q hetzelfde is als de ontvangen waarde r.
14. Werkwijze voor het genereren van een digitale handtekening (r,s) volgens conclusie 9, waarbij stap h voorts omvat het bepalen of de ontvangen waarde r congruent is aan 0 mod g.
15. Werkwijze voor het genereren van een digitale handtekening (r,s) volgens conclusie 9, waarbij de stap (a) voorts omvat het bepalen of de ontvangen waarde s congruent is aan 0 mod g.
16. Systeem voor het genereren van een digitale handtekening (r,s) van een boodschap m, waarbij informatie wordt verzonden en ontvangen door gebruikers van het systeem, voorzien van: een geheime waarde k die uniek is voor de boodschap m; een publieke waarde g; transformatiemiddelen voor het toepassen van een hash-transformatie op alleen de boodschap m voor het genereren van een getransformeerde boodschap H(m), middelen voor het berekenen van de waarde r uitgaande van een primitieve modulus p en een waarde g die is gekozen als een primitieve deler van p-1 volgens de regel r = (g- mod p) mod g; middelen voor het berekenen van de waarde s volgens de regel s = f(H(m)) waarbij de waarde s alleen via H(m) een functie is van de boodschap m; genereermiddelen voor het ontvangen van de berekende waarden van r en s en het genereren van een ondertekende bood- schap die is gevormd uit de boodschap m en de digitale handtekening (r,s) ,· en verzendmiddelen voor het verzenden van het gegenereerde signaal.
17. Systeem voor het genereren van een digitale handtekening (r,s) volgens conclusie 16, waarbij de geheime waarde k willekeurig is gekozen.
18. Systeem voor het genereren van een digitale handtekening (r,s) volgens conclusie 16, waarbij de publieke waarde g wordt berekend uitgaande van een waarde h die elk niet-nul zijnd geheel getal kan zijn, zodat h*E_1^a niet congruent is aan 1 mod p volgens de regel
Figure NL9220020AC00241
19. Systeem voor het genereren van een digitale handtekening (r,s) volgens conclusie 16, waarbij de transformatiemiddelen in één richting werkzame transformatiemiddelen omvatten voor het transformeren van de boodschap m door het toepassen van een eenrichtingshash-transformatie op de boodschap m.
20. Systeem voor het genereren van een digitale handtekening (r,s) volgens conclusie 16, waarbij een waarde x een geheime waarde is en de waarde s wordt berekend volgens de regel
Figure NL9220020AC00242
21. Systeem voor het genereren van een digitale handtekening (r,s) volgens conclusie 16, waarbij de waarden k, g en r worden bepaald onafhankelijk van de boodschap m.
22. Systeem voor het genereren van een digitale handtekening (r,s) volgens conclusie 16, voorts voorzien van: middelen voor het ontvangen van de verzonden ondertekende boodschap; en verifleermiddelen voor het verifiëren van de digitale handtekening (r,s).
23. Systeem voor het genereren van een digitale handtekening (r,s) volgens conclusie 22, waarbij de verifleermiddelen voorts zijn voorzien van middelen voor het reconstrueren k k van de g- mod p voor het verschaffen van een teruggewonnen g- mod p in de verifleermiddelen.
24. Systeem voor het genereren van een digitale handtekening (r#s) volgens conclusie 23, voorts voorzien van middelen voor het bepalen van een waarde v uitgaande van een waarde ux = (H(m)) (s)-1 mod q en een waarde u2 = (r) (s)-1 mod q volgens de regel
Figure NL9220020AC00251
waarbij de waarde y congruent is aan g^ mod p en de waarde x een geheime waarde is.
25. Systeem voor het genereren van een digitale handtekening (r,s) volgens conclusie 24, voorts voorzien van middelen voor het bepalen of de vastgestelde waarde van v na reductie mod q hetzelfde is als de ontvangen waarde r.
26. Systeem voor het genereren van een digitale handtekening (r,s) volgens conclusie 25, voorts voorzien van middelen voor het bepalen of de handtekening (r,s) is geverifieerd in responsie op het bepalen dat de waarde v na reductie mod q hetzelfde is als de ontvangen waarde r.
27. Systeem voor het genereren van een digitale handtekening (r,s) volgens conclusie 22, waarbij de verifieer-middelen middelen omvatten voor het bepalen of de waarde r congruent is aan 0 mod q.
28. Systeem voor het genereren van een digitale handtekening (r,s) volgens conclusie 22, waarbij de verifleermiddelen middelen omvatten voor het bepalen of de waarde s congruent is aan 0 mod q.
29. Werkwijze voor het genereren en verifiëren van een digitale handtekening (r,s) van een boodschap m in een systeem waarbij informatie wordt verzonden en ontvangen door gebruikers van het systeem, omvattende de stappen van: (a) het verschaffen van een geheime waarde k die uniek is voor de boodschap m; (b) het verschaffen van een publieke waarde g; (c) het bepalen van een waarde uitgaande van een primitieve modulus p volgens de regel r = F(g- mod p) waarbij F een reductiefunctie is die onafhankelijk is van de boodschap ra; (d) het ontvangen van een ondertekende boodschap die is gevormd uit de boodschap m en de digitale handtekening (r,s); (e) het terugwinnen en isoleren van g- mod p in overeenstemming met de boodschap m; (f) het bepalen of de geïsoleerde g- mod p na reductie volgens de reductiefunctie F hetzelfde is als de ontvangen waarde r; (g) het bepalen of de handtekening (r,s) is geverifieerd in overeenstemming met de bepaling volgens stap (f) ; en (h) het genereren van een verificatiesignaal in overeenstemming met stap (g) en het verzenden van het veri-ficatiesignaal,
30. Werkwijze voor het genereren en verifiëren van een digitale handtekening (r,s) volgens conclusie 29, waarbij stap (b) het berekenen van de waarde g omvat, uitgaande van een waarde h die elk niet-nul zijnde gehele getal kan zijn, zodat hiE_1)/,a niet congruent is aan 1 mod p volgens de regel
Figure NL9220020AC00261
waarbij de waarde q is gekozen als een primitieve deler van P-l·
31. Werkwijze voor het genereren en verifiëren van een digitale handtekening (r,s) volgens conclusie 29, waarbij stap a het willekeurig kiezen van de geheime waarde k omvat.
32. Werkwijze voor het genereren en verifiëren van een digitale handtekening (r,s) volgens conclusie 30, waarbij de reductiefunctie F reductie mod q omvat.
33. Werkwijze voor het genereren en verifiëren van een digitale handtekening (r,s) volgens conclusie 30, voorts omvattende de stap van het bepalen van een waarde v uitgaande van een waarde ux = (H(m)) (s)-1 mod q en een waarde u2 = (r)(s)”1 mod g volgens de regel
Figure NL9220020AC00262
waarbij de waarde y congruent is aan g- mod p en de waarde x een geheime waarde is.
34. Werkwijze voor het genereren en verifiëren van een digitale handtekening (r,s) volgens conclusie 30, voorts omvattende de stap van het berekenen van de waarde r uitgaande van een primitieve modulus p volgens de regel
Figure NL9220020AC00271
voorafgaande aan het bekend zijn van de boodschap m.
35. Werkwijze voor het genereren en verifiëren van een digitale handtekening (r,s) volgens conclusie 29, voorts omvattende de stap van het berekenen van de waarde s volgens de regel s = f(H(m)) waarbij H een hash-transformatie is voor het produceren van een getransformeerde boodschap H(m) en de waarde s alleen een functie van m is via de getransformeerde boodschap H(m).
36. Werkwijze voor het genereren en verifiëren van een digitale handtekening (r,s) volgens conclusie 35, omvattende de stap van het transformeren van de boodschap m door toepassing van een eenrichtingstransformatie H op de boodschap m.
37. Werkwijze voor het genereren en verifiëren van een digitale handtekening (r,s) volgens conclusie 30, voorts omvattende de stap van het berekenen van de waarde s volgens de regel
Figure NL9220020AC00272
waarbij de waarde x een geheime waarde is.
38. Werkwijze voor het genereren en verifiëren van een digitale handtekening (r,s) volgens conclusie 37, omvattende de stap van het bepalen van k”1 voorafgaande aan het bekend zijn van de boodschap m.
39. Werkwijze voor het genereren en verifiëren van een digitale handtekening (r,s) volgens conclusie 29, waarbij de stappen (a)-(c) worden uitgevoerd voorafgaande aan het bekend zijn van de boodschap m.
40. Werkwijze voor het genereren en verifiëren van een digitale handtekening volgens conclusie 37, omvattende de verdere stap van het verzenden van een ondertekende boodschap die is gevormd uit een boodschap m en de digitale handtekening (r,s) uitgaande van de berekende waarde van s.
41. Werkwijze voor het genereren en verifiëren van een digitale handtekening (r,s) volgens conclusie 30, waarbij de stap (g) voorts omvat de stap van het bepalen van een verificatie in overeenstemming met het bepalen of de ontvangen waarde r congruent is aan 0 mod q.
42. Werkwijze voor het genereren en verifiëren van een digitale handtekening (r,s) volgens conclusie 30, waarbij stap (g) voorts omvat de stap van het bepalen van een verificatie in overeenstemming met het bepalen of de ontvangen waarde s congruent is aan 0 mod q.
43. Werkwijze voor het genereren en verifiëren van een digitale handtekening (r,s) volgens conclusie 6, waarbij k-1 wordt bepaald voorafgaande aan het bekend zijn van de boodschap m.
44. Systeem voor het genereren en verifiëren van een digitale handtekening (r,s) volgens conclusie 20, waarbij k-1 wordt bepaald voorafgaande aan het bekend zijn van de boodschap m.
45. Systeem voor het genereren en verifiëren van een digitale handtekening (r,s) van een boodschap m, waarbij informatie wordt verzonden en ontvangen door gebruikers van het systeem, voorzien van een geheime waarde k die uniek is voor de boodschap m; een publieke waarde g; middelen voor het bepalen van de waarde r uitgaande 1. van een primitieve modulus p volgens de regel r = F(g- mod p) waarbij F een reductiefunctie is onafhankelijk van de boodschap m, middelen voor het ontvangen van een ondertekende boodschap die is gevormd uit de boodschap m en de digitale handtekening (r,s), middelen voor het terugwinnen en isoleren van g- mod p in overeenstemming met de boodschap m; vergelijkingsmiddelen voor het bepalen of de geïsoleerde g- mod p na reductie volgens de reductiefunctie F hetzelfde is als de ontvangen waarde r; verificatiemiddelen voor het bepalen of de handtekening r, s is geverifieerd in overeenstemming met de bepaling door de vergelijkingsmiddelen ; middelen voor het genereren van een verificatie-signaal in overeenstemming met de verificatie door de verifi-catiemiddelen; en middelen voor het verzenden van het verificatie- signaal.
NL929220020A 1991-07-26 1992-07-24 Algoritme voor een digitale handtekening. NL9220020A (nl)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/736,451 US5231668A (en) 1991-07-26 1991-07-26 Digital signature algorithm
US73645191 1991-07-26

Publications (1)

Publication Number Publication Date
NL9220020A true NL9220020A (nl) 1994-06-01

Family

ID=24959914

Family Applications (1)

Application Number Title Priority Date Filing Date
NL929220020A NL9220020A (nl) 1991-07-26 1992-07-24 Algoritme voor een digitale handtekening.

Country Status (12)

Country Link
US (1) US5231668A (nl)
EP (1) EP0596945A1 (nl)
JP (1) JPH07502346A (nl)
AU (1) AU2394492A (nl)
BR (1) BR9206315A (nl)
CA (1) CA2111572C (nl)
FI (1) FI940364A0 (nl)
HU (1) HUT68148A (nl)
NL (1) NL9220020A (nl)
NO (1) NO940258L (nl)
SE (1) SE9400103L (nl)
WO (1) WO1993003562A1 (nl)

Families Citing this family (204)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5271061A (en) * 1991-09-17 1993-12-14 Next Computer, Inc. Method and apparatus for public key exchange in a cryptographic system
ES2101124T3 (es) * 1991-11-05 1997-07-01 Thomson Multimedia Sa Metodo, aparatos emisor y receptor para explotacion por modulo.
US5373560A (en) * 1991-12-06 1994-12-13 Schlafly; Roger Partial modular reduction method
DE4142964C2 (de) * 1991-12-24 2003-05-08 Gao Ges Automation Org Datenaustauschsystem mit Überprüfung der Vorrichtung auf Authentisierungsstatus
US5414771A (en) * 1993-07-13 1995-05-09 Mrj, Inc. System and method for the creation of random sequences and for the cryptographic protection of communications
US5347581A (en) * 1993-09-15 1994-09-13 Gemplus Developpement Verification process for a communication system
US5432852A (en) * 1993-09-29 1995-07-11 Leighton; Frank T. Large provably fast and secure digital signature schemes based on secure hash functions
US5343527A (en) * 1993-10-27 1994-08-30 International Business Machines Corporation Hybrid encryption method and system for protecting reusable software components
FR2713420B1 (fr) * 1993-12-02 1996-01-19 Gemplus Card Int Procédé de génération de signatures DSA avec des appareils portables à bas coûts.
FR2713419B1 (fr) * 1993-12-02 1996-07-05 Gemplus Card Int Procédé de génération de signatures DSA avec des appareils portables à bas coûts.
US5588060A (en) * 1994-06-10 1996-12-24 Sun Microsystems, Inc. Method and apparatus for a key-management scheme for internet protocols
EP0693836A1 (en) * 1994-06-10 1996-01-24 Sun Microsystems, Inc. Method and apparatus for a key-management scheme for internet protocols.
US7743248B2 (en) * 1995-01-17 2010-06-22 Eoriginal, Inc. System and method for a remote access service enabling trust and interoperability when retrieving certificate status from multiple certification authority reporting components
US5748738A (en) * 1995-01-17 1998-05-05 Document Authentication Systems, Inc. System and method for electronic transmission, storage and retrieval of authenticated documents
US5615268A (en) * 1995-01-17 1997-03-25 Document Authentication Systems, Inc. System and method for electronic transmission storage and retrieval of authenticated documents
US6237096B1 (en) 1995-01-17 2001-05-22 Eoriginal Inc. System and method for electronic transmission storage and retrieval of authenticated documents
US7162635B2 (en) * 1995-01-17 2007-01-09 Eoriginal, Inc. System and method for electronic transmission, storage, and retrieval of authenticated electronic original documents
SE512279C2 (sv) * 1995-02-24 2000-02-21 Telia Ab Elektroniskt transaktionssystem
DE19513896A1 (de) * 1995-04-12 1996-10-17 Deutsche Telekom Ag Verfahren zum Signieren einer Nachricht
FR2733379B1 (fr) * 1995-04-20 1997-06-20 Gemplus Card Int Procede de generation de signatures electroniques, notamment pour cartes a puces
EP0743603B1 (en) * 1995-05-18 2002-10-02 Hewlett-Packard Company, A Delaware Corporation Integrated circuit device for use in the protection of multiple resources in an electronic assembly
DE69527773T2 (de) * 1995-05-18 2002-11-28 Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto Schaltungsanordnung zur Überwachung der Benutzung von Funktionen in einem integrierten Schaltungkreis
US5633931A (en) * 1995-06-30 1997-05-27 Novell, Inc. Method and apparatus for calculating message signatures in advance
US5625693A (en) * 1995-07-07 1997-04-29 Thomson Consumer Electronics, Inc. Apparatus and method for authenticating transmitting applications in an interactive TV system
AU758834B2 (en) * 1995-09-15 2003-04-03 Eoriginal, Inc. Document authentication system and method
US5822738A (en) 1995-11-22 1998-10-13 F.M.E. Corporation Method and apparatus for a modular postage accounting system
US5754659A (en) * 1995-12-22 1998-05-19 General Instrument Corporation Of Delaware Generation of cryptographic signatures using hash keys
US5926551A (en) * 1995-12-28 1999-07-20 International Business Machines Corporation System and method for certifying content of hard-copy documents
US5999626A (en) * 1996-04-16 1999-12-07 Certicom Corp. Digital signatures on a smartcard
US5737425A (en) * 1996-05-21 1998-04-07 International Business Machines Corporation Cryptosystem employing worst-case difficult-to solve lattice problem
KR100397601B1 (ko) * 1996-07-31 2003-10-23 삼성전자주식회사 메시지 부가형 디지털서명 방법 및 그에 대한 검증 방법
IL128552A (en) * 1996-08-19 2004-06-01 Ntru Cryptosystems Inc Method and device of a public key in a crypto system
US6724893B1 (en) 1996-10-11 2004-04-20 The United States Of America As Represented By The National Security Agency Method of passing a cryptographic key that allows third party access to the key
GB9621274D0 (en) * 1996-10-11 1996-11-27 Certicom Corp Signature protocol for mail delivery
US5881226A (en) * 1996-10-28 1999-03-09 Veneklase; Brian J. Computer security system
JPH10133576A (ja) * 1996-10-31 1998-05-22 Hitachi Ltd 公開鍵暗号方法および装置
US5903652A (en) * 1996-11-25 1999-05-11 Microsoft Corporation System and apparatus for monitoring secure information in a computer network
US6078593A (en) 1997-02-04 2000-06-20 Next Level Communications Method and apparatus for reliable operation of universal voice grade cards
US6058187A (en) * 1997-04-17 2000-05-02 At&T Corp. Secure telecommunications data transmission
US6243466B1 (en) 1997-08-29 2001-06-05 Adam Lucas Young Auto-escrowable and auto-certifiable cryptosystems with fast key generation
US6282295B1 (en) 1997-10-28 2001-08-28 Adam Lucas Young Auto-recoverable and auto-certifiable cryptostem using zero-knowledge proofs for key escrow in general exponential ciphers
US6202150B1 (en) 1997-05-28 2001-03-13 Adam Lucas Young Auto-escrowable and auto-certifiable cryptosystems
US6389136B1 (en) 1997-05-28 2002-05-14 Adam Lucas Young Auto-Recoverable and Auto-certifiable cryptosystems with RSA or factoring based keys
US6122742A (en) * 1997-06-18 2000-09-19 Young; Adam Lucas Auto-recoverable and auto-certifiable cryptosystem with unescrowed signing keys
US6212637B1 (en) * 1997-07-04 2001-04-03 Nippon Telegraph And Telephone Corporation Method and apparatus for en-bloc verification of plural digital signatures and recording medium with the method recorded thereon
DE19731304B4 (de) * 1997-07-14 2005-02-24 Francotyp-Postalia Ag & Co. Kg Verfahren zur Statistikmodusnachladung und zur statistischen Erfassung nach Statistikklassen bei der Speicherung eines Datensatzes
US6708273B1 (en) * 1997-09-16 2004-03-16 Safenet, Inc. Apparatus and method for implementing IPSEC transforms within an integrated circuit
EP0944878A4 (en) * 1997-09-22 2002-09-04 Ascom Hasler Mailing Sys Inc TECHNOLOGY FOR THE EFFECTIVE PRODUCTION OF MULTI-DIMENSIONAL SYMBOLS REPRESENTING POST INFORMATION
US20030004900A1 (en) * 1999-05-19 2003-01-02 Robert G. Schwartz Technique for effectively generating multi-dimensional symbols representing postal information
US6076163A (en) * 1997-10-20 2000-06-13 Rsa Security Inc. Secure user identification based on constrained polynomials
DE19748954A1 (de) 1997-10-29 1999-05-06 Francotyp Postalia Gmbh Verfahren für eine digital druckende Frankiermaschine zur Erzeugung und Überprüfung eines Sicherheitsabdruckes
JP4307589B2 (ja) * 1997-10-31 2009-08-05 サーティコム コーポレーション 認証プロトコル
US6424954B1 (en) 1998-02-17 2002-07-23 Neopost Inc. Postage metering system
US6269350B1 (en) 1998-07-24 2001-07-31 Neopost Inc. Method and apparatus for placing automated service calls for postage meter and base
DE69832535D1 (de) * 1998-03-18 2005-12-29 Kent Ridge Digital Labs Singap Verfahren zum austausch digitaler daten
US6505773B1 (en) * 1998-04-03 2003-01-14 International Business Machines Corporation Authenticated electronic coupon issuing and redemption
US7236610B1 (en) * 1998-04-30 2007-06-26 Fraunhofer Gesellschaft Authenticating executable code and executions thereof
US6504941B2 (en) * 1998-04-30 2003-01-07 Hewlett-Packard Company Method and apparatus for digital watermarking of images
US7039805B1 (en) 1998-05-20 2006-05-02 Messing John H Electronic signature method
US6591251B1 (en) 1998-07-22 2003-07-08 Neopost Inc. Method, apparatus, and code for maintaining secure postage data
US6243467B1 (en) 1998-07-23 2001-06-05 The United States Of America As Represented By The National Security Agency Method of elliptic curve cryptographic digital signature generation and verification using reduced base tau expansion in non-adjacent form
US6523013B2 (en) 1998-07-24 2003-02-18 Neopost, Inc. Method and apparatus for performing automated fraud reporting
US6085321A (en) * 1998-08-14 2000-07-04 Omnipoint Corporation Unique digital signature
US6615348B1 (en) 1999-04-16 2003-09-02 Intel Corporation Method and apparatus for an adapted digital signature
US6356935B1 (en) 1998-08-14 2002-03-12 Xircom Wireless, Inc. Apparatus and method for an authenticated electronic userid
US6820202B1 (en) * 1998-11-09 2004-11-16 First Data Corporation Account authority digital signature (AADS) system
US7047416B2 (en) * 1998-11-09 2006-05-16 First Data Corporation Account-based digital signature (ABDS) system
US6473508B1 (en) 1998-12-22 2002-10-29 Adam Lucas Young Auto-recoverable auto-certifiable cryptosystems with unescrowed signature-only keys
US6381589B1 (en) 1999-02-16 2002-04-30 Neopost Inc. Method and apparatus for performing secure processing of postal data
US6971027B1 (en) * 1999-04-01 2005-11-29 Veneklase Brian J Computer security system
US6178412B1 (en) * 1999-04-19 2001-01-23 Pitney Bowes Inc. Postage metering system having separable modules with multiple currency capability and synchronization
CA2285770A1 (en) * 1999-05-26 2000-11-26 Certicom Corp. Efficient digital signatures for mail systems
US7058817B1 (en) 1999-07-02 2006-06-06 The Chase Manhattan Bank System and method for single sign on process for websites with multiple applications and services
US20080082446A1 (en) * 1999-10-01 2008-04-03 Hicks Christian B Remote Authorization for Unlocking Electronic Data System and Method
US20020046195A1 (en) * 1999-11-10 2002-04-18 Neopost Inc. Method and system for providing stamps by kiosk
US20020040353A1 (en) * 1999-11-10 2002-04-04 Neopost Inc. Method and system for a user obtaining stamps over a communication network
AU1475901A (en) 1999-11-10 2001-06-06 Neopost, Inc. System and method of printing labels
ATE280418T1 (de) * 1999-11-16 2004-11-15 Neopost Inc System und verfahren zum verwalten von mehreren postalischen funktionen in einem einzigen konto
US7237116B1 (en) 2000-01-19 2007-06-26 International Business Machines Corporation Digital signature system and method based on hard lattice problem
US7076061B1 (en) 2000-02-07 2006-07-11 Citibank, N.A. Efficient and compact subgroup trace representation (“XTR”)
US20050213758A1 (en) * 2000-02-07 2005-09-29 Lenstra Arjen K Efficient and compact subgroup trace representation ("XTR")
US20040186996A1 (en) * 2000-03-29 2004-09-23 Gibbs Benjamin K. Unique digital signature
US20020016726A1 (en) * 2000-05-15 2002-02-07 Ross Kenneth J. Package delivery systems and methods
US7152047B1 (en) 2000-05-24 2006-12-19 Esecure.Biz, Inc. System and method for production and authentication of original documents
US7162035B1 (en) 2000-05-24 2007-01-09 Tracer Detection Technology Corp. Authentication method and system
US7089420B1 (en) 2000-05-24 2006-08-08 Tracer Detection Technology Corp. Authentication method and system
US7085725B1 (en) 2000-07-07 2006-08-01 Neopost Inc. Methods of distributing postage label sheets with security features
US7558965B2 (en) * 2000-08-04 2009-07-07 First Data Corporation Entity authentication in electronic communications by providing verification status of device
US6789189B2 (en) * 2000-08-04 2004-09-07 First Data Corporation Managing account database in ABDS system
US6978369B2 (en) * 2000-08-04 2005-12-20 First Data Corporation Person-centric account-based digital signature system
US7096354B2 (en) * 2000-08-04 2006-08-22 First Data Corporation Central key authority database in an ABDS system
US7552333B2 (en) * 2000-08-04 2009-06-23 First Data Corporation Trusted authentication digital signature (tads) system
US6983368B2 (en) * 2000-08-04 2006-01-03 First Data Corporation Linking public key of device to information during manufacture
US7010691B2 (en) * 2000-08-04 2006-03-07 First Data Corporation ABDS system utilizing security information in authenticating entity access
US7082533B2 (en) * 2000-08-04 2006-07-25 First Data Corporation Gauging risk in electronic communications regarding accounts in ABDS system
CA2417922C (en) * 2000-08-04 2013-03-12 Lynn Henry Wheeler Person-centric account-based digital signature system
US20020083020A1 (en) * 2000-11-07 2002-06-27 Neopost Inc. Method and apparatus for providing postage over a data communication network
KR20010008248A (ko) * 2000-11-17 2001-02-05 김태선 입증자료의 저장을 통한 인증 서비스 방법 및 시스템
FI111491B (fi) * 2000-11-28 2003-07-31 Setec Oy Avainparin generointi
DE10061665A1 (de) 2000-12-11 2002-06-20 Francotyp Postalia Gmbh Verfahren zur Ermittlung eines Erfordernis zum Austausch eines Bauteils und Anordnung zur Durchführung des Verfahrens
US20020073010A1 (en) * 2000-12-11 2002-06-13 Charles Tresser Secure electronic stocks and other titles and instruments
US20020124170A1 (en) * 2001-03-02 2002-09-05 Johnson William S. Secure content system and method
US20020138732A1 (en) * 2001-03-23 2002-09-26 Irvin David R. Methods, systems and computer program products for providing digital signatures in a network environment
DE10116703A1 (de) * 2001-03-29 2002-10-10 Francotyp Postalia Ag Verfahren zur Aufzeichnung eines Verbrauchswertes und Verbrauchszähler mit einem Meßwertgeber
US8849716B1 (en) 2001-04-20 2014-09-30 Jpmorgan Chase Bank, N.A. System and method for preventing identity theft or misuse by restricting access
EP1410289A4 (en) * 2001-04-27 2004-12-22 Massachusetts Inst Technology MICROPAYMENT TRANSACTION METHOD AND SYSTEM
US20020172363A1 (en) * 2001-05-15 2002-11-21 Dierks Timothy M. Data security on a mobile device
US7689506B2 (en) 2001-06-07 2010-03-30 Jpmorgan Chase Bank, N.A. System and method for rapid updating of credit information
US7266839B2 (en) 2001-07-12 2007-09-04 J P Morgan Chase Bank System and method for providing discriminated content to network users
DE10136608B4 (de) 2001-07-16 2005-12-08 Francotyp-Postalia Ag & Co. Kg Verfahren und System zur Echtzeitaufzeichnung mit Sicherheitsmodul
US20040128508A1 (en) * 2001-08-06 2004-07-01 Wheeler Lynn Henry Method and apparatus for access authentication entity
US7987501B2 (en) 2001-12-04 2011-07-26 Jpmorgan Chase Bank, N.A. System and method for single session sign-on
JP3709373B2 (ja) * 2001-12-19 2005-10-26 株式会社日立製作所 流量計測装置
CN1331095C (zh) * 2001-12-21 2007-08-08 皇家飞利浦电子股份有限公司 利用健壮特征增加水印的完整性
US20180165441A1 (en) 2002-03-25 2018-06-14 Glenn Cobourn Everhart Systems and methods for multifactor authentication
US8226473B2 (en) 2002-04-10 2012-07-24 Wms Gaming Inc. Gaming software authentication
US7151829B2 (en) * 2002-04-22 2006-12-19 International Business Machines Corporation System and method for implementing a hash algorithm
JP2004030102A (ja) * 2002-06-25 2004-01-29 Sony Corp 情報記憶装置、およびメモリアクセス制御システム、および方法、並びにコンピュータ・プログラム
JP4016741B2 (ja) * 2002-06-25 2007-12-05 ソニー株式会社 情報記憶装置、メモリアクセス制御システム、および方法、並びにコンピュータ・プログラム
US7024559B1 (en) 2002-06-28 2006-04-04 The United States Of America As Represented By The National Security Agency Method of elliptic curve digital signature using expansion in joint sparse form
US7062043B1 (en) 2002-06-28 2006-06-13 The United States Of America As Represented By The National Security Agency Method of elliptic curve digital signature using coefficient splitting
US8171567B1 (en) 2002-09-04 2012-05-01 Tracer Detection Technology Corp. Authentication method and system
US7320642B2 (en) * 2002-09-06 2008-01-22 Wms Gaming Inc. Security of gaming software
US20040064422A1 (en) * 2002-09-26 2004-04-01 Neopost Inc. Method for tracking and accounting for reply mailpieces and mailpiece supporting the method
US7069253B2 (en) 2002-09-26 2006-06-27 Neopost Inc. Techniques for tracking mailpieces and accounting for postage payment
US7058660B2 (en) 2002-10-02 2006-06-06 Bank One Corporation System and method for network-based project management
US8301493B2 (en) 2002-11-05 2012-10-30 Jpmorgan Chase Bank, N.A. System and method for providing incentives to consumers to share information
DE10260406B4 (de) * 2002-12-16 2007-03-08 Francotyp-Postalia Gmbh Verfahren und Anordnung zur unterschiedlichen Erzeugung kryptographischer Sicherungen von Mitteilungen in einem Hostgerät
US20040249765A1 (en) * 2003-06-06 2004-12-09 Neopost Inc. Use of a kiosk to provide verifiable identification using cryptographic identifiers
US7367889B2 (en) * 2003-06-09 2008-05-06 Wms Gaming Inc. Gaming machine having hardware-accelerated software authentication
US7600108B2 (en) * 2003-06-17 2009-10-06 Wms Gaming Inc. Gaming machine having reduced-read software authentication
US7491122B2 (en) * 2003-07-09 2009-02-17 Wms Gaming Inc. Gaming machine having targeted run-time software authentication
US7424706B2 (en) * 2003-07-16 2008-09-09 Microsoft Corporation Automatic detection and patching of vulnerable files
US20050143171A1 (en) * 2003-12-30 2005-06-30 Loose Timothy C. Gaming machine having sampled software verification
US7526643B2 (en) * 2004-01-08 2009-04-28 Encryption Solutions, Inc. System for transmitting encrypted data
US8031865B2 (en) * 2004-01-08 2011-10-04 Encryption Solutions, Inc. Multiple level security system and method for encrypting data within documents
US7752453B2 (en) * 2004-01-08 2010-07-06 Encryption Solutions, Inc. Method of encrypting and transmitting data and system for transmitting encrypted data
US7289629B2 (en) * 2004-02-09 2007-10-30 Microsoft Corporation Primitives for fast secure hash functions and stream ciphers
US20050183142A1 (en) * 2004-02-18 2005-08-18 Michael Podanoffsky Identification of Trusted Relationships in Electronic Documents
US7562052B2 (en) * 2004-06-07 2009-07-14 Tony Dezonno Secure customer communication method and system
US7490239B2 (en) * 2005-01-07 2009-02-10 First Data Corporation Facilitating digital signature based on ephemeral private key
US7593527B2 (en) * 2005-01-07 2009-09-22 First Data Corporation Providing digital signature and public key based on shared knowledge
US20060153364A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Asymmetric key cryptosystem based on shared knowledge
US20060153370A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Generating public-private key pair based on user input data
US20060153369A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Providing cryptographic key based on user input data
US20060153367A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Digital signature system based on shared knowledge
US20060156013A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Digital signature software using ephemeral private key and system
US7869593B2 (en) * 2005-01-07 2011-01-11 First Data Corporation Software for providing based on shared knowledge public keys having same private key
US7693277B2 (en) * 2005-01-07 2010-04-06 First Data Corporation Generating digital signatures using ephemeral cryptographic key
US7936869B2 (en) * 2005-01-07 2011-05-03 First Data Corporation Verifying digital signature based on shared knowledge
US8038530B2 (en) 2005-02-28 2011-10-18 Wms Gaming Inc. Method and apparatus for filtering wagering game content
KR100659607B1 (ko) * 2005-03-05 2006-12-21 삼성전자주식회사 디지털서명 생성 및 확인 방법 및 그 장치
US7869590B2 (en) * 2005-04-12 2011-01-11 Broadcom Corporation Method and system for hardware accelerator for implementing f9 integrity algorithm in WCDMA compliant handsets
WO2007027427A2 (en) * 2005-08-29 2007-03-08 Wms Gaming Inc. On-the-fly encryption on a gaming machine
US7651593B2 (en) 2005-12-19 2010-01-26 Commvault Systems, Inc. Systems and methods for performing data replication
ES2582364T3 (es) 2005-12-19 2016-09-12 Commvault Systems, Inc. Sistemas y métodos para realizar replicación de datos
US7606844B2 (en) 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
US8655850B2 (en) 2005-12-19 2014-02-18 Commvault Systems, Inc. Systems and methods for resynchronizing information
US7805479B2 (en) * 2006-03-28 2010-09-28 Michael Andrew Moshier Scalable, faster method and apparatus for montgomery multiplication
US8341416B2 (en) * 2006-05-21 2012-12-25 International Business Machines Corporation Assertion message signatures
US8726242B2 (en) * 2006-07-27 2014-05-13 Commvault Systems, Inc. Systems and methods for continuous data replication
US20090132813A1 (en) * 2007-11-08 2009-05-21 Suridx, Inc. Apparatus and Methods for Providing Scalable, Dynamic, Individualized Credential Services Using Mobile Telephones
US7995196B1 (en) 2008-04-23 2011-08-09 Tracer Detection Technology Corp. Authentication method and system
GB0811210D0 (en) * 2008-06-18 2008-07-23 Isis Innovation Improvements related to the authentication of messages
WO2009158538A1 (en) 2008-06-27 2009-12-30 Wms Gaming, Inc. Authenticating components in wagering game systems
US9495382B2 (en) 2008-12-10 2016-11-15 Commvault Systems, Inc. Systems and methods for performing discrete data replication
US8204859B2 (en) 2008-12-10 2012-06-19 Commvault Systems, Inc. Systems and methods for managing replicated database data
WO2011017099A2 (en) * 2009-07-27 2011-02-10 Suridx, Inc. Secure communication using asymmetric cryptography and light-weight certificates
US20110167258A1 (en) * 2009-12-30 2011-07-07 Suridx, Inc. Efficient Secure Cloud-Based Processing of Certificate Status Information
US8504517B2 (en) 2010-03-29 2013-08-06 Commvault Systems, Inc. Systems and methods for selective data replication
US8504515B2 (en) 2010-03-30 2013-08-06 Commvault Systems, Inc. Stubbing systems and methods in a data replication environment
US8725698B2 (en) 2010-03-30 2014-05-13 Commvault Systems, Inc. Stub file prioritization in a data replication system
WO2011150391A1 (en) 2010-05-28 2011-12-01 Commvault Systems, Inc. Systems and methods for performing data replication
JP5578553B2 (ja) * 2010-06-02 2014-08-27 独立行政法人産業技術総合研究所 公開鍵暗号技術におけるドメインパラメータの生成
US10375107B2 (en) * 2010-07-22 2019-08-06 International Business Machines Corporation Method and apparatus for dynamic content marking to facilitate context-aware output escaping
US8775794B2 (en) 2010-11-15 2014-07-08 Jpmorgan Chase Bank, N.A. System and method for end to end encryption
US8782397B2 (en) * 2011-01-06 2014-07-15 International Business Machines Corporation Compact attribute for cryptographically protected messages
FR2974916A1 (fr) 2011-05-05 2012-11-09 Altis Semiconductor Snc Dispositif et procede de multiplication rapide
JP5734095B2 (ja) * 2011-05-30 2015-06-10 三菱電機株式会社 端末装置およびサーバ装置および電子証明書発行システムおよび電子証明書受信方法および電子証明書送信方法およびプログラム
GB2491896A (en) 2011-06-17 2012-12-19 Univ Bruxelles Secret key generation
US8949954B2 (en) 2011-12-08 2015-02-03 Uniloc Luxembourg, S.A. Customer notification program alerting customer-specified network address of unauthorized access attempts to customer account
AU2012100460B4 (en) 2012-01-04 2012-11-08 Uniloc Usa, Inc. Method and system implementing zone-restricted behavior of a computing device
AU2012100462B4 (en) 2012-02-06 2012-11-08 Uniloc Usa, Inc. Near field authentication through communication of enclosed content sound waves
US8627097B2 (en) 2012-03-27 2014-01-07 Igt System and method enabling parallel processing of hash functions using authentication checkpoint hashes
US9673983B2 (en) * 2012-09-14 2017-06-06 Qualcomm Incorporated Apparatus and method for protecting message data
AU2013100355B4 (en) 2013-02-28 2013-10-31 Netauthority, Inc Device-specific content delivery
EP3087771B1 (en) 2013-12-27 2020-06-17 Abbott Diabetes Care, Inc. Systems, devices, and methods for authentication in an analyte monitoring environment
US9621525B2 (en) * 2014-06-02 2017-04-11 Qualcomm Incorporated Semi-deterministic digital signature generation
CN104243456B (zh) * 2014-08-29 2017-11-03 中国科学院信息工程研究所 适用于云计算的基于sm2算法的签名及解密方法和系统
WO2016155565A1 (en) 2015-03-30 2016-10-06 Jintai Ding Improvements on multivariate digital signature schemes based on hfev- and new applications of multivariate digital signature schemes for white-box encryption
US20160355043A1 (en) * 2015-06-03 2016-12-08 Yxcorp14 Inc. System and method for production and verification of counterfeit-protected banknotes
JP6527090B2 (ja) 2016-02-01 2019-06-05 株式会社日立製作所 ユーザ許可の確認システム
EP3214567B1 (en) * 2016-03-01 2020-02-19 Siemens Aktiengesellschaft Secure external update of memory content for a certain system on chip
US10788229B2 (en) 2017-05-10 2020-09-29 Johnson Controls Technology Company Building management system with a distributed blockchain database
US20190026749A1 (en) 2017-07-18 2019-01-24 Eaton Corporation Security tag and electronic system usable with molded case circuit breakers
WO2019089269A1 (en) 2017-10-31 2019-05-09 Carbon, Inc. Efficient surface texturing of objects produced by additive manufacturing
US11562073B2 (en) 2018-11-28 2023-01-24 The Boeing Company Systems and methods of software load verification
US10826598B1 (en) * 2019-07-10 2020-11-03 Eagle Technology, Llc Satellite communication system having mitigation action for rain fade and associated method
US11042318B2 (en) 2019-07-29 2021-06-22 Commvault Systems, Inc. Block-level data replication
CN110517147B (zh) * 2019-08-30 2023-04-14 深圳市迅雷网络技术有限公司 交易数据处理方法、装置、系统及计算机可读存储介质
CN113442597B (zh) 2019-12-31 2022-12-23 极海微电子股份有限公司 耗材芯片和耗材芯片的响应方法、耗材盒及存储介质
US12045351B2 (en) 2020-04-24 2024-07-23 Dell Products L.P. System and method of authenticating firmware
US11809285B2 (en) 2022-02-09 2023-11-07 Commvault Systems, Inc. Protecting a management database of a data storage management system to meet a recovery point objective (RPO)
US12056018B2 (en) 2022-06-17 2024-08-06 Commvault Systems, Inc. Systems and methods for enforcing a recovery point objective (RPO) for a production database without generating secondary copies of the production database

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200770A (en) * 1977-09-06 1980-04-29 Stanford University Cryptographic apparatus and method
US4218582A (en) * 1977-10-06 1980-08-19 The Board Of Trustees Of The Leland Stanford Junior University Public key cryptographic apparatus and method
US4405829A (en) * 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
US4424414A (en) * 1978-05-01 1984-01-03 Board Of Trustees Of The Leland Stanford Junior University Exponentiation cryptographic apparatus and method
US4641346A (en) * 1983-07-21 1987-02-03 Pitney Bowes Inc. System for the printing and reading of encrypted messages
FR2596177B1 (fr) * 1986-03-19 1992-01-17 Infoscript Procede et dispositif de sauvegarde qualitative de donnees numerisees
US4748668A (en) * 1986-07-09 1988-05-31 Yeda Research And Development Company Limited Method, apparatus and article for identification and signature
US4881264A (en) * 1987-07-30 1989-11-14 Merkle Ralph C Digital signature system and method based on a conventional encryption function
US4933970A (en) * 1988-01-19 1990-06-12 Yeda Research And Development Company Limited Variants of the fiat-shamir identification and signature scheme
US5005200A (en) * 1988-02-12 1991-04-02 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
EP0383985A1 (de) * 1989-02-24 1990-08-29 Claus Peter Prof. Dr. Schnorr Verfahren zur Identifikation von Teilnehmern sowie zur Generierung und Verifikation von elektronischen Unterschriften in einem Datenaustauschsystem

Also Published As

Publication number Publication date
WO1993003562A1 (en) 1993-02-18
US5231668A (en) 1993-07-27
EP0596945A1 (en) 1994-05-18
CA2111572A1 (en) 1993-02-18
BR9206315A (pt) 1995-04-04
SE9400103D0 (sv) 1994-01-17
JPH07502346A (ja) 1995-03-09
AU2394492A (en) 1993-03-02
CA2111572C (en) 1999-01-05
FI940364A (fi) 1994-01-25
SE9400103L (sv) 1994-03-17
FI940364A0 (fi) 1994-01-25
HUT68148A (en) 1995-05-29
NO940258D0 (no) 1994-01-25
NO940258L (no) 1994-01-25
HU9400228D0 (en) 1994-05-30

Similar Documents

Publication Publication Date Title
NL9220020A (nl) Algoritme voor een digitale handtekening.
US11895231B2 (en) Adaptive attack resistant distributed symmetric encryption
CA2228958C (en) Data card verification system
EP0786178B1 (en) Secret-key certificates
JP2666191B2 (ja) データ交換システムにおける加入者相互のアイデンテイフイケーシヨンならびに署名の発生および確認のための方法
CN110545279A (zh) 兼具隐私和监管功能的区块链交易方法、装置及系统
US6122742A (en) Auto-recoverable and auto-certifiable cryptosystem with unescrowed signing keys
TW201320700A (zh) 署名驗證裝置、署名驗證方法、程式及記錄媒體
US6345098B1 (en) Method, system and apparatus for improved reliability in generating secret cryptographic variables
EP4136800A1 (en) Generating secret shares
US20150006900A1 (en) Signature protocol
Huang et al. Partially blind ECDSA scheme and its application to bitcoin
KR20230002941A (ko) 비밀 공유를 갖는 (ec)dsa 임계값 서명
EP4423961A1 (en) Generating shared keys
WO2016187689A1 (en) Signature protocol
US7519178B1 (en) Method, system and apparatus for ensuring a uniform distribution in key generation
Khovratovich et al. Tornado Privacy Solution. Cryptographic Review. Version 1.1
Ergezer et al. A Survey on Threshold Signature Schemes
Zahhafi et al. A DSA-like digital signature protocol
Longmate et al. Signing information in the quantum era
Farsi Digital Cash
Feng Cryptography and Its Role in Blockchain
Itoh et al. Proposal of a fast public key cryptosystem
GB2606169A (en) Nested threshold signatures
CA2892318C (en) Signature protocol

Legal Events

Date Code Title Description
BV The patent application has lapsed