DE69920875T2 - Vorrichtung und Verfahren zum Berechnen einer digitalen Unterschrift - Google Patents

Vorrichtung und Verfahren zum Berechnen einer digitalen Unterschrift Download PDF

Info

Publication number
DE69920875T2
DE69920875T2 DE69920875T DE69920875T DE69920875T2 DE 69920875 T2 DE69920875 T2 DE 69920875T2 DE 69920875 T DE69920875 T DE 69920875T DE 69920875 T DE69920875 T DE 69920875T DE 69920875 T2 DE69920875 T2 DE 69920875T2
Authority
DE
Germany
Prior art keywords
variables
vinegar
oil
equations
signature
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
DE69920875T
Other languages
English (en)
Other versions
DE69920875D1 (de
Inventor
Jacques Patarin
Aviad Kipnis
Louis Goubin
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.)
CP8 Technologies SA
Synamedia Ltd
Original Assignee
Bull CP8 SA
NDS Ltd
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 Bull CP8 SA, NDS Ltd filed Critical Bull CP8 SA
Application granted granted Critical
Publication of DE69920875D1 publication Critical patent/DE69920875D1/de
Publication of DE69920875T2 publication Critical patent/DE69920875T2/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/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/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich im Allgemeinen auf Kryptographie, insbesondere auf Public Key (öffentlicher Schlüssel) Kryptographie.
  • HINTERGRUND DER ERFINDUNG
  • Das erste Public Key Kryptographie-Schema wurde 1975 eingeführt. Seither sind viele Public Key Schemata entwickelt und veröffentlicht worden. Viele Public Key Schemata erfordern arithmetische Berechnungen mit Modulo Integer n, wobei n heutzutage typischerweise zwischen 512 und 1024 Bits liegt.
  • Aufgrund der relativ großen Anzahl von Bits n, arbeiten derartige Public Key Schemata relativ langsam und beanspruchen viel Random Access Memory (RAM) und sonstige Rechnerressourcen. Diese Probleme treten besonders bei Anwendungen auf, bei denen die Rechnerressourcen begrenzt sind, beispielsweise bei Smart Card Anwendungen. Daher wurden andere Familien von Public Key Schemata, die nicht viele arithmetische Berechnungen Modulo n erfordern, entwickelt, um diese Probleme zu lösen. Unter diesen anderen Familien sind Schemata, bei denen der Public Key als ein Satz von k multivariablen Polynomgleichungen über ein endliches mathematisches Feld K, das relativ klein ist, z.B. zwischen 2 und 264 liegt, gegeben ist.
  • Die Menge k multivariabler Polynomgleichungen kann wie folgt geschrieben werden: y1 = P1(x1,...,xn) y2 = P2(x1,...,xn) yk = Pk(x1,...,xn),wobei P1,..., Pk multivariable Polynome eines kleinen Gesamtgrads, typischerweise kleiner gleich 8 und in vielen Fällen exakt Zwei sind.
  • Beispiele derartiger Schemata umfassen das C* Schema von T. Matsumoto und H. Imai, das HFE Schema von Jacques Patarin, und die Grundform des "Oil and Vinegar" Schemas von Jacques Patarin.
  • Das C* Schema ist in einem Artikel mit dem Titel "Public Quadratic Polynomial-tuples for Efficient Signature Verification and Message-encryption" in Proceedings of EUROCRYPT'88, Springer-Verlag, S. 419-453, beschrieben. Das HFE Schema ist in einem Artikel mit dem Titel "Hidden Fields Equations (HFE) and Isomorphisms of Polynomials (IP): Two New Families of Asymmetric Algorithms" in Proceedings of EUROCRYPT'96, Springer-Verlag, S. 33-48, beschrieben. Die Grundform des "Oil and Vinegar" Schemas von Jacques Patarin ist in einem Artikel mit dem Titel "The Oil and Vinegar Signature Scheme" beschrieben, der beim Dagstuhl Workshop on Cryptography im September 1997 präsentiert worden ist.
  • Es hat sich jedoch herausgestellt, dass das C* Schema und die Grundform des "Oil and Vinegar" Schemas insofern unsicher sind, als die Kryptoanalyse sowohl des C* Schemas als auch der Grundform des "Oil and Vinegar" Schemas von Aviad Kipnis und Adi Shamir in einem Artikel mit dem Titel "Cryptanalysis of the Oil and Vinegar Signature Scheme" in Proceedings of CRYPTO'98, Springer-Verlag LNCS Nr. 1462, S. 257-266, entdeckt und veröffentlicht worden ist. Die Schwächen des Aufbaus des HFE Schemas wurden in zwei unveröffentlichten Artikeln mit dem Titel "Cryptanalysis of the HFE Public Key Cryptosystem" und "Practical Cryptanalysis of the Hidden Fields Equations (HFE)" beschrieben, aber zur Zeit wird das HFE Schema nicht als gefährdet angesehen, da für gut gewählte und noch vernünftige Pa rameter die Anzahl der für das Durchbrechen des HFE Schemas erforderlichen Berechnungen noch zu hoch ist.
  • Einige Aspekte verwandter Technologien sind in den folgenden Veröffentlichungen beschrieben:
    Das US-Patent 5,263,085 von Shamir beschreibt eine neue Art von digitalem Signaturschema, dessen Sicherheit auf der Schwierigkeit beruht, Systeme von k Polynomgleichungen in m Unbekannten mit Modulo Composite n zu lösen; und
    das US-Patent 5,375,170 von Shamir beschreibt ein neuartiges digitales Signaturschema, das auf einer neuen Klasse birationaler Permutationen beruht, die kleine Schlüssel haben und wenige arithmetische Operationen erfordern.
  • Auf die Offenbarung des vorgenannten und in der gesamten vorliegenden Beschreibung genannten Standes der Technik wird hiermit Bezug genommen, und sie wird hiermit eingeschlossen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Aufgabe der vorliegenden Erfindung ist es, die Sicherheit digitaler Signatur-Kryptographieschemata zu verbessern, bei denen der Public Key als eine Menge von k multivariablen Polynomgleichungen, typischerweise über ein endliches mathematisches Feld K, gegeben ist. Es ist insbesondere Aufgabe der vorliegenden Erfindung, die Sicherheit der Grundform des "Oil and Vinegar" und des HFE Schemas zu verbessern. Ein "Oil and Vinegar" Schema, das erfindungsgemäß so modifiziert worden ist, dass es die Sicherheit verbessert, wird hier als „Unbalanced Oil and Vinegar" (UOV) Schema bezeichnet. Ein HFE Schema, das erfindungsgemäß so modifiziert worden ist, dass es die Sicherheit verbessert, wird hier als HFEV Schema bezeichnet.
  • Bei der vorliegenden Erfindung wird ein Satz S1 von k Polynomfunktionen als Public Key bereitgestellt. Der Satz S1 weist vorzugsweise die Funktionen P1(x1,...,xn+v, y1,...,yk),..., Pk(x1,...,xn+v, y1,...,yk) auf, wobei k, v und n ganze Zahlen, x1,...,xn+v n+v Variablen einer ersten Art und y1,...,yk k Variablen einer zweiten Art sind. Der Satz S1 wird vorzugsweise durch Anwenden einer Secret Key Operation auf einen Satz S2 von k Polynomfunktionen P'1(a1,...,an+v,y1,...,yk),...,P'k(a1,...,an+v,y1,...,yk) erhalten, wobei a1,...,an+v n+v Variablen sind, die eine Menge von n „Oil" Variablen a1,...,an und eine Menge von v „Vinegar" Variablen an+1,...,an+v, enthalten. Selbstverständlich kann die Secret Key Operation eine geheime affine Transformation s an den n+v Variablen a1,...,an+v beinhalten.
  • Wenn eine zu signierende Nachricht bereitgestellt ist, kann eine Hash-Funktion auf die Nachricht angewendet werden, um eine Reihe von k Werten b1,...,bk zu erzeugen. Die Reihe von k Werten b1,...,bk wird vorzugsweise mit den Variablen y1,...,yk des Satzes S2 ersetzt, um einen Satz S3 von k Polynomfunktionen P''1(a1,...,an+v),...,P''k(a1,...,an+v) zu erzeugen. Dann können v Werte a'n+1,...,a'n+v für die v „Vinegar" Variablen an+1,...,an+v, entweder zufällig oder gemäß einem vorgegebenen Auswahlalgorithmus ausgewählt werden.
  • Sobald die v Werte a'n+1,...a'n+v ausgewählt sind, wird vorzugsweise ein Gleichungssystem P''1(a1,...,an,a'n+1,...,a'n+v) = 0,..., P''k(a1,...,an,a'n+1,...,a'n+v) = 0, gelöst, um eine Lösung für a'1,...,a'n zu erhalten. Dann kann die Secret Key Operation angewendet werden, um a'1,...,a'n+v in eine digitale Signatur e1,...,en+v zu transformieren.
  • Die erzeugte digitale Signatur e1,...,en+v kann durch eine Verifiziervorrichtung, die beispielsweise einen Rechner oder eine Chipkarte umfasst, verifiziert werden. Um die digitale Signatur zu verifizieren, erhält die Verifiziervorrichtung vorzugsweise die Signatur e1,...,en+v, die Nachricht, die Hash-Funktion und den Public Key. Dann kann die Verifiziervorrichtung die Hash-Funktion auf die Nachricht anwenden, um die Reihe von k Werten b1,...,bk zu erzeugen. Sobald die k Werte b1,...,bk erzeugt sind, verifiziert die Verifiziervorrichtung die digitale Signatur vorzugsweise dadurch, indem sie verifiziert, dass die Gleichungen P1(e1,...,en+v,b1,...,bk) = 0,..., Pk(e1,...,en+v,b1,...,bk) = 0 erfüllt sind.
  • Somit wird gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung ein digitales Signatur-Kryptographieverfahren bereitgestellt, das die folgenden Schritte aufweist: Bereitstellen eines Satzes S1 von k Polynomfunktionen als Public Key, wobei der Satz S1 die Funktionen P1(x1,...,xn+v, y1,...,yk),..., Pk(x1,...,xn+v, y1,...,yk) aufweist, wobei k, v und n ganze Zahlen, x1,...,xn+v n+v Variablen einer ersten Art und y1,...,yk k Variablen einer zweiten Art sind, und wobei die Menge S1 durch Anwenden einer Secret Key Operation auf einen Satz S2 von k Polynomfunktionen P'1(a1,...,an+v,y1,...,yk),...,P'k(a1,...,an+v,y1,...,yk) erhalten wird, wobei a1,...,an+v, n+v Variablen sind, die eine Anzahl von n „Oil" Variablen a1,...,an und eine Anzahl von v „Vinegar" Variablen an+1,...,an+v enthalten; zur Verfügung stellen einer zu signierenden Nachricht; Anwenden einer Hash-Funktion auf die Nachricht, um eine Reihe von k Werten b1,...,bk zu erzeugen; Ersetzen der Reihe von k Werten b1,...,bk mit den Variablen y1,...,yk des Satzes S2, um einen Satz S3 von k Polynomfunktionen P''1 (a1,...,a+v) P''k(a1,...an+v) zu erzeugen Auswahlen von v Werten a'n+1,...a'n+v, für die v „Vinegar" Variablen an+1,...,an+v; Lösen eines Gleichungssystems P''1(a1,...,an,a'n+1,...,a'n+v) = 0,..., P''k(a1,...,an,a'n+1,...,a'n+v) = 0, um eine Lösung für a'1,...,a'n zu erhalten; und Anwenden der Secret Key (geheimer Schlüssel) Operation, um a'1,...,a'n+v, in eine digitale Signatur e1,...,en+v zu transformieren.
  • Vorzugsweise weist das Verfahren auch den Schritt des Verifizierens der digitalen Signatur auf. Der Schritt des Verifizierens weist vorzugsweise die folgenden Schritte auf Beschaffen der Signatur e1,...,en+v, der Nachricht, der Hash-Funktion und des Public Key; Anwenden der Hash-Funktion auf die Nachricht, um die Reihe von k Werten b1,...,bk zu erzeugen; und Verifizieren, dass die Gleichungen P1(e1,...,en+v,b1,...,bk) = 0,..., Pk(e1,...,en+v, b1,...,bk = 0 erfüllt sind.
  • Die Secret Key Operation beinhaltet vorzugsweise eine geheime affine Transformation s an den n+v Variablen a1,...,an+v.
  • Der Satz S2 weist bevorzugt den Satz f(a) von k Polynomfunktionen des HFEV Schemas auf. In einem solchen Fall weist der Satz S2 vorzugsweise einen Ausdruck mit k Funktionen auf, die von einem eindimensionalen (univariaten) Polynom abgeleitet sind. Das eindimensionale (univariate) Polynom weist vorzugsweise ein eindimensionales (univariates) Polynom eines Grades kleiner oder gleich 100.000 auf.
  • Alternativ weist der Satz S2 den Satz S von k Polynomfunktionen des UOV Schemas auf.
  • Der Schritt des Bereitstellens kann vorzugsweise den Schritt aufweisen, dass die Zahl v der „Vinegar" Variablen größer gewählt wird, als die Zahl n der „Oil" Variablen. Vorzugsweise wird v so gewählt, dass qv größer ist als 232, wobei q die Zahl der Elemente eines finiten Feldes K ist.
  • Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung enthält der Schritt des Bereitstellens den Schritt, dass der Satz S1 aus einer Teilmenge S2' von k Polynomfunktionen des Satzes S2 erhalten wird, wobei die Teilmenge S2' dadurch gekennzeichnet ist, dass alle Koeffizienten der Komponenten, die eine der y1,...,yk Variablen in den k Polynomfunktionen P'1(a1,...,an+v,y1,...,yk),...,P'k(a1,...,an+v,y1,...,yk) enthalten, Null sind und dass die Zahl v der „Vinegar" Variablen größer ist, als die Zahl n der „Oil" Variablen.
  • Vorzugsweise enthält der Satz S2 den Satz S von k Polynomfunktionen des UOV Schemas, und die Zahl v der „Vinegar" Variablen wird so gewählt, dass eine der folgenden Bedingungen erfüllt ist: (a) für jede Charakteristik p eines Feldes K in einem „Oil and Vinegar" Schema 2. Grades erfüllt v die Ungleichung q(v-n)-1x n4>240, (b) für p = 2 in einem „Oil and Vinegar" Schema 3. Grades ist v größer n·(1 + √3) und kleiner oder gleich n3/6, und (c) für jedes p ungleich 2 in einem „Oil and Vinegar" Schema 3. Grades ist v größer n und kleiner oder gleich n3/6.
  • Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung wird auch eine Verbesserung eines „Oil and Vinegar" Signaturverfahrens zur Verfügung gestellt, bei dem die Verbesserung den Schritt aufweist, dass mehr „Vinegar" Variablen als „Oil" Variablen verwendet werden. Vorzugsweise wird die Zahl v der „Vinegar" Variablen so gewählt, dass eine der folgenden Bedingungen erfüllt ist: (a) für jede Charakteristik p eines Feldes K in einem „Oil and Vinegar" Schema 2. Grades erfüllt v die Ungleichung q(v-n)-1x n4>240, (b) für p = 2 in einem „Oil and Vinegar" Schema 3. Grades ist v größer n·(1 + √3) und kleiner oder gleich n3/6, und (c) für jedes p ungleich 2 in einem „Oil and Vinegar" Schema 3. Grades ist v größer n und kleiner oder gleich n3/6.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorliegende Erfindung wird durch die nachfolgende detaillierte Beschreibung unter Bezug auf die Zeichnungen besser verstanden und geschätzt werden. Es zeigt:
  • 1 eine vereinfachte Blockdiagramm-Darstellung einer bevorzugten Implementierung eines Systems zum Erzeugen und Verifizieren einer digitalen Signatur für eine Nachricht, wobei das System gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung aufgebaut ist und funktioniert;
  • 2A eine vereinfachte Flussdiagramm-Darstellung eines bevorzugten digitalen Signatur-Kryptographieverfahrens zum Erzeugen einer digitalen Signatur für eine Nachricht, wobei das Verfahren gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung arbeitet; und
  • 2B eine vereinfachte Flussdiagramm-Darstellung eines bevorzugten digitalen Signatur-Kryptographieverfahrens zum Verifizieren der digitalen Signatur von 2A, wobei das Verfahren gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung arbeitet.
  • DETAILLIERTE BESCHREIBUNG EINER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Es wird nun Bezug genommen auf 1, die eine vereinfachte Blockdiagramm-Darstellung einer bevorzugten Implementierung eines Systems 10 zum Erzeugen und Verifizieren einer digitalen Signatur für eine Nachricht zeigt, wobei das System 10 gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung aufgebaut ist und funktioniert.
  • Das System 10 weist vorzugsweise einen Rechner 15, beispielsweise einen Rechner für allgemeine Zwecke, auf, der über einen Chipkartenleser 25 mit einer Chipkarte 20 kommuniziert. Der Rechner 15 kann bevorzugt eine digitale Signatur-Erzeugungsvorrichtung 30 und eine digitale Signatur-Verifizierungsvorrichtung 35 aufweisen, die über einen Kommunikationsbus 40 Daten kommunizieren können. Die Chipkarte 20 kann vorzugsweise eine digitale Signatur-Erzeugungsvorrichtung 45 und eine digitale Signatur-Verifizierungsvorrichtung 50 aufweisen, die über einen Kommunikationsbus 55 Daten kommunizieren können.
  • Selbstverständlich können sich bei typischen Anwendungen eines Public Key Signatur-Schemas der Unterzeichner einer Nachricht und der Empfänger einer unterzeichneten Nachricht auf einen Public Key einigen, der veröffentlicht ist, sowie auf eine zu verwendende Hash-Funktion. Falls die Hash-Funktion gefährdet ist, können sich der Unterzeichner und der Empfänger darauf einigen, die Hash-Funktion zu ändern. Es ist selbstverständlich, dass der Erzeuger des Public Keys nicht der Unterzeichner oder der Empfänger sein muss.
  • Bevorzugt kann die digitale Signatur-Verifizierungsvorrichtung 35 eine Signatur verifizieren, die von einer der digitalen Signatur-Erzeugungsvorrichtung 30 und der digitalen Signatur-Erzeugungsvorrichtung 45 erzeugt worden ist. Ähnlich kann die digitale Signatur-Verifizierungsvorrichtung 50 eine Signatur verifizieren, die von einer der digitalen Signatur-Erzeugungsvorrichtung 30 und der digitalen Signatur-Erzeugungsvorrichtung 45 erzeugt worden ist.
  • Nun wird auf 2A Bezug genommen, die eine vereinfachte Flussdiagramm-Darstellung eines bevorzugten digitalen Signatur-Kryptographieverfahrens zum Erzeugen einer digitalen Signatur für eine Nachricht in einem (nicht gezeigten) ersten Prozessor zeigt, und auf 2B, die eine vereinfachte Flussdiagramm-Darstellung eines bevorzugten digitalen Signatur-Kryptographie-Verfahrens zum Verifizieren der digitalen Signatur der 2A in einem (nicht gezeigten) zweiten Prozessor zeigt, wobei die Verfahren der 2A und 2B gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung arbeiten.
  • Selbstverständlich können die Verfahren der 2A und 2B in Hardware, in Software oder in einer Kombination aus Hardware und Software implementiert werden. Des weiteren können der erste Prozessor und der zweite Prozessor identisch sein. Alternativ kann das Verfahren durch das System 10 der 1 implementiert werden, bei dem der erste Prozessor beispielsweise in dem Rechner 15 und der zweite Prozessor beispielsweise in der Chipkarte 20 enthalten sein kann, oder umgekehrt.
  • Die Verfahren der 2A und 2B und die Anwendungen der Verfahren der 2A und 2B sind in Anhang I beschrieben, der in die vorliegende Beschreibung aufgenommen wird. Die Anwendungen der Verfahren der 2A und 2B können eingesetzt werden, um die Grundform des „Oil and Vinegar" Schemas und des HFE-Schemas zu modifizieren und so das UOV- bzw. das HFEV-Schema zu erzeugen.
  • Der Anhang I enthält einen nicht veröffentlichten Artikel von Aviad Kipnis, Jacques Patarin und Louis Goubin, der zur Veröffentlichung durch den Springer-Verlag in Proceedings of EUROCRYPT'99, das für den 2. bis 6. Mai 1999 angesetzt ist, vorgelegt wurde. Der in Anhang I enthaltene Artikel beschreibt auch Variationen der UOV- und der HFEV-Schemata mit kleinen Signaturen.
  • Bei dem digitalen Signatur-Kryptographieverfahren der 2A wird ein Satz S1 von k Polynomfunktionen vorzugsweise als Public Key von einer (nicht gezeigten) Erzeugungsvorrichtung des Public Keys geliefert (Schritt 100). Die Erzeugungsvorrichtung kann beispielsweise die Erzeugungsvorrichtung 30 der 1 die Erzeugungsvorrichtung 45 der 1 oder eine externe (nicht gezeigte) Public Key Erzeugungsvorrichtung sein.
  • Der Satz S1 umfatsst bevorzugt die Funktionen P1(x1,...,xn+v, y1,...,yk),..., Pk(x1,...,xn+v, y1,...,yk), wobei k, v und n ganze Zahlen, x1,...,xn+v n+v Variablen einer ersten Art und y1,...,yk k Variablen einer zweiten Art sind. Der Satz S1 wird vorzugsweise durch Anwenden einer Secret Key Operation auf einen Satz S2 von k Polynomfunktionen P'1(a1,...,an+v,y1,...,yk),...,P'k(a1,...,an+v,y1,...,yk) erzeugt, wobei a1,...,an+v n+v Variablen sind, die einen Satz von n „Oil" Variablen a1,...,an und einen Satz von v „Vinegar" Variablen an+1,...,an+v umfassen. Selbstverständlich kann die Secret Key Operation eine geheime affine Transformation s an den n+v Variablen a1,...,an+v, aufweisen.
  • Die Begriffe „Oil" Variablen und „Vinegar" Variablen beziehen sich auf die in der Grundform des „Oil and Vinegar" Schemas von Jacques Patarin definierten „Oil" Variablen und „Vinegar" Variablen; dieses Schema ist in dem oben genannten Artikel mit dem Titel „The Oil and Vinegar Signature Scheme" beschrieben, der im September 1997 beim Dagstuhl Workshop on Cryptography präsentiert worden ist.
  • Bevorzugt kann, wenn eine zu signierende Nachricht zur Verfügung gestellt worden ist (Schritt 105), der Unterzeichner eine Hash-Funktion auf die Nachricht anwenden, um eine Reihe von k Werten b1,...,bk zu erzeugen (Schritt 110). Der Unterzeichner kann beispielsweise die Erzeugungsvorrichtung 30 oder die Erzeugungsvorrichtung 45 der 1 sein. Die Reihe von k Werten b1,...,bk wird vorzugsweise mit den Variablen y1,...,yk des Satzes S2 ersetzt, um einen Satz S3 von k Polynomfunktionen P''1(a1,...,an+v),..., P''k(a1,...an+v) zu erzeugen (Schritt 115). Dann können v Werte a'n+1,...,a'n+v für die v „Vinegar" Variablen an+1,...,an+v zufällig ausgewählt werden (Schritt 120). Alternativ können die v Werte a'n+1,...,a'n+v gemäß einem vorgegebenen Auswahlalgorithmus ausgewählt werden.
  • Sobald die v Werte a'n+1,...,a'n+v ausgewählt sind, wird vorzugsweise ein Gleichungssystem P''1(a1,...,an,a'n+1,...,a'n+v) = 0,..., P''k(a1,...,an,a'n+1,...,a'n+v) = 0 gelöst, um eine Lösung für a'1,...,a'n zu erhalten (Schritt 125). Dann kann die Secret Key Operation angewendet werden, um a'1,...,a'n+v in eine digitale Signatur e1,...,en+v zu transformieren (Schritt 130).
  • Die erzeugte digitale Signatur e1,...,en+v kann gemäß des unter Bezug auf 2B beschriebenen Verfahrens durch eine Verifiziervorrichtung der (nicht gezeigten) digitalen Signatur verifiziert werden, die beispielsweise die Verifiziervorrichtung 35 oder die Verifiziervorrichtung 50 der 1 umfassen kann. Um die digitale Signatur zu verifizieren, erhält die Verifiziervorrichtung vorzugsweise die Signatur e1,...,en+v, die Nachricht, die Hash-Funktion und den Public Key (Schritt 200). Dann kann die Verifiziervorrichtung die Hash-Funktion auf die Nachricht anwenden, um die Reihe von k Werten b1,...,bk zu erzeugen (Schritt 205). Sobald die k Werte b1,...,bk erzeugt sind, verifiziert die Verifiziervorrichtung die digitale Signatur vorzugsweise dadurch, dass sie verifiziert, dass die Gleichungen P1(e1,...,en+v,b1,...,bk) = 0,..., Pk(e1,...,en+v+b1,...,bk) = 0 erfüllt sind (Schritt 210).
  • Selbstverständlich kann die obengenannte Erzeugung und Verifizierung der digitalen Signatur für das UOV-Schema verwendet werden, wenn der Satz S2 den Satz S von k Polynomfunktionen des UOV-Schemas, wie in Anhang I beschrieben, enthält. Alternativ kann die oben genannte Erzeugung und Verifizierung der digitalen Signatur für das HFEV-Schema verwendet werden, wenn der Satz S2 den Satz f(a) von k Polynomfunktionen des HFEV-Schemas, wie in Anhang I beschrieben, enthält.
  • Wie in Anhang I erwähnt ist, ermöglichen die Verfahren der 2A und 2B das Erhalten digitaler Signaturen, die typischerweise kleiner sind als digitale Signaturen, die bei theoretischen Kryptographieschemata mit herkömmlichen Zahlen, beispielsweise dem bekannten RSA-Schema, erhalten werden.
  • Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung kann, wenn der Satz S2 den Satz S von k Polynomfunktionen des UOV-Schemas enthält, der Satz S1 mit der Zahl v von „Vinegar" Variablen versehen werden, die so gewählt wird, dass sie größer ist als die Zahl n der „Oil" Variablen. Vorzugsweise kann v auch so gewählt werden, dass qv größer ist als 232, wobei q die Zahl der Elemente eines endlichen Feldes K ist, über dem die Sätze S1, S2 und S3 bereitgestellt werden.
  • Des weiteren bevorzugt kann S1 aus einer Teilmenge S2' von k Polynomfunktionen des Satzes S2 erhalten werden, wobei die Teilmenge S2' dadurch gekennzeichnet ist, dass alle Koeffizienten der Komponenten, die eine der y1,...,yk Variablen in den k Polynomfunktionen P'1(a1,...,an+v,y1,...,yk),...,P'k(a1,...,an+v,y1,...,yk) enthalten, Null sind, und dass die Zahl v der „Vinegar" Variablen größer ist, als die Zahl n der „Oil" Variablen.
  • Bei dem grundlegenden „Oil and Vinegar" Schema ist die Zahl v der „Vinegar" Variablen so gewählt, dass sie gleich der Zahl n der „Oil" Variablen ist. Für eine derartige Auswahl der v Variablen haben Aviad Kipnis, der einer der Erfinder der vorliegenden Erfindung ist, und Adi Shamir in den vorgenannten Proceedings of CRYPTO 98, Springer, LNCS Nr. 1462, auf den Seiten 257 bis 266 eine Kryptoanalyse des grundlegenden "Oil and Vinegar" Signatur Schemas gezeigt, die das grundlegende "Oil and Vinegar" Schema unsicher macht. Außerdem kann, wenn man das von Kipnis und Shamir beschriebene Verfahren anwendet, gezeigt werden, dass das grundlegende „Oil and Vinegar" Schema für jede Zahl v von „Vinegar" Variablen, die kleiner ist als die Zahl n von „Oil" Variablen, unsicher ist.
  • Die Erfinder der vorliegenden Erfindung haben, wie in Anhang I beschrieben, herausgefunden, dass, wenn das „Oil and Vinegar" Schema durch Modifizieren des „Oil and Vinegar" Schemas so aus dem Gleichgewicht gebracht wird, dass die Zahl v der „Vinegar" Variablen größer ist als die Zahl n der „Oil" Variablen, das daraus resultierende „Unbalanced Oil and Vinegar" (UOV) Schema sicher sein kann.
  • Insbesondere wird für ein UOV 2. Grades und für alle Werte von p, bei denen p eine Charakteristik des Feldes K ist, d.h. die additive Ordnung von 1, das UOV Schema als sicher angesehen für Werte von v, die die Ungleichung q(v-n)+1x n4>240 erfüllen. Selbstverständlich wird auch für Werte von v, die größer als n2/2 aber kleiner oder gleich n2 sind, das UOV als sicher angesehen, und das Lösen des Satzes S1 wird als ebenso schwierig angesehen wie das Lösen eines zufälligen Systems von k Gleichungen. Für Werte von v, die größer sind als n2 wird angenommen, dass das UOV unsicher ist.
  • Des weiteren wird für ein UOV 3. Grades und für p = 2 das UOV Schema als sicher angesehen für Werte von v, die wesentlich größer sind als n·(1 + √3) und kleiner oder gleich n3/6. Selbstverständlich wird auch für Werte von v, die größer als n3/6 aber kleiner oder gleich n3/2 sind, das UOV als sicher angesehen, und das Lösen des Satzes S 1 wird als ebenso schwierig angesehen wie das Lösen eines zufälligen Systems von k Gleichungen. Für Werte von v, die größer als n3/2 sind, und für Werte von v, die kleiner als n·(1 + √3) sind, wird angenommen, dass das UOV unsicher ist.
  • Außerdem wird für ein UOV 3. Grades und für p ungleich 2 das UOV Schema als sicher angesehen für Werte von v, die wesentlich größer sind als n und kleiner oder gleich n3/6. Selbstverständlich wird auch für Werte von v, die größer als n3/6 aber kleiner oder gleich n4 sind, das UOV als sicher angesehen, und das Lösen des Satzes S1 wird als ebenso schwierig angesehen wie das Lösen eines zufälligen Systems von k Gleichungen. Für Werte von v, die größer als n4 sind, und für Werte von v, die kleiner als n sind, wird angenommen, dass das UOV unsicher ist.
  • Vorzugsweise kann, in einem Fall, in dem der Satz S2 den Satz f(a) von k Polynomfunktionen des HFEV-Schemas enthält, der Satz S2 einen Ausdruck enthalten, der k Funktionen aufweist, die von einem eindimensionalen (univariaten) Polynom abgeleitet sind. Das eindimensionale (univariate) Polynom kann bevorzugt ein Polynom eines Grades kleiner oder gleich 100.000 auf einem Erweiterungsfeld des Grades n über K aufweisen.
  • Beispiele von Parametern, die für die UOV- und HFEV-Schemata ausgewählt worden sind, sind in Anhang I gezeigt.
  • Selbstverständlich können verschiedene Merkmale der Erfindung, die aus Gründen der Klarheit im Zusammenhang mit einzelnen Ausführungsformen beschrieben worden sind, auch in Kombination in einer einzigen Ausführungsform vorgesehen werden. Demgegenüber können verschiedene Merkmale der Erfindung, die aus Gründen der Kürze im Zusammenhang mit einer einzigen Ausführungsform beschrieben worden sind, getrennt oder in jeder beliebigen geeigneten Unterkombination vorgesehen werden.
  • Es ist für den Fachmann selbstverständlich, dass die vorliegende Erfindung nicht durch das vorstehend Dargestellte und Beschriebene eingeschränkt ist. Der Umfang der Erfindung wird vielmehr nur durch die nachfolgenden Ansprüche definiert.
  • „Unbalanced Oil and Vinegar" Signatur-Schemata
    • Aviad Kipnis
    • NDS Technologies
    • 5 Hamarpe St. Har Hotzvim
    • Jerusalem, Israel
    • E-Mail: akipn.is@ndsisrael.com
    • Jacques Patarin, Louis Goubin
    • Bull Smart Cards and Terminals
    • 68 route de Versailles – BP 45
    • 78431 Louveciennes Cedex – France
    • E-Mail: {jacques.patarin,louis.goubin}@bull.net
  • Zusammenfassung
  • In [9] erstellte J. Patarin ein neues Schema mit dem Namen „Oil and Vinegar" zum Berechnen asymmetrischer Signaturen. Es ist sehr einfach, kann sehr schnell berechnet werden (sowohl mit geheimen als auch öffentlichen Schlüsseln) und beansprucht sehr wenig RAM bei Chipkarten-Implementierungen. Die Idee besteht darin, quadratische Gleichungen in n Unbekannten, die „Oil" genannt werden, und v = n Unbekannten, die „Vinegar" genannt werden, über ein endliches Feld K mit linearen geheimen Funktionen zu verstecken. Dieses ursprüngliche Schema wurde in [5] von A. Kipnis und A. Shamir durchbrochen. In der vorliegenden Abhandlung studieren wir sehr einfache Variationen des ursprünglichen Schemas mit v > n (anstelle v = n). Diese Schemata werden „Unbalanced Oil and Vinegar" (UOV) genannt, da wir mehr „Vinegar" Unbekannte als „Oil" Unbekannte haben. Wir zeigen, dass, wenn v ~ n ist, der Ansatz von [5] ausgedehnt werden kann, aber wenn beispielsweise v ≥ 2n ist, die Sicherheit des Schemas immer noch ein offenes Problem ist. Außerdem ist, wenn v ~ n2/2 ist, die Sicherheit des Schemas (wenn wir eine sehr natürliche, aber nicht bewiesene Eigenschaft annehmen) exakt äquivalent zu dem Problem des Lösens eines zufälligen Systems von n quadratischen Gleichungen in n2/2 Unbekannten (ohne Falltür) ist. Wir zeigen jedoch, dass, wenn v > n2 ist, das Auffinden einer Lösung im allgemeinen leicht ist. In dieser Abhandlung präsentieren wir auch einige praktische Werte der Parameter, für die keine Ansätze bekannt sind. Die Länge der Signaturen kann lediglich 192 Bits betragen. Wir studieren auch Schemata mit Public Keys (öffentlichen Schlüsseln) 3. Grades anstatt 2. Grades. Wir zeigen, dass es gegenwärtig keine bedeutenden Vorteile gibt, Schemata 3. Grades anstelle von Schemata 2. Grades vorzuschlagen.
  • 1. Einführung
  • Seit 1985 haben verschiedene Autoren (siehe z.B. [2], [4], [7], [8), [9], [ 10], [11]) Public Key Schemata vorgeschlagen, bei denen der Public Key als ein System multivariater quadratischer (oder höhergradiger) Gleichungen über ein kleines finites Feld K gegeben ist.
  • Das eigentliche Problem bei der Lösung eines derartigen Systems von Gleichungen ist NP-hart (vgl. [3]) (auch im quadratischen Fall). Außerdem sind, wenn die Zahl der Unbekannten angenommen n ≥ 16 ist, die am besten bekannten Algorithmen oft nicht wesentlich besser als erschöpfende Suche (wenn n sehr klein ist, könnten Gröbner Basen Algorithmen effizient sein).
  • Die Schemata sind häufig sehr effizient hinsichtlich Geschwindigkeit oder hinsichtlich RAM, das bei einer Chipkarten-Implementierung erforderlich ist (die Länge des Public Keys ist jedoch im allgemeinen ≥ 1 Kbyte). Das ernsthafteste Problem ist, dass, um eine Falltür einzubauen (um die Berechnung von Signaturen zu ermöglichen, oder um die Entschlüsselung von Nachrichten zu ermöglichen, wenn ein Geheimnis (Secret) bekannt ist), das erzeugte System von öffentlichen Gleichungen im allgemeinen eine kleine Teilmenge aller möglichen Gleichungen wird und, in vielen Fällen, die Algorithmen durchbrochen worden sind. Beispielsweise wurde [2] durch deren Autoren durchbrochen, und [7] und [9] wurden ebenfalls durchbrochen. Viele Schemata sind jedoch noch nicht durchbrochen worden (z.B. [8], [10], [11]). Auch wurden in vielen Fällen sehr einfache Variationen vorgeschlagen, um die Schemata zu reparieren. Daher wissen wir zur Zeit nicht, ob diese Idee des Erstellens von Public Key Algorithmen mit multivariaten Polynomen über endliche Felder eine besonders starke Idee ist (bei der nur einige zu einfache Schemata unsicher sind) oder nicht.
  • In dieser Abhandlung präsentieren wir das, was vielleicht das einfachste Beispiel ist: das ursprüngliche „Oil and Vinegar" Signatur-Schema (von [9]) wurde durchbrochen (siehe [5]), aber wenn wir wesentlich mehr „Vinegar" Unbekannte als „Oil" Unbekannte haben (eine Definition der „Oil" und „Vinegar" Unbekannten ist in Abschnitt 2 zu finden), funktioniert der Ansatz von [5] nicht, und die Sicherheit dieses allgemeineren Schemas ist noch ein offenes Problem.
  • Außerdem zeigen wir, dass, wenn wir ungefähr n2/2 „Vinegar" Unbekannte für n „Oil" Unbekannte haben, die Sicherheit des Schemas (wenn wir eine natürliche, jedoch nicht bewiesene Eigenschaft akzeptieren) exakt äquivalent zu dem Problem des Lösens eines zufälligen Systems von n quadratischen Gleichungen in n2/2 Unbekannten (ohne Falltür) ist. Dies ist ein gutes Ergebnis, da es vorschlägt, dass ein Teilbeweis für Sicherheit (in Bezug auf einige Probleme, die einfach zu beschreiben sind und von denen angenommen wird, dass sie sehr schwer zu lösen sind) für einige Schemata mit multivariaten Polynomen über ein endliches Feld gefunden werden könnte. Wir zeigen jedoch, dass die meisten Systeme von n quadratischen Gleichungen in n2 (oder mehr) Variablen in Polynomkomplexität gelöst werden können ... Wir studieren auch „Oil and Vinegar" Schemata 3. Grades (anstelle 2. Grades).
  • 2. Das (ursprüngliche und Unbalanced) „Oil and Vinegar" Schema 2. Grades
  • K = Fq sei ein kleines endliches Feld (z.B. K = F2). n und v seien zwei ganze Zahlen. Die zu unterzeichnende Nachricht (oder ihr Hash) wird als ein Element von Kn repräsentiert, angegeben durch y = (y1,..., yn). Typischerweise ist qn ≃ 2128. Die Signatur x wird als ein Element von Kn+v repräsentiert, angegeben durch x = (x1,..., xn+v).
  • Secret Key (geheimer Schlüssel)
  • Der Secret Key besteht aus zwei Teilen:
    • 1. Einer bijektiven und affinen Funktion s: Kn+v → Kn+v. Mit „affin" meinen wir, dass jede Komponente des Ausgangs als Polynom 1. Grades in den n + v Eingangs-Unbekannten geschrieben werden kann, und mit Koeffizienten in K.
    • 2. Einer Menge (S) von n Gleichungen des folgenden Typs:
      Figure 00180001
  • Die Koeffizienten γijk, λijk, εij, ε'ij und δi sind die geheimen Koeffizienten dieser n Gleichungen. Die Werte a1,..., an (die „Oil" Unbekannten) und a'1,..., a'v (die „Vinegar" Unbekannten) liegen in K. Beachten Sie, dass diese Gleichungen (S) keine Terme in aiaj enthalten.
  • Public Key (öffentlicher Schlüssel)
  • A sei ein Element aus Kn+v, definiert durch A = (a1,..., an, a'1,..., a'v). A wird in x = s-1(A) transformiert, wobei s die geheime, bijektive und affine Funktion von Kn+v zu Kn+v ist.
  • Jeder Wert yi, 1 ≤ i ≤ n kann als Polynom Pi 2. Grades in den xj Unbekannten geschrieben werden, 1 ≤ j ≤ n+v. Die Menge dieser n Gleichungen wird mit (P) bezeichnet: i, 1 ≤ i ≤ n, yi = Pi(x1,..., xn+v) (P).
  • Diese n quadratischen Gleichungen (P) (in den n + v Unbekannten xj) sind der Public Key.
  • Berechnung einer Signatur (mit dem Secret Key)
  • Die Berechnung einer Signatur x von y wird wie folgt durchgeführt:
    Schritt 1: Wir finden n Unbekannte a1,..., an von K und v Unbekannte a'1,..., a'v von K, so dass die n Gleichungen (S) erfüllt sind.
  • Dies kann wie folgt durchgeführt werden: Wir wählen die v „Vinegar" Unbekannten a'i, zufällig aus und berechnen dann die ai Unbekannten aus (S) durch Gaussche Reduktionen (weil – da es keine aiaj Terme gibt – die (S) Gleichungen in den ai Unbekannten affin sind, wenn die a'i festgelegt sind.
  • Anmerkung: Wenn wir keine Lösung finden, versuchen wir es einfach nochmals mit neuen zufälligen „Vinegar" Unbekannten. Nach sehr wenigen Versuchen ist die Wahrscheinlichkeit, wenigstens eine Lösung zu erhalten, sehr hoch, weil die Wahrscheinlichkeit, dass eine n × n Matrix über Fq invertierbar ist, nicht vernachlässigbar ist. (Sie ist exakt (1-1/q)(1-1/g2)...(1-1/qn-1). Für q = 2 ergibt dies annähernd 30%, und für q > 2 ist diese Wahrscheinlichkeit noch größer).
  • Schritt 2: Wir berechnen x = s-1(A), wobei A = (a1,..., an,a'1,..., a'v). x ist eine Signatur von y.
  • Öffentliche Verifizierung einer Signatur
  • Eine Signatur x von y ist dann und nur dann gültig, wenn alle (P) erfüllt sind. Folglich ist kein Geheimnis (Secret) erforderlich, um zu überprüfen, ob eine Signatur gültig ist: dies ist ein asymmetrisches Signaturschema.
  • Anmerkung: Der Ausdruck „Oil and Vinegar" stammt von der Tatsache, dass – in den Gleichungen (S) – die „Oil" Unbekannten ai und die „Vinegar" Unbekannten aj überhaupt nicht miteinander vermischt werden: es gibt keine aiaj Produkte. In (P) wird diese Eigenschaft jedoch durch das „Vermischen" der Unbekannten durch die s Transformation versteckt. Ist diese Eigenschaft „ausreichend versteckt"? Eigentlich bedeutet diese Frage genau: „Ist das Schema sicher?" Wenn v = n ist, nennen wir das Schema „ursprüngliches Oil and Vinegar", da dieser Fall als Erstes in [9] präsentiert worden ist. Dieser Fall wurde in [5] durchbrochen. Es ist sehr leicht zu sehen, dass die Kryptoanalyse von [5] auch funktioniert, und zwar exakt in derselben Weise, wenn v < n ist. Die Fälle von v > n sind jedoch viel schwieriger. Wenn v > n ist, nennen wir das Schema „Unbalanced Oil and Vinegar". Die Analyse derartiger Schemata ist das Thema der vorliegenden Abhandlung.
  • 3. Kurze Beschreibung des Ansatzes von [5]: Kryptoanalyse des Falles v = n
  • Die Idee des Ansatzes von [5] ist im wesentlichen folgende: Um die „Oil" Variablen und die „Vinegar" Variablen zu trennen, schauen wir auf die quadratischen Formen der n öffentlichen Gleichungen von (P), wir lassen die linearen Terme für eine Weile außer Acht. Gi sei für 1 ≤ i ≤ n die entsprechende Matrix der quadratischen Form von Pi der öffentlichen Gleichungen (P).
  • Der quadratische Teil der Gleichungen in dem Satz (S) wird als quadratische Form mit einer entsprechenden 2n × 2n Matrix der folgenden Form repräsentiert:
    Figure 00200001
  • Die linke obere n × n Null-Untermatrix rührt von der Tatsache her, dass eine „Oil" Variable nicht mit einer „Oil" Variablen multipliziert wird.
  • Nach Verstecken der internen Variablen mit der linearen Funktion s erhalten wir eine Darstellung für die Matrizen
    Figure 00200002
    wobei S eine invertierbare 2n × 2n Matrix ist.
  • Definition 3.1: Wir definieren, dass der „Oil" Unterraum der lineare Unterraum aller Vektoren in K2n ist, deren zweite Hälfte nur Nullen enthält.
  • Definition 3.2: Wir definieren, dass der „Vinegar" Unterraum der lineare Unterraum aller Vektoren in K2n ist, deren erste Hälfte nur Nullen enthält.
  • Lemma 1: E und F seien 2n × 2n Matrizen mit einer oberen linken Null n × n Untermatrix. Wenn F invertierbar ist, ist der „Oil" Unterraum ein invarianter Unterraum von EF-1.
  • Beweis: E und F bilden den „Oil" Unterraum in den „Vinegar" Unterraum ab. Wenn F invertierbar ist, erfolgt diese Abbildung zwischen dem „Oil" Unterraum und dem „Vinegar" Unterraum Eins zu Eins und aufeinander (wir verwenden hier die Annahme, dass v = n). Daher bildet F-1 den „Vinegar" Unterraum auf den „Oil" Unterraum zurück ab. Dieses Argument erklärt, warum der „Oil" Unterraum durch EF-1 auf sich selbst transformiert wird.
  • Definition 3.4: Für eine invertierbare Matrix Gj wird definiert Gij = GiGj - 1.
  • Definition 3.5: O sei die Abbildung des „Oil" Unterraums durch S-1.
  • Um den „Oil" Unterraum zu finden, verwenden wir das folgende Theorem:
  • Theorem 3.1: O ist ein gemeinsamer invarianter Unterraum aller Matrizen Gij Beweis:
    Figure 00210001
  • Die beiden inneren Matrizen haben die Form von E und F in Lemma 1. Daher ist der „Oil" Unterraum ein invarianter Unterraum des inneren Terms, und O ist ein invarianter Unterraum von GiGj -1.
  • Das Problem, einen gemeinsamen Invarianten Unterraum einer Menge von Matrizen zu finden ist in [5] abgehandelt. Das Anwenden der Algorithmen in [5] erzeugt uns O. Wir wählen dann V so, dass es ein willkürlicher Unterraum der Dimension n ist, so dass V + O = K2n, und dies ergibt eine äquivalente „Oil and Vinegar" Trennung.
  • Sobald wir eine solche Trennung haben, bringen wir die linearen Terme, die außer Acht gelassen worden sind, zurück, wir wählen zufällige Werte für die „Vinegar" Variablen und herauskommt ein System von n linearen Gleichungen mit n „Oil" Variablen.
  • Anmerkung: Lemma 1 trifft nicht mehr zu, wenn v > n ist. Der „Oil" Unterraum wird immer noch durch E und F in den „Vinegar" Unterraum abgebildet. Jedoch bildet F-1 die Abbildung durch E des „Oil" Unterraums nicht notwendigerweise auf den „Oil" Unterraum zurück. Deshalb trifft die Kryptoanalyse des ursprünglichen „Oil and Vinegar" nicht auf den „Unbalanced"-Fall zu.
  • Dies entspricht der Tatsache, dass, wenn die Untermatrix von Nullen in der oberen linken Ecke von F kleiner ist als n × n, F-1 (im allgemeinen) keine Untermatrix von Nullen in der unteren rechten Ecke hat. Zum Beispiel:
    Figure 00220001
  • Wenn jedoch v - n klein ist, sehen wir im nächsten Abschnitt, wie der Ansatz ausgeweitet werden kann.
  • 4. Kryptoanalyse, wenn v > n und v ~ n
  • In diesem Abschnitt diskutieren wir den Fall von „Oil und Vinegar" Schemata, bei denen v > n ist, und obwohl eine direkte Anwendung des in [5] und in dem vorhergehenden Abschnitt beschriebenen Ansatzes das Problem nicht löst, gibt es eine Modifizierung des Ansatzes, die angewendet werden kann, solange v - n klein ist.
  • Definition 4.1: Wir definieren in diesem Abschnitt, dass der „Oil" Unterraum der lineare Unterraum aller Vektoren in Kn+v ist, deren letzte v Koordinaten nur Nullen sind.
  • Definition 4.2: Wir definieren in diesem Abschnitt, dass der „Vinegar" Unterraum der lineare Unterraum aller Vektoren in Kn+v ist, deren erste n Koordinaten nur Nullen sind.
  • In diesem Abschnitt beginnen wir mit den homogenen quadratischen Termen der Gleichungen: Wir lassen die linearen Terme für eine Weile außer Acht.
  • Die Matrizen Gi werden dargestellt als
    Figure 00230001
    wobei die obere linke Matrix die n × n Nullmatrix ist, Ai eine n × v Matrix ist, Bi eine v × n Matrix ist, Ci eine v × v Matrix ist und S eine (n + v) × (n + v) invertierbare lineare Matrix ist.
  • Definition 4.3: Es wird definiert, dass Ei
    Figure 00230002
    ist.
  • Lemma 2: Für jede Matrix E in der Form
    Figure 00230003
    trifft das Folgende zu:
    • a) E transformiert den „Oil" Unterraum in den „Vinegar" Unterraum.
    • b) Wenn die Matrix E-1 existiert, dann ist die Abbildung des „Vinegar" Unterraums durch E-1 ein Unterraum der Dimension v, der den n-dimensionalen „Oil" Unterraum enthält.
  • Beweis: a) folgt unmittelbar aus der Definition der „Oil" und „Vinegar" Unterräume. Wenn a) gegeben ist, folgt b) direkt daraus.
  • Der Algorithmus, den wir vorschlagen, ist ein probalistischer Algorithmus. Er sucht einen invarianten Unterraum des „Oil" Unterraums, nachdem er durch S transformiert ist. Die Wahrscheinlichkeit, dass der Algorithmus beim ersten Versuch erfolgreich ist, ist gering. Daher müssen wir ihn mit verschiedenen Eingaben wiederholen. Wir verwenden die folgende Eigenschaft: jede lineare Kombination der Matrizen E1,..., En liegt auch in der Form
    Figure 00240001
    vor.
  • Das folgende Theorem erklärt, warum ein invarianter Unterraum mit gewisser Wahrscheinlichkeit existieren kann.
  • Theorem 4.1: F sei eine invertierbare lineare Kombination der Matrizen E1,..., En. Dann hat für jedes k, so dass Ek -1 existiert, die Matrix FEk -1 einen nicht trivialen invarianten Unterraum, der auch ein Unterraum des „Oil" Unterraums ist, mit einer Wahrscheinlichkeit von nicht weniger als
    Figure 00240002
    für d = v-n.
  • Beweis: Die Matrix F bildet den „Oil" Unterraum in den „Vinegar" Unterraum ab, die Abbildung durch F des „Oil" Unterraums wird durch Ek -1 in einen Unterraum der Dimension v abgebildet, der den „Oil" Unterraum enthält – dies aufgrund von Lemma 1. Wir schreiben v = n + d, wobei d eine kleine ganze Zahl ist. Der „Oil" Unterraum und sein Bild durch FEk -1 sind zwei Unterräume mit der Dimension n, die in einem Unterraum der Dimension n + d residieren. Daher ist ihr Schnittpunkt ein Unterraum des „Oil" Unterraums mit der Dimension von nicht weniger als n - d. Wir bezeichnen den „Oil" Unterraum mit I0 und den Schnittpunkt-Unterraum mit I1. Nun nehmen wir die inversen Abbildungen durch FEk -1 von I1: Dies ist ein Unterraum von I0 (dem „Oil" Unterraum) mit der Dimension von nicht weniger als n - d, und der Schnittpunkt zwischen diesem Unterraum und I1 ist ein Unterraum von I1 mit der Dimension von nicht weniger als n - 2d. Wir nennen diesen Unterraum I2. Wir können diesen Prozess fortführen und definieren, dass Il der Schnittpunkt von Il-1 und seinem inversen Bild durch FEk -1 ist. Diese beiden Unterräume haben eine Codimension von nicht mehr als d in Il-2. Daher hat Il eine Codimension von nicht mehr als 2d in Il-2 oder eine Codimension von nicht mehr als d in Il-1. Wir können diesen Prozess fortführen, solange wir sicher sind, dass das inverse Bild durch FEk -1 von Il einen nicht trivialen Schnittpunkt mit Il hat. Dies ist sichergestellt, solange die Dimension von Il größer ist als d, aber wenn die Dimension d oder kleiner als d ist, gibt es keine Garantie, das diese beiden Unterräume – die in Il-1 residieren - einen nicht trivialen Schnittpunkt haben. Wir beenden den Prozess mit Il, das eine Dimension ≤ d hat und in Il-1 mit einer Dimension von nicht mehr als 2d residiert.
  • Wir wissen, dass die Transformation (EGk-1)-1Il in Il-1 abbildet. Mit einer Wahrscheinlichkeit von nicht weniger als
    Figure 00250001
    gibt es einen Nicht-Nullvektor in Il, der auf ein Nicht-Null-Vielfaches seiner selbst abgebildet wird – und daher gibt es einen nicht trivialen Unterraum von FEk -1, der auch ein Unterraum des „Oil" Unterraumsist.
  • Anmerkung: Es ist möglich, für die erwartete Zahl von Eigenvektoren ein besseres Ergebnis zu erhalten, und zwar mit viel weniger Anstrengung: I1 ist ein Unterraum mit der Dimension von nicht weniger als n - d und wird durch FEk -1 in einen Unterraum mit der Dimension n abgebildet. Die Wahrscheinlichkeit, dass ein Nicht-Nullvektor auf ein Nicht-Null-Vielfaches seiner selbst abgebildet wird, ist
    Figure 00250002
    . Um den erwarteten Wert zu erhalten, multiplizieren wir ihn mit der Zahl von Nicht-Null vektoren in I1. Dies ergibt einen Wert, der nicht kleiner ist als
    Figure 00260001
    . Da jeder Eigenvektor q-1 mal gezählt wird, ist die erwartete Zahl der Invarianten Unterräume der Dimension 1 nicht geringer als
    Figure 00260002
    .
  • Wir definieren 0 wie in Abschnitt 3 und erhalten das folgende Ergebnis für O:
    Theorem 4.2: F sei eine invertierbare lineare Kombination der Matrizen G1;..., Gn. Dann hat für jedes k, so dass Gk -1 existiert, die Matrix FGk -1 einen nicht trivialen invarianten Unterraum, der auch ein Unterraum von O ist, mit einer Wahrscheinlichkeit von nicht weniger als
    Figure 00260003
    für d = v - n.
  • Beweis:
    Figure 00260004
  • Der innere Term ist mit der notwendigen Wahrscheinlichkeit ein invarianter Unterraum des „Oil" Unterraums. Daher trifft dasselbe für FGk -1 zu, aber anstelle eines Unterraums des „Oil" Unterraums erhalten wir einen Unterraum von O.
  • Wie finden wir O?
  • Wir nehmen eine zufällige lineare Kombination von G1,..., Gn und multiplizieren sie mit dem Inversen einer der Gk Matrizen. Dann berechnen wir alle minimalen invarianten Unterräume dieser Matrix (ein minimaler invarianter Unterraum einer Matrix A enthält keine nicht-trivialen invarianten Unterräume der Matrix A – diese Unterräume entsprechen nicht reduzierbaren Faktoren des charakteristischen Polynoms von A). Dies kann in probalistischer Polynomzeit unter Verwendung von Standardtechniken der linearen Algebra bewerkstelligt werden. Diese Matrix kann einen invarianten Unterraum haben, der ein Unterraum von O ist.
  • Das folgende Lemma ermöglicht es uns, zwischen Unterräume, die in O enthalten sind, und zufälligen Unterräumen zu unterscheiden.
  • Lemma 3: Wenn H ein linearer Unterraum ist und H ⊂ O ist, dann ist für jedes x, y in H und jedes i, Gi(x,y) = 0 (hier sehen wir Gi als bilineare Form an).
  • Beweis: Es gibt x' und y' in dem „Oil" Unterraum, so dass x' = xS-1 und y' = yS-1.
  • Figure 00270001
  • Der letzte Term ist Null, weil x' und y' im „Oil" Unterraum sind.
  • Dieses Lemma gibt einen Polynomtest zur Unterscheidung zwischen Unterräumen von Ound zufälligen Unterräumen. Wenn die Matrix, die wir verwendet haben, keinen minimalen Unterraum hat, der auch ein Unterraum von O ist, nehmen wir eine andere lineare Kombination von G1,..., Gn, multiplizieren sie mit dem Inversen einer der Gk Matrizen und versuchen es wieder. Nachdem wir diesen Prozess ungefähr q- d+1 mal wiederholt haben, finden wir mit guter Wahrscheinlichkeit wenigstens einen Nullvektor von O. Wir führen diesen Prozess fort, bis wir n unabhängige Vektoren von O erhalten. Diese Vektoren spannen O auf. Die erwartete Komplexität des Prozesses ist proportional zu q-d+1n4. Wir verwenden hier die erwartete Anzahl von Versuchen, bis wir einen nicht trivialen invarianten Unterraum finden und der Term n4 die Rechenoperationen der linearen Algebra abdeckt, die wir für jeden Versuch durchführen müssen.
  • 5. Die Fälle v = n2/2 (oder v > n2/2)
  • Eigenschaft
  • (A) sei eine zufällige Menge von n quadratischen Gleichungen in (n + v) Variablen x1,..., xn+v. (Mit „zufällig" meinen wir, dass die Koeffizienten dieser Gleichungen uniform und zufällig gewählt werden). Wenn v = n2/2 (und allgemeiner, wenn v > n2/2) ist, gibt es wahrscheinlich – für die meisten dieser (A) – eine lineare Änderung von Variablen (x1,..., xn+v) → (x'1,..., x'n+v), so dass die Menge (A') von (A) Gleichungen geschrieben in (x'1,..., x'n+v) ein „Oil and Vinegar" System ist (d.h. es gibt in x'i·x'j keine Terme mit i ≤ n und j ≤ n).
  • Ein Argument zur Begründung der Eigenschaft
  • Figure 00280001
  • Indem wir schreiben, dass der Koeffizient in allen n Gleichungen von (A) von allen x'i·x'j (i ≤ n und j ≤ n) Null ist, erhalten wir ein System von
    Figure 00280002
    quadratischen Gleichungen in den (n + v)·n Variablen ai,j (1 ≤ i ≤ n + v, 1 ≤ j ≤ n). Daher können wir, wenn v ≥ ungefähr n2/2 ist, erwarten, eine Lösung für dieses System von Gleichungen für die meisten (A) zu erhalten.
  • Anmerkungen:
    • 1. Dieses Argument ist sehr natürlich, ist jedoch kein kompletter mathematischer Beweis.
    • 2. Das System kann eine Lösung haben, aber das Auffinden der Lösung könnte ein schwieriges Problem darstellen. Der Grund, warum ein „Unbalanced Oil and Vinegar" System (für gut gewählte Parameter) sicher sein könnte, ist: Es gibt immer eine lineare Änderung von Variablen, was das Problem leicht lösbar macht, aber das Auffinden einer solchen Änderung von Variablen könnte schwierig sein.
    • 3. In Abschnitt 7 werden wir sehen, dass es, trotz des Ergebnisses in diesem Abschnitt, nicht empfehlenswert ist, v ≥ n2 zu wählen.
  • 6. Das Lösen einer Menge von n quadratischen Gleichungen in k Unbekannten, k > n, ist NP-hart
  • In Abschnitt 7 präsentieren wir einen Algorithmus, der in Polynomkomplexität mehr als 99% der Mengen von n quadratischen Gleichungen in n2 (oder mehr) Variablen löst (d.h. er hat wahrscheinlich in mehr als 99% der Fälle Erfolg, wenn die Koeffizienten zufällig gewählt werden). Grob gesagt können wir dieses Ergebnis dadurch zusammenfassen, dass wir sagen, das das Lösen einer „zufälligen" Menge von n quadratischen Gleichungen in n2 (oder mehr) Variablen in Polynom-Komplexität machbar ist (und daher nicht NP-hart ist, wenn P ≠ NP ist). In dem vorliegenden Abschnitt sehen wir jedoch, dass das Problem des Lösens jeder (d.h. 100%) Menge von n quadratischen Gleichungen in k ≥ n Variablen (so z.B. in k = n2 Variablen) NP-hart ist!
  • Um dies zu sehen, nehmen wir an, dass wir eine Blackbox haben, in die jedes beliebige System von n quadratischen Gleichungen mit k Variablen eingegeben wird, und die eine Lösung ergibt, wenn wenigstens eine Lösung existiert. Dann können wir diese Blackbox verwenden, um eine Lösung für jedes System von n quadratischen Gleichungen in n Variablen zu finden (und dies ist NP-hart). Wir gehen (beispielsweise) wie folgt vor. (A) sei ein System von (n-1) quadratischen Gleichungen mit (n-1) Variablen x1, x2,..., xn-1. Dann seien y1,..., yα α weitere Variablen. (B) sei das System von (A) Gleichungen plus eine quadratische Gleichung in y1,..., yα (beispielsweise die Gleichung: (y1 + ... + yα)2 = 1). Dann ist (B) ein System von exakt n quadratischen Gleichungen in (n + 1 + α) Variablen. Es ist klar, dass wir aus der Lösung von (B) unmittelbar eine Lösung für (A) finden.
  • Anmerkung 1: (B) hat eine sehr spezielle Form! Deshalb gibt es für 99% der Gleichungen einen Polynom-Algorithmus, ohne dass dies der Tatsache widerspricht, dass das Lösen dieser Mengen (B) von Gleichungen ein NP-hartes Problem ist.
  • Anmerkung 2: Für (B) können wir auch mehr als eine quadratische Gleichung in den y; Variablen hinzufügen, und wir können diese Gleichungen mit den Gleichungen von (A) linear mischen. In diesem Fall hat (B) immer noch eine sehr spezielle Form, aber diese sehr spezielle Form ist auf den ersten Blick weniger offensichtlich, da alle Variablen xi und yi in allen Gleichungen von (B) enthalten sind.
  • 7. Ein allgemein effizienter Algorithmus zum Lösen einer zufälligen Menge von n quadratischen Gleichungen in n2 (oder mehr) Unbekannten
  • In diesem Abschnitt beschreiben wir einen Algorithmus, der ein System von n zufällig gewählten quadratischen Gleichungen in n + v Variablen löst, wenn v ≥ n2 ist. (S) sei das folgende System:
    Figure 00300001
  • Der Hauptgedanke des Algorithmus besteht in der Verwendung einer Änderung der Variablen wie folgt:
    Figure 00300002
  • Die ai,j Koeffizienten (für 1 ≤ i ≤ n, 1 ≤ j ≤ n + v) werden Schritt für Schritt gefunden, damit das resultierende System (S') (im Hinblick auf diese neuen Variablen y1,..., yn+v geschrieben) einfach zu lösen ist.
    • • Wir beginnen damit, dass wir α1,1,...,α1,n+v zufällig wählen.
    • • Wir berechnen sodann α2,1,...,α2,n+v so, dass (S') keine y1y2 Terme enthält. Diese Bedingung führt zu einem System von n linearen Gleichungen für die (n + v) Unbekannten a2,j (1≤j≤n + v):
      Figure 00310001
    • • Wir berechnen dann α3,1,...,α3,n+v so, dass (S') weder y1y3 Terme noch y2y3 Terme enthält. Diese Bedingung ist äquivalent zu dem folgenden System von 2n linearen Gleichungen für die (n + v) Unbekannten α3,j (1 ≤ j ≤ n + v):
      Figure 00310002
    • • ...
    • • Schließlich berechnen wir αn,1...,αn,n+v so, dass (S') weder y1yn Terme noch y2yn Terme,..., noch yn-1yn Terme enthält. Diese Bedingung ergibt das folgende System von (n-1)n linearen Gleichungen für die (n + v) Unbekannten αn,j (1 ≤ j ≤ n + v):
      Figure 00310003
  • Im allgemeinen führen all diese linearen Gleichungen zu wenigstens einer Lösung (gefunden durch Gaussche Reduktionen). Insbesondere gibt das letzte System von n(n-1) Gleichungen und (n + v) Unbekannten im allgemeinen eine Lösung, sobald n + v > n(n - 1) ist, d.h. v > n(n - 2), was durch Hypothese wahr ist.
  • Außerdem sind die n Vektoren
    Figure 00310004
    sehr wahrscheinlich linear unabhängig für ein zufälliges quadratisches System (S).
  • Die verbleibenden ai,j Konstanten (d.h. diejenigen mit n + 1 ≤ i ≤ n + v und 1 ≤ j ≤ n + 1) werden zufällig gewählt, um eine bijektive Änderung von Variablen zu erhalten.
  • Das Neuschreiben des Systems (S) im Hinblick auf diese neuen Variablen yi führt uns zu dem folgenden System:
    Figure 00320001
    wobei jedes Li,j eine affine Funktion und jedes Qi eine quadratische Funktion ist.
  • Wir berechnen dann yn+1,..., yn+v so, dass: i, 1 ≤ i ≤ n, ∀j, 1 ≤ j ≤ n +v, Li,j(yn+1,...,yn+v) = 0
  • Dies ist möglich, weil wir ein System von n2 Gleichungen und v Unbekannten lösen müssen, was im allgemeinen zu wenigstens einer Lösung führt, solange v ≥ n2 ist. Es bleibt nun das folgende System von n Gleichungen für die n Unbekannten y1,..., yn zu lösen:
    Figure 00320002
    wobei λk = -Qk(yn+1,...,yn+v)(1 ≤ k ≤ n).
  • Im allgemeinen ergibt dies yi 2 durch Gaussche Reduktion.
  • 8. Eine Variation mit zweimal kleineren Signaturen
  • In dem in Abschnitt 2 beschriebenen UOV-Schema ist der Public Key eine Menge von n quadratischen Gleichungen yi = Pi(x1,..., xn+ v) für 1 ≤ i ≤ n, wobei y = (y1,..., yn) der Hash-Wert der zu signierenden Nachricht ist. Wenn wir eine kollisionsfreie Hash-Funktion verwenden, muss der Hash-Wert mindestens 128 Bit lang sein. Daher muss qn mindestens 2128 sein, damit die typische Länge der Signatur, wenn v = 2n ist, wenigstens 3 × 128 = 384 Bits ist.
  • Wie wir nun sehen, ist es möglich, eine kleine Variation im Signatur-Design vorzunehmen, um zweimal kleinere Signaturen zu erhalten. Der Gedanke ist, dasselbe Polynom Pi (mit demselben assoziierten Secret Key) beizubehalten, aber nun sind die öffentlichen Gleichungen, die wir überprüfen: i, Pi(x1,...,xn+v) + Li(y1,...,yn, x1,...,xn+v) = 0wobei Li eine lineare Funktion in (x1,..., xn+v) ist, und wobei die Koeffizienten von Li durch eine Hash-Funktion in (y1,..., yn) erzeugt werden.
  • Beispielsweise ist Li(y1,..., yn, x1,..., xn+v) = α1x12x1+...+αn+vxn+v, wobei (α1, α2, ..., αn+v) = Hash(y1,..., yn||i). Nun kann n so gewählt werden, dass qn ≥ 264 (anstatt qn ≥ 2128). (Anmerkung: qn muss ≥ 264 sein, damit eine ausgedehnte Suche für eine Lösung x vermieden wird). Wenn v = 2n und qn ~ 264 ist, ist die Länge der Signatur 3 × 64 = 192 Bits.
  • 9. „Oil and Vinegar" 3. Grades
  • 9.1 Das Schema
  • Die in Abschnitt 2 beschriebenen quadratischen „Oil and Vinegar" Schemata können einfach auf jeden höheren Grad erweitert werden. Wir präsentieren nun die Schemata im 3. Grad.
  • Variable
  • K sei ein kleines endliches Feld (z.B. K = F2). a1,..., an seien n Elemente von K, genannt die „Oil" Unbekannten. a'1,..., a'v seien v Elemente von K, genannt die „Vinegar" Unbekannten.
  • Secret Key
  • Der Secret Key besteht aus zwei Teilen:
    • 1. Einer bijektiven und affinen Funktion s: Kn +v → Kn +v.
    • 2. Einem System (S) von n Gleichungen des folgenden Typs:
      Figure 00340001
  • Die Koeffizienten γiik, μijkl, λijk, νijk, εij, ε'ij und δi sind die geheimen Koeffizienten dieser n Gleichungen. Es ist zu beachten, dass diese Gleichungen (S) keine Terme in ajakal oder in ajak enthalten: Die Gleichungen sind affin in den aj Unbekannten, wenn die a'k Unbekannten festgelegt sind.
  • Public Key
  • A sei das Element von Kn+ v definiert durch A = (a1,..., an, a'1,..., a'v). A wird zu x = s-1(A) transformiert, wobei s die geheime, bijektive und affine Funktion von Kn+v zu Kn+v ist. Jeder Wert yi, 1 ≤ i ≤ n, kann als Polynom Pi 3. Grades in den xj Unbekannten, 1 ≤j ≤ n + v, geschrieben werden. Wir bezeichnen mit (P) das System der folgenden n Gleichungen:
    Figure 00340002
  • Diese n Gleichungen (P) sind der Public Key.
  • Berechnung einer Signatur
  • y sei die zu signierende Nachricht (oder ihr Hash-Wert).
  • Schritt 1: Wir wählen die v „Vinegar" Unbekannten a'i zufällig aus; dann berechnen wir die ai Unbekannten aus (S) durch Gaussche Reduktionen (weil – da es keine aiaj Terme gibt – die (S) Gleichungen in den ai Unbekannten affin sind, wenn die a'i festgelegt sind. (Wenn wir für dieses affine System von n Gleichungen und n „Oil" Unbekannten keine Lösung finden, versuchen wir es einfach nochmals mit neuen zufälligen „Vinegar" Unbekannten).
  • Schritt 2: Wir berechnen x = s-1(A), wobei A = (a1,..., an, a'1,..., a'v). x ist eine Signatur von y.
  • Öffentliche Verifizierung einer Signatur
  • Eine Signatur x von y ist dann und nur dann gültig, wenn alle (P) erfüllt sind.
  • 9.2 Erste Kryptoanalyse von „Oil and Vinegar" 3. Grades, wenn v ≤ n ist
  • Wir können uns den quadratischen Teil des Public Keys ansehen und ihn genauso angreifen wie bei einem „Oil and Vinegar" zweiten Grades. Dies wird erwartungsgemäß funktionieren, wenn v < n ist.
  • Anmerkung: Wenn es keinen quadratischen Teil gibt (d.h. wenn der Public Key homogen 3. Grades ist), oder wenn dieser Ansatz nicht funktioniert, ist es immer möglich, eine zufällige affine Änderung von Variablen anzuwenden und es wieder zu versuchen. Außerdem werden wir in Abschnitt 9.3 sehen, dass es überraschenderweise beim 3. Grad einen leichteren und effizienteren Ansatz gibt als beim 2. Grad!
  • 9.3 Kryptoanalyse von „Oil and Vinegar" 3. Grades, wenn v ≤(1 + √3)n und K ≠ 2 ist (nach einer Idee von D. Coppersmith, vgl. [1])
  • Schlüsselgedanke ist, in einigen Richtungen eine „Linearität" zu entdecken. Wir durchsuchen die Menge V der Werte d = (d1,..., dn+v) so, dass: ∀x, ∀i, l ≤ i ≤ n, Pi(x + d) + Pi(x - d) = 2Pi(x) (#).
  • Dadurch, dass wir schreiben, dass jede xk Unbestimmte einen Nullkoeffizienten hat, erhalten wir n·(n + v) quadratische Gleichungen bei den (n + v) Unbekannten dj. (Jedes Monom xixjxk ergibt (xj + dj)(xk + dk)(xl + dl)(xj - dj)(xk - dk)(xl - dl) -2xjxkxl, d.h. 2(xjdkdl + xkdjdl + xldjdk).)
  • Des weiteren kann der Kryptoanalytiker ungefähr n-1 der Koordinaten dk von d spezifizieren, da der Vektorraum des korrekten d von der Dimension n ist. Es bleiben somit n·(n + v) quadratische Gleichungen in (v + 1) Unbekannten dj zu lösen. Wenn v nicht zu groß ist (typischerweise wenn
    Figure 00360001
    , d.h. wenn v ≤ (1 + √3)n ist, wird erwartet, dass dies leicht ist. Als Ergebnis ergibt dies, wenn v ≤ ungefähr (1 + √3)n und |K| ungerade ist, einen einfachen Weg, um das Schema zu durchbrechen.
  • Anmerkung 1: Wenn v wesentlich größer ist als (1 + √3)n (dies ist eine unausgeglichenere Grenze als die, die wir beim quadratischen Fall hatten), wissen wir gegenwärtig nicht, wie das Schema zu durchbrechen ist.
  • Anmerkung 2: Komischerweise funktioniert diese Kryptoanalyse von „Oil and Vinegar" Schemata 3. Grades nicht bei „Oil and Vinegar" Schemata 2. Grades. Grund dafür ist, dass – beim 2. Grad – die Schreibung ∀x, ∀i, 1 ≤ i ≤ ni Pi(x+d) + Pi(x - d) = 2Pi(x)nur n Gleichungen 2. Grades für die (n + v) dj Unbekannten ergibt (von denen wir nicht wissen, wie wir sie lösen sollen). (Jedes Monom xjxk ergibt (xj + dj)(xk + dk) + (xj - dj)(xk - dk) - 2xjxk, d.h. 2djdk).
  • Anmerkung 3: Beim, zweiten Grad haben wir gesehen, dass von den „Unbalanced Oil and Vinegar" Public Keys erwartet wird, dass sie nahezu die gesamte Menge von n quadratischen Gleichungen abdecken, wenn v = n2/2 ist. Beim dritten Grad haben wir eine ähnliche Eigenschaft: Es wird erwartet, dass die Public Keys nahezu die gesamte Menge von n Gleichungen dritten Grades abdecken, wenn v ≃ n3/6 ist (der Beweis ist ähnlich).
  • 10. Länge des Public Keys
  • Es ist immer machbar, einen Public Key auf einfache Weise zu transformieren, um den Public Key auf anerkannte Weise so zu erhalten, dass dieser anerkannte Ausdruck geringfügig kürzer ist als der ursprüngliche Ausdruck. Zunächst ist es immer möglich, nur den homogenen Teil der quadratischen Gleichungen (und nicht den linearen Teil) zu veröffentlichen, denn wenn wir die geheime affine Änderung von Variablen kennen, dann können wir P(x) = y in einem „Oil and Vinegar" Schema lösen, wir können auch P(x) + L(x) = y lösen, wobei L jeder lineare Ausdruck mit derselben affinen Änderung von Variablen ist. Es ist somit möglich, nur den homogenen Teil P zu veröffentlichen und eine Übereinkunft zur Berechnung des linearen Teils L des Public Keys zu wählen (anstelle L zu veröffentlichen). Diese Übereinkunft kann beispielsweise darin bestehen, dass die linearen Terme von L in der Gleichungszahl i (1 ≤ i ≤ n) aus Hash(i||Id) (oder aus Hash (i||P)) berechnet werden, wobei Hash eine öffentliche Hash-Funktion ist, und wobei Id die Identität des Eigentümers des geheimen Schlüssels (Secret Key) ist.
  • Bei den Gleichungen ist es auch möglich:
    • 1. lineare und bijektive Änderungen der Variablen x' = A(x) vorzunehmen;
    • 2. eine lineare und bijektive Transformation für die Gleichung: P' = t(P) zu berechnen. (Beispielsweise kann die neue erste Gleichung die alte erste plus die alte dritte Gleichung sein, etc.)
  • Durch einfaches Kombinieren dieser beiden Transformationen ist es immer möglich, die Länge des öffentlichen Schlüssels (Public Key) geringfügig zu reduzieren.
  • Gedanke 1: Es ist möglich, eine Änderung von Variablen so vorzunehmen, dass die erste Gleichung in kanonischer Form vorliegt (siehe [6], Kapitel 6). Bei dieser Präsentierung des Public Keys ist die Länge des Public Keys ca.
    Figure 00380001
    mal die ur sprüngliche Länge.
  • Gedanke 2: Ein anderer Gedanke ist es, den Gedanken von Abschnitt 7 zu verwenden, d.h. ein Quadrat von λ × λ Nullen in den Koeffizienten zu schaffen, wobei
    Figure 00380002
    ist. Bei dieser Präsentation ist die Länge des Public Keys ungefähr
    Figure 00380003
    mal die ursprüngliche Länge.
  • Anmerkung: Wie wir in Abschnitt 12 sehen werden, ist die effizienteste Art, die Länge des Public Keys zu reduzieren, die Werte q und n sorgfältig zu wählen.
  • 11. Zusammenfassung der Ergebnisse
  • Das zugrundeliegende Feld ist K = Fq, wobei q = pm ist. Seine Charakteristik ist p. „So schwierig wie zufällig" bedeutet, dass das Problem, das Schema zu durchbre chen, als genauso schwierig angesehen wird wie das Problem, ein System von Gleichungen in v Variablen zu lösen, wenn die Koeffizienten zufällig gewählt werden (d.h. ohne Falltür).
    Figure 00380004
  • In dieser Tabelle haben wir unsere gegenwärtigen Ergebnisse hinsichtlich der Ansätze auf „Unbalanced Oil and Vinegar" Schemata zusammengefasst. In der ursprünglichen Abhandlung ([5]) wurde nur der Fall v = n für quadratische Gleichungen untersucht.
  • 12. Konkrete Beispiele für Parameter
  • Bei allen nachfolgenden Beispielen wissen wir nicht, wie das Schema zu durchbrechen ist. Wir haben bei all diesen Beispielen willkürlich v = 2n (oder v = 3n) gewählt (weil v < n und v ≥ n2 unsicher ist).
  • Beispiel 1: K = F2, n = 128, v = 256 (oder v = 384). Das Signaturschema ist dasjenige des Abschnitts 2. Die Länge des Public Keys ist ungefähr
    Figure 00390001
    Bits. Dies ergibt hier einen riesigen Wert: ca. 1,1 Mbytes (oder 2 Mbytes)! Die Länge des Secret Keys (die s Matrix) ist ca. (n + v)2 Bits, d.h. ungefähr 18 Kbytes. Dieser Secret Key kann jedoch immer aus einer kleinen geheimen Anfangsbasis, z.B. 64 Bits, erzeugt werden.
  • Beispiel 2: K = F2, n = 64, v = 128 (oder v = 192). Das Signaturschema ist dasjenige des Abschnitts B. Die Länge des Public Keys ist 144 Kbytes (oder 256 Kbytes).
  • Beispiel 3: K = F16, n = 16, v = 32 (oder v = 48). S ist eine geheime affine Bijektion von F16. Das Signaturschema ist dasjenige des Abschnitts 8. Die Länge des Public Keys ist 9 Kbytes (oder 16 Kbytes).
  • Beispiel 4: K = F16, n = 16, v = 32 (oder v = 48). S ist eine geheime affine Bijektion von F16, so dass alle ihre Koeffizienten in F2 liegen. Außerdem werden die geheimen quadratischen Koeffizienten ebenfalls in F2 gewählt, so dass die öffentlichen Funktionen Pi, 1 ≤ i ≤ n n quadratische Gleichungen in (n + v) Unbekannten von F16 sind, mit Koeffizienten in F2. In diesem Fall (das Signaturschema ist immer noch dasjenige von Abschnitt 8) ist die Länge des Public Keys 2,2 Kbytes (oder 4 Kbytes).
  • Anmerkung: Bei all diesen Beispielen ist n > 16, um zu verhindern, dass Gröbner Basen Algorithmen eine Lösung x finden, und es ist qn ≥ 264, um eine ausgedehnte Suche nach x zu verhindern.
  • 13. Schlussfolgerung
  • Der ursprüngliche „Oil and Vinegar" Signatur-Algorithmus hatte eine sehr effiziente Kryptoanalyse (vgl. [5]). Außerdem haben wir in dieser Abhandlung gesehen, dass „Oil and Vinegar" Schemata im 3. Grad oft nicht sicherer sind als im 2. Grad. Jedoch haben überraschenderweise einige der sehr einfachen Variationen, „Unbalanced Oil and Vinegar" genannt, die in dieser Abhandlung beschrieben worden sind, bisher allen Ansätzen standgehalten. Das Schema ist immer noch sehr einfach, sehr schnell, und seine Parameter können so gewählt werden, dass man eine vernünftige Größe für den Public Key hat. Seine Sicherheit ist ein offenes Problem, aber es ist interessant festzustellen, dass – wenn die Zahl der „Vinegar Unbekannten" ungefähr n2/2 wird (für n „Oil Unbekannte) – das Schema (wenn wir eine natürliche Eigenschaft annehmen) genauso schwierig zu durchbrechen ist wie ein zufälliges System von n quadratischen Gleichungen in n2/2 Unbekannten (ohne Falltür). Dies lässt hoffen, dass konkretere Resultate über die Sicherheit bei multivariater polynomer Public Key Kryptographie erhalten werden können.
  • Referenzen
    • [1] D. Coppersmith, Persönliche Mitteilung, E-Mail.
    • [2] H. Fell, W. Diffie, Analysis of a public key approach based on polynomial substitutions, Proceedings of CRYPTO'85, Springer-Verlag, Band 218, S. 340-349.
    • [3] M. Garey, D. Johnson, Computers and Intractability, a Guide to the Theory of NP-Completeness, Freeman, S. 251.
    • [4] H. Imai, T. Matsumoto, Algebraic Methods for Constructing Asymmetric Cryptosystems, Algebraic Algorithms and Error Correcting Codes (AAECC-3), Grenoble, 1985, Springer-Verlag, LNCS Nr. 229.
    • [5] A. Kipnis, A. Shamir, Cryptanalysis of the Oil and Vinegar Signature Scheme, Proceedings of CRYPTO'98, Springer, LNCS Nr. 1462, S. 257-266.
    • [6] R. Lidl, H. Niederreiter, Finite Fields, Encyclopedia of Mathematics and its applications, Band 20, Cambridge University Press.
    • [7] T. Matsumoto, H. Imai, Public Quadratic Polynomial-tuples for efficient signature-verification and message-encryption, Proceedings of EUROCRYPT'88, Springer-Verlag, S. 419-453.
    • [8] J. Patarin, Hidden Fields Equations (HFE) and Isomorphisms of Polynomials (IP): Two New Families of Asymmetric Algorithms, Proceedings of EUROCRYPT'96, Springer, S. 33-48.
    • [9] J. Patarin, The Oil and Vinegar Signature Scheme, präsentiert beim Dagstuhl Workshop on Cryptography, September 1997 (Folien).
    • [10] J. Patarin, L. Goubin, Trapdoor One-way Permutations and Multivariate Polynomials, Proceedings of ICICS'97, Springer LNCS Nr. 1334, S. 356-368.
    • [11] J. Patarin, L. Goubin, Asymmetric Cryptography with S-Boxes, Proceedings of ICICS'97, Springer, LNCS Nr. 1334, S. 369-380.

Claims (15)

  1. Von einem Prozessor durchgeführtes Verschlüsselungsverfahren für digitale Signaturen, das umfaßt: Bereitstellen einen Satz S1 von k Polynomfunktionen als Public Key (öffentlicher Schlüssel), wobei der Satz S 1 die Funktionen P1(x1,...,xn+v, y1,...,yk),..., Pk(x1,...xn+v, y1,...,yk) beinhaltet, wobei k, v und n ganze Zahlen, x1,...,xn+v n+v Variablen einer ersten Art und y1,...,yk k Variablen einer zweiten Art sind, und der Satz S 1 durch Anwenden einer Secret Key (geheimer Schlüssel) Operation auf einen Satz S2 von k Polynomfunktionen P'1(a1,...,an+v,y1,...,yk),...,P'k(a1,...,an+v,y1,...,yk) erhalten wird, wobei a1,...,an+v n+v Variablen sind, die eine Anzahl von n „Oil" Variablen a1,...,an und eine Anzahl von v „Vinegar" Variablen an+1,...,an+v beinhalten; Bereitstellen einer zu signierenden Nachricht; Anwenden einer Hash-Funktion auf die Nachricht, um eine Reihe von k Werten b1,...,bk zu erzeugen; Ersetzen der Reihe von k Werten b1,...,bk mit den Variablen y1,...,yk des Satzes S2, um einen Satz S3 von k Polynomfunktionen P''1(a1,...,an+v),...,P''k(a1,...an+v) zu erzeugen; Auswählen von v Werten a'n+1,...a'n+v für die v „Vinegar" Variablen an+1,...,an+v; Lösen eines Gleichungssystems P''1(a1,...,an,a'n+1,...,a'n+v) = 0,..., P''k(a1,...,an,a'n+1,...,a'n+v) = 0, um eine Lösung für a'1,...,a'n zu erhalten; und Anwenden der Secret Key (geheimer Schlüssel) Operation, um a'1,...,a'n+v in eine digitale Signatur e1,...,en+v zu transformieren.
  2. Verfahren nach Anspruch 1, das außerdem den Schritt des Verifizierens der digitalen Signatur beinhaltet.
  3. Verfahren nach Anspruch 2, wobei der Schritt des Verifizierens folgende Schritte umfasst: Beschaffen der Signatur e1,...,en+v, der Nachricht, der Hash-Funktion und des Public Key (öffentlicher Schlüssel); Anwenden der Hash-Funktion auf die Nachricht, um die Reihe von k Werten b1,...,bk zu erzeugen; und Verifizieren, dass die Gleichungen P1(e1,...,en+v,b1,...,bk) = 0,..., Pk(e1,...,en+v, b1,...,bk = 0 erfüllt sind.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei der Satz S2 den Satz f(a) von k Polynomfunktionen des Hidden Fields Equation Vinegar Schemas beinhaltet.
  5. Verfahren nach einem der Ansprüche 1 bis 3, wobei der Satz S2 den Satz S von k Polynomfunktionen des Unbalanced Oil and Vinegar Schemas beinhaltet.
  6. Verfahren nach einem der Ansprüche 1 bis 5, wobei der Schritt des Bereitstellens den Schritt enthält, dass die Zahl v der „Vinegar" Variablen größer gewählt wird als die Zahl n der „Oil" Variablen.
  7. Verfahren nach einem der Ansprüche 1 bis 5, wobei v so gewählt wird, dass qv größer ist als 232, wobei q die Zahl der Elemente eines endlichen Feldes K ist.
  8. Verfahren nach einem der Ansprüche 1 bis 5, wobei der Schritt des Bereitstellens den Schritt umfasst, dass der Satz S 1 aus einer Teilmenge S2' von k Polynomfunktionen des Satzes S2 erhalten wird, wobei die Teilmenge S2' dadurch gekennzeichnet ist, dass alle Koeffizienten der Komponenten, die eine der y1,...,yk Variablen in den k Polynomfunktionen P'1(a1,...,an+v,y1,...,yk),...,P'k(a1,...,an+v,y1,...,yk) beinhalten, Null sind und dass die Zahl v der „Vinegar" Variablen größer ist als die Zahl n der „Oil" Variablen.
  9. Verfahren nach Anspruch 8, wobei der Satz S2 den Satz S von k Polynomfunktionen des Unbalanced Oil and Vinegar Schemas beinhaltet und die Zahl v der „Vinegar" Variablen so gewählt wird, dass eine der folgenden Bedingungen erfüllt ist: (a) für jede Charakteristik p eines Feldes K in einem „Oil and Vinegar" Schema 2. Grades erfüllt v die Ungleichung q(v-n)-1x n4>240 (b) für p = 2 in einem „Oil and Vinegar" Schema 3. Grades ist v größer n·(1 + √3) und kleiner oder gleich n3/6, und (c) für jedes p ungleich 2 in einem „Oil and Vinegar" Schema 3. Grades ist v größer n und kleiner oder gleich n3/6.
  10. Verfahren nach einem der Ansprüche 1 bis 9, wobei die Secret Key (geheimer Schlüssel) Operation eine geheime affine Transformation s an den n+v Variablen a1,...,an+v umfasst.
  11. Verfahren nach Anspruch 4, wobei der Satz S2 einen Ausdruck umfasst, der k Funktionen beinhaltet, die von einem eindimensionalen (univariaten) Polynom abgeleitet sind.
  12. Verfahren nach Anspruch 11, wobei das univariate Polynom ein univariates Polynom eines Grades kleiner oder gleich 100.000 umfasst.
  13. Von einem Computer oder einer Chipkarte durchgeführtes Verschlüsselungsverfahren zum Verifizieren einer digitalen Signatur, wobei die Signatur mittels eines Verfahrens erzeugt wird, das die folgenden Schritte umfasst: Bereitstellen eines Satzes S1 von k Polynomfunktionen als Public Key (öffentlicher Schlüssel), wobei der Satz S 1 die Funktionen P1(x1,...xn+v, y1,...,yk),..., Pk(x1,...,xn+v, y1,...,yk) beinhaltet, wobei k, v und n ganze Zahlen, x1,...,xn+v n+v Variablen einer ersten Art und y1,...,yk k Variablen einer zweiten Art sind, und der Satz S1 durch Anwenden einer Secret Key (geheimer Schlüssel) Operation auf einen Satz S2 von k Polynomfunktionen P'1(a1,...,an+v,y1,...,yk),...,P'k(a1,...,an+v,y1,...,yk) erhalten wird, wobei a1,...,an+v n+v Variablen sind, die eine Anzahl von n „Oil" Variablen a1,...,an und eine Anzahl von v „Vinegar" Variablen an+1,...,an+v beinhalten; Bereitstellen einer zu signierenden Nachricht; Anwenden einer Hash-Funktion auf die Nachricht, um eine Reihe von k Werten b1,...,bk zu erzeugen; Ersetzen der Reihe von k Werten b1,...,bk mit den Variablen y1,...,yk des Satzes S2, um einen Satz S3 von k Polynomfunktionen P''1(a1,...,an+v),...,P''k(a1,...an+v) zu erzeugen; Auswählen von v Werten a'n+1,...a'n+v für die v „Vinegar" Variablen an+1,...,an+v; Lösen eines Gleichungssystems P''1(a1,...,an,a'n+1,...,a'n+v) = 0,..., P''k(a1,...,an,a'n+1,...,a'n+v) = 0, um eine Lösung für a'1,...,a'n zu erhalten; und Anwenden der Secret Key (geheimer Schlüssel) Operation, um a'1,...,a'n+ v in eine digitale Signatur e1,...,en+v zu transformieren, wobei das Verifizierungsverfahren folgende Schritte umfasst: Beschaffen der Signatur e1,...,en+v, der Nachricht, der Hash-Funktion und des Public Key (öffentlicher Schlüssel); Anwenden der Hash-Funktion auf die Nachricht, um die Reihe von k Werten b1,...,bk zu erzeugen; und Verifizieren, dass die Gleichungen P1(e1,...,en+v,b1,...,bk) = 0,..., Pk(e1,...,en+v,b1,...,bk) = 0 erfüllt sind.
  14. Verschlüsselungsverfahren für digitale Signaturen nach Anspruch 13, wobei die Zahl v der „Vinegar" Variablen größer ist als die Zahl n der „Oil" Variablen.
  15. Verfahren nach Anspruch 13, wobei die Zahl v der „Vinegar" Variablen so gewählt wird, dass eine der folgenden Bedingungen erfüllt ist: (a) für jede Charakteristik p eines Feldes K und für einen 2. Grad des „Oil and Vinegar" Signaturverfahrens erfüllt v die Ungleichung q(v-n)-1x n4>240 (b) für p = 2 und für einen 3. Grad des „Oil and Vinegar" Signaturverfahrens ist v größer n·(1 + √3) und kleiner oder gleich n3/6, und (c) für jedes p ungleich 2 und für einen 3. Grad des „Oil and Vinegar" Signaturverfahrens ist v größer als n und kleiner oder gleich n3/6.
DE69920875T 1999-04-29 1999-04-29 Vorrichtung und Verfahren zum Berechnen einer digitalen Unterschrift Expired - Lifetime DE69920875T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP99401048A EP1049289B1 (de) 1999-04-29 1999-04-29 Vorrichtung und Verfahren zum Berechnen einer digitalen Unterschrift

Publications (2)

Publication Number Publication Date
DE69920875D1 DE69920875D1 (de) 2004-11-11
DE69920875T2 true DE69920875T2 (de) 2005-10-27

Family

ID=8241961

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69920875T Expired - Lifetime DE69920875T2 (de) 1999-04-29 1999-04-29 Vorrichtung und Verfahren zum Berechnen einer digitalen Unterschrift

Country Status (12)

Country Link
US (1) US7100051B1 (de)
EP (1) EP1049289B1 (de)
JP (2) JP4183387B2 (de)
CN (1) CN1285191C (de)
AU (1) AU774346B2 (de)
BR (1) BRPI0006085B1 (de)
DE (1) DE69920875T2 (de)
DK (1) DK1049289T3 (de)
ES (1) ES2230814T3 (de)
HK (1) HK1039004B (de)
IL (1) IL135647A (de)
WO (1) WO2000067423A1 (de)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2810139B1 (fr) * 2000-06-08 2002-08-23 Bull Cp8 Procede de securisation de la phase de pre-initialisation d'un systeme embarque a puce electronique, notamment d'une carte a puce, et systeme embarque mettant en oeuvre le procede
WO2002084590A1 (en) * 2001-04-11 2002-10-24 Applied Minds, Inc. Knowledge web
US20030195834A1 (en) * 2002-04-10 2003-10-16 Hillis W. Daniel Automated online purchasing system
US20030196094A1 (en) * 2002-04-10 2003-10-16 Hillis W. Daniel Method and apparatus for authenticating the content of a distributed database
US7844610B2 (en) * 2003-12-12 2010-11-30 Google Inc. Delegated authority evaluation system
US8069175B2 (en) * 2002-04-10 2011-11-29 Google Inc. Delegating authority to evaluate content
US7600118B2 (en) * 2002-09-27 2009-10-06 Intel Corporation Method and apparatus for augmenting authentication in a cryptographic system
AU2003297193A1 (en) 2002-12-13 2004-07-09 Applied Minds, Inc. Meta-web
US8012025B2 (en) * 2002-12-13 2011-09-06 Applied Minds, Llc Video game controller hub with control input reduction and combination schemes
US20050131918A1 (en) * 2003-12-12 2005-06-16 W. Daniel Hillis Personalized profile for evaluating content
CN1870499B (zh) * 2005-01-11 2012-01-04 丁津泰 产生新的多变量公钥密码系统的方法
US7961876B2 (en) * 2005-01-11 2011-06-14 Jintai Ding Method to produce new multivariate public key cryptosystems
WO2007057610A1 (fr) * 2005-11-18 2007-05-24 France Telecom Systeme et procede cryptographique d'authentification ou de signature
FR2916317B1 (fr) * 2007-05-15 2009-08-07 Sagem Defense Securite Protection d'execution d'un calcul cryptographique
CN101321059B (zh) * 2007-06-07 2011-02-16 管海明 一种用于编码和译码数字消息的方法和系统
FR2918525A1 (fr) 2007-07-06 2009-01-09 France Telecom Procede asymetrique de chiffrement ou de verification de signature.
CN101227286B (zh) * 2008-01-31 2010-04-14 北京飞天诚信科技有限公司 一种生成消息认证码的方法
WO2011033642A1 (ja) * 2009-09-17 2011-03-24 株式会社 東芝 署名生成装置及び署名検証装置
JP2011107528A (ja) 2009-11-19 2011-06-02 Sony Corp 情報処理装置、鍵生成装置、署名検証装置、情報処理方法、署名生成方法、及びプログラム
IL205803A0 (en) 2010-05-16 2010-12-30 Yaron Sella Collision-based signature scheme
IL206139A0 (en) 2010-06-02 2010-12-30 Yaron Sella Efficient multivariate signature generation
IL207918A0 (en) 2010-09-01 2011-01-31 Aviad Kipnis Attack-resistant multivariate signature scheme
JP5790287B2 (ja) * 2011-08-12 2015-10-07 ソニー株式会社 情報処理装置、情報処理方法、プログラム、及び記録媒体
RU2016104527A (ru) * 2013-07-12 2017-08-18 Конинклейке Филипс Н.В. Электронная система подписи
CN103457726B (zh) * 2013-08-26 2016-12-28 华南理工大学 基于矩阵的多变量公钥加密方法
CN103780383B (zh) * 2014-01-13 2017-05-31 华南理工大学 一种基于超球面的多变量公钥签名/验证系统及方法
CN104009848B (zh) * 2014-05-26 2017-09-29 华南理工大学 一种混合型的多变量数字签名系统及方法
CN105245343B (zh) * 2015-09-22 2018-09-14 华南理工大学 一种基于多变量密码技术的在线离线签名系统及方法
JP7322763B2 (ja) * 2020-03-13 2023-08-08 日本電信電話株式会社 鍵生成装置、鍵生成方法及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NZ240019A (en) * 1991-09-30 1996-04-26 Peter John Smith Public key encrypted communication with non-multiplicative cipher
US5375170A (en) 1992-11-13 1994-12-20 Yeda Research & Development Co., Ltd. Efficient signature scheme based on birational permutations
US5263085A (en) 1992-11-13 1993-11-16 Yeda Research & Development Co. Ltd. Fast signature scheme based on sequentially linearized equations
FR2737370B1 (fr) * 1995-07-27 1997-08-22 Bull Cp8 Procede de communication cryptographique
FR2744309B1 (fr) * 1996-01-26 1998-03-06 Bull Cp8 Procede de communicatin cryptographique asymetrique, et objet portatif associe
US6076163A (en) * 1997-10-20 2000-06-13 Rsa Security Inc. Secure user identification based on constrained polynomials

Also Published As

Publication number Publication date
AU4602800A (en) 2000-11-17
CN1314040A (zh) 2001-09-19
US7100051B1 (en) 2006-08-29
IL135647A (en) 2010-11-30
EP1049289B1 (de) 2004-10-06
BRPI0006085B1 (pt) 2016-05-10
EP1049289A1 (de) 2000-11-02
AU774346B2 (en) 2004-06-24
IL135647A0 (en) 2001-05-20
JP2005253107A (ja) 2005-09-15
BR0006085A (pt) 2001-03-20
WO2000067423A1 (en) 2000-11-09
DK1049289T3 (da) 2005-02-14
CN1285191C (zh) 2006-11-15
HK1039004B (zh) 2007-05-04
JP4183387B2 (ja) 2008-11-19
ES2230814T3 (es) 2005-05-01
HK1039004A1 (en) 2002-04-04
DE69920875D1 (de) 2004-11-11
JP2002543478A (ja) 2002-12-17

Similar Documents

Publication Publication Date Title
DE69920875T2 (de) Vorrichtung und Verfahren zum Berechnen einer digitalen Unterschrift
DE69322376T2 (de) Einrichtung und Verfahren zur Datenverschlüsselung
EP3218893B1 (de) Gehärtete white box implementierung
DE69534603T2 (de) Verschlüsselungssystem für elliptische kurve
DE69031736T2 (de) Verschlüsselungsmethode
DE69520714T2 (de) Verfahren und Vorrichtung zum sicheren elektronischen Abstimmen
DE69333068T2 (de) Verfahren zur ausdehnung der gültigkeit eines kryptographischen zertifikats
DE69327238T2 (de) Verfahren zur digitalen Unterschrift und Verfahren zur Schlüsselübereinkunft
DE602004001273T2 (de) Verfahren und Vorrichtung zur Identifiezierungsbasierten Verschlüsselung
DE69838258T2 (de) Public-Key-Datenübertragungssysteme
DE102013213354A1 (de) Zufallsbitstromgenerator mit garantierter mindestperiode
DE68904989T2 (de) Einrichtung zur abgesicherten datenkommunikation.
DE69735290T2 (de) Verfahren zur unsymmetrischen kryptographischen kommunikation und zugehöriger tragbarer gegenstand
EP1298834A1 (de) Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten
DE112012000971B4 (de) Datenverschlüsselung
DE202022102430U1 (de) Ein optimiertes 2D-Chaotisches Kartierungssystem für die Bildsicherheit unter Verwendung eines verbesserten Sealion-Optimierungsalgorithmus
DE19829643A1 (de) Verfahren und Vorrichtung zur Block-Verifikation mehrerer digitaler Signaturen und Speichermedium, auf dem das Verfahren gespeichert ist
WO2016188859A1 (de) Verfahren zur sicherstellung der informationssicherheit von über einen datenbus übertragenen daten sowie datenbussystem
DE112018002723B4 (de) System, verfahren und vorrichtung zur verschleierung von vorrichtungsoperationen
DE10061697A1 (de) Verfahren und Vorrichtung zum Ermitteln eines Schlüsselpaars und zum Erzeugen von RSA-Schlüsseln
EP4101118A1 (de) Schlüsselgenerierung und pace mit sicherung gegen seitenkanalangriffe
EP3832950A1 (de) Kryptographisches signatursystem
DE69103562T2 (de) Einrichtung zur Kondensation von digitalen Daten.
DE69905145T2 (de) Beschleunigte begrenztes-feld-operationen auf einer elliptischen kurve
DE69600143T2 (de) Verfahren zur digitalen Unterschrift mit Null-Kenntnis, zum Herstellen von kollisionsresistenten Unterschriften

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: CP8 TECHNOLOGIES, LOUVECIENNES, FR

Owner name: NDS LTD., WEST DRAYTON, MIDDLESEX, GB

8328 Change in the person/name/address of the agent

Representative=s name: GRAF VON STOSCH PATENTANWALTSGESELLSCHAFT MBH, 805