DE112008000668T5 - Kryptografisches Verfahren und System - Google Patents

Kryptografisches Verfahren und System Download PDF

Info

Publication number
DE112008000668T5
DE112008000668T5 DE112008000668T DE112008000668T DE112008000668T5 DE 112008000668 T5 DE112008000668 T5 DE 112008000668T5 DE 112008000668 T DE112008000668 T DE 112008000668T DE 112008000668 T DE112008000668 T DE 112008000668T DE 112008000668 T5 DE112008000668 T5 DE 112008000668T5
Authority
DE
Germany
Prior art keywords
mod
private key
electronic processing
modules
processing hardware
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.)
Granted
Application number
DE112008000668T
Other languages
English (en)
Other versions
DE112008000668B4 (de
Inventor
Michel Douguet
Neil M. Mckeeney
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.)
Rambus Inc
Original Assignee
Atmel 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 Atmel Corp filed Critical Atmel Corp
Publication of DE112008000668T5 publication Critical patent/DE112008000668T5/de
Application granted granted Critical
Publication of DE112008000668B4 publication Critical patent/DE112008000668B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/723Modular exponentiation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • G06F2207/7233Masking, e.g. (A**e)+r mod n
    • G06F2207/7247Modulo masking, e.g. A**e mod (n*r)

Abstract

Kryptografisches Verfahren, das in einem elektronischen Verarbeitungssystem implementiert ist, wobei es umfasst:
Laden von Werten eines privaten Schlüssels, einschließlich wenigstens eines Exponenten des privaten Schlüssels und zweier Moduln des privaten Schlüssels, in einen Datenspeicher, der für elektronische Verarbeitungs-Hardware zugänglich ist;
Auswählen eines Transformationsfaktors durch die elektronische Verarbeitungs-Hardware;
Multiplizieren der Moduln des privaten Schlüssels mit dem Transformationsfaktor durch die elektronische Verarbeitungs-Hardware, um transformierte Moduln zu erzeugen;
Laden eines ersten Datenwertes einer Schlüsseltextnachricht in den Datenspeicher zu jeder beliebigen Zeit vor Durchführen modularer Exponentiation;
Durchführen einer modularen Exponentiation des ersten Datenwertes unter Verwendung des wenigstens einen Exponenten des privaten Schlüssels und der transformierten Moduln mit der elektronischen Verarbeitungs-Hardware, um einen Zwischen-Datenwert zu ermitteln; und
Reduzieren des Zwischen-Datenwertes modulo ein Produkt der zwei Moduln des privaten Schlüssels durch die elektronische Verarbeitungs-Hardware, um einen Abschluss-Datenwert einer entschlüsselten Klartextnachricht zu ermitteln.

