DE69838258T2 - Public-Key-Datenübertragungssysteme - Google Patents

Public-Key-Datenübertragungssysteme Download PDF

Info

Publication number
DE69838258T2
DE69838258T2 DE69838258T DE69838258T DE69838258T2 DE 69838258 T2 DE69838258 T2 DE 69838258T2 DE 69838258 T DE69838258 T DE 69838258T DE 69838258 T DE69838258 T DE 69838258T DE 69838258 T2 DE69838258 T2 DE 69838258T2
Authority
DE
Germany
Prior art keywords
correspondent
points
additional information
point
key
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
DE69838258T
Other languages
English (en)
Other versions
DE69838258D1 (de
Inventor
Scott A. Campbellville VANSTONE
Donald B. Manassas JOHNSON
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.)
Certicom Corp
Original Assignee
Certicom Corp
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 Certicom Corp filed Critical Certicom Corp
Application granted granted Critical
Publication of DE69838258D1 publication Critical patent/DE69838258D1/de
Publication of DE69838258T2 publication Critical patent/DE69838258T2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)
  • Collating Specific Patterns (AREA)
  • Computer And Data Communications (AREA)

Description

  • Die vorliegende Erfindung betrifft Public-Key-Datenübertragungssysteme.
  • HINTERGRUND DER ERFINDUNG
  • Public-Key-Datenübertragungssysteme werden zur Übertragung von Informationen zwischen zwei Korrespondenzpartnern eingesetzt. Wenigstens ein Teil der ausgetauschten Information wird dabei durch den Sender mittels einer vorher festgelegten mathematischen Operation verschlüsselt, und der Empfänger kann dann eine komplementäre Operation ausführen, um die Information zu entschlüsseln.
  • Ein typisches Beispiel für ein derartiges System ist ein digitales Signaturprotokoll. Digitale Signaturen werden verwendet, um zu bestätigen, dass eine Nachricht von einer bestimmten Partei versendet wurde und dass bei der Übertragung keine Änderung des Inhalts dieser Nachricht erfolgte.
  • Bei einem weit verbreiteten Satz von Signaturprotokollen wird ein El-Gamal-Public-Key-Signaturschema verwendet, bei dem eine Nachricht mit dem Private-Key (privater Schlüssel) des Senders unterzeichnet wird. Der Empfänger kann dann mit Hilfe des Public-Key (öffentlicher Schlüssel) des Senders die Nachricht wiederherstellen.
  • Für die Implementierung eines solchen Schemas gibt es unterschiedliche Protokolle, und einige davon sind weit ver breitet. Hierbei ist es jedoch stets erforderlich, dass der Empfänger Berechnungen ausführt, um die Signatur zu verifizieren. Verfügt der Empfänger über eine adäquate Rechenleistung, so stellt dies kein besonderes Problem dar, jedoch kann es aufgrund der durchzuführenden Berechnungen zu Verzögerungen in dem Verifizierungsprozess kommen, wenn der Empfänger nur über eine begrenzte Rechenkapazität verfügt, wie z.B. bei einer "Smart Card"-Anwendung.
  • Die Implementierung eines Public-Key-Schemas kann unter Verwendung einer multiplikativen Gruppe aus einer Anzahl solcher Gruppen erfolgen, bei denen das Diskreter-Logarithmus-Problem unlösbar scheint, eine besonders robuste Implementierung ist jedoch das Schema, bei dem die Charakteristika von Punkten auf einer elliptischen Kurve über einem finiten Feld verwendet werden. Bei dieser Implementierung besteht der Vorteil darin, dass die erforderliche Sicherheit mit relativ kleinen Feld-Ordnungen aufrechterhalten werden kann, beispielsweise verglichen mit Implementierungen in Zp*, und daher die zur Übertragung der Signaturen erforderliche Bandbreite reduziert wird.
  • Bei einer typischen Implementierung hat eine Signaturkomponente s die Form: s = ae + k (mod n)wobei:
  • P
    ein Punkt auf der Kurve ist, welcher ein vordefinierter Parameter des Systems ist
    k
    eine zufällige ganze Zahl ist, die als kurzzeitiger Private-Key oder Session-Key (Sitzungsschlüssel) ausgewählt wird und der ein entsprechender kurzzeitiger Public-Key R = kP zugeordnet ist
    a
    der langfristige Private Key des Senders ist, dem ein entsprechender Public Key aP = Q zugeordnet ist
    e
    ein sicherer Hash, zum Beispiel die SHA-Hash-Funktion, einer Nachricht m und des kurzzeitigen Public Key R ist, und
    n
    die Ordnung der Kurve ist.
  • Der Sender sendet eine m, s und R enthaltende Nachricht an den Empfänger, und die Signatur wird durch Berechnen des Wertes -(sP-eQ), der mit R übereinstimmen sollte, geprüft. Stimmen die berechneten Werte überein, so ist die Signatur verifiziert.
  • Um die Verifizierung durchzuführen, ist es erforderlich, eine Anzahl von Punktmultiplikationen zu berechnen, um sP und eQ zu erhalten, von denen jede rechnerisch komplex ist. Andere Protokolle, wie z.B. die MQV-Protokolle, erfordern bei Implementierung über elliptischen Kurven ähnliche Berechnungen, was bei begrenzter Rechenleistung eine langsame Verifizierung zur Folge haben kann.
  • Gewöhnlich hat die zugrunde liegende Kurve die Form y2 + xy = x3 + ax + b, und die Addition zweier Punkte mit den Koordinaten (x1, y1) und (x2, y2) ergibt einen Punkt (x3, y3), wobei
    Figure 00030001
    Figure 00040001
  • Die Verdopplung eines Punktes, d.h. P zu 2P, erfolgt durch Addition des Punktes zu sich selbst, so dass
    Figure 00040002
  • Es ist offensichtlich, dass sukzessive Verdopplung des Punktes Q Werte für 2Q, 22Q, 23Q ... 2jQ ergibt und dass diese Werte in der binären Darstellung des Hash-Wertes e substituiert und unter Anwendung der obigen Gleichungen addiert werden können, um den Wert eQ zu erhalten. Dies würde allenfalls t Verdopplungen und t Punktadditionen für eine t-Bit-Darstellung von e erfordern. In ähnlicher Weise kann der Punkt P sukzessiv verdoppelt und die Werte in der Darstellung von s substituiert werden, um sP zu erhalten. Allerdings erfordert die Generierung jedes der verdoppelten Punkte die Berechnung sowohl der X- als auch der Y-Koordinaten, und Letzteres macht eine weitere Inversion erforderlich. Diese Schritte sind rechnerisch komplex und ihre Durchführung erfordert daher entweder einen erheblichen Zeitaufwand oder eine erhebliche Rechenkapazität. Eine Substitution in der zugrunde liegenden Kurve zur Bestimmung des Wertes von y ist nicht praktikabel, da hierbei zwei mögliche Werte für y erhalten werden, ohne dass man weiß, welcher Wert der intendierte ist.
  • Schemata des Standes der Technik, wie z.B. das von Horn et al. in der PCT-Veröffentlichung WO 96/37064 offenbarte, um fassen einen Prozess, mittels dessen zwischen zwei Computereinheiten ein Sitzungsschlüssel vereinbart werden kann, während nicht autorisierte dritte Parteien daran gehindert werden, nützliche Informationen bezüglich des Schlüssels oder der Identität der sendenden Computereinheit zu erhalten. Dies wird durch die Einbettung des Prinzips des El-Jamal-Schlüsselaustauschs in das System erzielt. Jedoch werden mit solchen Lehren die oben erwähnten Nachteile nicht vollständig angegangen.
  • Ähnlich werden auch in dem US-Patent Nr. 5,442,707 an Miyaji et al. die obigen Nachteile nicht vollständig beseitigt. Miyaji lehrt ein Verfahren zur Erzeugung und Verifizierung elektronischer Signaturen für signierte Mitteilungen über ein öffentliches digitales Netzwerksystem durch Verwendung einer elliptischen Kurve. Dieses Verfahren umfasst einen Schritt, in welchem auf dem Netzwerksystem öffentliche Daten jedem Nutzer eines Systemproviders zur Verfügung gestellt werden und in welchem ein Element P für die elliptische Kurve E über einem finiten Feld gewählt wird.
  • Ein Ziel der vorliegenden Erfindung besteht daher in der Bereitstellung eines Verfahrens, mit dem die oben erwähnten Nachteile beseitigt oder gemildert werden.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Allgemein ausgedrückt wird mit der vorliegenden Erfindung ein Verfahren bereitgestellt, bei welchem der übertragene Datenstring so modifiziert wird, dass er neben der Information, die zur Durchführung der Verifizierung erforderlich ist, noch eine zusätzliche Information enthält, die zur Vereinfachung der an der Verifizierung beteiligten Berechnungen verwendet werden kann.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Im Folgenden werden Ausführungsformen der vorliegenden Erfindung lediglich als Beispiele und in Bezug auf die beigefügten Zeichnungen beschrieben. Die Zeichnungen zeigen
  • 1: eine schematische Darstellung eines Datenübertragungssystems;
  • 2: eine Darstellung des Datenformats, das in einer ersten Ausführungsform über das Datenübertragungssystem übermittelt wird;
  • 3: ein Fließdiagramm, in dem die Schritte zur Verifizierung einer unter Verwendung des Datenformats von 2 über das System von 1 übertragenen Signatur dargestellt sind;
  • 4: ein Fließdiagramm, in dem die Verifizierung gemäß einer zweiten Ausführungsform dargestellt ist;
  • 5: eine Darstellung der in einer dritten Ausführungsform über das Datenübertragungssystem übermittelten Daten; und
  • 6: ein Fließdiagramm, in dem die Schritte der Signaturverifizierung unter Anwendung des Datenformats von 5 wiedergegeben sind.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Die folgenden Ausführungen beziehen sich zunächst auf 1. Ein Datenübertragungssystem 10 umfasst zwei Korrespondenzpartner, bezeichnet als Sender 12 und Empfänger 14, die über einen Übertragungskanal 16 miteinander verbunden sind.
  • Jeder der Korrespondenzpartner 12, 14, weist eine Verschlüsselungseinheit 18 bzw. 20 auf, welche in der Lage ist, digitale Informationen zu verarbeiten und diese für die Übertragung über den Kanal 16 wie unten beschrieben vorzubereiten. Jeder der Korrespondenzpartner 12, 14 verfügt weiterhin über eine Recheneinheit 19 bzw. 21 zur Durchführung mathematischer Berechnungen in Bezug auf die Verschlüsselungseinheiten 18 bzw. 20. Die Rechenkapazität der Einheiten 19, 21 variiert entsprechend der Art der Korrespondenzpartner 12, 14; für die Zwecke der vorliegenden Offenbarung wird jedoch davon ausgegangen, dass die Einheit 19 über eine größere Rechenleistung verfügt als die Einheit 21, bei der es sich um eine Smart Card oder dergleichen handeln kann.
  • Gemäß einer ersten Ausführungsform erstellt der Sender 12 einen, in 2 schematisch dargestellten, Daten-String 22. Der Daten-String 22 enthält ein Zertifikat 24 der Zertifikationsstelle CA, das einen Identifikator I.D. des Senders 12, einen Zeitstempel T, den öffentlichen Schlüssel Q des Senders 12, einen Bit-String y', der die supplementäre Information darstellt, die Signaturkomponente sauth der Zertifizierungsstelle CA, und den kurzzeitigen Public Key Rauth der Zertifizierungsstelle enthält. Der Datenstring 22 enthält ferner ein Zertifikat des Senders 26, das die Nachricht m, den kurzfristigen Public Key R des Senders und den Signaturbestandteil s des Senders 12 enthält. Der in dem Zertifikat 24 enthaltene Bit-String y' wird von der Recheneinheit 19 geliefert. Die Einheit 19 führt wenigstens einen Teil der mathematischen Operationen durch, die zur Verifizierung der Signatur beim Empfänger 14 erforderlich sind, und extrahiert aus den Berechnungen die supplementäre In formation y. Nach der Erstellung wird der Datenstring 22 in Schritt 30 an den beabsichtigten Empfänger 14 gesendet.
  • Der Einfachheit halber wird angenommen, dass der Signaturbestandteil s des Senders 12 die Form s = ae + k (mod n), wie oben besprochen, hat, jedoch ist offensichtlich, dass auch andere Signaturprotokolle Verwendung finden können. Zur Verifizierung der Signatur muss sP-eQ berechnet und mit R verglichen werden. Der Signaturbestandteil der Zertifizierungsstelle sauth hat eine ähnliche Form, wobei die Nachricht m aus dem Identifikator I.D., der Zeit T und den Vorzeichen-Bits ("Sign"-Bits) y' besteht.
  • Der erste Schritt der durch den Empfänger 14 durchgeführten Verifizierung besteht in der Extrahierung des Wertes von Q und der Vorzeichen-Bits y' aus dem Zertifikat 24 in Schritt 32 – unter Verwendung des Public Key der Zertifizierungsstelle. In Schritt 36 wird auch ein Hash-Wert e' aus der Nachricht m und den Koordinaten des Punktes R im Zertifikat 26 des Senders, die in Schritt 34 wiedergewonnen wurden, berechnet. Der Empfänger 14 ist dann in der Lage, die Verifizierung durch Berechnen von sP und e'Q durchzuführen. Allerdings verfügt die Recheneinheit 21, wie oben erwähnt, nur über eine begrenzte Rechenkapazität, und die Berechnung von sP und e'Q kann somit zeitaufwendig sein.
  • Aus diesem Grunde werden eine oder mehrere Verbesserungen durchgeführt, die der Vereinfachung der Verifizierung dienen. Bei einer ersten Ausführungsform wird die Tatsache ausgenutzt, dass es sich bei P um einen langfristigen Systemparameter handelt. Integralen Vielfachen von P entspre chende Werte können vom Empfänger 14 in Verweistabellen, in 1 mit 28 gekennzeichnet, gespeichert werden. Die s entsprechende ganze Zahl befindet sich somit in der Tabelle 28, wie bei 38 in 3 gezeigt, und der Wert sP wird bestimmt, um einen ersten Bestandteil der Verifizierung bereitzustellen.
  • Der Wert Q variiert von Sender zu Sender; dementsprechend ist es nicht praktikabel, die möglichen Werte von e'Q ähnlich wie bei sP vorherzuberechnen. Zur Vereinfachung der Berechnung von e'Q wird e', wie bei 36 gezeigt, als eine binäre Darstellung einer ganzen Zahl behandelt, wobei jedes Bit einen Koeffizienten aufeinanderfolgender Werte 2j angibt. Die Recheneinheit 19 des Senders 12 wird zur sukzessiven Verdopplung des Punktes Q verwendet, wobei die Koordinaten von 2jQ erhalten werden. Das höchstwertige Bit der y-Koordinate gibt das Vorzeichen ("sign") der y-Koordinate an, und ein String von Bits, welche die Vorzeichen der y-Koordinaten der sukzessive verdoppelten Punkte repräsentieren, wird als die supplementäre Information y' in das Zertifikat 24 eingefügt. Zur Berechnung des Wertes von e'Q durch den Empfänger 14 wird die x-Koordinate des Punktes Q, in Schritt 40, sukzessive, durch Anwendung der oben erwähnten Gleichung verdoppelt, so dass die x-Koordinaten der aufeinanderfolgenden Werte von 2jQ erhalten werden. Zeigt die binäre Darstellung von e', dass ein Wert von 2jQ benötigt wird (d.h. wenn der Koeffizient "1" ist), so wird der entsprechende Wert der y-Koordinate, in Schritt 42, durch Substitution in der zugrunde liegenden Kurve bestimmt. Es werden zwei mögliche Werte der y-Koordinate erhalten (in Schritt 44), und der richtige Wert wird durch Heranziehen der Vorzeichen-Bits y', die aus dem Zertifikat 24 ausgelesen wurden, in Schritt 46 bestimmt. Dementsprechend wird die Berechnung der y-Koordinate, welche eine Inversion erfordern würde, umgangen.
  • Nachdem in Schritt 48 jedes Koordinatenpaar für die Koeffizienten 2jQ erhalten wurde, können sie, in Schritt 52, kombiniert werden, um den Wert für e'Q zu erhalten, und mit sP kombiniert werden, um sP-e'Q zu erhalten. Dies wird dann, in Schritt 54, zur Verfizierung, mit dem wiedergewonnenen Wert von R verglichen.
  • Wie ersichtlich, kann sP in ähnlicher Weise berechnet werden wie e'Q, d.h. unter Einfügung zusätzlicher Vorzeichen-Bits für die y-Koordinaten von 2jP in das Zertifikat 24. Es wird jedoch davon ausgegangen, dass die Verwendung der Verweistabellen 28, wo praktikabel, vorzuziehen ist.
  • Zwar wird durch die obige Prozedur die rechnerische Komplexität reduziert, doch ist für die Berechnung der x-Koordinate immer noch eine Inversion erforderlich. Eine Inversion ist relativ aufwendig, und zur Vereinfachung der Berechnung wird das Verfahren von 3 wie in 4 gezeigt modifiziert, wobei gleiche Schritte mit gleichen Bezugszeichen – zur höheren Klarheit mit dem Suffix a versehen – gekennzeichnet sind. Bei Empfang des Daten-Strings 22 ermittelt der Empfänger 14 die affinen Koordinaten (x, y) des Punktes Q und wandelt diese in Schritt 60 in projektive Koordinaten (x, y, z) um, indem er x durch x/z und y durch y/z ersetzt.
  • Der Wert der x- und z-Koordinaten des Punktes 2Q kann dann unter Verwendung der Beziehung 2(x1, y1, z1) = (x2, y2, z2) errechnet werden, wobei: x2 = x41 + z41 b und z2 = (x1z1)2
  • "b" ist die mit der zugrunde liegenden Kurve assoziierte Konstante und kann angemessen klein gewählt werden, d.h. ein Wort.
  • Sobald die x- und z-Werte für 2Q, wie in Schritt 62 angegeben, berechnet wurden, können diese in analoger Weise verwendet werden, um die Werte von x und z für 4Q zu erhalten. Dies kann bis zu 2tQ wiederholt werden, so dass die t Sätze der projektiven Koordinaten, von denen jeder die x- und z-Koordinaten eines jeweiligen 2jQ 0 ≤ j ≤ t repräsentiert, erhalten werden.
  • Jede der projektiven x-Koordinaten wird in Schritt 64 in eine korrespondierende affine Koordinate umgewandelt, indem die x-Koordinate durch die z-Koordinate dividiert wird. Die x-Koordinate der jeweiligen Werte von 2jQ kann dann, falls erforderlich, für die Darstellung von e' verwendet werden, um die korrespondierenden y-Koordinaten durch Substitution in der die zugrunde liegende Kurve repräsentierenden Gleichung zu erhalten, wie in den Schritten 42a und 44a dargestellt. Der korrespondierende y-Wert wird, in Schritt 46a, durch Heranziehung der Vorzeichen-Bits y' erhalten, die in dem Daten-String 22 enthalten sind, welcher den richtigen Wert angibt.
  • Wurde jede der Koordinaten, in Schritt 48a, ermittelt, so können die Werte für 2jQ in der binären Darstellung von e substituiert werden, und, in Schritt 50a, wird der resultierende Wert von eQ erhalten. Da die Darstellung von e ein String aus Einsen und Nullen ist, müssen nur diejenigen Werte, die einen Koeffizienten von 1 haben, kombiniert werden, um die Berechnung weiter zu vereinfachen. Das Ergebnis kann dann, in Schritt 52a, mit dem Wert von sP kombiniert und, in Schritt 54a, mit dem wiedergewonnenen Wert von R verglichen werden, um eine Verifizierung zu erreichen.
  • Wie ersichtlich, wird demnach eine Verifizierung erreicht, ohne dass hierfür bei jeder Addition zum Zwecke der Bestimmung der sukzessiven x-Koordinaten eine Inversion erforderlich ist, wodurch der Verifizierungsvorgang vereinfacht wird. Die Berechnung der Werte von 2jQ kann problemlos durchgeführt werden, wenn die elliptische Kurve über dem Feld GF2 bei Normalbasis-Darstellung implementiert wird. In diesem Falle wird x1 4 und z1 4 durch zwei zyklische Verschiebungen der Darstellung der jeweiligen Koordinaten berechnet. Multiplizieren mit "b" liefert XOR'd, und man erhält den Wert der resultierenden x-Koordinate. Analog kann der Wert der z-Koordinate durch eine zyklische Verschiebung des Produktes von x1 und z1 erhalten werden.
  • Die obige Prozedur kann unter Erhöhung der Bandbreite modifiziert werden, indem die x-Koordinate von Q und jede der y-Koordinaten von 2jQ in dem Zertifikat gesendet werden. Natürlich werden einige dieser Koordinaten redundant sein – abhängig von der Darstellung von e'. Allerdings wird auf diese Weise zwar die Berechnung der y-Koordinaten umgangen, jedoch vergrößert sich die Länge der Nachricht. Dies kann insbesondere dann hinnehmbar sein, wenn der Empfänger nur über eine begrenzte Rechenkapazität verfügt.
  • Als weitere Variante könnte die Nachricht so modifiziert werden, dass sie sowohl die x- als auch y-Koordinaten für jeden Wert von 2jQ, mit der begleitenden Redundanz, enthält. Hierdurch wird zwar die Berechnung von eQ minimiert, aber die Länge der Nachricht wird vergrößert.
  • Eine weitere Ausführungsform ist in 5 und 6 gezeigt; hier wird der Vorgang des Kombinierens angewendet, um die Berechnung von eQ zu erleichtern. Ist e eine t-Bit-Binärzahl, so kann e, in Schritt 80, als k-fach-Matrix 72 dargestellt werden, welche k Spalten 74 und t/k Reihen 76 aufweist. Ist die Summe 78 jeder Spalte V1, V2, V3, ... Vk, dann e = V1 + 2V2 + 22V3 + ... + 2k-1Vk-1 + 2kVk und eQ = V1Q + 2V2Q + 22V3Q + ... + 2k-1Vk-1Q + 2kVkQ
  • Jede der Spalten kann eine von 2t/k Kombinationen von Bits aufweisen. Jede Kombination liefert einen bestimmten Wert Σ1, Σ2, Σ3 etc. für V, der mit dem Punkt Q multipliziert werden muss, um die Koordinaten der Punkte 2jVjQ zu erhalten. Das Zertifikat 24 wird also, wie in den Schritten 80 und 82 gezeigt, so modifiziert, dass es, in geordneter und abfragbarer Weise, die Koordinaten der 2t/k möglichen Punkte enthält, die sich aus der Kombination von Bits in den Spalten ergeben, die von dem Sender 12 vorberechnet wurden. In Schritt 84 wird das Zertifikat an den Empfänger 14 geschickt, und bei Erhalt des Zertifikats extrahiert der Empfänger 14, in Schritten 86 und 88, die Nachricht m und den Punkt R, um, in Schritt 90, einen wiedergewonnenen Wert e zu erhalten. Dieser Bit-String wird, in Schritt 92, in einer k-fach-Matrix etablierter Konfiguration angeordnet, und die Bit-Kombination der höchstwertigen Spalte wird in Schritt 94 bestimmt. Die Koordinaten des Punktes, der sich aus dieser Kombination ergibt, werden in Schritt 96 aus dem Zertifikat 24 erhalten und in Schritt 98 verdoppelt. Der Punkt, welcher der Bit-Kombination in der nächsten höchstwertigen Spalte entspricht, wird, wie in Schritt 100 gezeigt, abgerufen und in Schritt 102 zu dem Ergebnis der vorherigen Verdopplung addiert. Dies wird dann verdoppelt und die Prozedur solange wiederholt, bis e'Q berechnet ist. Auf diese Weise wird nur eine reduzierte Anzahl von Punktadditionen benötigt, maximal 2k, und die zur Übertragung der Information erforderliche Bandbreite wird verringert. Der Vorzeichen-Bit-String y' kann zur Bereitstellung der Vorzeichen-Bits der y-Koordinaten der verdoppelten Punkte und der addierten Punkte verwendet werden, um die Berechnung zu erleichtern.
  • In jedem der oben erwähnten Fälle enthält der Datenstring 22 zusätzliche Information, die dazu verwendet werden kann, die Berechnung des Wertes eQ zu erleichtern. Die Integrität der Signatur wird jedoch in keinem dieser Fälle gefährdet, da die Information aus dem Inhalt des Daten-Strings als Teil des Verifizierungsprozesses errechnet werden könnte. Der Wert von e, mit dem die Information nachfolgend verwendet wird, wird aus dem empfangenen Daten-String hergelei tet, so dass eine Manipulation des Sender-Zertifikats zu einer falschen Verifizierung führen würde. Die zusätzliche Information ist in dem Zertifikat der Zertifizierungsstelle enthalten und bildet einen Teil des Signaturbestandteils, so dass ein Angreifer die Information nicht austauschen kann, ohne dass dies entdeckt wird.
  • Es ist also ersichtlich, dass bei allen Ausführungsformen die Verifizierung einer Signatur dadurch erleichtert wird, dass dem Empfänger neben derjenigen Information, die für die Verifizierung erforderlich ist, eine zusätzliche Information zugesandt wird, welche die Berechnungen für die Verifizierung erleichert. Es ist offensichtlich, dass die Ausführungsformen zwar die Vorgänge zwischen zwei Korrespondenzpartnern beschreiben, einer dieser Korrespondenzpartner jedoch auch eine Zertifizierungsstelle CA oder eine vertrauenswürdige Zwischeninstanz sein kann. Die CA empfängt eine Nachricht von einem Korrespondenzpartner, welcher der Urheber der Nachricht ist, berechnet die supplementäre Information, erstellt den Datenstring und sendet den Datenstring an den Empfänger. Auf diese Weise kann der Austausch des öffentlichen Schlüssels zwischen zwei Kommunikationspartnern, von denen jeder über begrenzte Rechenkapazität verfügt, erleichtert werden.
  • Die obigen Ausführungsformen wurden im Zusammenhang mit einem Signatur-Verifizierungsprotokoll beschrieben. Allerdings können diese Techniken auch auf andere Public-Key-Operationen angewendet werden, wie zum Beispiel Schlüsselvereinbarungs("key agreement")- oder Schlüsselübertragungs("key transport")-Protokolle. Beispiele für solche Protokolle sind die MQV-Protokolle oder die im IEEE P 21363 Draft Standard aufgeführten Protokolle. Bei solchen Protokollen ist es in der Regel erforderlich, ein skaliertes Vielfaches eines Punktes auf der Kurve, d.h. kP, wobei k eine ganze Zahl und P ein Punkt auf der Kurve ist, zu erzeugen. Demgemäß kann die zwischen den Korrespondenten übertragene Information so modifiziert werden, dass sie eine supplementäre Information enthält, welche die bei diesen Protokollen durchgeführten Berechnungen erleichtert.
  • Zwar wurde die Erfindung mit Bezug auf bestimmte spezifische Ausführungsformen beschrieben, doch sind für den Fachmann verschiedene Abwandlungen, wie in den beigefügten Ansprüchen beschrieben, ersichtlich.

