DE102008015865B4 - Verfahren zur Erzeugung einer digitalen Signatur - Google Patents

Verfahren zur Erzeugung einer digitalen Signatur Download PDF

Info

Publication number
DE102008015865B4
DE102008015865B4 DE200810015865 DE102008015865A DE102008015865B4 DE 102008015865 B4 DE102008015865 B4 DE 102008015865B4 DE 200810015865 DE200810015865 DE 200810015865 DE 102008015865 A DE102008015865 A DE 102008015865A DE 102008015865 B4 DE102008015865 B4 DE 102008015865B4
Authority
DE
Germany
Prior art keywords
signature
message
session keys
subset
calculated
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 - Fee Related
Application number
DE200810015865
Other languages
English (en)
Other versions
DE102008015865A1 (de
Inventor
Richard Lindner
Markus Rückert
Johannes Buchmann
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.)
Technische Universitaet Darmstadt
Original Assignee
Technische Universitaet Darmstadt
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 Technische Universitaet Darmstadt filed Critical Technische Universitaet Darmstadt
Priority to DE200810015865 priority Critical patent/DE102008015865B4/de
Publication of DE102008015865A1 publication Critical patent/DE102008015865A1/de
Application granted granted Critical
Publication of DE102008015865B4 publication Critical patent/DE102008015865B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

Verfahren zur Erzeugung einer von einem Empfänger überprüfbaren, möglichst fälschungssicheren digitalen Signatur für eine vorgegebene Nachricht m', welches unter Verwendung eines Computers durchgeführt wird, mit den Schritten:
– Auswählen eines privaten Schlüssels f'',
– Erzeugung eines öffentlichen Schlüssels h' aus dem privaten Schlüssel f'' mit Hilfe einer Einwegfunktion,
– Auswählen von mindestens zwei Sitzungsschlüsseln k'' und l'' und Erzeugung einer digitalen Signatur s'' für die Nachricht m' unter Verwendung der mindestens zwei Sitzungsschlüssel k'' und l'' und
– Berechnung von mindestens zwei Signaturprüfwerten h1 und h2 unter Verwendung des öffentlichen Schlüssels h' und der mindestens zwei Sitzungsschlüssel k'' und l'',
– wobei die Nachricht m' ein Element einer Teilmenge R_dm des Rings R = Zq[X]/(Xn – 1) mit verschiedenen Primzahlen n, q ist und die Teilmenge R_dm die binären oder trinären Polynome des Rings R mit einer vorgegebenen Quersumme dm umfasst, wobei der private...