Description

  • Beanspruchung der Priorität
  • Hiermit wird die Priorität gegenüber der US-Patentanmeldung Nr. 11/684,842, eingereicht am 12. März 2007 unter dem Titel ”CHINESE REMAINDER THEORUM-BASED COMPUTATION METHOD FOR CRYPTOSYSTEMS” beansprucht, die hiermit in ihrer Gesamtheit durch Verweis einbezogen wird.
  • Technisches Gebiet
  • Das vorliegende Dokument betrifft kryptografische Verfahren und Systeme, die in elektronischer Verarbeitungs-Hardware mit dazugehöriger Software ausgeführt werden.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist eine schematische Ansicht von Ausführungsformen von Prozessor-Hardware zum Einsatz beim Ausführen eines Kryptografieverfahrens gemäß einigen Ausführungsformen der vorliegenden Erfindung, die CRT-basierte modulare Exponentiation einschließen; und
  • 2 ist ein Flussdiagramm, das die allgemeinen Schritte für modulare Exponentiation gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung darstellt.
  • Ausführliche Beschreibung
  • Viele kryptografische Algorithmen basieren auf modularen Exponentiationsberechnungen des Typs m ≡ cd(mod n), wobei c und m verschiedenartigen Daten entsprechen können (Klartext- und Schlüsseltextnachrichten, Signaturen, Nachrichtenzusammenfassungen, Authentifizierungscodes usw.) und d sowie n Elementen öffentlicher oder privater Schlüssel zum Bearbeiten dieser Daten entsprechen können. Der Modul n ist normalerweise das Produkt zweier sehr großer Primzahlen p und q, die geheimgehalten werden. Der RSA-Algorithmus ist ein Beispiel für ein Verschlüsselungssystem (und eine dazugehörige digitale Signaturmethode), bei dem/der modulare Exponentiation eingesetzt wird. Das Diffie-Hellman-Schlüsselaustauschprotokoll ist ein anderes.
  • Bei dem RSA-Algorithmus werden ein öffentlicher Schlüssel {e, n} und ein entsprechender privater Schlüssel {d, p, q} zum Verschlüsseln und Entschlüsseln bereitgestellt, wobei d·e ≡ 1(mod ϕ(n)), n = p·q, ϕ(n) = (p – 1)(q – 1) und die ganze Zahl e und ϕ(n) teilerfremd bzw. koprim (co-prime) sind. Als Alternative dazu wird häufig eine Funktion λ(n) = LCM(p – 1, q – 1) anstelle des ursprünglichen ϕ(n) verwendet. (RSA PKCS#1 v. 2.1) Zur Verschlüsselung kann ein Schlüsseltext c aus einer Klartextnachricht m unter Verwendung des öffentlichen Schlüssels {e, n} entsprechend der Beziehung c = me(mod n) ermittelt werden. Der Exponent e des öffentlichen Schlüssels ist normalerweise ein kleiner Wert (z. B. 3, 5, 35 oder 216 + 1 = 65537), der gewählt wird, um die Verschlüsselung zu erleichtern und zu beschleunigen. Zum Entschlüsseln kann die Klartextnachricht m unter Verwendung des privaten Schlüssels {d, p, q} entsprechend der Beziehung m ≡ cd(mod(p·q)) aus dem Schlüsseltext c zurückgewonnen werden.
  • Der chinesische Restsatz, das sogenannte Chinese-Remainder-Theorem (CRT), wird häufig verwendet, um die bei der Verschlüsselung anfallenden modularen Exponentiationsberechnungen zu beschleunigen, da die ansonsten geheimen Primen Faktoren p und q dem Benutzer bekannt sind. Dieses Theorem besagt im Allgemeinen, dass, wenn ein Satz simultaner Kongruenzen x = ai(mod ni) gegeben ist, wobei i = 1 bis r, und die Moduln n1 dafür paarweise relativ prim sind, die Lösung x ≡ [Σiai·bi(N/ni)](mod N) ist, wobei N = n1·n2·...nr und bi aus bi(N/ni) ≡ 1(mod ni) bestimmt werden. Für zwei relativ prime positive ganze Zahlen p und q sowie zwei ganze Zahlen a und b (d. h. r = 2) existiert eine ganze Zahl m, die eindeutig gemäß modulo p·q bestimmt wird, so dass m ≡ a(mod p) ≡ b(mod q). Das heißt, für GCD(p, q) = 1 entspricht jedes Paar von Restklassen modulo p und q einer einfachen Restklasse modulo p·q. Die Lösung ergibt m ≡ [a·(q–1 mod p)·q + b·(p–1 mod q)·p](mod p·q). (Ein modulares Reziprokes einer ganzen Zahl z–1 modulo z ist so definiert, dass x·x–1 ≡ 1(mod z). Für einen primen Modul hat jede von Null verschiedene ganze Zahl, die kein Vielfaches des Moduls ist, ein Reziprokes.)
  • Bei CRT-Implementierung des RSA-Algorithmus wird die modulare Exponentiation m := cd(mod(p·q)) wie folgt berechnet. Zunächst wird ein Paar aus einem privaten Schlüssel hergeleiteter Exponenten mit d1 := d(mod(p – 1)) und d2 := d(mod(q – 1)) definiert. Dann werden
    Figure 00020001
    berechnet. Schließlich gilt m = CRT(m1, m2) := m1 + p·{[(m2 – m1)·R](mod q)}, wobei R = p–1(mod q).
  • Die letzte Gleichung der CRT-Implementierung, d. h. m = CRT(m1, m2), hat viele Varianten. Drei Beispiele für diese Varianten sind: CRT2(m1, m2) := (m1·R1·q + m2·R2·p)(mod p·q), wobei R1 ≡ q–1(mod p) und R2 ≡ p–1(mod q); CRT3(m1, m2) := {[(m1·R1)(mod p)]·q + [(m2·R2)(mod q)]·p]}(mod p·q), wobei wiederum R1 = q–1(mod p) und R2 ≡ p–1(mod q); und CRT4(m1, m2) := (q·{[(m1 – m2)·R4](mod p)} + m2)(mod p·q), wobei R4 = p–1(mod q).
  • Mit alternativen CRT-Implementierungen wird die modulare Exponentiationsberechnung auf eine Weise durchgeführt, die dazu dient, Kryptoanalyse abzuwehren, insbesondere im Zusammenhang mit Token (z. B. Smartcards), bei denen ein Angreifer Zugriff auf die Hardware hat, die die kryptografischen Berechnungen ausführt. Ein Angreifer kann nicht-invasive Messung und Zeitanalyse elektromagnetischer Emissionen, von Stromverbrauch und anderen zugänglichen Parametern einer Vorrichtung bei Berechnungsprozessen verwenden, um Informationen zu extrahieren, die bezüglich der privaten Schlüssel genutzt werden kann. Bei den alternativen Implementierungen werden normalerweise Pseudo-Zufalls-Variablen auf verschiedenen Stufen des kryptografischen Algorithmus verwendet, um die darunterliegenden mathematischen Operationen zu maskieren, ohne dabei das Endergebnis zu beeinflussen.
  • Beispielsweise werden bei CRT-Implementierungen modularer Exponentiation bei einigen Alternativen die Nachrichtenvariable m oder ihre CRT-Komponenten m1 und m2 transformiert, indem auf einer frühen Stufe bei dem Berechnungsprozess mit einem Zufallswert multipliziert wird und dann auf einer späteren Stufe die Nachrichtenvariable durch den gleichen Zufallswert oder durch einen davon hergeleiteten, damit zusammenhängenden Wert dividiert wird, um das wahre Ergebnis zu ermitteln. Bei anderen Alternativen kann/können der Exponent d des privaten Schlüssels oder seine CRT-Komponenten d1 und d2 transformiert werden, indem ein zufälliges Vielfaches von (p – 1) oder (q – 1) addiert wird, um ein weiteres (Zufalls-)Element der Kongruenzklasse für diese private Schlüsselkomponente zu ermitteln. Der Exponent d des privaten Schlüssels könnte gleichfalls unter Verwendung von Moduln, die entsprechende zufällige Vielfache von (p – 1) bzw. (q – 1) sind, auf transformierte CRT-Komponenten d1' und d2' reduziert werden. In all diesen Fallen werden die Ausführungen der Transformationen so gewählt, dass ein wahres Endergebnis ermittelt wird, während die Zwischenberechnungen willkürlich so variiert werden, dass Äquivalenzen bei Kongruenzarithmetik genutzt werden. Leider können viele dieser Alternativen recht komplex und rechenintensiv sein.
  • Das kryptografische Verfahren von Ausführungsformen der Erfindung kann, wie unter Bezugnahme auf 1 zu sehen ist, in einem breiten Spektrum digitaler Verarbeitungssysteme, Logikschaltungen oder elektronischer Hardware oder durch Ausführen eines äquivalenten Firmware- oder Softwareprogramms in einer Datenverarbeitungseinrichtung oder einem Computer implementiert werden. Rechenprozessor-Hardware gemäß Ausführungsformen der vorliegenden Erfindung kann ein Rechenwerk (arithmetic-logic unit – ALU) 10 oder eine ähnliche Rechenschaltung enthalten, die eine Hardware-Multipliziereinheit zum Ausführen numerischer Operationen, einschließlich modularer Exponentiation, von bereitgestellten Daten beinhaltet. Die ALU 10 hat im Allgemeinen Zugriff auf einen Speicher (RAM) 12 und verschiedene Arbeitsregister 14. Eine Operationsablaufsteuereinrichtung 16 umfasst Logikschaltung zum Steuern der ALU, einschließlich Datenübertragungsvorgängen zu und von dem Speicher 12 und den Registern 14 entsprechend Firmware- oder Software-Befehlen für die Gruppe von Operationen eines kryptografischen Algorithmus. Operationsablaufsteuereinrichtung 16 kann auf Operationsparameter in Form von Zeigern zugreifen, die in Registern 18 gespeichert sind und die Operationsablaufsteuereinrichtung 16 in die Lage versetzen, einen Operanden in dem RAM 12 aufzufinden, sowie auf andere Steuerinformationen sowie die Zieladressen von Zwischenergebnissen. Die Hardware kann des Weiteren eine Schaltung (20) eines Pseudozufallszahlgenerators (PRNG) enthalten, die Berechnungen durchführt und einen numerischen Zufallswert ausgibt. Auf diesen Zufallszahlgenerator 20 kann die ALU 10, durch die Operationsablaufsteuereinrichtung gemäß dem kryptografischen Algorithmus und insbesondere Schritten der modularen Exponentiation derselben angewiesen, zugreifen.
  • Wie unter Bezugnahme auf 2 zu sehen ist, beginnt eine beispielhafte CRT-basierte modulare Exponentiationsberechnung M := cd(mod(p·q)) mit der oben beschriebenen Hardware und gemäß Ausführungsformen der vorliegenden Erfindung normalerweise, indem Werte {d, p, q} des privaten Schlüssels in einen Datenspeicher geladen werden, (Schritt 10) der für die Verarbeitungs-Hardware zugänglich ist, so beispielsweise in den RAM 12 in 1. Von dort können die Werte nach Bedarf in Arbeitsregister 14 zur Verwendung durch die ALU 10 übertragen werden. Ein Zufallszahlgenerator, wie beispielsweise die PRNG-Schaltung 20 in 1, erzeugt einen Zufallswert für den Transformationsfaktor s (Schritt 11), der dann verwendet wird, um die Modul-Werte p und q des privaten Schlüssels mittels Multiplikations-Transformationen in Zufallszahlen umzurechnen (Schritt 12): p' := p·s; q' := q·s.
  • Ein reziproker Wert R' := (p')–1mod q wird von der Verarbeitungs-Hardware auf ähnliche Weise wie bei Berechnungen des Reziproken R := p–1(mod q), die aus früheren Versionen von CRT-basierter modularer Exponentiation bekannt sind, berechnet (Schritt 14).
  • Diese transformierten Werte p' und q' und das Reziproke R' werden in späteren Schritten verwendet. Jede Entschlüsselungssitzung unter Verwendung der Werte {d, p, q} des privaten Schlüssels schließt einen anderen Zufallswert s und damit verschiedene in Zufallswerte umgerechnete Werte der Moduln p' und q' sowie des Reziproken R' ein, so dass kryptografische Operationen einschließlich der modularen Exponentiation vor Kryptanalysis geschützt sind. (Anmerkung: Der Zufallswert s muss koprim mit den Ursprungs-Moduln p und q sein, so dass ein Standard-Teilbarkeitstest auf Teilerfremdheit ein Teil des Zufallszahl-Erzeugungsschrittes 11 sein sollte, um jegliche ungeeigneten Zufallswerte auszusondern). Die Größe des Zufallswertes s kann, wenn gewünscht, innerhalb eines angegebenen Bereiches so ausgewählt werden, dass die Werte p', q', d1 und d2 im Wesentlichen die gleiche Größe haben.
  • Als Alternative dazu könnte der Transformationsfaktor s willkürlich aus einem endlichen Satz vorausgewählter fester Werte ausgewählt werden, statt ihn für jede Sitzung von Grund auf willkürlich zu erzeugen. Damit kann erhebliche Verarbeitungszeit eingespart werden, insbesondere, wenn auch p', q' und R' für jede mögliche Auswahl von s in dem Satz vorausberechnet werden. Wenn aus irgendeinem Grund unter bestimmten Umständen keine Bedenken hinsichtlich der kryptografischen Sicherheit bestehen, könnte die Auswahl von Faktor s und damit von p', q' und R' ein fester Wert sein.
  • CRT-Exponenten d1 und d2 werden aus dem Exponenten d des privaten Schlüssels auf die gleiche Weise berechnet (Schritt 14), wie sie von früheren Versionen CRT-basierter modularer Exponentiation bekannt ist, d. h. d1 := d(mod(p – 1)); d2 := d(mod(q – 1)).
  • Dieser Schritt könnte, wenn gewünscht, auf herkömmliche Weise auch vor der Umrechnung von p und q zu Zufallszahlen angeordnet werden, d. h. vor Schritt 12. Da die CRT-Exponenten d1 und d2 nur mit Werten, d, p und q des privaten Schlüssels direkt zusammenhängen, können sie im Voraus berechnet werden und anstelle des Exponenten d des privaten Schlüssels in Schritt 10 in den Hardware-Datenspeicher geladen werden, so dass Schritt 16 der Sitzungs-Berechnungen wegfällt.
  • Die Variable C für die modulare Exponentiation wird in Datenspeicher geladen (Schritt 18), auf den die Verarbeitungs-Hardware zugreifen kann, beispielsweise in den RAM 12 in 1. Von dort kann sie nach Bedarf in Arbeitsregister 14 zur Verwendung durch die ALU 10 übertragen werden, normalerweise in Blöcken einer bekannten Größe entsprechend einem kryptografischen Programm. Die Variable C stellt normalerweise eine Schlüsseltext-Nachricht dar, die entschlüsselt werden soll, könnte jedoch andere kryptografische Daten, wie beispielsweise eine digitale Signatur, darstellen. Wie bei der Berechnung der CRT-Exponenten d1 und d2 könnte der spezielle Platz in der Programmabfolge, an der dieser Schritt stattfindet, variieren, solange sie dann zur Verfügung stehen, wenn sie in Schritt 20 benötigt werden.
  • Die CRT-Schritte (Schritte 20 und 22) werden unter Verwendung der transformierten Moduln p' und q' und des transformierten Reziproken R' angewendet, um ein Zwischen-Nachrichtergebnis M' zu ermitteln. Das heißt, in Schritt 20 werden CRT-Nachrichtenkomponenten M1' und M2' durch die Verarbeitungs-Hardware auf ähnliche Weise berechnet, wie sie aus früheren CRT-basierten modularen Exponentiationsoperationen bekannt ist, wobei jedoch p' und q' als die Moduln anstelle der ursprünglichen Modul-Werte p und q des privaten Schlüssels verwendet werden. Das heißt
    Figure 00060001
  • Dann wird das Zwischen-Nachrichtenergebnis durch die Verarbeitungs-Hardware aus den CRT-Nachrichtenkomponenten M1' und M2' unter Verwendung des Chinese-Remainder-Theorems M' berechnet (im Schritt 22): M' := M1' + p'·{[(M2' – M1')·R'](mod q')}.
  • Es ist zu bemerken, dass, da p' und q' für jede Entschlüsselungssitzung in Zufallszahlen umgerechnet werden, die Werte M1', M2' und M' desgleichen in jeder Sitzung in Zufallszahlen umgerechnet werden, Kryptoanalyse durch bekannte Text-Angriffe (beispielsweise wiederholte Verwendung eines bekannten Wertes C durch einen Angreifer) und andere krypto analytische Methoden, die sich möglicherweise auf das Abhören von durch Hardware emittierte Parameter (EM-Emissionen, zeitabhängiger Stromverbrauch usw.) stützen, abgewehrt wird. Die Berechnungen sind jedes Mal auf zufällige Weise anders, sind jedoch nicht viel rechenintensiver als die direkte Anwendung CRT-basierter modularer Exponentiation.
  • Das Zwischenergebnis M' ist ermittelt worden, indem eine angepasste CRT-Formel für CRT(M1', M2') angewendet worden ist. Andere alternative CRT-Formeln (wie die im Abschnitt ”Technischer Hintergrund” aufgeführten Beispiele) können statt dessen angewendet werden, wenn sie mit den entsprechenden Transformationen angepasst worden sind. Um eine ursprüngliche CRT-Gleichung zu transformieren, trifft als allgemeine Regel zu, dass stets p' := p·s und q' := q·s gelten. Für alle Teile der Gleichung, wie beispielsweise R1 := q–1(mod p) und R2 := p–1(mod q), werden R1' := (q')–1(mod p) und R2' := (p')–1(mod q) transformiert. Wenn p oder q als Multiplikationsfaktor in der Gleichung erscheint, ist es zu p' bzw. q' zu ändern. Wenn p oder q als ein Modul, d. h. (mod p) oder (mod q), auftritt, wird es zu (mod p') oder (mod q') geändert. Die CRT-Exponenten d1 und d2 sind beispielsweise immer d1 := d(mod(p – 1)) und d2 := d(mod q – 1). Die CRT-Nachrichtenkomponenten M1' und M2' werden jedoch gemäß einigen Ausführungsformen der Erfindung, wie oben beschrieben, stets unter Verwendung von p' und s' als Moduln transformiert. So ergibt sich für die drei beispielhaften Alternativen: M' = CRT2'(m1', m2') := (m1'·R1'·q' + m2'·R2'·p')(mod p'·q'), M' = CRT3'(m1', m2') := {[(m1'·R1')(mod p')]·q' + [(m2'·R2')(mod q')]·p'}(mod p'·q'), M' = CRT4'(m1', m2') := q'·{[(m1' – m2')·R4'(mod p')} + m2'.
  • Wenn das Zwischen-Nachrichtenergebnis M' ermittelt worden ist, kann es mit einer grundlegenden modularen Reduktionsoperation (Schritt 24) auf die abschließende Nachricht M reduziert werden: M := M'(mod(p·q)) := M'(mod n).
  • Diese abschließende Reduktion modulo p·q gilt für alle Varianten. Es ist zu bemerken, dass das Produkt p·q bereits als Teil der Schlüsselerzeugung berechnet worden ist und einfach der Modul n des öffentlichen Schlüssels ist, der für alle Seiten verfügbar ist. Daher muss es nicht neu berechnet werden, wenn n ebenfalls in den Datenspeicher geladen worden ist, der für den Hardware-Prozessor verfügbar ist, so beispielsweise in Verbindung mit dem vorangegangenen Schritt 10. Des Weiteren kann, da die Nutzung des Moduls n des öffentlichen Schlüssels nichts über die privaten Schlüssel offenlegt, die abschließende Reduktion ohne Zufalls-Transformationen berechnet werden und dennoch sicher gegenüber Kryptoanalyse sein. Die abschließende Nachricht M ist die gleiche, auch wenn p', q', M' usw. Zufallswerte sind, da bei Verwendung eines transformierten Moduls, der ein zufälliges Vielfaches s des ursprünglichen Moduls ist, Zwischenergebnisse erzeugt werden, die, obwohl sie zufällig sind, die gleiche Konkurrenzklasse wie diejenigen haben, die unter Verwendung nicht-transformierter Moduln ermittelt werden.
  • Schlussfolgerung
  • Ausführungsformen der vorliegenden Erfindung beziehen sich auf ein in Computer-Hardware implementiertes Kryptografieverfahren, bei dem CRT-implementierte modulare Operationen eingesetzt werden, bei denen ein Modul für die Berechnungen transformiert wird, um kyptoanalytische Beobachtungen von Zwischenergebnissen zu verhindern. Das heißt, für eine modulare Exponentiationsoperation, m = cd(mod p·q) wird ein Transformationsfaktor s verwendet, um die. koprimen Faktoren p und q zu p' = s·p und q' = s·q zu transformieren. Die CRT-Schritte werden unter Verwendung der transformierten Moduln p' und q' angewendet. Nachdem ein Zwischenergebnis m' ermittelt worden ist, wird das Endergebnis m mit einer abschließenden Reduktion modulo p·q wiedergewonnen. Der Transformationsfaktor s kann ein Zufallswert sein, kann willkürlich aus einem endlichen Satz vorausgewählter fester Werte ausgewählt werden, oder könnte, wenn Sicherheit unter bestimmten Umständen keine Rolle spielt, auch ein fester Wert sein. Das Verfahren ist relativ einfach und weniger rechenaufwändig als viele andere Alternativen, ist jedoch dennoch im Wesentlichen sicher gegenüber Kryptoanalyse. Daher eignet es sich für den Einsatz in Smart-Cards und anderen kryptografischen Token-Anwendungen. Es kann mit jedem beliebigen kryptografischen Algorithmus eingesetzt werden, der sich auf modulare Exponentiation mit CRT-Implementierungen stützt.
  • Ausführungsformen des Verfahrens können als Kryptographieprogramm in Datenverarbeitungs-Hardware, wie beispielsweise einer Smart-Card oder einem anderen Token, implementiert werden, die eine kryptografische Prozessoreinheit, Datenspeicher, der für diese Prozessoreinheit zugänglich ist, und eine Pseudo-Zufallszahl-Erzeugungsschaltung umfasst, die den Zufallsfaktor bereitstellt.
  • Zusammenfassung
  • Kryptografisches Verfahren und System
  • Vorrichtungen, Systeme und Verfahren zum Durchführen von Kryptografie können in Funktion Werte eines privaten Schlüssels einschließlich wenigstens eines Exponenten des privaten Schlüssels und zweier Moduln des privaten Schlüssels in einen Datenspeicher laden, der für elektronische Verarbeitungs-Hardware zugänglich ist, und mit der elektronischen Verarbeitungs-Hardware einen Transformationsfaktor auswählen. Sie können mit der elektronischen Verarbeitungs-Hardware die Moduln des privaten Schlüssels mit dem Transformationsfaktor multiplizieren, um transformierte Moduln zu erzeugen, und einen ersten Datenwert einer Schlüsseltextnachricht zu jeder beliebigen Zeit vor Durchführen modularer Exponentiation in den Datenspeicher laden und mit der elektronischen Verarbeitungs-Hardware eine modulare Exponentiation des ersten Datenwertes unter Verwendung des wenigstens einen Exponenten des privaten Schlüssels und der transformierten Moduln durchführen, um einen Zwischen-Datenwert zu ermitteln. Sie können mit der elektronischen Verarbeitungs-Hardware den Zwischen-Datenwert modulo ein Produkt der zwei Moduln des privaten Schlüssels reduzieren, um einen End-Datenwert einer entschlüsselten Klartextnachricht zu ermitteln. Es werden zusätzliche Vorrichtungen, Systeme und Verfahren offenbart.