Claims (16)

  1. Verfahren zur Übertragung von Daten über einen Übertragungskanal (16) zwischen einem Paar Korrespondenzpartner (12, 14) in einem Datenübertragungssystem, die kryptographische Public-Key-Operationen ausführen, indem sie jeweils eine Operation aus einem Paar komplementärer mathematischer Operationen unter Verwendung eines Public Key und eines Private Key eines der beiden Korrespondenzpartner auf eine zwischen den Korrespondenzpartnern (12, 14) übertragene Information anwenden, wobei das Verfahren die folgenden Schritte umfasst: a) Zusammenstellen eines Daten-Strings (22), der eine an den zweiten Korrespondenzpartner (14) zu übertragende Information enthält, durch den ersten (12) der Korrespondenzpartner; b) Anwenden einer der komplementären mathematischen Operationen unter Verwendung einer ersten Recheneinheit (19) auf wenigstens einen Teil des Daten-Strings (22) durch den ersten Korrespondenzpartner (12), um den Daten-String (22) mit einer kryptographischen Komponente zu versehen; c) Inkorporieren einer zusätzlichen Information in den Daten-String (22), welche supplementär ist zu derjenigen Information, die notwendig ist, damit der zweite Korrespondenzpartner (14) in der Lage ist, die komplementäre mathematische Operation der kryptographischen Public-Key-Operation durchzuführen, und welche die Berechnung von Zwischenschritten betrifft, welche an der Durchführung der komplementären mathematischen Operation beteiligt sind; d) Senden des Daten-Strings (22) über den Übertragungskanal (16) an den zweiten Korrespondenzpartner (14); und e) Ausführen der anderen der komplementären mathematischen Operationen der kryptographischen Public-Key Operation durch den zweiten Korrespondenzpartner (14) unter Verwendung einer zweiten Recheneinheit (21), wobei die erwähnte zusätzliche Information dem zweiten Korrespondenzpartner (14) zur Verfügung steht, um die Berechnung von Zwischenschritten zu erleichtern, welche an der komplementären mathematischen Operation der kryptographischen Public-Key-Operation beteiligt sind.
  2. Verfahren nach Anspruch 1, bei welchem die eine komplementäre mathematische Operation einen Public Key des zweiten Korrespondenzpartners (14) benutzt, um eine digitale Signatur wenigstens des besagten Teils des Daten-Strings (22) bereit zu stellen.
  3. Verfahren nach Anspruch 1, bei welchem die komplementären mathematischen Operationen Charakteristika der Gruppe von Punkten auf einer elliptischen Kurve über einem finiten Feld verwenden.
  4. Verfahren nach Anspruch 3, bei welchem die zusätzliche Information Daten zu den Koordinaten von Punkten auf der Kurve enthält.
  5. Verfahren nach Anspruch 4, bei welchem die zusätzliche Information Daten zu Koordinaten von Punkten auf der Kurve enthält, welche durch sukzessives Verdoppeln eines designierten Punktes auf der Kurve erhalten wurden.
  6. Verfahren nach Anspruch 5, bei welchem die zusätzliche Information die Angabe enthält, welcher der Werte eines Paares möglicher Werte, die sich aus den Zwischenschritten ergeben, ein intendierter Wert ist.
  7. Verfahren nach Anspruch 5, bei welchem die zusätzliche Information eine Koordinate jedes der besagten Punkte enthält.
  8. Verfahren nach Anspruch 5, bei welchem die zusätzliche Information ein Koordinatenpaar jedes der Punkte enthält.
  9. Verfahren nach Anspruch 3, bei welchem einer der Zwischenschritte das Berechnen von Projektionskoordinaten von Punkten auf der Kurve umfasst, welche sich aus der sukzessiven Verdopplung eines designierten Punktes ergeben.
  10. Verfahren nach Anspruch 9, umfassend die Schritte der Konvertierung einer Projektionskoordinate wenigstens eines der besagten Punkte in eine korrespondierende affine Koordinate und der Verwendung der zusätzlichen Information, um daraus die andere affine Koordinate des besagten einen Punktes zu bestimmen.
  11. Verfahren nach Anspruch 10, bei welchem die zusätzliche Information die Angabe enthält, welcher der Werte eines Paares möglicher Werte der anderen affinen Koordinate ein intendierter Wert ist.
  12. Verfahren nach Anspruch 3, bei welchem die komplementäre mathematische Operation die Berechnung eines Punktes auf der Kurve erfordert, welcher ein ganzzahliges Vielfaches eines designierten Punktes darstellt, wobei das Verfahren die folgenden Schritte umfasst: Darstellen der ganzen Zahl als einen T-Bit-Binärstring, Anordnen des Binärstrings als eine k-mal-k/t-Kamm-Tabelle, Einfügen der Punkte, die sich aus jeder möglichen Kombination von Bits in Spalten der Kamm-Tabelle ergeben, in die zusätzliche Information, Auswählen der Punkte, die der Kombination von Bits in den jeweiligen Säulen der Tabelle entsprechen, und anschließendes Kombinieren der ausgewählten Punkte, um die Koordinaten des besagten Punktes zu erhalten.
  13. Verfahren nach Anspruch 12, bei welchem die ausgewählten Punkte kombiniert werden durch a) Verdoppeln eines Punktes; b) Addieren des verdoppelten Punktes zum nächsten ausgewählten Punkt; c) Verdoppeln des resultierenden Punktes und d) Wiederholen der Schritte b) und c), bis ein einziger Punkt erhalten wird, der das ganzzahlige Vielfache des designierten Punktes repräsentiert.
  14. Verfahren nach Anspruch 13, bei welchem die zusätzliche Information Daten enthält, die sich auf Koordinaten der Punkte beziehen, welche durch das Verdoppeln und Addieren der ausgewählten Punkte erhalten werden.
  15. Verfahren zur Übertragung von Daten über einen Übertragungskanal (16) zwischen einem Paar Korrespondenzpartner (12, 14) in einem Datenübertragungssystem, die kryptographische Public-Key-Operationen ausführen, indem sie jeweils eine Operation aus einem Paar komplementärer mathematischer Operationen unter Verwendung eines Public Key und eines Private Key eines der beiden Korrespondenzpartner auf eine zwischen den Korrespondenzpartnern (12, 14) übertragene Information anwenden, wobei das Verfahren die folgenden Schritte umfasst: a) Zusammenstellen eines Daten-Strings (22), der eine an den zweiten (14) der erwähnten Korrespondenzpartner zu übertragende Information enthält, durch den ersten (12) der Korrespondenzpartner; b) Anwenden einer der komplementären mathematischen Operationen unter Verwendung einer ersten Recheneinheit (19) auf wenigstens einen Teil des Daten-Strings (22) durch den ersten Korrespondenzpartner (12), um den Daten-String (22) mit einer kryptographischen Komponente zu versehen; c) Zur-Verfügung-Stellen einer zusätzlichen Information für den zweiten Korrespondenzpartner (14), welche supplementär ist zu derjenigen Information, die notwendig ist, damit der zweite Korrespondenzpartner (14) in der Lage ist, die komplementäre mathematische Operation der kryptographischen Public-Key-Operation durchzuführen, wobei diese zusätzliche Information die Berechnung von Zwischenschritten betrifft, welche an der Durchführung der komplementären mathematischen Operation beteiligt sind; d) Senden des Daten-Strings (22) über den Übertragungskanal (16) an den zweiten Korrespondenzpartner (14); und e) Ausführen der anderen der komplementären mathematischen Operationen der kryptographischen Public-Key-Operation durch den zweiten Korrespondenzpartner (14) unter Verwendung einer zweiten Recheneinheit (21), wobei die erwähnte zusätzliche Information dem zweiten Korrespondenzpartner (14) zur Verfügung steht, um die Berechnung der Zwischenschritte zu erleichtern, welche an der komplementären mathematischen Operation der kryptographischen Public-Key-Operation beteiligt sind.
  16. Verfahren nach Anspruch 15, wobei es sich bei der zusätzlichen Information um einen Satz von Vielfachen eines Punktes P auf einer elliptischen Kurve handelt.
