DE60220918T2 - Verfahren zur ausführung einer kryptographischen berechnung unter verwendung eines öffentlichen schlüssels - Google Patents

Verfahren zur ausführung einer kryptographischen berechnung unter verwendung eines öffentlichen schlüssels Download PDF

Info

Publication number
DE60220918T2
DE60220918T2 DE60220918T DE60220918T DE60220918T2 DE 60220918 T2 DE60220918 T2 DE 60220918T2 DE 60220918 T DE60220918 T DE 60220918T DE 60220918 T DE60220918 T DE 60220918T DE 60220918 T2 DE60220918 T2 DE 60220918T2
Authority
DE
Germany
Prior art keywords
integer
entity
digital processing
public key
modulo
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
DE60220918T
Other languages
English (en)
Other versions
DE60220918D1 (de
Inventor
Marc Girault
Jean-Claude Pailles
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
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 France Telecom SA filed Critical France Telecom SA
Application granted granted Critical
Publication of DE60220918D1 publication Critical patent/DE60220918D1/de
Publication of DE60220918T2 publication Critical patent/DE60220918T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • 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
    • H04L9/3249Cryptographic 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 using RSA or related signature schemes, e.g. Rabin scheme
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

  • Das Gebiet der Erfindung ist dasjenige der Kryptographie. Die Kryptographie findet ihre Anwendung bei der Sicherung von Transaktionen zwischen zwei oder mehr Entitäten. Unter diesen Anwendungen findet man Verfahren der Mitteilungsverschlüsselung, der Identifizierung, der elektronischen Signatur oder auch der Mitteilungs-Authentifizierung. Ein Verschlüsselungsverfahren besteht hauptsächlich darin, eine Mitteilung so zu verschlüsseln, dass nur der Empfänger sie entschlüsseln kann, um sie zu lesen. Ein Identifizierungsverfahren besteht hauptsächlich darin, die Identität einer sendenden Entität zu verifizieren. Ein elektronisches Signaturverfahren besteht hauptsächlich darin, zu verifizieren, ob eine Mitteilung so ist, wie sie von einer Entität signiert wurde, die sie erzeugt hat. Ein Mitteilungs-Authentifizierungsverfahren besteht hauptsächlich darin, zu verifizieren, ob eine empfangene Mitteilung tatsächlich von einer sendenden Entität bekannter Identität gesendet wurde.
  • Genauer gesagt, ist das Gebiet der Erfindung dasjenige der so genannten Kryptographie mit öffentlichem Schlüssel. Es sind zum Beispiel kryptographische Verfahren bekannt, bei denen eine erste Entität, oft als Beweiser bezeichnet, heimlich erste digitale Operationen mittels eines privaten Schlüssels durchführt, dem ein öffentlicher Schlüssel zugeordnet ist. Eines oder mehrere Ergebnisse dieser Operationen werden an eine zweite Entität, oft als Verifizierer bezeichnet, übertragen. Der Verifizierer führt dann mittels des öffentlichen Schlüssels zweite Operationen durch, die verifizieren, ob die ersten Operationen tatsächlich mittels des privaten Schlüssels durchgeführt wurden. Diese Verfahren sind nützlich, um Mitteilungen zu signieren oder zu authentifizieren, oder auch um die erste Entität zu authentifizieren, in diesem letzteren Fall spricht man von Identifizierung.
  • Umgekehrt sind auch kryptographische Verfahren bekannt, bei denen die zweite Entität damit beginnt, eine Mitteilung mittels des öffentlichen Schlüssels zu verschlüsseln. Nur die erste Entität, die den zugeordneten privaten Schlüssel besitzt, kann dann die Mitteilung entschlüsseln.
  • Bei den kryptographischen Verfahren mit Null Wissen oder ohne Hinzufügung von Wissen (zero knowledge) läuft eine Verifizierung gemäß einem Protokoll ab, das in bewiesener Weise und unter Hypothesen, die von der Wissenschaftsgemeinschaft als absolut vernünftig anerkannt werden, nichts über den privaten Schlüssel preisgibt.
  • Unter den bekannten Verfahren, bei denen die Erfindung Anwendung findet, können diejenigen erwähnt werden, die auf dem Algorithmus RSA (Rivest, Shamir, Adleman) oder auf dem so genannten Problem des diskreten Logarithmus beruhen.
  • Die Kryptographie mit öffentlichem Schlüssel ist besonders nützlich zum Beispiel für die elektronische Zahlung, durch Bankkarte oder elektronisches Portemonnaie. Im Fall der Präsenzzahlung muss das Zahlungsterminal sich sowohl an einem öffentlichen Ort befinden, was dazu verleitet, Kryptographieverfahren mit öffentlichem Schlüssel zu verwenden, und billig sein, was dazu verleitet, Chips mit begrenzten Rechenkapazitäten zu verwenden. Bei der Online-Zahlung kann der Server des Händlers oder der Zahlungsserver (oder auch der Vermittlungsserver) manchmal gezwungen sein, eine große Anzahl von Verifizierungen gleichzeitig durchzuführen. In beiden Fällen ist es wünschenswert, eine Lösung zu finden, die es ermöglicht, die Verifizierungsaufgabe zu erleichtern, d.h. die kryptographische Aufgabe, die den öffentlichen Schlüssel verwendet.
  • In bekannter Weise beruht die Kryptographie mit öffentlichem Schlüssel auf der Schwierigkeit gemäß der Theorie der ganzen Zahlen, eine inverse Funktion in einer Manipulation von sehr großen ganzen Zahlen wiederzufinden. Der Nachteil ist es, dass, um einen ausreichenden Sicherheitsgrad zu garantieren, die Verwendung des öffentlichen Schlüssels allgemein eine beträchtliche Menge von Multiplikationen und euklidischen Divisionen durch große Zahlen erfordert, welche Operationen in entsprechender Menge Rechenressourcen verbrauchen.
  • Man kann in Betracht ziehen, die Verifizierungsebene in Abhängigkeit von verschiedenen Beurteilungskriterien, wie eine Auswertung der mehr oder weniger hohen Arbeitslast des Verifizierers, zu modulieren. Das Problem dieser Lösung ist es, dass die Überzeugung, die dieser Verifizierung zugeteilt werden kann, in den gleichen Anteilen moduliert wird. Manche Anwendungen erfordern aber, dass man der Verifizierung eine starke Überzeugung zuteilen kann.
  • In jüngerer Zeit hat das Dokument KAWAMURA S. I. et al.: "Fast served-aided secret computation protocols for modular exponentiation" IEEE Journal an selected areas in communications, IEEE INC. New York, U.S., Vol. 11, Nr. 5, 1. Juni 1993 (1993-06-01), Seiten 778–784, ein Verfahren zur Durchführung einer kryptographischen Aufgabe mittels eines privaten Schlüssels, den ein Kunde besitzt, und mittels eines öffentlichen Schlüssels offenbart, den ein Server besitzt. Da der Server über leistungsfähigere Rechenmittel verfügt als der Kunde, unterstützt er diesen letzteren bei seiner Exponentierungs-Aufgabe, indem er es dem Kunden erlaubt, seinen privaten Schlüssel geheim zu halten.
  • Dieser Betriebsmodus erlaubt nicht die Anwendung einer wirklichen Aufgabe-Delegierung, abgesehen von einer Bereitstellung einer Rechenressource zu Gunsten der am wenigsten leistungsfähigen Einrichtung.
  • Die vorliegende Erfindung hat zum Gegenstand, die erwähnten Nachteile des Stands der Technik zu beheben.
  • Es ist ein erster Gegenstand der Erfindung, die Aufgabe des Verifizierers in den Verifizierungsprotokollen zu erleichtern, indem die Menge von durchzuführenden Berechnungen reduziert wird, ohne dadurch den Überzeugungsgrad dieses letzteren bezüglich der Authentizität der sendenden Entität oder der von dieser Entität gesendeten Daten zu verringern.
  • Es ist ein zweiter Gegenstand der Erfindung, die Durchführung von Transaktionen in reduzierter Zeit mit Mikroschaltungen mit begrenzten Kapazitäten zu ermöglichen.
  • Hierzu betrifft die Erfindung ein Verfahren zur Durchführung einer kryptographischen Aufgabe mittels eines öffentlichen Schlüssels an mindestens einem digitalen Datenwert, der zwischen einer ersten Entität, die mit einem privaten Schlüssel versehen ist, und einer zweiten Entität ausgetauscht wird. Das Verfahren ist dadurch gekennzeichnet, dass die kryptographische Aufgabe in mindestens zwei Schritte zerlegt wird:
    • – einen von einer Zwischen-Entität ausgeführten ersten Schritt, der den digitalen Datenwert mittels des ganzen oder eines Teils des öffentlichen Schlüssels einer offenen digitalen Verarbeitung unterzieht, um ein Teilbild des Datenwerts zu erhalten;
    • – einen von der zweiten Entität ausgeführten zweiten Schritt, der das Teilbild mittels des ganzen oder eines Teils des öffentlichen Schlüssels einer öffentlichen digitalen Verarbeitung unterzieht, um die kryptographische Aufgabe am Datenwert zu vervollständigen.
  • Dieses Verfahren ermöglicht es dem aus der zweiten Entität bestehenden Verifizierer, seine eigene Arbeitslast zu reduzieren, indem er einen Teil an die Zwischen-Entität delegiert, die entweder mit größeren Rechenmitteln versehen ist als diejenigen, über die der Verifizierer verfügt, oder an weniger Transaktionen teilnimmt als der Verifizierer.
  • Die digitale Verarbeitung ist insofern offen, als sie frei zugänglich ist. Die Zwischen-Entität muss aus Sicht des Verifizierers keine Vertrauens-Entität sein, da diese nur teilweise auf die kryptographischen Aufgabe mittels des öffentlichen Schlüssels einwirkt und zu einem Scheitern der kryptographischen Aufgabe führen würde, wenn die Zwischen-Entität das Teilbild verfälschen würde, wobei die zweite Entität diejenige ist, die die kryptographische Aufgabe beendet. Wenn die kryptographische Aufgabe eine Verifizierung ist, endet sie durch Ja oder durch Nein, je nachdem, ob die Verifizierung bestätigt oder widerlegt wird. In diesem Fall kann die Zwischen-Entität ein Nein nicht in ein Ja umwandeln. Die Austauschvorgänge mit der Zwischen-Entität können in einer offenen Welt durchgeführt werden, da der erste Schritt mittels des ganzen oder eines Teils des öffentlichen Schlüssels ausgeführt wird und der Datenwert, der der offenen digitalen Verarbeitung unterzogen wird, auch der geheimen digitalen Verarbeitung durch die erste Entität unterzogen wird.
  • Vorteilhafterweise ist das Verfahren dadurch gekennzeichnet, dass die Zwischen-Entität sich in einer physikalischen Ausrüstung befindet, die sich von einer physikalischen Ausrüstung unterscheidet, in der sich die zweite Entität befindet.
  • Die zweite Entität kann dann den von der ersten Entität empfangenen Datenwert an eine beliebige leistungsfähige Informatik-Ausrüstung weiterleiten, in der die Zwischen-Entität untergebracht ist, wobei die Informatik-Ausrüstung das Teilbild an die zweite Entität zurückschickt. In einem offenen Netz ist die Zwischen-Entität in einem Vertretungsserver (Proxy-Server) untergebracht, der direkt den Datenwert von der ersten Entität empfängt.
  • Weiter vorteilhafterweise, wenn die zweite Entität dazu gebracht werden kann, mehrere kryptographische Aufgaben für mehrere erste Entitäten auszuführen, ist das Verfahren dadurch gekennzeichnet, dass die Zwischen-Entität sich in einer physikalischen Ausrüstung befindet, in der sich die erste Entität befindet.
  • Die Tatsache, dass ein Teil der Arbeitslast vom Verifizierer zum Beweiser ohne Veränderung der Sicherheitseigenschaften übertragen wird, läuft darauf hinaus, eine besondere Variante des Anfangsprotokolls zu spezifizieren.
  • Genauer gesagt, ist das Verfahren dadurch gekennzeichnet, dass die kryptographische Aufgabe aus einer Identifizierung der ersten Entität durch die zweite Entität besteht, wobei der Datenwert eine erste ganze Zahl ist, die, indem sie einer geheimen digitalen Verarbeitung in der ersten Entität unterzogen wird, eine zweite ganze Zahl ergibt, die gesendet wird, und mittels des privaten Schlüssels und einer dritten ganzen Zahl, die von der zweiten Entität empfangen wird, die die zweite ganze Zahl empfangen hat, eine vierte ganze Zahl ergibt, und dass:
    • - die offene digitale Verarbeitung hauptsächlich darin besteht, die vierte ganze Zahl mittels des ersten Teils des öffentlichen Schlüssels in eine fünfte ganze Zahl umzuwandeln;
    • - die öffentliche digitale Verarbeitung hauptsächlich darin besteht, die fünfte ganze Zahl mittels des zweiten Teils des öffentlichen Schlüssels umzuwandeln, um einen Wert zu erhalten, der auf eine Identifizierung der ersten Entität zu schließt, wenn der Wert gleich der zweiten ganzen Zahl ist.
  • Anders ist das Verfahren genauer dadurch gekennzeichnet, dass die kryptographische Aufgabe aus einer Verifizierung einer elektronischen Signatur besteht, wobei der digitale Datenwert eine Zahl ist, die, wenn sie in der ersten Entität mittels des privaten Schlüssels einer geheimen digitalen Verarbeitung unterzogen wird, eine Signatur ergibt, und dass:
    • – die offene digitale Verarbeitung hauptsächlich darin besteht, die Signatur mittels eines ersten Teils des öffentlichen Schlüssels in ein Teil-Signaturbild umzuwandeln;
    • – die öffentliche digitale Verarbeitung hauptsächlich darin besteht, das Teil-Signaturbild mittels eines zweiten Teils des öffentlichen Schlüssels umzuwandeln, um einen Wert zu erhalten, der auf eine gültige Signatur schließt, wenn der Wert gleich der Zahl ist.
  • Noch anders ist das Verfahren insbesondere dadurch gekennzeichnet, dass die kryptographische Aufgabe aus einer Mitteilungs-Authentifizierung einer von der ersten Entität gesendeten Mitteilung durch die zweite Entität besteht, wobei der digitale Datenwert eine erste ganze Zahl ist, die, wenn sie in der ersten Entität einer geheimen digitalen Verarbeitung unterzogen wurde, eine zweite ganze Zahl ergibt, die einer Zerhackerfunktion in Kombination mit der Mitteilung unterzogen wird, um eine dritte ganze Zahl zu erhalten, wobei die Mitteilung und die dritte ganze Zahl gesendet werden, wobei die erste ganze Zahl, die der geheimen digitalen Verarbeitung in der ersten Entität mittels des privaten Schlüssels und einer vierten ganzen Zahl unterzogen wurde, die von der zweiten Entität empfangen wird, die die dritte ganze Zahl empfangen hat, eine fünfte ganze Zahl ergibt, und dass:
    • – die offene digitale Verarbeitung hauptsächlich darin besteht, die fünfte ganze Zahl mittels des ganzen oder eines Teils des öffentlichen Schlüssels in eine sechste ganze Zahl umzuwandeln;
    • – die öffentliche digitale Verarbeitung hauptsächlich darin besteht, die sechste ganze Zahl mittels des ganzen oder eines Teils des öffentlichen Schlüssels umzuwandeln, um einen ersten Wert zu erhalten, der, wenn er der Zerhackerfunktion in Kombination mit der Mitteilung unterzogen wird, einen zweiten Wert ergibt, der auf eine gültige Mitteilungs-Authentifizierung schließt, wenn der Wert gleich der dritten ganzen Zahl ist.
  • Weitere Einzelheiten und Vorteile der Erfindung werden besser verständlich ausgehend von Anwendungsbeispielen, deren Beschreibung unter Bezugnahme auf die beiliegenden Zeichnungen nun folgt. Es zeigen:
  • 1 ein Anwendungsbeispiel der Erfindung in einem elektronischen Signaturverfahren;
  • die 2 bis 4 Anwendungsbeispiele der Erfindung in einem Identifizierungsverfahren;
  • 5 ein Anwendungsbeispiel der Erfindung in einem Authentifizierungsverfahren.
  • 1 zeigt ein erstes Anwendungsbeispiel der Erfindung in einem elektronischen Signaturverfahren. Das elektronische Signaturverfahren verwendet zum Beispiel den Signaturalgorithmus RSA, der von Rivest, Shamir und Adleman ("A method for obtaining digital signatures and public-key cryptosystems", CACM, Vol. 21, Nr. 2, Feb. 1978, pp. 120–126) beschrieben wird. In bekannter Weise beruht der Algorithmus RSA auf der Verwendung eines privaten Schlüssels s und eines öffentlichen Schlüssels, der von einem Paar (n, v) gebildet wird, wobei n im Allgemeinen das Produkt von zwei geheim gehaltenen Primzahlen p und q und v eine Primzahl bezüglich des Produkts (p – 1)(q – 1) ist.
  • In digitaler Form wird eine aus einer Binärfolge bestehende Mitteilung m aus diesem Grund als eine ganze Zahl betrachtet. In einem Schritt 1, um eine Mitteilung m elektronisch zu signieren, wendet eine erste Entität A allgemein eine Zerhackerfunktion H an die Mitteilung m und dann eine Formatierung des Ergebnisses der Zerhackerfunktion an, um eine ganze Zahl m* kleiner als n zu erhalten. Die Formatierung besteht allgemein darin, Bits nicht alle ungleich Null zum Binärwort hinzuzufügen, das aus der Zerhackerfunktion resultiert, damit die ganze Zahl mit einer Menge von Bits gleich derjenigen codiert wird, die die Zahl n codiert.
  • Die Entität A erzeugt anschließend eine elektronische Signatur z gleich einer Potenz s Moduln n der ganzen Zahl m*. Die elektronische Signatur z ist also eine ganze Zahl gleich dem Rest der euklidischen Division der ganzen Zahl m* potenziert mit s durch die Zahl n. Da die Zahl n sehr groß ist und nur die Entität A den Wert s kennt, ist es einer anderen Entität als A praktisch unmöglich, eine ganze Zahl z zu erzeugen, die die folgende Formel bestätigt: z = (m*)s(Modulo n)
  • Der Schritt 1 endet im Senden der Mitteilung m und ihrer elektronischen Signatur z.
  • Ein Empfang der Mitteilung m und ihrer Signatur z durch eine zweite Entität B validiert einen Übergang 2, der einen Schritt 3 aktiviert. Im Schritt 3 wendet die Entität B die Zerhackerfunktion H an die Mitteilung m an, um wieder lokal die Zahl m* zu erhalten.
  • Erfindungsgemäß zerlegt ein Schritt 4 den Wert v des öffentlichen Schlüssels in eine Form: a·b + c = vin der die ganzen Zahlen a und b strikt größer als 1 sind. Die ganze Zahl c ist zum Beispiel der Rest, wenn er existiert, einer euklidischen Division von v durch b.
  • Ein Empfang der Signatur z durch eine Zwischen-Entität C validiert einen Übergang 5, der einen Schritt 6 aktiviert. Im Schritt 6 erzeugt die Entität C einen Teil-Signaturwert z' gleich einer Potenz a der Signatur z Modulo n. Der Schritt 6 endet durch das Senden des Teil-Signaturwerts z' und ggf. durch das Senden der Werte von ganzen Zahlen b und c.
  • Ein Empfang des Teil-Signaturwerts z' und der Werte b und c durch die Entität B validiert einen Übergang 7, der einen Schritt 8 aktiviert. Im Schritt 8 erzeugt die Entität B eine ganze Zahl z gleich dem Produkt Modulo n aus dem Teil-Signaturwert z' potenziert mit b und dem Signaturwert z potenziert mit c. Hier wird die übliche Regel verwendet, die darin besteht, eine Potenz mit einem Exponent Null als gleich dem Einheitswert zu definieren.
  • Dann testet die Entität B im Schritt 8, ob die ganze Zahl z'' gleich der ganzen Zahl m* ist. Wenn dies der Fall ist, ist die empfangene Mitteilung m tatsächlich diejenige, die von der Entität A signiert wurde.
  • Da nämlich bekannt ist, dass der Rest einer Division durch n eines Produkts von zwei Divisionsresten durch n von zwei ganzen Zahlen gleich dem Rest der Division durch n des Produkts dieser zwei ganzen Zahlen ist, hat man: [(z')b·(z)c](Modulo n) = [(z')b(Modulo n)·(z)c(Modulo n)](Modulo n) = [(z)a·b(Modulo n)·(z)c(Modulo n)](Modulo n) = [(Z)a·b·(Z)c](Modulo n) = [(z)a·b+c](Modulo n)und folglich: z'' = (z)v(Modulo n)
  • Die Zwischen-Entität C muss keine Vertrauens-Entität sein, da die Sicherheit nur wenig oder gar nicht wahrscheinlich vom Schritt 6 verändert wird. Es ist nämlich praktisch unmöglich, für einen Wert von m* eine derartige Zahl z' zu finden, dass ihre Potenzierung mit b es erlaubt, einen Wert von z'' gleich m* anders als durch Erheben des Signaturwerts z in die Potenz a Modulo n zu finden.
  • Im unter Bezug auf 1 beschriebenen Anwendungsbeispiel ist die von der Entität B ausgeführte kryptographische Aufgabe eine Verifizierung der Tatsache, ob die empfangene Mitteilung m tatsächlich von der Entität A signiert wurde. Die Verifizierung ist positiv, wenn die Erhebung der Signatur z in die Potenz v Modulo n gleich der Zahl m* ist. Die Rechenzeit einer Erhebung in die Potenz v ist im Wesentlichen proportional zur Größe von v in Bits. Die kryptographische Aufgabe, und genauer die Berechnung der Erhebung in die Potenz v, ist hier auf die Schritte 6 und 8 verteilt.
  • Die Zwischen-Entität C führt im Schritt 6 einen Teil der Berechnung der Erhebung der Signatur z in die Potenz v durch. Die Entität B führt im Schritt 8 den komplementären Teil der Berechnung der Erhebung der Signatur z in die Potenz v durch. Die von der Entität B ausgeführte Rechenzeit ist im Wesentlichen proportional zu b + c. So wird die für die Entität B notwendige Rechenleistung durch Division durch einen Faktor a wesentlich reduziert. Die für die Entität B notwendige Rechenleistung wird noch reduziert, wenn die Zahl c Null ist. Dies ist der Fall, wenn es möglich ist, die Zahl v in ein Produkt von zwei ganzen Zahlen a und b zu zerlegen.
  • Die in 1 dargestellte Entität C führt den Schritt 4 und dann den Schritt 6 nach der Validierung des Übergangs 5 aus. Der Schritt 4 muss nicht bei jeder Sendung einer Mitteilung m mit ihrer Signatur z ausgeführt werden. Für einen gegebenen Wert von v können die Zahlen a, b und c, wenn c ungleich Null ist, ein für alle Mal berechnet werden, ggf. unabhängig von den Entitäten A, B und C. Die Entität C muss dann nur die Zahl a kennen. Die Entität B muss dann nur die Zahl b und die Zahl c kennen, wenn diese ungleich Null ist. In diesem Fall werden die Zahlen b und c im Schritt 6 nicht gesendet, und der Übergang 7 wird durch den einfachen Empfang des Teil-Signaturwerts z' validiert.
  • Vorteilhafterweise befindet sich die Entität C in einer anderen physikalischen Ausrüstung als diejenige, in der sich die Entität B befindet. So kann die physikalische Ausrüstung, in der sich die Entität B befindet, über reduzierte Rechenmittel im Vergleich mit denjenigen verfügen, über die sie verfügen müsste, wenn die Entität B die Gesamtheit der kryptographischen Aufgabe durchführen würde.
  • Die Entität C kann sich in einer anderen physikalischen Ausrüstung als diejenige befinden, in der sich die Entität A befindet, oder in der gleichen physikalischen Ausrüstung wie die Entität A befinden.
  • Wenn die Entitäten A und C sich in der gleichen physikalischen Ausrüstung befinden, werden die Werte der Zahlen a, b und ggf. c in dieser physikalischen Ausrüstung gespeichert. Wenn c ungleich Null ist, sendet die physikalische Ausrüstung, in der sich die Entitäten A und C befinden, die Mitteilung m, die Signatur z, die Teilsignatur z' und die Zahlen b und c. Wenn c Null ist, sendet die physikalische Ausrüstung, in der sich die Entitäten A und C befinden, die Mitteilung m, die Teilsignatur z' und die Zahl b.
  • Das soeben unter Bezug auf 1 beschriebene Anwendungsbeispiel bezieht sich auf die Verifizierung jeder von einer beliebigen Entität signierten Mitteilung.
  • Es ist außerdem vorteilhaft, die Verifizierung eines Zertifikats eines öffentlichen Schlüssels (n, v) eines Beweisers zu beschleunigen. Ein Zertifikat ist eine elektronische Signatur, die von einer Zertifizierungsstelle berechnet wird und die Identität und den öffentlichen Schlüssel des Beweisers betrifft, wodurch sie miteinander in einer Weise verbunden werden, die von einer beliebigen anderen Entität verifiziert werden kann, wenn diese letztere einen öffentlichen Verifizierungsschlüssel von der Zertifizierungsstelle besitzt.
  • Wenn dieses Zertifikat auch mit dem Algorithmus RSA berechnet wird, ermöglicht die oben erläuterte Zerlegung einer kryptographischen Aufgabe zur Verifizierung des Zertifikats eine Beschleunigung der Verifizierungsberechnungen in der Entität B, die das Zertifikat empfängt. Allgemeiner gesagt, wenn das Zertifikat mit einem Signaturschema berechnet wird, bei dem die Erfindung angewendet wird, ist es vorteilhaft, die Erfindung bei der Verifizierung des Zertifikats durch einen Verifizierer anzuwenden, der dieses Zertifikat verwendet, um eine elektronische Signatur zu verifizieren.
  • 2 zeigt ein zweites Anwendungsbeispiel der Erfindung in einem Identifizierungsverfahren. Das Identifizierungsverfahren verwendet zum Beispiel ein Protokoll mit Null Wissen basierend auf dem diskreten Logarithmus, wie diejenigen, die in den Patentanmeldungen FR2716058 und FR2752122 beschrieben sind, die am 11. August 1995 bzw. am 6. Februar 1998 veröffentlicht wurden. Das Protokoll mit diskretem Logarithmus beruht auf der Verwendung eines privaten Schlüssels, der aus einer ganzen Zahl s besteht, und eines öffentlichen Schlüssels, der aus einem Triplett (n, v, g) von ganzen Zahlen besteht. Der private Schlüssel s ist im geheimen Besitz einer Entität A, die ihre Identität beweisen muss. Der öffentliche Schlüssel (n, v, g) wird an jede Entität B übertragen, die die Identität der Entität A verifizieren muss. Die Übertragung des öffentlichen Schlüssels erfolgt zum Beispiel mittels eines Zertifikats, das vorteilhafterweise vorher mittels eines erfindungsgemäßen Verfahrens überprüft werden kann. Im öffentlichen Schlüssel ist die ganze Zahl n, Modul genannt, ein Produkt von Primzahlen, das groß genug ist, um seine Faktorisierung praktisch unmöglich zu machen, unter Berücksichtigung der existierenden Faktorisierungsalgorithmen. Die ganze Zahl g, Basis genannt, ist derart, dass die aus den Zahlen gx Modulo n bestehende Einheit, wenn x das Intervall [0, n – 1] durchläuft, eine Untereinheit mit einer aus diesem Intervall folgernden Größe ist. Die ganze Zahl v ist ein Sicherheitsparameter, der die folgende Beziehung erfüllt v = g–s(Modulo n)derart, dass die Kenntnis von v, g und n es praktisch nicht ermöglicht, den Wert von s wiederzufinden.
  • Um sich zu identifizieren, aktiviert die Entität A einen Schritt 9. Im Schritt 9 erzeugt die Entität A eine Zufallszahl oder Pseudozufallszahl r, die sehr viel höher ist als die Zahl s. Die ganze Zahl r wird von der Entität A geheim gehalten. Dann erzeugt die Entität A eine ganze Zahl x gleich einer Potenz r von g Modulo n. Der Schritt 9 endet durch das Senden der ganzen Zahl x.
  • Ein Empfang der Zahl x durch die Entität B validiert einen Übergang 10, der einen Schritt 11 aktiviert.
  • Im Schritt 11 erzeugt die Entität B eine ganze Zahl e ausgehend von einem Intervall [0, u – 1] und sendet dann die Zahl e.
  • Ein Empfang der Zahl e durch die Entität A validiert einen Übergang 12, der einen Schritt 13 aktiviert.
  • Im Schritt 13 erzeugt die Entität A eine Zahl y gleich einer Summe der Zahl r und eines Produkts aus der Zahl s und der Zahl e. Anschließend zerlegt die Entität A die Zahl y in Form einer linearen Kombination von ganzen Zahlen anders als die Zahlen r, s und e. Zum Beispiel führt die Entität A eine Division der Zahl y durch eine ganze Zahl b strikt größer als 1 durch. Der Quotient a und der Rest c ermöglichen es, die folgende lineare Kombination zu erhalten: y = a·b + c
  • Die Entität A sendet dann die ganzen Zahlen a, b, c.
  • Die Division ist zum Beispiel eine euklidische Division. Die Zahl b wird immer so gewählt, dass der Quotient, den die Zahl a bildet, strikt größer ist als 1. Die Division der Zahl y erfolgt nicht unbedingt in der Entität A, sie kann auch anderswo erfolgen, zum Beispiel in der Entität C oder in der Entität B.
  • Ein Empfang der Zahl a durch eine Zwischen-Entität C validiert einen Übergang 14, der einen Schritt 15 aktiviert.
  • Im Schritt 15 erzeugt die Entität C eine ganze Zahl y', Teilbild der Zahl y, indem sie die Basis g in eine Potenz Modulo der Modul n erhebt und deren Exponent die ganze Zahl a ist. Die Entität C sendet dann die ganze Zahl y'.
  • Ein Empfang der ganzen Zahl y' und der ganzen Zahlen b und c durch die Entität B validiert einen Übergang 16, der einen Schritt 17 aktiviert.
  • Im Schritt 17 erhebt die Entität B die Zahl y' in eine Potenz mit einem Exponent b, die Basis g in eine Potenz mit dem Exponent c, den Sicherheitsparameter v in eine Potenz mit dem Exponent e, und erzeugt das Produkt Modulo n der drei so erhaltenen Potenzen, um eine ganze Zahl y'' zu erzeugen. Man kann die Tatsache nutzen, dass ein Produkt Modulo n von Termen gleich dem Produkt Modulo n dieser Terme ist, die je als Modulo n betrachtet werden.
  • Die Entität B überprüft anschließend, ob die Zahl y'' gleich der vorher empfangenen Zahl x ist. Wenn die Gleichheit vorliegt, identifiziert die Entität B mit Sicherheit die Entität A als diejenige, die die Zahl x gesendet hat.
  • Wenn die Entität A nämlich diejenige ist, die die Zahl x gesendet hat: y'' = y'b·gc·ve(Modulo n) y'' = ga·b·gc·ve(Modulo n) y'' = ga·b+c·ve(Modulo n) y'' = gr+s·e·ve(Modulo n) y'' = gr·gs·e·ve(Modulo n) y''=gr·(gs·v)e(Modulo n)gilt aber (gs·v)(Modulo n) = 1, also: y'' = gr(Moduln n) = x
  • Die Sicherheit wird nicht durch die Tatsache verändert, dass der Schritt 15 von einer externen Entität C durchgeführt wurde, die nicht unbedingt eine Vertrauens-Entität ist, da es in der Praxis unmöglich ist, ausgehend von n, v, g und ggf. c eine derartige Zahl y' zu finden, dass y'b·gc·ve (Modulo n) gleich x ist, ohne Kenntnis der Faktorisierung von n, der der private Schlüssel s entspricht, der von der Entität A geheim gehalten wird.
  • Unter der Annahme einer kanonischen Menge k von Bits zum Codieren einer ganzen Zahl, d.h. der minimalen Menge von Bits, die notwendig sind, um die ganze Zahl in eine Binärbasis zu zerlegen, führen die üblichen bekannten Methoden des Erhebens in eine Potenz Modulo n, deren Exponent diese ganze Zahl ist, eine Anzahl von Multiplikationen Modulo n proportional zu der Menge k von Bits durch.
  • Ohne die Zwischen-Entität C hätte die Entität B die Zahl y gleich r + s·e erhalten, um y'' durch folgende Formel zu berechnen: y'' = gy·ve(Modulo n)
  • Die Menge an Multiplikationen Modulo n, die von der Entität B durchgeführt wird, um g in die Potenz y zu erheben, wäre proportional zu der Menge von Bits gewesen, die notwendig ist, um die Zahl r + s·e in kanonischer Form zu codieren, d.h. a·b + c.
  • Indem sie eine Menge von Multiplikationen Modulo n in der Entität C proportional zu der Menge von Bits durchführt, die notwendig ist, um die Zahl a in kanonischer Form zu codieren, führt die Entität B nur eine Menge von Multiplikationen Modulo n proportional zu der Menge von Bits aus, die notwendig ist, um die Zahl b in kanonischer Form zu codieren, zu der ggf. eine Menge von Multiplikationen Modulo n proportional zu der Menge von Bits hinzugefügt wird, die notwendig ist, um die Zahl c in kanonischer Form zu codieren. Die so in der Entität B erhaltene Ersparnis an Multiplikationen Modulo n ermöglicht es, die Verifizierung der Identität in der Entität B zu beschleunigen.
  • 3 zeigt eine Variante des unter Bezug auf 2 beschriebenen Verfahrens, um die Ausführung der kryptographischen Aufgabe in der Entität B noch zu beschleunigen.
  • Ein Empfang der Zahlen b und c durch die Entität B validiert einen Übergang 18, der einen Schritt 19 aktiviert.
  • Im Schritt 19 erzeugt die Entität B eine Zahl z gleich dem Produkt Modulo n aus der Potenz der Basis g mit als Exponent der Zahl c und der Potenz des Sicherheitsparameters v mit als Exponent der Zahl e.
  • Der Übergang 16 wird dann durch den Empfang der Zahl y' validiert. Im Schritt 17 erzeugt die Entität B die Zahl y'' gleich dem Produkt Modulo n aus der Zahl z mit der Potenz der Zahl y', mit als Exponent der Zahl b.
  • Die Ausführung des Schritts 19 vor dem Empfang der Zahl y' ermöglicht eine Ausführungsparallelisierung der Schritte 15 und 19.
  • 4 zeigt eine andere Variante des unter Bezug auf 2 beschriebenen Verfahrens, die besonders nützlich ist, wenn die Entität B eine große Menge von Entitäten A identifizieren muss. Die Entität C befindet sich dann in der gleichen physikalischen Ausrüstung wie die Entität A. Dies läuft darauf hinaus, von der Entität A den Schritt 15 direkt nach dem Schritt 13 ausführen zu lassen. Im Schritt 13 sendet die Entität A nach außen nur die Zahlen b und c. Im Schritt 15 sendet die Entität A direkt die Zahl y'.
  • 5 zeigt ein drittes Anwendungsbeispiel der Erfindung in einem Verfahren der Mitteilungs-Authentifizierung. Das Verfahren der Mitteilungs-Authentifizierung verwendet zum Beispiel ein Protokoll ähnlich demjenigen, das für das unter Bezug auf die 2 bis 4 beschriebene Verfahren verwendet wird.
  • Um eine Mitteilung M zur Entität B zu senden, damit die Entität B verifizieren kann, ob die Mitteilung M eine von der Entität A gesendete authentische Mitteilung ist, aktiviert die Entität A einen Schritt 20.
  • Im Schritt 20 erzeugt die Entität A eine Zufallszahl oder Pseudozufallszahl r, die sehr viel höher ist als die Zahl s. Die ganze Zahl r wird von der Entität A geheim gehalten. Die Entität A erzeugt eine ganze Zahl x gleich einer Potenz r von g Modulo n. Die Entität A erzeugt eine Zahl m gleich einer Zerhackerfunktion H der ganzen Zahl x und der Mitteilung M, um eine ganze Zahl m zu erhalten. Die Entität A sendet anschließend die ganze Zahl m und die Mitteilung M.
  • Ein Empfang durch die Entität B der Zahl m und der Mitteilung M validiert einen Übergang 21, der den Schritt 11 aktiviert. Das Verfahren enthält die Folge der Schritte und Übergänge 11 bis 16, die in gleicher Weise ablaufen und ausgeführt werden wie einer derjenigen, die unter Bezug auf die 2 bis 4 beschrieben wurden.
  • Eine Validierung des Übergangs 16 aktiviert dann einen Schritt 22. Im Schritt 22 erzeugt die Entität B die ganze Zahl y'' in gleicher Weise wie im Schritt 17, der unter Bezug auf eine der 2 bis 4 beschrieben wurde. Die Entität B erzeugt anschließend eine Zahl x' gleich der Zerhackerfunktion H der Zahl y'' und der Mitteilung M und vergleicht dann die Zahl x' mit der Zahl m. Die Gleichheit der Zahl x' und der Zahl m garantiert der Entität B, dass es tatsächlich die Entität A ist, die die Mitteilung M gesendet hat, da nur die Entität A eine Zahl x gleich y'' erzeugen konnte, so dass H(x, M) gleich H(y'', M) ist.
  • Zusammenfassend ermöglicht es das Verfahren, die Rechenlast des aus der Entität B bestehenden Verifizierers in einer gesicherten elektronischen Transaktion zu verringern, die einen Mechanismus der Mitteilungs-Authentifizierung, der Identifizierung oder der elektronischen Signatur enthält.
  • Es besteht darin, einen Teil dieser Berechnungen an eine externe Entität C, nicht unbedingt eine Vertrauens-Entität, zu delegieren, ohne die Überzeugung zu verringern, die der Verifizierer aus dem Verifizierungsschritt zieht. Genauer gesagt, besteht es darin, die Verifizierungsaufgabe in mindestens zwei Schritte (6, 15) und (8, 17) zu zerlegen, damit mindestens der Schritt (6, 15) von der externen Entität C ausgeführt werden kann. Das Verfahren betrifft insbesondere das Schema der elektronischen Signatur R8A (Rivest, Shamir, Adleman) und bestimmte Mitteilungs-Authentifizierungsprotokolle, die auf dem diskreten Logarithmus basieren.

Claims (9)

  1. Verfahren zur Durchführung einer kryptographischen Aufgabe mittels eines öffentlichen Schlüssels an mindestens einem digitalen Datenwert, der zwischen einer ersten Entität (A), die mit einem privaten Schlüssel (s) versehen ist, und einer zweiten Entität (B) ausgetauscht wird, dadurch gekennzeichnet, dass es darin besteht, die kryptographische Aufgabe in mindestens zwei Schritte zu zerlegen, die von unterschiedlichen Entitäten ausgeführt werden: – ein von einer Zwischen-Entität (C) ausgeführter erster Schritt (6, 15), der darin besteht, den digitalen Datenwert mittels des ganzen oder eines Teils des öffentlichen Schlüssels einer offenen digitalen Verarbeitung zu unterziehen, um ein Teilbild des digitalen Datenwerts zu erhalten; – ein von der zweiten Entität (B) ausgeführter zweiter Schritt (8, 17), der darin besteht, das Teilbild mittels des ganzen oder eines Teils des öffentlichen Schlüssels einer öffentlichen digitalen Verarbeitung zu unterziehen, um die kryptographische Aufgabe am digitalen Datenwert zu vervollständigen.
  2. Verfahren zur Durchführung einer kryptographischen Aufgabe nach Anspruch 1, dadurch gekennzeichnet, dass die Zwischen-Entität (C) sich in einer physikalischen Ausrüstung befindet, die sich von einer physikalischen Ausrüstung unterscheidet, in der sich die zweite Entität (B) befindet.
  3. Verfahren zur Durchführung einer kryptographischen Aufgabe nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Zwischen-Entität (C) sich in einer physikalischen Ausrüstung befindet, in der sich die erste Entität (A) befindet.
  4. Verfahren zur Durchführung einer kryptographischen Aufgabe nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die kryptographische Aufgabe aus einer Identifizierung der ersten Entität (A) durch die zweite Entität (B) mittels einer ersten ganzen Zahl (x) besteht, die von der ersten Entität (A) an die zweite Entität (B) gesendet wird, wobei die erste ganze Zahl (x) aus einer geheimen digitalen Verarbeitung resultiert, die an eine zweite ganze Zahl (r) in der ersten Entität (A) angewendet wird, wobei der digitale Datenwert eine dritte ganze Zahl (y) ist, die ausgehend von der zweiten ganzen Zahl (r), dem privaten Schlüssel (s) und einer vierten ganzen Zahl (e) erhalten wird, die von der zweiten Entität (B) an die erste Entität (A) gesendet wird, und dass: – die offene digitale Verarbeitung hauptsächlich darin besteht, die dritte ganze Zahl (y) mittels des ganzen oder eines Teils des öffentlichen Schlüssels in eine fünfte ganze Zahl (y') umzuwandeln; – die öffentliche digitale Verarbeitung hauptsächlich darin besteht, die fünfte ganze Zahl (y') mittels des ganzen oder eines Teils des öffentlichen Schlüssels umzuwandeln, um einen Wert (y'') zu erhalten, der es ermöglicht, auf eine Identifizierung der ersten Entität (A) zu schließen, wenn der Wert (y'') gleich der ersten ganzen Zahl (x) ist.
  5. Verfahren zur Durchführung einer kryptographischen Aufgabe nach Anspruch 4, wenn der öffentliche Schlüssel ein Triplett aus drei ganzen Zahlen ist, bestehend aus einem Modul (n), einer Basis (g) und einem Sicherheitsparameter (v), wobei die geheime digitale Verarbeitung darin besteht, die Basis (g) auf eine erste Potenz (r) Modulo das Modul (n) des öffentlichen Schlüssel zu erheben und dann die zweite ganze Zahl (r) mit einem Produkt aus dem privaten Schlüssel (s) und der vierten ganzen Zahl (e) zu addieren, um die dritte ganze Zahl (y) zu erhalten, dadurch gekennzeichnet, dass: – ein ganzzahliger Quotient (a) der dritten ganzen Zahl (y) dividiert durch eine sechste ganze Zahl (b) strikt größer als der Einheitswert in der offenen digitalen Verarbeitung verwendet wird, um die Basis (g) auf eine zweite Potenz (a) Modulo das Modul (n) zu erheben; – die sechste ganze Zahl (b) in der öffentlichen digitalen Verarbeitung verwendet wird, um die fünfte ganze Zahl (y') auf eine dritte Potenz (b) zu erheben.
  6. Verfahren zur Durchführung einer kryptographischen Aufgabe nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die kryptographische Aufgabe aus einer Überprüfung einer elektronischen Signatur besteht, wobei der digitale Datenwert eine Signatur (z) ist, die aus einer geheimen digitalen Verarbeitung resultiert, die an eine Zahl (m*) in der ersten Entität (A) mittels des privaten Schlüssels (s) angewendet wird, und dass: – die offene digitale Verarbeitung hauptsächlich darin besteht, die Signatur (z) mittels eines ersten Teils des öffentlichen Schlüssels in ein Teil-Signaturbild (z') umzuwandeln; – die öffentliche digitale Verarbeitung hauptsächlich darin besteht, das Teil-Signaturbild (z') mittels eines zweiten Teils des öffentlichen Schlüssels umzuwandeln, um einen Wert (z'') zu erhalten, der es ermöglicht, auf eine gültige Signatur zu schließen, wenn der Wert (z'') gleich der Zahl (m*) ist.
  7. Verfahren zur Durchführung einer kryptographischen Aufgabe nach Anspruch 6, wenn der öffentliche Schlüssel ein Paar (n, v) aus einer ersten (n) und einer zweiten (v) ganzen Zahl ist, wobei die geheime digitale Verarbeitung darin besteht, die Zahl (m*) auf eine erste Potenz (s) Modulo die erste ganze Zahl (n) des öffentlichen Schlüssels zu erheben, dadurch gekennzeichnet, dass: – eine dritte ganze Zahl (a) strikt größer als der Einheitswert und strikt kleiner als die zweite ganze Zahl (v) des öffentlichen Schlüssels in der offenen digitalen Verarbeitung verwendet wird, um die Signatur (z) auf eine zweite Potenz (a) Modulo die erste ganze Zahl (n) zu erheben; – eine vierte ganze Zahl (b) gleich dem Quotient einer euklidischen Division der zweiten ganzen Zahl (v) durch die dritte ganze Zahl (a) in der öffentlichen digitalen Verarbeitung verwendet wird, um das Teil-Signaturbild (z') auf eine dritte Potenz (b) Modulo die erste ganze Zahl (n) zu erheben.
  8. Verfahren zur Durchführung einer kryptographischen Aufgabe nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die kryptographische Aufgabe aus einer Authentifizierung einer Mitteilung (M), die von der ersten Entität (A) gesendet wird, durch die zweite Entität (B) mittels einer ersten ganzen Zahl (m), die von der ersten Entität (A) an die zweite Entität (B) gesendet wird, besteht, wobei die erste ganze Zahl (m) erhalten wird, indem eine zweite ganze Zahl (x) in Kombination mit der Mitteilung (M) einer Zerhackerfunktion (H) unterzogen wird, wobei die zweite ganze Zahl (x) aus einer geheimen digitalen Verarbeitung resultiert, die an eine dritte ganze Zahl (r) in der ersten Entität (A) angewendet wird, wobei der digitale Datenwert eine vierte ganze Zahl (y) ist, die ausgehend von der dritten ganzen Zahl (r), dem privaten Schlüssel (s) und einer fünften ganzen Zahl (e) erhalten wird, die von der zweiten Entität (B) an die erste Entität (A) gesendet wird, und dass: – die offene digitale Verarbeitung hauptsächlich darin besteht, die vierte ganze Zahl (y) mittels des ganzen oder eines Teils des öffentlichen Schlüssels in eine sechste ganze Zahl (y') umzuwandeln; – die öffentliche digitale Verarbeitung hauptsächlich darin besteht, die sechste ganze Zahl (y') mittels des ganzen oder eines Teils des öffentlichen Schlüssels umzuwandeln, um einen ersten Wert (y'') zu erhalten, der, wenn er in Kombination mit der Mitteilung (M) der Zerhackerfunktion (H) unterzogen wird, einen zweiten Wert (x') ergibt, der es ermöglicht, auf eine gültige Mitteilungs-Authentifizierung zu schließen, wenn der zweite Wert (x') gleich der ersten ganzen Zahl (m) ist.
  9. Verfahren zur Durchführung einer kryptographischen Aufgabe nach Anspruch 8, wenn der öffentliche Schlüssel ein Triplett aus drei ganzen Zahlen ist, bestehend aus einem Modul (n), einer Basis (g) und einem Sicherheitsparameter (v), wobei die geheime digitale Verarbeitung darin besteht, die Basis (g) auf eine erste Potenz (r) Modulo das Modul (n) des öffentlichen Schlüssels zu erheben und dann die erste ganze Zahl (r) mit einem Produkt aus dem privaten Schlüssel (s) und der fünften ganzen Zahl (e) zu addieren, um die vierte ganze Zahl (y) zu erhalten, dadurch gekennzeichnet, dass: – ein ganzzahliger Quotient (a) der vierten ganzen Zahl (y) dividiert durch eine siebte ganze Zahl (b) strikt größer als der Einheitswert in der offenen digitalen Verarbeitung verwendet wird, um die Basis (g) auf eine zweite Potenz (a) Modulo das Modul (n) erheben; – die siebte ganze Zahl (b) in der öffentlichen digitalen Verarbeitung verwendet wird, um die sechste ganze Zahl (y') auf eine dritte Potenz (b) zu erheben.
DE60220918T 2001-07-18 2002-07-02 Verfahren zur ausführung einer kryptographischen berechnung unter verwendung eines öffentlichen schlüssels Expired - Lifetime DE60220918T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0109611 2001-07-18
FR0109611A FR2827723B1 (fr) 2001-07-18 2001-07-18 Procede pour effectuer une tache cryptographique au moyen d'une cle publique
PCT/FR2002/002302 WO2003009522A1 (fr) 2001-07-18 2002-07-02 Procede pour effectuer une tache cryptographique au moyen d'une cle publique

Publications (2)

Publication Number Publication Date
DE60220918D1 DE60220918D1 (de) 2007-08-09
DE60220918T2 true DE60220918T2 (de) 2008-02-28

Family

ID=8865668

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60220918T Expired - Lifetime DE60220918T2 (de) 2001-07-18 2002-07-02 Verfahren zur ausführung einer kryptographischen berechnung unter verwendung eines öffentlichen schlüssels

Country Status (9)

Country Link
EP (1) EP1407575B1 (de)
JP (1) JP4354808B2 (de)
KR (1) KR100899020B1 (de)
AT (1) ATE366008T1 (de)
DE (1) DE60220918T2 (de)
ES (1) ES2289147T3 (de)
FR (1) FR2827723B1 (de)
HK (1) HK1064826A1 (de)
WO (1) WO2003009522A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1670172A1 (de) * 2004-12-10 2006-06-14 Nagra France Sarl Verfahren und Vorrichtung zur Verschlüsselung mittels eines Proxy
WO2007006798A1 (fr) * 2005-07-13 2007-01-18 Gemplus Procede et systeme d'authentification de puces electroniques
GB2444286B (en) * 2006-12-01 2011-06-08 Advanced Risc Mach Ltd Improving processing efficiency on secure systems having a host processor and smart card
US8594329B2 (en) 2010-12-17 2013-11-26 Microsoft Corporation Non-interactive verifiable, delegated computation
FR3013477B1 (fr) * 2013-11-21 2017-06-09 Oberthur Technologies Procede et systeme pour la verification de la validite d'une signature numerique de message

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100340102B1 (ko) * 2000-11-30 2002-06-10 조휘갑 알에스에이 공개키 암호 고속화 장치 및 방법

Also Published As

Publication number Publication date
KR20040013152A (ko) 2004-02-11
KR100899020B1 (ko) 2009-05-27
EP1407575B1 (de) 2007-06-27
EP1407575A1 (de) 2004-04-14
FR2827723A1 (fr) 2003-01-24
HK1064826A1 (en) 2005-02-04
ES2289147T3 (es) 2008-02-01
DE60220918D1 (de) 2007-08-09
WO2003009522A1 (fr) 2003-01-30
FR2827723B1 (fr) 2003-10-10
JP2005508514A (ja) 2005-03-31
ATE366008T1 (de) 2007-07-15
JP4354808B2 (ja) 2009-10-28

Similar Documents

Publication Publication Date Title
DE19804054B4 (de) System zur Verifizierung von Datenkarten
EP0384475B1 (de) Verfahren zur Identifikation von Teilnehmern sowie zur Generierung und Verifikation von elektronischen Unterschriften in einem Datenaustauschsystem
DE69633217T2 (de) Verfahren zum Implentieren von elektronischem Geld mit Hilfe einer Lizenz eines anonymen öffentlichen Schlüssels
DE60031304T3 (de) Verfahren zur authentifizierung von softwarebenutzern
DE69938624T2 (de) Robuste und effiziente verteilte erzeugung eines rsa-schlüssels
DE102010002241B4 (de) Vorrichtung und Verfahren zur effizienten einseitigen Authentifizierung
DE69935469T2 (de) Verfahren zur schnellen Ausführung einer Entschlüsselung oder einer Authentifizierung
DE69918818T2 (de) Verfahren zur Erzeugung eines öffentlichen Schlüssels in einem sicheren digitalen Kommunikationssystem und implizites Zertifikat
DE60200496T2 (de) Verfahren und Vorrichtung zur Ausführung eines effizienten mittels Kennwort authentifizierten Schlüsselaustauschs
DE69830902T2 (de) Zweiweg-authentifizierung-protokoll
EP1368929B1 (de) Verfahren zur authentikation
DE69838258T2 (de) Public-Key-Datenübertragungssysteme
DE102008061483A1 (de) Verfahren und Vorrichtung zum Verarbeiten von Daten
DE19829643C2 (de) Verfahren und Vorrichtung zur Block-Verifikation mehrerer digitaler Signaturen und Speichermedium, auf dem das Verfahren gespeichert ist
CH711133A2 (de) Protokoll zur Signaturerzeugung.
DE10143728A1 (de) Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Exponentiation
DE69833352T2 (de) Vorrichtung zur Verarbeitung von Bivektoren und Verschlüsselungssystem unter Verwendung desselben
EP1346509B1 (de) Verfahren und Vorrichtung zum Ermitteln eines Schlüsselpaars und zum Erzeugen von RSA-Sclüsseln
DE60202149T2 (de) Verfahren zur kryptographischen authentifizierung
DE69636772T2 (de) Auf dem diskreten logarithmus basierendes verschlüsselungsverfahren mit öffentlichem schlüssel
EP2684312B1 (de) Verfahren zur authentisierung, rf-chip-dokument, rf-chip-lesegerät und computerprogrammprodukte
DE602004006373T2 (de) Verfahren und Vorrichtungen zur Erstellung fairer Blindunterschriften
DE60117813T2 (de) Verfahren und Vorrichtung zur Speicherung und wiedergewinnung eones Privaten Kryptoschlüssels
DE60220918T2 (de) Verfahren zur ausführung einer kryptographischen berechnung unter verwendung eines öffentlichen schlüssels
DE3915262A1 (de) Verfahren zur erzeugung von authentifizierten geheimschluesseln

Legal Events

Date Code Title Description
8364 No opposition during term of opposition