Claims (20)

  1. Kryptografisches Verfahren, das in einem elektronischen Verarbeitungssystem implementiert ist, wobei es umfasst: Laden von Werten eines privaten Schlüssels, einschließlich wenigstens eines Exponenten des privaten Schlüssels und zweier Moduln des privaten Schlüssels, in einen Datenspeicher, der für elektronische Verarbeitungs-Hardware zugänglich ist; Auswählen eines Transformationsfaktors durch die elektronische Verarbeitungs-Hardware; Multiplizieren der Moduln des privaten Schlüssels mit dem Transformationsfaktor durch die elektronische Verarbeitungs-Hardware, um transformierte Moduln zu erzeugen; Laden eines ersten Datenwertes einer Schlüsseltextnachricht in den Datenspeicher zu jeder beliebigen Zeit vor Durchführen modularer Exponentiation; Durchführen einer modularen Exponentiation des ersten Datenwertes unter Verwendung des wenigstens einen Exponenten des privaten Schlüssels und der transformierten Moduln mit der elektronischen Verarbeitungs-Hardware, um einen Zwischen-Datenwert zu ermitteln; und Reduzieren des Zwischen-Datenwertes modulo ein Produkt der zwei Moduln des privaten Schlüssels durch die elektronische Verarbeitungs-Hardware, um einen Abschluss-Datenwert einer entschlüsselten Klartextnachricht zu ermitteln.
  2. Verfahren nach Anspruch 1, wobei der Transformationsfaktor ein in einer Zufallszahl-Erzeugungsschaltung für jede Ausführung des Verfahrens erzeugter anderer Zufallswert ist.
  3. Verfahren nach Anspruch 1, wobei der Transformationsfaktor willkürlich aus einem endlichen Satz vorausgewählter fester Werte ausgewählt wird.
  4. Verfahren nach Anspruch 1, wobei der ausgewählte Transformationsfaktor ein fester Wert ist.
  5. Verfahren nach einem der Ansprüche 1–4, wobei Durchführen modularer Exponentiation unter Verwendung einer CRT-Berechnung (Chinese Remainder Theorem calculation) des Zwischen-Datenwertes ausgeführt wird.
  6. Verfahren nach einem der Ansprüche 1–5, wobei ein Paar von CRT-Komponenten aus einem einzelnen Exponenten des privaten Schlüssels als Teil des Durchführens der modularen Exponentiation berechnet wird.
  7. Verfahren nach einem der Ansprüche 1–5, wobei ein Paar von CRT-Exponenten aus einem einzelnen Exponenten des privaten Schlüssels vorausberechnet wird und das Paar von CRT-Exponenten als Exponenten des privaten Schlüssels in den Datenspeicher geladen wird.
  8. Verfahren nach einem der Ansprüche 1–7, wobei das Produkt der zwei Moduln des privaten Schlüssels als ein Modul des öffentlichen Schlüssels vorausberechnet wird und der Modul des öffentlichen Schlüssels ebenfalls zur späteren Verwendung beim Reduzieren des Zwischen-Datenwertes in den Datenspeicher geladen wird.
  9. Verfahren nach einem der Ansprüche 1–8, wobei die modulare Exponentiation in der elektronischen Verarbeitungs-Hardware als Teil eines Chiffrierprogramms ausgeführt wird.
  10. Kryprografisches Verfahren, das in einem elektronischen Verarbeitungssystem zum Durchführen modularer Exponentiationsberechnungen implementiert ist, wobei es umfasst: Laden wenigstens eines Exponenten d eines privaten Schlüssels und zweier Moduln p und q des privaten Schlüssels in einen Datenspeicher, der für die elektronische Verarbeitungs-Hardware zugänglich ist; Auswählen eines Transformationsfaktor s durch die elektronische Verarbeitungs-Hardware; Multiplizieren der Moduln des privaten Schlüssels mit dem Transformationsfaktor durch die elektronische Verarbeitungs-Hardware, um transformierte Moduln p' := p·s und q' := q·s zu erzeugen; Berechnen eines reziproken Wertes R' := (p')–1(mod q) durch die elektronische Verarbeitungs-Hardware; Laden eines ersten Datenwertes C in den Datenspeicher zu jeder beliebigen Zeit vor Durchführen von modularer Exponentiation; Durchführen einer modularen Exponentiation des ersten Datenwertes C unter Verwendung des wenigstens einen Exponenten d des privaten Schlüssels und der transformierten Moduln p' und q', um einen Zwischen-Datenwert M' zu ermitteln, wobei Durchführen modularer Exponentiation durch die elektronische Verarbeitungs-Hardware unter Verwendung einer CRT-Berechnung (Chinese Remainder Theorem calculation) des Zwischen-Datenwertes ausgeführt wird, die einschließt: (a) Berechnen von CRT-Exponenten d1 := d(mod p – 1) und d2 := d(mod q – 1), (b) Berechnen von CRT-Nachrichtenkomponenten
    Figure 00130001
    und
    Figure 00130002
    und (c) Berechnen eines Zwischen-Datenwertes M' aus den CRT-Nachrichtenkomponenten M1' und M2'; und Reduzieren des Zwischen-Datenwertes M' modulo ein Produkt der zwei Moduln des privaten Schlüssels n = p·q durch die elektronische Verarbeitungs-Hardware, um einen abschließenden Datenwert M := M'(mod n) zu ermitteln.
  11. Verfahren nach Anspruch 10, wobei der Transformationsfaktor s ein für jede Ausführung des Verfahrens erzeugter anderer Zufallswert ist.
  12. Verfahren nach Anspruch 10, wobei der Transformationsfaktor s willkürlich aus einer endlichen Gruppe vorausgewählter fester Werte ausgewählt wird.
  13. Verfahren nach Anspruch 10, wobei der ausgewählte Transformationsfaktor s ein fester Wert ist.
  14. Verfahren nach einem der Ansprüche 10–13, wobei die CRT-Exponenten aus dem Exponenten d des privaten Schlüssels vorausberechnet werden und als ein Paar Exponenten d1 und d2 des privaten Schlüssels in den Datenspeicher geladen werden.
  15. Verfahren nach einem der Ansprüche 10–14, wobei M' := M1' + p'·{[(M2' – M1')·R'](mod q')} und R' := (p')–1(mod q).
  16. Verfahren nach einem der Ansprüche 10–14, wobei M' := (m1'·R1'·q' + m2'·R2'·p')(mod p'·q'), R1' := (q')–1(mod p) und R2' := (p')–1(mod q).
  17. Verfahren nach einem der Ansprüche 10–14, wobei M' := {[(m1'·R1')(mod p')]·q' + [(m2'·R2')(mod q')]·p'}(mod p'·q'), R1' := (q')–1(mod p) und R2' := (p')–1(mod q).
  18. Verfahren nach einem der Ansprüche 10–14, wobei M' := q'·{[(m1' – m2')·R4'](mod p')} + m2' und R4' := (p')–1(mod q).
  19. Verfahren nach einem der Ansprüche 10–18, wobei das Produkt n = p·q vorausberechnet wird und zur späteren Verwendung während des Reduzierens des Zwischen-Datenwertes in den Datenspeicher geladen wird.
  20. Verfahren nach einem der Ansprüche 10–19, wobei der erste Datenwert eine Schlüsseltext-Nachricht darstellt, die modulare Exponentiation in der elektronischen Verarbeitungs-Hardware als Teil eines Chiffrierprogramms ausgeführt wird und der abschließende Datenwert eine entschlüsselte Klartextnachricht darstellt.
DE112008000668.7T 2007-03-12 2008-03-12 Kryptografisches Verfahren und System Active DE112008000668B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/684,842 2007-03-12
US11/684,842 US8280041B2 (en) 2007-03-12 2007-03-12 Chinese remainder theorem-based computation method for cryptosystems
PCT/US2008/003324 WO2008112273A1 (en) 2007-03-12 2008-03-12 Cryptographic method and system

Publications (2)

Publication Number Publication Date
DE112008000668T5 true DE112008000668T5 (de) 2010-04-15
DE112008000668B4 DE112008000668B4 (de) 2024-01-18

Family

ID=39759855

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112008000668.7T Active DE112008000668B4 (de) 2007-03-12 2008-03-12 Kryptografisches Verfahren und System

Country Status (5)

Country Link
US (1) US8280041B2 (de)
CN (1) CN101632255B (de)
DE (1) DE112008000668B4 (de)
TW (1) TWI448963B (de)
WO (1) WO2008112273A1 (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8280041B2 (en) 2007-03-12 2012-10-02 Inside Secure Chinese remainder theorem-based computation method for cryptosystems
FR2916113B1 (fr) * 2007-05-07 2009-07-31 Oberthur Card Syst Sa Procede de traitement cryptographique d'un message.
US8170216B2 (en) * 2008-06-18 2012-05-01 Apple Inc. Techniques for validating and sharing secrets
KR101383690B1 (ko) * 2008-12-10 2014-04-09 한국전자통신연구원 안전한 멀티캐스트 통신을 위한 그룹키 관리방법
CA2752750A1 (en) * 2009-02-27 2010-09-02 Certicom Corp. System and method for performing exponentiation in a cryptographic system
CN101860434B (zh) * 2010-05-25 2012-05-02 北京握奇数据系统有限公司 一种数字签名的实现方法及装置
EP2437160A1 (de) * 2010-10-04 2012-04-04 Nagravision S.A. Verschleierte modulare Potenzierung
JP5848106B2 (ja) * 2011-11-28 2016-01-27 ルネサスエレクトロニクス株式会社 半導体装置及びicカード
US9613285B2 (en) 2012-03-22 2017-04-04 The Charles Stark Draper Laboratory, Inc. Compressive sensing with local geometric features
US8983198B2 (en) 2012-03-22 2015-03-17 The Charles Stark Draper Laboratory, Inc. Compressive sensing with local geometric features
US9026699B2 (en) 2013-09-23 2015-05-05 Seagate Technology Llc Command execution using existing address information
CN103580869B (zh) * 2013-11-06 2016-09-21 北京华大信安科技有限公司 一种crt-rsa签名方法及装置
US9949115B2 (en) * 2014-06-10 2018-04-17 Qualcomm Incorporated Common modulus RSA key pairs for signature generation and encryption/decryption
US9906368B2 (en) 2014-12-23 2018-02-27 Nxp B.V. General encoding functions for modular exponentiation encryption schemes
US9985784B2 (en) 2014-12-23 2018-05-29 Nxp B.V. Efficient smooth encodings for modular exponentiation
US9904516B2 (en) 2014-12-23 2018-02-27 Nxp B.V. Modular exponentiation using look-up tables
US9531540B2 (en) * 2014-12-23 2016-12-27 Nxp B.V. Secure token-based signature schemes using look-up tables
CN104796250B (zh) * 2015-04-11 2018-05-25 成都信息工程学院 针对RSA密码算法M-ary实现的侧信道攻击方法
EP3082033B1 (de) * 2015-04-17 2017-08-30 Nxp B.V. Modulare potenzierung mithilfe von nachschlagtabellen
IL239880B (en) * 2015-07-09 2018-08-30 Kaluzhny Uri Simplified montgomery multiplication
DE102017117907B4 (de) * 2017-08-07 2023-04-27 Infineon Technologies Ag Durchführen einer kryptografischen Operation
CN108599951B (zh) * 2018-08-10 2021-10-01 北京奇虎科技有限公司 加密方法、加密装置、计算设备及计算机存储介质
CN109474428A (zh) * 2018-11-28 2019-03-15 北京杰睿中恒科技有限公司 基于数字信号数据的动态加密方法和装置
CN110380867B (zh) * 2019-08-14 2021-07-06 电子科技大学 一种基于身份的轻量签名方法及系统
CN112653706B (zh) * 2020-12-29 2022-11-04 杭州趣链科技有限公司 基于中国剩余定理的数据传输方法、装置和系统
WO2024003916A1 (en) * 2022-06-29 2024-01-04 B.G. Negev Technologies And Applications Ltd., At Ben Gurion University Method for performing polynomial communication-less perfect information theoretical smpc, based on crt and coordinated randomness

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1964164A (en) * 1930-04-04 1934-06-26 Harold S Lamb Manifold
US4964164A (en) 1989-08-07 1990-10-16 Algorithmic Research, Ltd. RSA computation method for efficient batch processing
US5144740A (en) * 1989-09-04 1992-09-08 Brother Kogyo Kabushiki Kaisha Numerically controlled machine tool with automatic tool exchange device and indexing device
US5289397A (en) 1991-07-22 1994-02-22 Itt Corporation High-speed modulo exponentiator device
US5663896A (en) 1994-09-22 1997-09-02 Intel Corporation Broadcast key distribution apparatus and method using Chinese Remainder
US5991415A (en) 1997-05-12 1999-11-23 Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science Method and apparatus for protecting public key schemes from timing and fault attacks
DE69834431T3 (de) 1998-01-02 2009-09-10 Cryptography Research Inc., San Francisco Leckresistentes kryptographisches verfahren und vorrichtung
US6144740A (en) 1998-05-20 2000-11-07 Network Security Technology Co. Method for designing public key cryptosystems against fault-based attacks with an implementation
WO1999067909A2 (en) 1998-06-03 1999-12-29 Cryptography Research, Inc. Secure modular exponentiation with leak minimization for smartcards and other cryptosystems
US6594761B1 (en) 1999-06-09 2003-07-15 Cloakware Corporation Tamper resistant software encoding
KR100340102B1 (ko) 2000-11-30 2002-06-10 조휘갑 알에스에이 공개키 암호 고속화 장치 및 방법
US6973470B2 (en) 2001-06-13 2005-12-06 Corrent Corporation Circuit and method for performing multiple modulo mathematic operations
FR2828608B1 (fr) 2001-08-10 2004-03-05 Gemplus Card Int Procede securise de realisation d'une operation d'exponentiation modulaire
DE10143728B4 (de) * 2001-09-06 2004-09-02 Infineon Technologies Ag Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Exponentiation
FR2829335A1 (fr) 2001-09-06 2003-03-07 St Microelectronics Sa Procede de brouillage d'un calcul a quantite secrete
US20030065696A1 (en) 2001-09-28 2003-04-03 Ruehle Michael D. Method and apparatus for performing modular exponentiation
FR2844891A1 (fr) 2002-09-20 2004-03-26 St Microelectronics Sa Masquage de donnees decomposees dans un systeme de residus
US20040098435A1 (en) * 2002-11-20 2004-05-20 Moore Stephen F. Modular reduction of multi-precision numbers
FR2848753B1 (fr) 2002-12-11 2005-02-18 Gemplus Card Int Procede de division entiere ou de reduction modulaire securise contre les attaques a canaux caches
CA2470422C (en) 2003-06-09 2013-01-15 Certicom Corp. Method and apparatus for exponentiation in an rsa cryptosystem
FR2884088B1 (fr) * 2005-03-31 2007-06-22 Gemplus Sa Procede et dispositif cryptographique permettant de proteger les logiques de cles publiques contre les attaques par faute
FR2888690A1 (fr) * 2005-07-13 2007-01-19 Gemplus Sa Procede cryptographique pour la mise en oeuvre securisee d'une exponentiation et composant associe
US20080104402A1 (en) * 2006-09-28 2008-05-01 Shay Gueron Countermeasure against fault-based attack on RSA signature verification
US8280041B2 (en) 2007-03-12 2012-10-02 Inside Secure Chinese remainder theorem-based computation method for cryptosystems

Also Published As

Publication number Publication date
WO2008112273A1 (en) 2008-09-18
TWI448963B (zh) 2014-08-11
US8280041B2 (en) 2012-10-02
US20080226064A1 (en) 2008-09-18
CN101632255B (zh) 2014-03-05
DE112008000668B4 (de) 2024-01-18
CN101632255A (zh) 2010-01-20
TW200844847A (en) 2008-11-16

Similar Documents

Publication Publication Date Title
DE112008000668B4 (de) Kryptografisches Verfahren und System
DE69930334T2 (de) IC-Karte ausgerüstet mit einer Verarbeitungsanlage für Elliptische-Kurven-Verschlüsselung
DE69829967T2 (de) Verfahren und vorrichtung zur schnellen elliptischen verschlüsselung mit unmittelbarer einbettung
DE69828787T2 (de) Verbessertes verfahren und vorrichtung zum schutz eines verschlüsselungsverfahrens mit öffentlichem schlüssel gegen angriffe mit zeitmessung und fehlereinspeisung
DE69917592T2 (de) Gegen stromverbrauchsignaturanfall beständige kryptographie
DE102010001289B4 (de) Vorrichtung zum Berechnen eines Ergebnisses einer Skalarmultiplikation
EP1891512B1 (de) Bestimmung einer modularen inversen
EP1922837B1 (de) Verfahren zum sicheren ver- oder entschlüsseln einer nachricht
DE112009000154T5 (de) Änderung der Darstellung eines Punktes auf einer elliptischen Kurve
DE102008051447B9 (de) Verfahren und Vorrichtung zum Schützen einer RSA-Berechnung an einer Ausgabe mit Hilfe des chinesischen Restsatzes
DE602004006628T2 (de) Verfahren zur gesicherten ausführung eines rsa kryptographischen algorithmus, sowie diesbezüglicher baustein.
DE60117813T2 (de) Verfahren und Vorrichtung zur Speicherung und wiedergewinnung eones Privaten Kryptoschlüssels
EP1346509B1 (de) Verfahren und Vorrichtung zum Ermitteln eines Schlüsselpaars und zum Erzeugen von RSA-Sclüsseln
DE112009000152T5 (de) Modulare Reduktion unter Verwendung einer speziellen Form des Modulo
DE112018002723B4 (de) System, verfahren und vorrichtung zur verschleierung von vorrichtungsoperationen
DE60320016T2 (de) Verfahren zur ganzzahldivision gegen angriffe an versteckten kanälen
EP2641241B1 (de) Verfahren zur langzahldivision oder modulare reduktion
EP1442391B1 (de) Verfahren und vorrichtung zum absichern einer berechnung in einem kryptographischen algorithmus
DE60221863T2 (de) Verfahren zur implementierung eines kryptographischen algorithmus zum finden des öffentlichen exponenten in einer elektronischen komponente
DE10042234C2 (de) Verfahren und Vorrichtung zum Durchführen einer modularen Exponentiation in einem kryptographischen Prozessor
DE10328860A1 (de) Vorrichtung und Verfahren zum Verschlüsseln von Daten
EP1454260A2 (de) Verfahren und vorrichtung zum absichern einer exponentiations-berechnung mittels dem chinesischen restsatz (crt)
DE102008050800B4 (de) Vorrichtung und Verfahren zum Bestimmen einer modularen multiplikativen Inversen
DE10162496B4 (de) Verfahren und Vorrichtung zum Absichern einer Berechnung in einem kryptographischen Algorithmus
EP2128754B1 (de) Sichere sliding window exponentiation

Legal Events

Date Code Title Description
8127 New person/name/address of the applicant

Owner name: ATMEL ROUSSETS S.A.S., ROUSSET CEDEX, FR

R082 Change of representative

Representative=s name: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUS, DE

R081 Change of applicant/patentee

Owner name: INSIDE SECURE, FR

Free format text: FORMER OWNER: ATMEL ROUSSET S.A.S., ROUSSET CEDEX, FR

Effective date: 20120831

Owner name: INSIDE SECURE S.A., FR

Free format text: FORMER OWNER: ATMEL ROUSSET S.A.S., ROUSSET CEDEX, FR

Effective date: 20120831

R082 Change of representative

Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE

Effective date: 20120831

Representative=s name: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUS, DE

Effective date: 20120831

R082 Change of representative

Representative=s name: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUS, DE

R081 Change of applicant/patentee

Owner name: INSIDE SECURE, FR

Free format text: FORMER OWNER: INSIDE SECURE S.A., AIX-EN-PROVENCE, FR

Effective date: 20131111

R082 Change of representative

Representative=s name: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUS, DE

Effective date: 20131111

Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE

Effective date: 20131111

R012 Request for examination validly filed
R012 Request for examination validly filed

Effective date: 20141211

R081 Change of applicant/patentee

Owner name: VERIMATRIX, FR

Free format text: FORMER OWNER: INSIDE SECURE, MEYREUIL, FR

Owner name: RAMBUS INC. (N.D.GES.D. STAATES DELAWARE), SUN, US

Free format text: FORMER OWNER: INSIDE SECURE, MEYREUIL, FR

Owner name: RAMBUS INC. (N.D.GES. DES STAATES DELAWARE), S, US

Free format text: FORMER OWNER: INSIDE SECURE, MEYREUIL, FR

R082 Change of representative

Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE

Representative=s name: EISENFUEHR SPEISER PATENTANWAELTE RECHTSANWAEL, DE

R081 Change of applicant/patentee

Owner name: RAMBUS INC. (N.D.GES.D. STAATES DELAWARE), SUN, US

Free format text: FORMER OWNER: VERIMATRIX, MEYREUIL, FR

Owner name: RAMBUS INC. (N.D.GES. DES STAATES DELAWARE), S, US

Free format text: FORMER OWNER: VERIMATRIX, MEYREUIL, FR

R082 Change of representative

Representative=s name: EISENFUEHR SPEISER PATENTANWAELTE RECHTSANWAEL, DE

R016 Response to examination communication
R081 Change of applicant/patentee

Owner name: RAMBUS INC. (N.D.GES. DES STAATES DELAWARE), S, US

Free format text: FORMER OWNER: RAMBUS INC. (N.D.GES.D. STAATES DELAWARE), SUNNYVALE, CA, US

R082 Change of representative

Representative=s name: EISENFUEHR SPEISER PATENTANWAELTE RECHTSANWAEL, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division