DE69838258T 1997-10-17 1998-10-16 Public-Key-Datenübertragungssysteme Expired - Lifetime DE69838258T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US953637 1992-09-29
US08/953,637 US6424712B2 (en) 1997-10-17 1997-10-17 Accelerated signature verification on an elliptic curve
PCT/CA1998/000965 WO1999021320A1 (en) 1997-10-17 1998-10-16 Accelerated signature verification on an elliptic curve

Publications (2)

Publication Number Publication Date
DE69838258D1 DE69838258D1 (de) 2007-09-27
DE69838258T2 true DE69838258T2 (de) 2008-05-08

Family

ID=25494301

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69838258T Expired - Lifetime DE69838258T2 (de) 1997-10-17 1998-10-16 Public-Key-Datenübertragungssysteme

Country Status (6)

Country Link
US (6) US6424712B2 (de)
EP (1) EP1025673B1 (de)
JP (1) JP4453996B2 (de)
AU (1) AU9525698A (de)
DE (1) DE69838258T2 (de)
WO (1) WO1999021320A1 (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2321741B (en) * 1997-02-03 2000-10-04 Certicom Corp Data card verification system
US6424712B2 (en) 1997-10-17 2002-07-23 Certicom Corp. Accelerated signature verification on an elliptic curve
US6704867B1 (en) * 1999-03-30 2004-03-09 Bitney Bowes, Inc. Method for publishing certification information representative of selectable subsets of rights and apparatus and portable data storage media used to practice said method
US6847951B1 (en) 1999-03-30 2005-01-25 Pitney Bowes Inc. Method for certifying public keys used to sign postal indicia and indicia so signed
US6738899B1 (en) * 1999-03-30 2004-05-18 Pitney Bowes Inc. Method for publishing certification information certified by a plurality of authorities and apparatus and portable data storage media used to practice said method
US7249259B1 (en) * 1999-09-07 2007-07-24 Certicom Corp. Hybrid signature scheme
CA2350118C (en) 2000-06-09 2013-08-13 Certicom Corp. A method for the application of implicit signature schemes
US20040001590A1 (en) * 2002-06-27 2004-01-01 Eisentraeger Anne Kirsten Efficient elliptic curve double-and-add calculator
US7379546B2 (en) * 2004-03-03 2008-05-27 King Fahd University Of Petroleum And Minerals Method for XZ-elliptic curve cryptography
US7961873B2 (en) * 2004-03-03 2011-06-14 King Fahd University Of Petroleum And Minerals Password protocols using XZ-elliptic curve cryptography
US7961874B2 (en) * 2004-03-03 2011-06-14 King Fahd University Of Petroleum & Minerals XZ-elliptic curve cryptography with secret key embedding
US7646872B2 (en) * 2004-04-02 2010-01-12 Research In Motion Limited Systems and methods to securely generate shared keys
JP5147412B2 (ja) 2005-01-21 2013-02-20 サーティコム コーポレーション 楕円曲線乱数生成
EP2565811B1 (de) 2006-07-18 2016-02-03 Certicom Corp. System und Verfahren zur Authentifizierung einer Spielvorrichtung
JP5138775B2 (ja) 2007-07-17 2013-02-06 サーティコム コーポレーション Idベース暗号化(ibe)に対して暗黙の証明証およびアプリケーションを生成する方法およびシステム
WO2009030021A1 (en) * 2007-09-04 2009-03-12 Certicom Corp. Signatures with confidential message recovery
JP5329676B2 (ja) * 2008-12-16 2013-10-30 サーティコム コーポレーション 鍵合意プロトコルの加速
US8184803B2 (en) 2008-12-29 2012-05-22 King Fahd University Of Petroleum And Minerals Hash functions using elliptic curve cryptography
US20100169658A1 (en) * 2008-12-30 2010-07-01 Lahouari Ghouti Elliptic curve-based message authentication code
US8189775B2 (en) * 2010-02-18 2012-05-29 King Fahd University Of Petroleum & Minerals Method of performing cipher block chaining using elliptic polynomial cryptography
DE102013108713B8 (de) * 2013-08-12 2016-10-13 WebID Solutions GmbH Verfahren zum Verifizieren der ldentität eines Nutzers

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5005200A (en) * 1988-02-12 1991-04-02 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US5351297A (en) * 1991-06-28 1994-09-27 Matsushita Electric Industrial Co., Ltd. Method of privacy communication using elliptic curves
US5442707A (en) * 1992-09-28 1995-08-15 Matsushita Electric Industrial Co., Ltd. Method for generating and verifying electronic signatures and privacy communication using elliptic curves
US5497423A (en) * 1993-06-18 1996-03-05 Matsushita Electric Industrial Co., Ltd. Method of implementing elliptic curve cryptosystems in digital signatures or verification and privacy communication
EP0734624A4 (de) * 1993-12-01 1999-10-06 William Micheal Raike Nicht-deterministisches system zur verschlüsselung mit öffentlichem schlüssel
KR950015177B1 (ko) * 1993-12-06 1995-12-23 한국전기통신공사 사전 계산 테이블을 이용한 모듈로 리덕션 방법
US6157721A (en) * 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
US5761305A (en) * 1995-04-21 1998-06-02 Certicom Corporation Key agreement and transport protocol with implicit signatures
JPH11505384A (ja) * 1995-05-19 1999-05-18 シーメンス アクチエンゲゼルシヤフト 第1のコンピュータ装置と第2のコンピュータ装置との間の暗号鍵のコンピュータにより支援された交換方法
US5638447A (en) * 1996-05-15 1997-06-10 Micali; Silvio Compact digital signatures
US6782100B1 (en) * 1997-01-29 2004-08-24 Certicom Corp. Accelerated finite field operations on an elliptic curve
US6424712B2 (en) * 1997-10-17 2002-07-23 Certicom Corp. Accelerated signature verification on an elliptic curve
US6279110B1 (en) * 1997-11-10 2001-08-21 Certicom Corporation Masked digital signatures

Also Published As

Publication number Publication date
US6424712B2 (en) 2002-07-23
AU9525698A (en) 1999-05-10
JP2001521196A (ja) 2001-11-06
US8312283B2 (en) 2012-11-13
US20090077384A1 (en) 2009-03-19
US20030041247A1 (en) 2003-02-27
EP1025673B1 (de) 2007-08-15
US8738912B2 (en) 2014-05-27
US20140281538A1 (en) 2014-09-18
US20120290836A1 (en) 2012-11-15
US20110231664A1 (en) 2011-09-22
EP1025673A1 (de) 2000-08-09
DE69838258D1 (de) 2007-09-27
JP4453996B2 (ja) 2010-04-21
WO1999021320A1 (en) 1999-04-29
US20010046291A1 (en) 2001-11-29
US7415611B2 (en) 2008-08-19
US7930549B2 (en) 2011-04-19

Similar Documents

Publication Publication Date Title
DE69838258T2 (de) Public-Key-Datenübertragungssysteme
DE60313704T2 (de) Verfahren und Vorrichtung zur Erzeugung eines Geheimschlüssels
DE69534603T2 (de) Verschlüsselungssystem für elliptische kurve
DE69918818T2 (de) Verfahren zur Erzeugung eines öffentlichen Schlüssels in einem sicheren digitalen Kommunikationssystem und implizites Zertifikat
DE60006147T2 (de) Schlüsselzustimmungsprotokoll mit getrennten Schlüsseln
EP0384475B1 (de) Verfahren zur Identifikation von Teilnehmern sowie zur Generierung und Verifikation von elektronischen Unterschriften in einem Datenaustauschsystem
DE60031304T2 (de) Verfahren zur authentifizierung von softwarebenutzern
DE19744786B4 (de) Digitalsignatur-Protokoll
DE69636815T2 (de) Verfahren zur sitzungsschlüsselerzeugung mit impliziten unterschriften
DE69630331T2 (de) Verfahren zur gesicherten Sitzungsschlüsselerzeugung und zur Authentifizierung
DE60035317T2 (de) Verfahren zur hybriden digitalen Unterschrift
DE60026868T2 (de) Ein einfaches implementierungsverfahren für kryptographische primitiva mittels elementar-register-operationen
DE102010002241B4 (de) Vorrichtung und Verfahren zur effizienten einseitigen Authentifizierung
EP0820670A1 (de) Verfahren zum rechnergestützten austausch kryptographischer schlüssel zwischen einer benutzercomputereinheit u und einer netzcomputereinheit n
EP1125395B1 (de) Verfahren und anordnung zur authentifikation von einer ersten instanz und einer zweiten instanz
WO1991018459A2 (de) Vorrichtung für das umwandeln eines digitalblockes und verwendung derselben
DE10148415A1 (de) Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten
EP1368929A2 (de) Verfahren zur authentikation
DE10143728A1 (de) Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Exponentiation
DE60202149T2 (de) Verfahren zur kryptographischen authentifizierung
DE69735290T2 (de) Verfahren zur unsymmetrischen kryptographischen kommunikation und zugehöriger tragbarer gegenstand
DE10248004A1 (de) Verfahren und Vorrichtung zum Verschlüsseln von Daten
DE602004006373T2 (de) Verfahren und Vorrichtungen zur Erstellung fairer Blindunterschriften
CH711134A2 (de) Schlüsselzustimmungsprotokoll.
DE3915262A1 (de) Verfahren zur erzeugung von authentifizierten geheimschluesseln

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: MERH-IP MATIAS ERNY REICHL HOFFMANN, 80336 MUENCHE