Description

  • Die Erfindung betrifft ein Verfahren zur Erzeugung einer von einem Empfänger überprüfbaren digitalen Signatur für eine vorgegebene Nachricht mit Hilfe eines privaten und eines öffentlichen Schlüssels.
  • Ein zuverlässiger Austausch von Informationen zwischen zwei Beteiligten erfordert insbesondere bei Verwendung von Computern oder vergleichbaren elektronischen Hilfsmitteln eine Möglichkeit, anhand zusätzlicher Informationen die Integrität der übermittelten Nachricht und deren Absender zuverlässig überprüfen zu können. Sofern die übermittelte Nachricht für Dritte nicht lesbar, beziehungsweise deren Inhalt nicht verständlich sein soll, muss die Nachricht während der Übermittlung zusätzlich verschlüsselt werden. Obwohl die vorliegende Erfindung auch die Erkenntnisse der derzeit gängigen Verschlüsselungsverfahren berücksichtigt, bezieht sich die vorliegende Erfindung im Wesentlichen auf die Möglichkeit, elektronisch übermittelte Nachrichten mit einer digitalen Signatur zu versehen, die von dem Empfänger der Nachricht überprüft und anhand derer festgestellt werden kann, ob die Nachricht vom angeblichen Absender stammt und ob diese Nachricht während der Übermittlung möglicherweise verändert wurde.
  • Das nachfolgend beschriebene Verfahren zur Erzeugung einer überprüfbaren digitalen Signatur beruht unter Anderem auf einem privaten Schlüssel, der nur dem Absender bekannt ist, und einem öffentlichen Schlüssel, der dem Empfänger der Nachricht mitgeteilt wird und diesem eine Überprüfung der digitalen Signatur dieser Nachricht ermöglicht.
  • Aus der Praxis sind viele verschiedene Signaturverfahren bekannt. In den meisten Fällen wird bei einer Implementierung der Signaturverfahren ein Kompromiss eingegangen zwischen einer möglichst großen Fälschungssicherheit der erzeugten digitalen Signatur einerseits und einem möglichst geringen Rechen- und Speicheraufwand andererseits, der für die Erzeugung der Signatur und deren anschließende Überprüfung durch den Empfänger erforderlich wird.
  • Bekannte Signaturverfahren, die derzeit in der Praxis verwendet werden, betreffen beispielsweise die RSA-Signatur, die DSA-Signatur oder die ECC-Signatur.
  • Ein auf Ralph Merkle zurückgehendes Signaturverfahren (Ralph C. Merkle, A certified digital signature, in Gilles Brassard, editor, CRYPTO, volume 435 of Lecture Notes in Computer Science, 218–238, Springer, 1989) verwendet kollisionsresistente Hash-Funktionen und Zufallszahlengeneratoren zur Erzeugung von Einmal-Signaturen, bei denen jeder Signaturschlüssel nur ein einziges Mal verwendet wird. Bei derartigen Verfahren sind die Erzeugung der Signaturschlüssel und die Speicherung der privaten Schlüssel durch den Absender sehr aufwändig, so dass derartige Verfahren derzeit in der Praxis kaum Anwendung finden.
  • Auch die bekannten Weiterentwicklungen des von Merkle entwickelten Signaturschemas, die von Winternitz (Nigel P. Smart, editor, Cryptography and Coding, 10th IMA International Conference, Cirencester, UK, December 19–21, 2005, Proceedings, volume 3796 of Lecture Notes in Computer Science, Springer, 2005) sowie von Micciancio und Lyubashevsky (Vadim Lyubashevsky und Daniele Micciancio, Asymptotically efficient lattice-based digital signatures, in Ran Canetti, editor, TCC, volume 4948 of Lecture Notes in Computer Science, 37–54, Springer, 2008) vorgeschlagen wurden, weisen die bereits bekannten Nachteile einer ineffizienten Erzeugung der Einmal-Signaturen sowie der unangemessen großen Signaturlänge auf, die für eine möglichst fälschungssichere digitale Signatur erforderlich erscheinen. In Hoffstein, J., et. Al.: „NTRUSign: Digital Signatures Using the NTRU Lattice”. In: Proceedings of CT-RSA 2003 und WO 03/050 998 A1 werden Signaturverfahren beschrieben, bei denen unter Verwendung von Operationen auf Polynomen mit ganzzahligen Koeffizienten vom Grad ≤ (N – 1) digitale Signaturen erzeugt und verifiziert werden. In EP 1 873 965 A1 werden bezüglich dieser Signaturverfahren Beispiele von Parameterkombinationen aufgezeigt, bei denen die Verifikation der digitalen Signatur zum Verwerfen der Signatur und damit der signierten Nachricht führt, obwohl die Signatur und die Nachricht authentisch sind. Daher wird in EP 1 873 965 A1 eine Weiterentwicklung der in Hoffstein, J., et. Al.: „NTRUSign: Digital Signatures Using the NTRU Lattice”. In: Proceedings of CT-RSA 2003 und WO 03/050 998 A1 beschriebenen Signaturverfahren vorgeschlagen, mit der das fälschliche Verwerfen authentischer Signaturen verhindert werden soll.
  • Aufgabe der folgenden Erfindung ist es demzufolge, ein Verfahren zur Erzeugung einer überprüfbaren Signatur so auszugestalten, dass mit möglichst geringem Aufwand eine möglichst fälschungssichere Signatur für beliebige Nachrichten erzeugt werden kann.
  • Diese Aufgabe wird erfindungsgemäß gelöst durch ein Verfahren, welches unter Verwendung eines Computers durchgeführt wird, mit den folgenden Schritten:
    • – Auswählen eines privaten Schlüssels f'',
    • – Erzeugung eines öffentlichen Schlüssels h' aus dem privaten Schlüssel f'' mit Hilfe einer Einwegfunktion,
    • – Auswählen von mindestens zwei Sitzungsschlüsseln k'' und l'' und Erzeugung einer digitalen Signatur s'' für die Nachricht m' unter Verwendung der mindestens zwei Sitzungsschlüssel k'' und l'' und
    • – Berechnung von mindestens zwei Signaturprüfwerten h1 und h2 unter Verwendung des öffentlichen Schlüssels h' und der mindestens zwei Sitzungsschlüssel k'' und l'',
    • – wobei die Nachricht m' ein Element einer. Teilmenge R_dm des Rings R = Zq[X]/(Xn – 1) mit verschiedenen Primzahlen n, q ist und die Teilmenge R_dm die binären oder trinären Polynome des Rings R mit einer vorgegebenen Quersumme dm umfasst, wobei der private Schlüssel f'' sowie die Sitzungsschlüssel k'' und l'' jeweils Elemente der Moduln (R_df)2 beziehungsweise (R_dk)2 sind, wobei es sich bei R_dk beziehungsweise R_df um diejenigen Teilmengen handelt, welche die binären oder trinären Polynome des Rings R mit einer vorgegebenen Quersumme dk beziehungsweise df umfassen, und wobei die Komponenten ki und li der mindestens zwei Sitzungsschlüssel k'' und l'' jeweils aus einer Teilmenge D von R ausgewählt werden, deren Elemente d' ∊ D die Eigenschaft ∥d'∥ < d0 aufweisen, wobei d0 eine in geeigneter Weise heuristisch ermittelte oder theoretisch vorgegebene Schranke für die Norm der Teilmenge D von R darstellt, so dass eine geeignete Norm ∥d'∥ kleiner als eine in geeigneter Weise vorgegebenen Schranke d0 ist.
  • Dabei werden im Folgenden die üblichen Konventionen und Notationen weitgehend übernommen. Alle Elemente des Rings R, bzw. der jeweiligen Teilmengen R_dm, R_df, R_dk oder D werden mit einem „'” gekennzeichnet, während Elemente der Moduln (R_dm)2, (R_df)2, (R_dk)2 oder D2 jeweils mit „'” gekennzeichnet sind. Es gelten die üblichen mengentheoretischen und algebraischen Annahmen und Rechenvorschriften. Es können jeweils Quersummen der Nachricht m', des privaten Schlüssels f'' sowie der Sitzungsschlüssel k'' und l'' über die jeweiligen Teilmengen R_dm, (R_df)2, (R_dk)2 vorgegeben werden, wobei die Quersummen jeweils ganze Zahlen modulo q sind. Die für die Definition der Teilmenge D verwendete Vorschrift einer Norm ∥d'∥ kann in Abhängigkeit von der gewünschten Sicherheit und Rechengeschwindigkeit gewählt werden, wobei erste Untersuchungen ergeben haben, dass beispielsweise eine sogenannte Max-Norm oder insbesondere die Euklidische Norm besonders geeignet erscheinen. Die Schranke d0 sollte entweder heuristisch bestimmt oder mit geeigneten Annahmen so vorgegeben werden, dass eine geeignete Beschränkung des Parameterraums D bewirkt wird.
  • Überlegungen und Untersuchungen der Anmelderin haben ergeben, dass durch eine geeignete Beschränkung des Parameterraums (R_df)2 für den privaten Schlüssel f'' sowie des Parameterraums (R_dk)2 für die Sitzungsschlüssel k'' und l'' auf ausgesuchte Elemente des Polynomrings R über die ganzen Zahlen modulo q faktorisiert nach (Xn – 1) einerseits ein geringer Berechnungsaufwand und demzufolge eine kurze Rechenzeit für die Erzeugung der digitalen Signatur erforderlich wird und andererseits eine hinreichende Fälschungssicherheit der erzeugten digitalen Signatur s'' in der Praxis gewährleistet ist.
  • Zu diesem Zweck werden die einzelnen Komponenten des privaten Schlüssels f'' jeweils aus der Teilmenge R_df der binären oder trinären Polynome des Rings R mit einer vorgegebenen Quersumme ds(f'') = df ausgewählt. Die Komponenten der Sitzungsschlüssel k'' und l'' werden aus der weiterhin eingeschränkten Teilmenge R_dk ausgewählt, die ihrerseits eine Untermenge von D darstellt. Die Quersummen der Sitzungsschlüssel ds(k'') = ds(l'') = dk sind ebenfalls vorgegeben. Durch die Verwendung von binären oder trinären Polynomen lassen sich auch große Nachrichten schnell und effizient mit einer digitalen Signatur versehen.
  • Es hat sich gezeigt, dass es für ausreichend kleine Werte von d0 nahezu unmöglich ist, eine gefälschte Signatur s'' zu erzeugen, die ebenfalls ein Element der Teilmenge D2 ist.
  • Die Schranke d0 kann dabei heuristisch ermittelt oder für geeignete Signaturfunktionen s'' = F(m') theoretisch vorgegeben werden, so dass gültige Signaturen s'' grundsätzlich in der Teilmenge D2 enthalten sind und gefälschte Signaturen s'' jedenfalls mit großer Wahrscheinlichkeit nicht der Teilmenge D2 angehören.
  • Die Schranke d0, welche die Teilmenge D definiert, sollte bei praktischen Anwendungen in geeigneter Weise vorgegeben werden. Je kleiner die Schranke d0 vorgegeben wird, umso fälschungssicherer sind die auf diese Weise erzeugten digitalen Signaturen. Gleichzeitig steigt mit einer zunehmend kleiner werdenden Schranke d0 das Risiko, dass eine gültige Signatur s'' außerhalb der durch d0 definierten Teilmenge D2 liegt und die gültige Signatur s'' als vermeintlich ungültige Signatur verworfen wird.
  • Die Berechnung der Signaturprüfwerte h1 und h2, die dem Empfänger der Nachricht m' übermittelt werden und von diesem zur Verifikatikon der Signatur s'' verwendet werden, sollte möglichst fälschungssicher sein. Vorzugsweise wird bei der Berechnung der mindestens zwei Signaturprüfwerte eine Einweg-Funktion verwendet. Als Einweg-Funktion wird dabei üblicherweise und auch im Zusammenhang mit der vorliegenden Erfindung eine Funktion bezeichnet, mittels derer ausgehend von einem Ausgangswert ein Funktionsergebnis ermittelt werden kann, ohne dass dabei in Kenntnis von dem Ergebniswert der Ausgangswert berechnet oder näher bestimmt werden könnte. Geeignete Einweg-Funktionen sind insbesondere im Zusammenhang mit Verschlüsselungsverfahren hinlänglich bekannt.
  • Einer vorteilhaften Ausgestaltung des Erfindungsgedankens zufolge ist vorgesehen, dass für die Berechnung der mindestens zwei Signaturprüfwerte eine Falltürfunktion verwendet wird. Insbesondere eine Falltürfunktion gemäß dem beispielsweise in (Jeffrey Hoffstein, Jill Pipher, and Joseph H. Silverman. NTRU: A ringbased public key cryptosystem. Algorithmic Number Theory, ANTS-III, Lecture Notes in Computer Science, volume 1423, Springer-Verlag, 1998, Seiten 267–288) beschriebenen NTRU-Verschlüsselungsverfahren erscheint besonders vorteilhaft, da mit geringem Rechenaufwand eine äußerst zuverlässige und fälschungssichere Signatur, beziehungsweise die zugeordneten Signaturprüfwerte erzeugt werden können.
  • Einer besonders vorteilhaften Ausgestaltung des Erfindungsgedankens zufolge ist vorgesehen, dass ausschließlich private Schlüssel f'' mit einer invertierbaren Komponente f1 verwendet werden und der öffentliche Schlüssel h' aus dem privaten Schlüssel f'' gemäß der Bildungsvorschrift h' = f1'–1f2' berechnet wird. Es sind demzufolge ausschließlich solche privaten Schlüssel f'' aus der Teilmenge (R_df)2 der binären oder trinären Polynome mit einer vorgegebenen Quersumme df zulässig, für welche die zufällig ausgewählte Komponente f1' innerhalb der Teilmenge R_df invertierbar ist. Sollte der private Schlüssel f'' zufälligerweise so ausgewählt worden sein, dass die Komponente f1' nicht invertierbar ist, so muss dieser private Schlüssel verworfen und ein neuer privater Schlüssel f'' zufällig ausgewählt werden, der diese Bedingung erfüllt.
  • Es ist auch die Erzeugung anderer homomorpher Funktionen unter Verwendung des öffentlichen Schlüssels h' zulässig und möglich. Allerdings hat sich gezeigt, dass die Berechnung des öffentlichen Schlüssels h' gemäß h' = f1'–1f2' vorteilhaft erscheint.
  • Ausgehend von einem öffentlichen Schlüssel h', der gemäß den vorangehend erörterten Bildungsvorschriften aus dem privaten Schlüssel f'' erzeugt wurde, können im Anschluss daran die Signaturprüfwerte h1 und h2 berechnet werden. Zweckmäßigerweise wird ein beliebiger Signaturprüfwert hi für einen beliebigen Ausgangswert x'' ∊ D2 gemäß hi = h'x1' + x2' berechnet wird. Eine derartige Funktion kann beispielsweise als NTRU-Funktion vorgegeben werden und entspricht als Spezialfall der von Lyubashevsky und Micciancio beschriebenen Falltürfunktion. Da der Ergebniswertebereich üblicherweise größer als der zulässige Wertebereich für die Ausgangswerte der Signaturprüfwerte ist, wird eine derartige Bildungsvorschrift im vorliegenden Zusammenhang nicht als Hashfunktion, sondern zutreffender als Falltürfunktion bezeichnet.
  • Ausgehend von der Nachricht m' kann die Signatur s'' vergleichsweise schnell beispielsweise als eine lineare Funktion s'' = Σaim'i mit den einzelnen Koeffizienten ai als gewichtetes Produkt oder als gewichtete Summe der Sitzungsschlüssel k'' und l'' berechnet werden. Die Signaturprüfwerte h1 und h2 werden anschließend als Funktion der einzelnen Koeffizienten hi = h(ai) berechnet.
  • Gemäß einem als besonders vorteilhaft erachteten Ausführungsbeispiel des Erfindungsgedankens ist vorgesehen, dass die Signatur s'' aus der Nachricht m' und dem Sitzungsschlüssel k'' und l'' berechnet wird gemäß s'' = k''·l'' – m' (k'' + l'') und dass die Signaturprüfwerte h1 und h2 berechnet werden gemäß h1 = h(k''·l'') und h2 = h(k'' + l'').
  • Ein wesentlicher Unterschied und Vorteil der vorangehend beschriebenen Erfindung stellt die Beschränkung des zulässigen Wertebereichs dar, aus welchem der private Schlüssel f'' sowie mit weiteren Einschränkungen die Sitzungsschlüssel k'' und l'' ausgewählt werden. Durch die Beschränkung auf binäre und trinäre Polynome mit jeweils einer vorgegebenen Quersumme lassen sich sowohl die Signatur s'' schnell erzeugen als auch die einzelnen Signaturprüfwerte h1 und h2 berechnen und anschließend von dem Empfänger der Nachricht rasch und zuverlässig überprüfen.
  • Die Erfindung betrifft auch ein Verfahren zur Überprüfung einer Nachricht mit einer Signatur s'', die gemäß dem zu vorletzt oder dem zu vorletzt und zu letzt beschriebenen Verfahren erzeugt wurde, und das unter Verwendung eines Computers durchgeführt wird, mit den Schritten:
    • – Verwerfen der Signatur s'', falls s'' ∉̸ D2,
    • – Verwerfender Signatur s'', falls die Quersumme ds(s1) ≠ ds(s2) ≠ Σaidkdmi und
    • – Verwerfen der Signatur s'', falls h(s'') ≠ Σaihi(m')i.
  • In allen Fällen sollte auch ohne ausdrückliche Erwähnung berücksichtigt werden, dass aufgrund der zugrunde liegenden Ringstrukturen die jeweiligen Ergebniswerte auf Modulo q bestimmt sind. Die einzelnen Koeffizienten aidk können dabei in Kenntnis der die Signatur s'' erzeugenden Funktion ohne weiteres bestimmt und vorgegeben werden.
  • So wird beispielsweise die gemäß s'' = k''·l'' – m'(k'' + l'') erzeugte Signatur s'' verworfen, falls die Quersumme ds(s1) ≠ ds(s2) ≠ dk2 – 2dmdk ist.
  • Nachfolgend wird ein Ausführungsbeispiel näher erläutert, welches in der Zeichnung dargestellt ist. Es zeigt:
  • 1 einen schematisch dargestellten Verfahrensablauf für die Erzeugung einer erfindungsgemäßen Signatur s'' einer Nachricht m' durch den Absender und
  • 2 einen schematisch dargestellten Verfahrensablauf für die Überprüfung der Signatur s'' der Nachricht m' durch den Empfänger.
  • Bei dem in 1 schematisch dargestellten Verfahrensablauf werden in einem ersten Verfahrensschritt 1 zunächst die folgenden Ausgangswerte vorgegeben:
    Verschiedene Primzahlen n und q, Nachricht m' ∊ R dm mit der Quersumme dm, Quersummen df und dk und Schranke d0.
  • Mit den Primzahlen n und q wird der diesem Verfahren zu Grunde liegende Polynomring R über den ganzen Zahlen modulo q faktorisiert nach dem Polynom (Xn – 1) definiert. Die Teilmenge R_d enthält die binären oder trinären Polynome des Polynomrings R mit Quersumme d. Die Verwendung von ausschließlich binären oder trinären Polynomen kann dabei wahlweise vorgegeben werden. Über die Schranke d0 wird eine Teilmenge D ⊆ R definiert, deren Elemente d' jeweils eine Euklidische Norm kleiner d0 aufweisen.
  • In einem anschließenden Verfahrensschritt 2 wird ein privater Schlüssel f'' ∊ (R_df)2 mit den Komponenten f1' und f2' und mit der Quersumme ds(f1') = ds(f2') = df zufällig ausgewählt. Weiterhin werden zwei Sitzungsschlüssel k'', l'' ∊ (R_dk)2 zufällig ausgewählt.
  • In einem nachfolgenden Verfahrensschritt 3 wird überprüft, ob die Komponente f1' invertierbar in R ist. Falls nicht, wird der zufällig ausgewählte private Schlüssel f'' verworfen und ein neuer privater Schlüssel f'' zufällig ausgewählt.
  • In einem Verfahrensschritt 4 wird aus dem privaten Schlüssel f'' der öffentliche Schlüssel h' gemäß h' = f1'–1f2' erzeugt.
  • In einem anschließenden Verfahrensschritt 5 werden die Signatur s'' gemäß s'' = k''·l'' – m'(k'' + l'') sowie die Signaturprüfwerte h1 = h(k''·l'') und h2 = h(k'' + l'') berechnet, wobei die Funktion h(x'') für beliebige Elemente x'' ∊ D definiert ist als h(x'') = h'x1 + x2.
  • Die Nachricht m', die Signatur s'', sowie die Signaturprüfwerte h1 und h2 müssen an einen Empfänger der Nachricht m' übermittelt werden. Zudem müssen die Werte für die Quersummen dm und dk, die zur Ermittlung der Signaturprüfwerte verwendete Funktion h(x'') = h'x1 + x2 und die Schranke d0 dem Empfänger oder der von ihm verwendeten Software bekannt sein oder ihm ebenfalls übermittelt werden.
  • Der Empfänger überprüft in einem ersten Verfahrensschritt 6 anhand des ihm bekannten öffentlichen Schlüssels h', ob für den von ihm zu berechnenden Signaturprüfwert h(s'') = h1 – m'h2 erfüllt ist. Falls nicht, so wird die Signatur s'' und damit die Nachricht m' als ungültig verworfen.
  • In einem weiteren Verfahrensschritt 7 prüft der Empfänger dann, ob die Quersummen der Signatur s'' der folgenden Bedingung genügen: ds(s1') = ds(s2') = dk2 – 2dmdk. Falls nicht, so wird die Signatur s'' und damit die Nachricht m' ebenfalls als ungültig verworfen.
  • In einem weiteren Verfahrensschritt 8 prüft der Empfänger schließlich auch, ob die Signatur s'' ein Element der mittels der Schranke d0 beschränkten Teilmenge D2 ist und würde die Signatur s'' als ungültig, bzw. als gefälscht verwerfen, falls s'' kein Element von D2 wäre.
  • Nur wenn die mit der Nachricht m' erhaltene Signatur s'' alle vorangehend genannten Bedingungen erfüllt, wird die Signatur s'' als gültiger Nachweis für die Authentizität und die Integrität der Nachricht m' anerkannt und die Nachricht m' in einem anschließenden Verfahrensschritt 9 ausgewertet. Die Reihenfolge der einzelnen Verfahrensschritte 6 bis 8 ist für die Auswertung im Ergebnis ohne Bedeutung und kann anhand praktischer Erwägungen frei vorgegeben oder für jeden Einzelfall gewählt werden.

Claims (10)

  1. Verfahren zur Erzeugung einer von einem Empfänger überprüfbaren, möglichst fälschungssicheren digitalen Signatur für eine vorgegebene Nachricht m', welches unter Verwendung eines Computers durchgeführt wird, mit den Schritten: – Auswählen eines privaten Schlüssels f'', – Erzeugung eines öffentlichen Schlüssels h' aus dem privaten Schlüssel f'' mit Hilfe einer Einwegfunktion, – Auswählen von mindestens zwei Sitzungsschlüsseln k'' und l'' und Erzeugung einer digitalen Signatur s'' für die Nachricht m' unter Verwendung der mindestens zwei Sitzungsschlüssel k'' und l'' und – Berechnung von mindestens zwei Signaturprüfwerten h1 und h2 unter Verwendung des öffentlichen Schlüssels h' und der mindestens zwei Sitzungsschlüssel k'' und l'', – wobei die Nachricht m' ein Element einer Teilmenge R_dm des Rings R = Zq[X]/(Xn – 1) mit verschiedenen Primzahlen n, q ist und die Teilmenge R_dm die binären oder trinären Polynome des Rings R mit einer vorgegebenen Quersumme dm umfasst, wobei der private Schlüssel f'' sowie die Sitzungsschlüssel k'' und l'' jeweils Elemente der Moduln (R_df)2 beziehungsweise (R_dk)2 sind, wobei es sich bei R_dk beziehungsweise R_df um diejenigen Teilmengen handelt, welche die binären oder trinären Polynome des Rings R mit einer vorgegebenen Quersumme dk beziehungsweise df umfassen, und wobei die Komponenten ki und li der mindestens zwei Sitzungsschlüssel k'' und l'' jeweils aus einer Teilmenge R_dk der Teilmenge D ausgewählt werden, deren Elemente d' ∊ D die Eigenschaft ∥d'∥ < d0 aufweisen, wobei d0 eine in geeigneter Weise heuristisch ermittelte oder theoretisch vorgegebene Schranke für die Norm der Teilmenge D von R darstellt.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass bei der Berechnung der mindestens zwei Signaturprüfwerte eine Einweg-Funktion verwendet wird.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass bei der Berechnung der mindestens zwei Signaturprüfwerte eine Falltürfunktion verwendet wird.
  4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass bei der Berechnung der mindestens zwei Signaturprüfwerte eine Falltürfunktion gemäß des NTRU-Schemas verwendet wird.
  5. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass nur private Schlüssel f'' mit einer invertierbaren Komponente f1' verwendet werden und der öffentliche Schlüssel h' aus dem privaten Schlüssel f'' gemäß h' = f1'–1f2' berechnet wird.
  6. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die Signaturprüfwerte h1 und h2 für einen Ausgangswert x'' ∊ D2 berechnet werden gemäß h = h'x1' + x2'
  7. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die Signatur s'' aus der Nachricht m' und den Sitzungsschlüsseln k'' und l'' berechnet wird mittels einer linearen Funktion s'' = Σaim'i (i = 0, 1) und Koeffizienten ai, die ihrerseits gegebenenfalls gewichtete Produkte oder Summen der Sitzungsschlüssel k'' und l'' sind, und dass die Signaturprüfwerte h1 und h2 berechnet werden als Funktion der einzelnen Koeffizienten h(ai).
  8. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, dass die Signatur s'' aus der Nachricht m' und den Sitzungsschlüsseln k'' und l'' berechnet wird gemäß s'' = k''·l'' – m'(k'' + l'') und dass die Signaturprüfwerte h1 und h2 berechnet werden gemäß h1 = h(k''·l'') und h2 = h(k'' + l'').
  9. Verfahren zur Überprüfung einer Nachricht mit einer Signatur s'', die gemäß einem der in Anspruch 7 oder Ansprüchen 7 und 8 beschriebenen Verfahren erzeugt wurde, und das unter Verwendung eines Computers durchgeführt wird, mit den Schritten: – Verwerfen der Signatur s'', falls s'' ∉̸ D2, – Verwerfen der Signatur s'', falls die Quersumme ds(s1) ≠ ds(s2) ≠ Σaidkdmi und – Verwerfen der Signatur s'', falls h(s'') ≠ aoh1 + a1h2m'
  10. Verfahren nach Anspruch 9 für eine Signatur, die gemäß Anspruch 8 berechnet wurde, dadurch gekennzeichnet, dass die Signatur s'' verworfen wird, falls die Quersumme ds(s1) ≠ ds(s2) ≠ dk2 – 2dmdk ist.
DE200810015865 2008-03-26 2008-03-26 Verfahren zur Erzeugung einer digitalen Signatur Expired - Fee Related DE102008015865B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200810015865 DE102008015865B4 (de) 2008-03-26 2008-03-26 Verfahren zur Erzeugung einer digitalen Signatur

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200810015865 DE102008015865B4 (de) 2008-03-26 2008-03-26 Verfahren zur Erzeugung einer digitalen Signatur

Publications (2)

Publication Number Publication Date
DE102008015865A1 DE102008015865A1 (de) 2009-10-01
DE102008015865B4 true DE102008015865B4 (de) 2011-03-31

Family

ID=41011083

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200810015865 Expired - Fee Related DE102008015865B4 (de) 2008-03-26 2008-03-26 Verfahren zur Erzeugung einer digitalen Signatur

Country Status (1)

Country Link
DE (1) DE102008015865B4 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003050998A1 (en) * 2001-12-07 2003-06-19 Ntru Cryptosystems, Inc. Digital signature and authentication method and apparatus
EP1873965A1 (de) * 2005-04-18 2008-01-02 Matsushita Electric Industrial Co., Ltd. Signaturerzeugungsvorrichtung und signaturverifizierungsvorrichtung

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003050998A1 (en) * 2001-12-07 2003-06-19 Ntru Cryptosystems, Inc. Digital signature and authentication method and apparatus
EP1873965A1 (de) * 2005-04-18 2008-01-02 Matsushita Electric Industrial Co., Ltd. Signaturerzeugungsvorrichtung und signaturverifizierungsvorrichtung

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Hoffstein, J., et al.: "NTRUSign: Digital Signatures Using the NTRU Lattice". In: Proceedings of CT-RSA 2003. Gefunden im Internet am 04.12.2009 unter http://www.math.brown.edu/~jpipher/NTRUSign_RSA.pd *
Hoffstein, J., et al.: "NTRUSign: Digital Signatures Using the NTRU Lattice". In: Proceedings of CT-RSA 2003. Gefunden im Internet am 04.12.2009 unter http://www.math.brown.edu/~jpipher/NTRUSign_RSA.pdf

Also Published As

Publication number Publication date
DE102008015865A1 (de) 2009-10-01

Similar Documents

Publication Publication Date Title
DE69333068T2 (de) Verfahren zur ausdehnung der gültigkeit eines kryptographischen zertifikats
DE69920875T2 (de) Vorrichtung und Verfahren zum Berechnen einer digitalen Unterschrift
DE102011011652B4 (de) Verfahren zum Verwenden eines ECDSA mit Winternitzeinmalsignatur
DE60133266T2 (de) Verfahren und Vorrichtung zum Schutz der Datenintegrität
DE60035317T2 (de) Verfahren zur hybriden digitalen Unterschrift
DE60203711T2 (de) Verfahren zum authentifizieren mehrerer mit einem textdokument verbundener dateien
DE602005002652T2 (de) System und Verfahren für das Erneuern von Schlüsseln, welche in Public-Key Kryptographie genutzt werden
DE60111746T2 (de) Lineartransformation für symmetrische verschlüsselungssysteme
DE102020101358A1 (de) Selektive Echtzeit-Kryptographie in einem Fahrzeugkommunikationsnetz
EP1214812A1 (de) Verfahren zum schutz von daten
DE69911815T2 (de) Selbstkorrigierendes zufallsverschlüsselungssystem und -verfahren
EP2240848A1 (de) Schaltung und verfahren zur generierung einer echten, schaltungsspezifischen und zeitinvarianten zufallszahl
DE102016210786A1 (de) Komponente zur Anbindung an einen Datenbus und Verfahren zur Umsetzung einer kryptografischen Funktionalität in einer solchen Komponente
DE69737806T2 (de) Datenverschlüsselungsverfahren
DE102020212451A1 (de) Verfahren zum digitalen Signieren einer Nachricht
DE102008055076A1 (de) Vorrichtung und Verfahren zum Schutz von Daten, Computerprogramm, Computerprogrammprodukt
DE112012000971T5 (de) Datenverschlüsselung
DE102012209408A1 (de) Sichere Übertragung einer Nachricht
EP3412018B1 (de) Verfahren zum austausch von nachrichten zwischen sicherheitsrelevanten vorrichtungen
WO2018104277A1 (de) Bidirektional verkettete blockchainstruktur
DE19720249A1 (de) Digitales Unterschriftenprotokoll mit verringerter Bandbreite
DE102008015865B4 (de) Verfahren zur Erzeugung einer digitalen Signatur
EP2730050B1 (de) Verfahren zur erstellung und überprüfung einer elektronischen pseudonymen signatur
EP2253097A1 (de) Verfahren zur unmanipulierbaren, abhörsicheren und nicht hackbaren p2p-kommunikation in mehrteilnehmernetze
DE102017210513A1 (de) Verfahren zum Übermitteln einer Nachricht in einer sicherheitsrelevanten Anlage

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R020 Patent grant now final
R020 Patent grant now final

Effective date: 20110817

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20131001