DE60314584T2 - Maskierung von in einem Restklassensystem zerlegten bzw. faktorisierten Daten - Google Patents

Maskierung von in einem Restklassensystem zerlegten bzw. faktorisierten Daten Download PDF

Info

Publication number
DE60314584T2
DE60314584T2 DE60314584T DE60314584T DE60314584T2 DE 60314584 T2 DE60314584 T2 DE 60314584T2 DE 60314584 T DE60314584 T DE 60314584T DE 60314584 T DE60314584 T DE 60314584T DE 60314584 T2 DE60314584 T2 DE 60314584T2
Authority
DE
Germany
Prior art keywords
basis
algorithm
decomposition
numbers
polynomials
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
DE60314584T
Other languages
English (en)
Other versions
DE60314584D1 (de
Inventor
Pierre-Yvan Liardet
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.)
STMicroelectronics SA
Original Assignee
STMicroelectronics SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by STMicroelectronics SA filed Critical STMicroelectronics SA
Application granted granted Critical
Publication of DE60314584D1 publication Critical patent/DE60314584D1/de
Publication of DE60314584T2 publication Critical patent/DE60314584T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/729Methods 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 using representation by a residue number system
    • 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

Description

  • Die vorliegende Erfindung betrifft algorithmische Verarbeitungen, die an mittels einem Mikroprozessor oder einer integrierten Schaltung behandelten digitalen Daten vorgenommen werden. Die Erfindung betrifft insbesondere Verarbeitungen, die an digitalen Daten in kryptographischen Anwendungen der Verschlüsselung oder Authentifizierung vorgenommen werden, bei welchen sogenannte gesicherte Algorithmen Anwendung finden. In derartigen Anwendungen sollen Grundoperationen (Additionen, Multiplikationen) gegen Piraterie gesichert werden können, d. h. gegen äußere Angriffe, welche die Aufdeckung der geheimen Daten und/oder des Rechenalgorithmus bezwecken.
  • Wenn beispielsweise eine integrierte Schaltung (wobei es sich um einen Mikroprozessor oder einen Operator in verkabelter Logik handeln kann) eine Berechnung an Daten ausführt, so beeinflusst diese Berechnung ihren Energie- bzw. Stromverbrauch. Eine Analyse des Stromverbrauchs der integrierten Schaltung während der Ausführung des Algorithmus kann es einem Piraten ermöglichen, die verarbeiteten Daten oder den sie verarbeitenden Algorithmus aufzudecken. Derartige Angriffe mittels Analyse des Stromverbrauchs einer datenverarbeitenden integrierten Schaltung sind unter den Bezeichnungen SPA (Single Power Analysis) oder DPA (Differential Power Analysis) bekannt.
  • Ein Anwendungsbeispiel der vorliegenden Erfindung betrifft die Verfahren zur Authentifizierung bzw. Berechtigungsüberprüfung von elektronischen Dateien (beispielsweise Audio-Dateien) oder von Elementen elektronischer Verarbeitung (beispielsweise Chip-Karten) zur Validierung der Berechtigung des Benutzers zum Zugang zu Informationen (beispielsweise Audio-Daten oder Daten auf dem Chip).
  • Aus Gründen der Rechengeschwindigkeit und zur einfacheren Implementierung der Algorithmen kann man die Zahlen, an welchen man Operationen mittels automatischer Rechenmittel vorzunehmen wünscht, zerlegen bzw. faktorisieren durch Anwendung des sogenannten chinesischen Restzahl-Theorems (CRT).
  • Das chinesische Reste-Theorem, in Anwendung auf ganze Zahlen, lässt sich in der folgenden Weise ausdrücken. Für jede Folge von untereinander primen Zahlen mi (i mit Werten zwischen 1 und n) und jede Folge ganzer Zahlen xi gibt es eine einzige ganze Zahl x, die kleiner als das Produkt der Folge von Primzahlen der Zerlegungs- bzw. Faktorisierungsbasis ist, derart dass für jedes i: Xi = x modulo mi.
  • Das bedeutet, dass man für eine endlich-finite Folge von untereinander primen Zahlen mi in eindeutiger Weise jede Zahl kleiner als das Produkt dieser endlich-finiten Folge in einer Folge positiver ganzer Zahlen darstellen kann, deren Anzahl gleich der Zahl der Elemente der Folge von untereinander primen Zahlen ist. Diese Darstellung wird als Darstellung nach dem Restzahlsystem (RNS) (Residue Number System, RNS) bezeichnet.
  • Mit anderen Worten kann man für jede ganze Zahl x zwischen O und M, wobei M das Produkt der untereinander primen Zahlen mi der Zerlegungs- bzw. Faktorisierungsbasis ist, schreiben:
    Figure 00030001
  • Zahl Mi modulo mi ist. Die Bezeichnung |...|M wird hier zur Bezeichnung einer Zahl (hier das Ergebnis der Summe) modulo M verwendet.
  • Das Interesse der Restzahlsysteme besteht darin, dass die Operationen wie beispielsweise die Addition, die Subtraktion und die Multiplikation sich vereinfachen und in parallelen Architekturen ausgeführt werden können. Tatsächlich können die elementaren Operationen an jeder ganzen Zahl der Zerlegung bzw. Faktorisierung der zu berechnenden Zahl ausgeführt werden. Das Resultat erhält man dann durch Anwendung der Formel 1 von oben auf das Resultat.
  • Beispielsweise werden zwei Zahlen x und y, an welchen man eine Berechnung vorzunehmen wünscht, unter Verwendung derselben Basis von untereinander primen Zahlen zerlegt bzw. faktorisiert. Sodann werden die Operationen der Addition, Subtraktion und Produktmultiplikation an den Elementen der Zerlegung bzw. Faktorisierung ausgeführt, modulo die entsprechenden Primzahlen. Man erhält eine Menge bzw. Gruppe von Werten in der Zerlegungs- bzw. Faktorisierungsbasis, die man sodann rekombiniert, um das Ergebnis zu erhalten.
  • Das Hauptinteresse bei der automatischen Ausführung der Berechnungen mit Hilfe integrierter Schaltungen besteht darin, dass die individuellen Operationen modulo die Zahlen der Zerlegungs- bzw. Faktorisierungsbasis Zahlen betreffen, die stets die gleiche Abmessung besitzen, was die Ausführung dieser Berechnungen mit Hilfe paralleler Architekturen und innerhalb ein und derselben Dauer gestattet.
  • Ein Nachteil ist jedoch, dass die verarbeiteten Zahlen mit den verschiedenen Angriffsmöglichkeiten leichter detektierbar sind, insbesondere mittels Analyse des Stromverbrauchs der integrierten Schaltung.
  • Herkömmlicherweise kombiniert man, um die Verarbeitung einer oder mehrerer Zahlen zu maskieren, diese Zahlen mit Zufallsgrößen, vor der algorithmischen Verarbeitung. Eine derartige Lösung ist beispielsweise in dem Dokument US-A-5 991 415 beschrieben.
  • Ein Nachteil ist, dass dies die verarbeitete(n) Zahl(en) modifiziert, was die Durchführung einer inversen Modifikation am Ende der Verarbeitung erfordert, um das erwartete Resultat zu gewinnen.
  • Ein anderer Nachteil ist, dass die Maskierung die Komplexität der Verarbeitung erhöht und damit die Dauer der gesamten Berechnung.
  • Allgemeiner eignet sich das System der Restzahlen unter Anwendung des Theorems der chinesischen Restzahlen zur Anwendung, wenn die Operationen und die Operanden solche eines beliebigen endlichen Körpers sind. Beispielsweise eignet sich dieses System zur Anwendung auf einen Körper von Polynomen modulo ein irreduzierbares Polynom, oder auf einen Körper von ganzen Zahlen modulo eine Primzahl.
  • Die vorliegende Erfindung bezweckt die Schaffung einer Lösung zur Maskierung der Ausführung algorithmischer Berechnungen unter Verwendung von Darstellungen nach dem Restzahlsystem.
  • Die Erfindung bezweckt insbesondere die Schaffung einer Lösung zur Maskierung, die unabhängig von dem jeweiligen implementierten Algorithmus ist, d. h. die anwendbar ist unabhängig von den an den zerlegten bzw. faktorisierten Zahlen ausgeführten Berechnungen.
  • Die Erfindung bezweckt auch die Schaffung einer Lösung, welche die Geschwindigkeit der Ausführung des Algorithmus nicht beeinträchtigt und die insbesondere keine zusätzliche Rechenstufe bzw. -etappe hinzufügt.
  • Zur Erreichung dieser und anderer Ziele sieht die vorliegende Erfindung vor ein Verfahren zum Maskieren digitaler Daten, die gemäß einem Algorithmus verarbeitet und gemäß einem Restzahlensystem auf der Grundlage einer endlich-finiten Basis von Zahlen oder Polynomen, die untereinander Prim-Charakter haben, zerlegt bzw. faktorisiert werden, und besteht darin, die Zerlegungs- bzw. Faktorisierungsbasis variabel zu machen.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung ist vorgesehen, dass die Zerlegungs- bzw. Faktorierungsbasis aus einer gespeicherten Tabelle von Gruppen bzw. Mengen untereinander primer Zahlen oder Polynome gewählt werden.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung ist vorgesehen, dass die Gruppe bzw. Menge von untereinander primen Zahlen oder Polynomen, die zur Zerlegung bzw. Faktorierung nach dem Restzahlensystem dienen, nach Zufallsprinzip in der gespeicherten Tabelle jeweils bei jeder neuen Anwendung des Algorithmus gewählt wird.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung ist vorgesehen, dass die Zerlegungs- bzw. Faktorierungsbasis durch einen Pseudo-Zufallsgenerator berechnet wird.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung ist vorgesehen, dass die Basis so gewählt wird, dass sie mit den jeweiligen Längen der gemäß dem Algorithmus verarbeiteten Zahlen oder Polynome kompatibel ist.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung ist vorgesehen, dass das Verfahren auf Eingangsdaten angewandt wird, die bereits gemäß einem Restzahlensystem in einer ursprünglichen Basis zerlegt bzw. faktorisiert sind, wobei die Eingangsdaten einer Änderung der Zerlegungs- bzw. Faktorisierungsbasis unterliegen und das durch den Algorithmus gelieferte Ergebnis vorzugsweise einer inversen Transformation in Richtung auf die genannte ursprüngliche Basis unterzogen wird.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung ist vorgesehen, dass das Verfahren auf noch nicht zerlegte bzw. faktorisierte Eingangsdaten angewandt wird.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung ist vorgesehen, dass eine oder mehrere Änderung(en) der Zerlegungs- bzw. Faktorisierungsbasis während der Ausführung des Algorithmus vorgenommen wird/werden.
  • Die Erfindung sieht auch vor eine Schaltung zur algorithmischen Verarbeitung und Maskierung von gemäß einem Restzahlensystem auf der Grundlage einer finit-endlichen Basis von untereinander primen Zahlen oder Polynomen zerlegten bzw. faktorisierten Daten, wobei die Schaltung eine Schaltung zur Auswahl oder Erzeugung und zeitweisen Speicherung der genannten Basis aufweist.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung ist vorgesehen, +dass die Schaltung ein Element zur Speicherung einer Tabelle von Basen von untereinander primen Zahlen oder Polynomen aufweist, wobei die Selektionsschaltung jeweils bei jeder Anwendung des Algorithmus eine Basis in der genannten Tabelle auswählt.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung ist vorgesehen, dass die Schaltung ein Element zur Verifizierung bzw. Überprüfung der Konformität zwischen der zur Anwendung der Zerlegungen bzw. Faktorisierungen mittels Restzahlensystem ausgewählten Basis und den Rechenschaltungen der Schaltung für die Ausführung des Algorithmus aufweist.
  • Diese und weitere Ziele, Gegenstände, Eigenschaften, Merkmale und Vorteile der vorliegenden Erfindung werden in der folgenden nicht-einschränkenden Beschreibung spezieller Ausführungsbeispiele im einzelnen auseinandergesetzt, in der beigefügten Zeichnungsfigur, welche in Form von Blöcken und in sehr schematischer Weise eine Ausführungsform des Maskierungsverfahrens gemäß der Erfindung veranschaulicht.
  • Aus Gründen der Klarheit wird die Erfindung im folgenden erläutert in bezug auf eine Anwendung auf ganze Zahlen, die auf der Grundlage einer Basis von untereinander primen Zahlen zerlegt bzw. faktorisiert werden. Man erkennt jedoch, dass sie allgemeiner sich zur Anwendung auf eine Zerlegung bzw. Faktorisierung von Polynomen eines Körpers modulo ein irreduzierbares Polynom auf der Grundlage einer Basis von untereinander primen Polynomen eignet.
  • Ein charakteristisches Merkmal der vorliegenden Erfindung ist die Modifizierung der Zerlegung/Rekombination der mit einem Algorithmus in Anwendung eines Restzahlensystems verarbeiteten ganzen Zahlen.
  • Gemäß der Erfindung ändert man die Darstellung durch das Restzahlensystem vorzugsweise jedes Mal, wenn eine neue Gruppe ganzer Zahlen einer Zerlegung für eine algorithmische Verarbeitung oder für eine Rechenoperation unterzogen wird.
  • Somit sieht die Erfindung, im Unterschied zu den herkömmlichen Lösungen der Rechenmaskierung durch Einführung von Zufallszahlen in die verarbeiteten Zahlen, zu deren Modifizierung vor, die Darstellung der Zahl variabel zu machen, während diese selbst unverändert bleibt.
  • Ein bedeutsamer Vorteil im Vergleich zur Einführung einer Zufallszahl ist, dass die Gewinnung des erwarteten Ergebnisses keine zusätzliche Berechnung erfordert, verglichen mit der herkömmlichen Anwendung der Darstel lungen mittels Restzahlensystem. Tatsächlich braucht nur die Zerlegungs- bzw. Faktorisierungsbasis dem herkömmlichen Rekombinationsprozess angezeigt zu werden. Mit anderen Worten: Die Zerlegungs- bzw. Faktorisierungsbasis wird variabel gestaltet.
  • Ein anderer Vorteil ist, dass die Rechnungsdauer durch die Maskierung nur geringfügig erhöht wird. Die einzige zusätzliche Dauer entspricht der Änderung der Zerlegungs- bzw. Faktorisierungsbasis (Auslesen aus dem Speicher), was im Vergleich zu den zusätzlichen Rechnungen vernachlässigbar ist, die wenigstens am Anfang und am Ende des Algorithmus erforderlich sind, um die verarbeiteten Zahlen (oder die Polynome) mit einer Zufallszahl zu kombinieren.
  • Die beigefügte Zeichnungsfigur stellt in Blockform ein Anwendungsbeispiel einer Darstellung mittels Restzahlsystem auf einen Algorithmus 1 (ALGO) dar, der beispielsweise wenigstens zwei ganze Zahlen x und y verarbeiten und wenigstens ein Ergebnis r liefern soll.
  • Wie zuvor führt der Algorithmus 1 zur Erleichterung der Rechnungen elementare Operationen jeweils an jedem Zerlegungs- bzw. Faktorisierungselement {x1, ..., xi, ..., xn}, {y1, ..., yi, ..., yn} der Zahlen x und y in der Zerlegungs- bzw. Faktorisierungsbasis nach einem Restzahlensystem aus. Diese Zerlegung bzw. Faktorisierung erfolgt (Blöcke 2 und 3, BT) vor der Einführung der Zahlen in den eigentlichen Algorithmus 1, auf der Grundlage einer Basis {m1, ..., mi, ..., mn} von untereinander primen Zahlen, worin n die Anzahl von Elementen der Basis wiedergibt, welche der Zahl von Elementen der Zerlegungs- bzw. Faktorisierungsfolgen der Zahlen x und y entspricht.
  • Der Algorithmus 1, d. h. der Verarbeitungsblock, liefert das Ergebnis in Form einer Folge ganzer Zahlen {r1, ..., ri, ..., rn}. Diese Folge von n Zahlen wird, in diesem Beispiel, rekombiniert (Block 4, IBT), und zwar auf der Grundlage derselben Basis {m1, ..., mi, ..., mn} von Primzahlen, um das Ergebnis r zu erhalten.
  • Gemäß der vorliegenden Erfindung wird die Zerlegungs- bzw. Faktorisierungsbasis {m1, ..., mi, ..., mn} von einem Element 5 (SELECT{M}) zur Selektion und zeitweiligen Speicherung der Folge von untereinander primen Zahlen (oder Polynomen) der Zerlegung bzw. Faktorisierung nach dem Restzahlensystem geliefert. Diese Selektion wird vorzugsweise bei jeder Anwendung des Algorithmus 1 geändert, d. h. bei jeder neuen Einführung von Größen x, y (jedes Mal wenn Werte zerlegt bzw. faktorisiert werden müssen, zur Berücksichtigung durch den algorithmischen Kalkül zur Erlangung eines auf der Basis desselben Restzahlsystems wieder zusammengesetzten Resultats). Wenn mehr als zwei Zahlen verwendet werden oder wenn andere Zahlen zu anderen Zeitpunkten in dem Algorithmus auftreten, ist darauf zu achten, dass ein und dieselbe Basis für alle Zahlen beibehalten wird.
  • Je nach der Herkunft und der Bestimmung der Eingangsdaten des Algorithmus können die Zerlegungen bzw. Faktorisierungen 2 und 3 weiter stromaufwärts vorgenommen werden, beispielsweise wenn die Eingangsdaten von den Ausgängen einer Verarbeitung mittels Restzahlsystem kommen. Ebenso können das oder die Ergebnis(se) in zerlegter bzw. faktorisierter Form geliefert werden. Dies ist insbesondere der Fall, wenn der Algorithmus, dessen Ausführung durch die Erfindung maskiert werden soll, in einer Verarbeitungskette verschachtelt ist, bei welcher ein Restzahlsystem verwendet wird. In diesem Fall führen die Blöcke 2, 3 und 4 Basisänderungen aus, um die in einer bestimmten Zerlegungs- bzw. Faktorisierungsbasis dargestellten Eingangsdaten in eine durch das Element 5 ausgewählte Basis umzuwandeln und die Ausgangsdaten in der Eingangsbasis wiederherzustellen.
  • Gemäß einer anderen Ausführungsform können Basisänderungen (gegebenenfalls additionelle) im Laufe des Algorithmus stattfinden. Diese Änderungen werden dann mit Hilfe des Blocks 5 ausgewählt, in derselben Weise wie die anfängliche Transformation. Die Wiederherstellung der verarbeiteten Zahlen erhält man dann durch eine einzige inverse Transformation, die (nicht notwendigerweise am Ende des Algorithmus) gemäß der letzten verwendeten Basis vorgenommen wird.
  • Mehrere Verfahren können zur Auswahl der Zerlegungs- bzw. Faktorisierungsbasis angewandt werden oder zur Änderung der Basis im Verlauf der Rechnung.
  • Gemäß einer ersten Ausführungsform wird eine Tabelle 6 von Mengen oder Gruppen {M} von untereinander primen Zahlen in einem Speicherelement gespeichert und wird eine Auswahl (beispielsweise nach Zufallsprinzip) einer der Gruppen der gespeicherten Tabelle vorgenommen, jeweils bei jeder neuen Zerlegung bzw. Faktorisierung, wobei jeweils jede Gruppe bzw. Menge eine Basis in dem Restzahlensystem darstellt.
  • Gemäß einem anderen Ausführungsbeispiel verwendet man einen Generator von Folgen untereinander primer Zahlen, der die Zerlegungs- bzw. Faktorisierungsbasis {m1, ..., mi, ..., mn} erzeugt, und zwar (im Fluge) in Pseudo-Zufallsform, um mit der parallelen Architektur der den Algorithmus 1 ausführenden Schaltung kompatibel zu sein.
  • Man erkennt, dass es, damit die Zerlegung bzw. Faktorisierung oder die Änderung der Basis von einer Rechnung zur anderen unterschiedlich ist, ausreicht, dass zwei Zahlen der gewählten Zerlegungs- bzw. Faktorisierungsbasis invertiert werden, d. h. in einer unterschiedlichen Anordnung in der Folge von Zahlen der Basis angeordnet werden. Es ist daher besonders einfach, die Zerlegung bzw. Faktorisierung eines beliebigen digitalen Eingangsdatums zu variieren bei gleichzeitiger Erhaltung der Kompatibilität mit ein und derselben Verarbeitungsschaltung mittels paralleler Architektur. Es reicht aus, die Weichenstellung bzw. Verzweigung der zerlegten bzw. faktorisierten Daten in Abhängigkeit von der Ordnung der untereinander primen Zahlen (oder Polynome) der Basis zu ändern. Die Art der Transformation der Basis durch Änderung der Reihenfolge ihrer Zahlen konditioniert jedoch die Qualität des Zufallscharakters der Darstellung der Zahlen in dem Restzahlensystem.
  • Ein Vorteil der vorliegenden Erfindung ist, dass ihre Implementierung und Anwendung unabhängig von dem jeweiligen ausgeführten Algorithmus ist.
  • Ein anderer Vorteil der Erfindung ist, dass sie keine spezielle Rückrechnung am Ende des Algorithmus zur Gewinnung der erwarteten Zahl erfordert. Tatsächlich ist in jeder Struktur mit algorithmischer Verarbeitung unter Anwendung des chinesischen Reste-Theorems eine Rekombinationsstufe auf der Grundlage der Basis von untereinander primen Zahlen oder Polynomen vorgesehen, um das Resultat zu erhalten.
  • Ein Beispiel eines Algorithmus, der sich zur Anwendung der Erfindung eignet, ist der Algorithmus vom RSA-Typ, wie er beispielsweise in dem Artikel "Modular multiplication and base extension in residue number systems' von J.-C. Bajard, L.-S. Didier und P. Kornerup, veröffentlicht von N. Burgess, report of Arith 15, 15th IEEE Symposium an Computer Arithmetics, Vail, Colorado, USA, Juni 2001, pp. 59-65, beschrieben ist.
  • Selbstverständlich ist die vorliegende Erfindung verschiedenen Abwandlungen und Modifikationen zugänglich, die sich für den Fachmann ergeben. Insbesondere eignet sich die Erfindung zur Anwendung unabhängig von der Zahl der Eingangsdaten des Algorithmus und unabhängig von der Zahl der durch diesen Algorithmus gelieferten Daten, vorausgesetzt, dass alle Eingangsdaten auf der Grundlage ein und derselben Basis von untereinander primen Zahlen oder Polynomen zerlegt bzw. faktorisiert sind.
  • Des weiteren hängt die Wahl der Abmessung der Gruppen von primen Zahlen oder Polynomen, welche die Zerlegungs- bzw. Faktorisierungsbasis bilden, von der jeweiligen Anwendung ab und wird in herkömmlicher Weise gewählt.
  • Des weiteren liegt die praktische Realisierung und Implementierung der Erfindung auf der Grundlage der hier vorstehend gegebenen funktionellen Hinweise im Rahmen des fachmännischen Könnens unter Verwendung bekannter Mittel. Die Implementierung der Erfindung kann mittels Software oder mittels Zustandsmaschinen in verkabelter Logik erfolgen. Beispielsweise können bei Implementierung in Hardware die Blöcke 2 und 3 für die Zerlegung bzw. Faktorisierung oder für die Änderung der Basis der Eingangsdaten aus einer oder mehreren Schaltung(en) bestehen, je nachdem die Basisänderung für die verschiedenen Eingangsdaten parallel oder aufeinanderfolgend geschieht.

Claims (11)

  1. Verfahren zum Maskieren digitaler Daten, die gemäß einem Algorithmus (1) verarbeitet und gemäß einem Restzahlensystem auf der Grundlage einer endlich-finiten Basis von Zahlen oder Polynomen, die untereinander Prim-Charakter haben, zerlegt bzw. faktorisiert werden, dadurch gekennzeichnet, dass das Verfahren eine Stufe bzw. einen Schritt einer Modifikation der Daten-Zerlegungs- bzw. -Faktorisierungsbasis in dem Restzahlen-system umfasst, von einer Ausführung des Algorithmus zu einer anderen.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Zerlegungs- bzw. Faktorierungsbasis aus einer gespeicherten Tabelle (look-up-Tabelle) (6) von Gruppen bzw. Mengen untereinander primer Zahlen oder Polynome gewählt wird.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass die Gruppe bzw. Menge von untereinander primen Zahlen oder Polynomen, die zur Zerlegung bzw. Faktorierung nach dem Restzahlensystem dienen, nach Zufallsprinzip in der gespeicherten Tabelle (look-up-Tabelle) (6) jeweils bei jeder neuen Anwendung des Algorithmus (1) gewählt wird.
  4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Zerlegungs- bzw. Faktorierungsbasis durch einen Pseudo-Zufallsgenerator berechnet wird.
  5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die Basis so gewählt wird, dass sie mit den jeweiligen Längen der gemäß dem Algorithmus verarbeiteten Zahlen oder Polynome kompatibel ist.
  6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass das Verfahren auf Eingangsdaten angewandt wird, die bereits gemäß einem Restzahlensystem in einer ursprünglichen Basis zerlegt bzw. faktorisiert sind, wobei die Eingangsdaten einer Änderung (2, 3) der Zerlegungs- bzw. Faktorisierungsbasis unterliegen und das durch den Algorithmus (1) gelieferte Ergebnis vorzugsweise einer inversen Transformation (4) in Richtung auf die genannte ursprüngliche Basis unterzogen wird.
  7. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass das Verfahren auf noch nicht zerlegte bzw. faktorisierte Eingangsdaten angewandt wird.
  8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass eine oder mehrere Änderung(en) der Zerlegungs- bzw. Faktorisierungsbasis während der Ausführung des Algorithmus (1) vorgenommen wird/werden.
  9. Schaltung zur algorithmischen Verarbeitung und Maskierung von gemäß einem Restzahlensystem auf der Grundlage einer finit-endlichen Basis von untereinander primen Zahlen oder Polynomen zerlegten bzw. faktorisierten Daten, dadurch gekennzeichnet, dass die Schaltung eine Schaltung (5) zur Auswahl oder Erzeugung und zeitweisen Speicherung der genannten Basis aufweist.
  10. Schaltung nach Anspruch 9, dadurch gekennzeichnet, dass sie ein Element (6) zur Speicherung einer Tabelle von Basen von untereinander primen Zahlen oder Polynomen aufweist, wobei die Selektionsschaltung (5) jeweils bei jeder Anwendung des Algorithmus eine Basis in der genannten Tabelle auswählt.
  11. Schaltung nach Anspruch 9 oder 10, dadurch gekennzeichnet, dass sie ein Element zur Verifizierung bzw. Überprüfung der Konformität zwischen der zur Anwendung der Zerlegungen bzw. Faktorisierungen mittels Restzahlensystem ausgewählten Basis und den Rechenschaltungen (1) der Schaltung für die Ausführung des Algorithmus aufweist.
DE60314584T 2002-09-20 2003-09-19 Maskierung von in einem Restklassensystem zerlegten bzw. faktorisierten Daten Expired - Lifetime DE60314584T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0211671 2002-09-20
FR0211671A FR2844891A1 (fr) 2002-09-20 2002-09-20 Masquage de donnees decomposees dans un systeme de residus

Publications (2)

Publication Number Publication Date
DE60314584D1 DE60314584D1 (de) 2007-08-09
DE60314584T2 true DE60314584T2 (de) 2008-03-06

Family

ID=31970856

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60314584T Expired - Lifetime DE60314584T2 (de) 2002-09-20 2003-09-19 Maskierung von in einem Restklassensystem zerlegten bzw. faktorisierten Daten

Country Status (4)

Country Link
US (1) US7254600B2 (de)
EP (1) EP1414182B1 (de)
DE (1) DE60314584T2 (de)
FR (1) FR2844891A1 (de)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005056413A (ja) * 2003-08-01 2005-03-03 Stmicroelectronics Sa 複数の同じ計算の保護
JP3873047B2 (ja) * 2003-09-30 2007-01-24 株式会社東芝 識別情報埋込装置、識別情報解析装置、識別情報埋込方法、識別情報解析方法及びプログラム
DE102004043243A1 (de) * 2004-09-07 2006-03-23 Comvenient Gmbh & Co. Kg Verfahren zum Schutz von Schlüsseln
US8312551B2 (en) * 2007-02-15 2012-11-13 Harris Corporation Low level sequence as an anti-tamper Mechanism
US8280041B2 (en) * 2007-03-12 2012-10-02 Inside Secure Chinese remainder theorem-based computation method for cryptosystems
US7937427B2 (en) * 2007-04-19 2011-05-03 Harris Corporation Digital generation of a chaotic numerical sequence
US8611530B2 (en) 2007-05-22 2013-12-17 Harris Corporation Encryption via induced unweighted errors
US7921145B2 (en) * 2007-05-22 2011-04-05 Harris Corporation Extending a repetition period of a random sequence
US7995757B2 (en) * 2007-05-31 2011-08-09 Harris Corporation Closed galois field combination
US7970809B2 (en) * 2007-06-07 2011-06-28 Harris Corporation Mixed radix conversion with a priori defined statistical artifacts
US7962540B2 (en) * 2007-06-07 2011-06-14 Harris Corporation Mixed radix number generator with chosen statistical artifacts
US7974413B2 (en) * 2007-06-07 2011-07-05 Harris Corporation Spread spectrum communications system and method utilizing chaotic sequence
US8005221B2 (en) * 2007-08-01 2011-08-23 Harris Corporation Chaotic spread spectrum communications system receiver
US7995749B2 (en) * 2007-10-30 2011-08-09 Harris Corporation Cryptographic system configured for extending a repetition period of a random sequence
US8180055B2 (en) * 2008-02-05 2012-05-15 Harris Corporation Cryptographic system incorporating a digitally generated chaotic numerical sequence
US8363830B2 (en) * 2008-02-07 2013-01-29 Harris Corporation Cryptographic system configured to perform a mixed radix conversion with a priori defined statistical artifacts
US8040937B2 (en) * 2008-03-26 2011-10-18 Harris Corporation Selective noise cancellation of a spread spectrum signal
US8139764B2 (en) * 2008-05-06 2012-03-20 Harris Corporation Closed galois field cryptographic system
US8320557B2 (en) 2008-05-08 2012-11-27 Harris Corporation Cryptographic system including a mixed radix number generator with chosen statistical artifacts
US8145692B2 (en) 2008-05-29 2012-03-27 Harris Corporation Digital generation of an accelerated or decelerated chaotic numerical sequence
US8064552B2 (en) * 2008-06-02 2011-11-22 Harris Corporation Adaptive correlation
US8068571B2 (en) * 2008-06-12 2011-11-29 Harris Corporation Featureless coherent chaotic amplitude modulation
US8325702B2 (en) * 2008-08-29 2012-12-04 Harris Corporation Multi-tier ad-hoc network in which at least two types of non-interfering waveforms are communicated during a timeslot
US8165065B2 (en) 2008-10-09 2012-04-24 Harris Corporation Ad-hoc network acquisition using chaotic sequence spread waveform
US8351484B2 (en) * 2008-12-29 2013-01-08 Harris Corporation Communications system employing chaotic spreading codes with static offsets
US8406276B2 (en) * 2008-12-29 2013-03-26 Harris Corporation Communications system employing orthogonal chaotic spreading codes
US8457077B2 (en) * 2009-03-03 2013-06-04 Harris Corporation Communications system employing orthogonal chaotic spreading codes
US8428102B2 (en) * 2009-06-08 2013-04-23 Harris Corporation Continuous time chaos dithering
US8509284B2 (en) * 2009-06-08 2013-08-13 Harris Corporation Symbol duration dithering for secured chaotic communications
US8428103B2 (en) * 2009-06-10 2013-04-23 Harris Corporation Discrete time chaos dithering
US8428104B2 (en) * 2009-07-01 2013-04-23 Harris Corporation Permission-based multiple access communications systems
US8385385B2 (en) * 2009-07-01 2013-02-26 Harris Corporation Permission-based secure multiple access communication systems
US8379689B2 (en) * 2009-07-01 2013-02-19 Harris Corporation Anti-jam communications having selectively variable peak-to-average power ratio including a chaotic constant amplitude zero autocorrelation waveform
US8363700B2 (en) * 2009-07-01 2013-01-29 Harris Corporation Rake receiver for spread spectrum chaotic communications systems
US8340295B2 (en) * 2009-07-01 2012-12-25 Harris Corporation High-speed cryptographic system using chaotic sequences
US8406352B2 (en) * 2009-07-01 2013-03-26 Harris Corporation Symbol estimation for chaotic spread spectrum signal
US8369376B2 (en) * 2009-07-01 2013-02-05 Harris Corporation Bit error rate reduction in chaotic communications
US8369377B2 (en) * 2009-07-22 2013-02-05 Harris Corporation Adaptive link communications using adaptive chaotic spread waveform
US8848909B2 (en) * 2009-07-22 2014-09-30 Harris Corporation Permission-based TDMA chaotic communication systems
US8345725B2 (en) 2010-03-11 2013-01-01 Harris Corporation Hidden Markov Model detection for spread spectrum waveforms
US8681973B2 (en) * 2010-09-15 2014-03-25 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for performing homomorphic encryption and decryption on individual operations
US9425966B1 (en) * 2013-03-14 2016-08-23 Amazon Technologies, Inc. Security mechanism evaluation service
CN104598828B (zh) * 2013-10-31 2017-09-15 上海复旦微电子集团股份有限公司 数据的防攻击方法和装置
US10116441B1 (en) 2015-06-11 2018-10-30 Amazon Technologies, Inc. Enhanced-security random data
IL244842A0 (en) * 2016-03-30 2016-07-31 Winbond Electronics Corp Efficient non-modular multiplexing is protected against side-channel attacks
CN108574647B (zh) * 2017-03-13 2021-05-18 上海诺基亚贝尔股份有限公司 交换机和分类器以及相关方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US124178A (en) * 1872-02-27 Improvement in awning-windlasses
US28771A (en) * 1860-06-19 Beer-pitcher
US2486A (en) * 1842-03-12 Loom fob
US5974151A (en) * 1996-11-01 1999-10-26 Slavin; Keith R. Public key cryptographic system having differential security levels
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
DE69840782D1 (de) 1998-01-02 2009-06-04 Cryptography Res Inc Leckresistentes kryptographisches Verfahren und Vorrichtung
US7587044B2 (en) 1998-01-02 2009-09-08 Cryptography Research, Inc. Differential power analysis method and apparatus
FR2799851B1 (fr) * 1999-10-14 2002-01-25 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type rsa

Also Published As

Publication number Publication date
EP1414182B1 (de) 2007-06-27
DE60314584D1 (de) 2007-08-09
EP1414182A1 (de) 2004-04-28
US20040059767A1 (en) 2004-03-25
FR2844891A1 (fr) 2004-03-26
US7254600B2 (en) 2007-08-07

Similar Documents

Publication Publication Date Title
DE60314584T2 (de) Maskierung von in einem Restklassensystem zerlegten bzw. faktorisierten Daten
DE102005028662B4 (de) Verfahren und Vorrichtung zum Berechnen einer Polynom-Multiplikation, insbesondere für die elliptische Kurven-Kryptographie
DE69736148T2 (de) Verfahren und Einrichtung zur Datenverschlüsselung
DE10339999B4 (de) Pseudozufallszahlengenerator
DE69826963T2 (de) Gerät für die modulare Inversion zur Sicherung von Information
DE112007001319T5 (de) Multiplizieren zweier Zahlen
DE2618823B2 (de) Generator zur Erzeugung periodischer Folgen
EP2641241B1 (de) Verfahren zur langzahldivision oder modulare reduktion
DE10219158B4 (de) Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Multiplikation
WO2004059463A1 (de) Vorrichtung und verfahren zum berechnen einer multiplikation mit einer verschiebung des multiplikanden
EP1370933B1 (de) Verfahren und vorrichtung zum modularen multiplizieren
EP1576463B1 (de) Modulare multiplikation mit paralleler berechnung der vorausschau-parameter
EP1999571B1 (de) Verfahren und vorrichtung zur reduktion eines polynoms in einem binären finiten feld, insbesondere im rahmen einer kryptographischen anwendung
DE10061315A1 (de) Verfahren und Vorrichtung zum Erzeugen einer Pseudozufallsfolge
WO2003021424A2 (de) Verfahren und vorrichtung zum modularen multiplizieren
DE10156708A1 (de) Verfahren und Vorrichtung zum Multiplizieren und Verfahren und Vorrichtung zum Addieren auf einer elliptischen Kurve
EP3504616B1 (de) Modul und verfahren zur abgesicherten berechnung von mathematischen operationen
WO2003093970A2 (de) Vorrichtung und verfahren zum berechnen eines ganzzahligen quotienten
EP2455852B1 (de) Verfahren zur Langzahldivision
DE10220262A1 (de) Berechnung des modularen Inversen eines Wertes
DE102004022647B4 (de) Verfahren und Vorrichtung zur Ermittlung der Anzahl von abgelaufenen Taktzyklen eines binären Zufallsgenerators
EP1536320B1 (de) Montgomery-Multiplikation mit vergrösserter Operandenlänge
DE10201442C1 (de) Vorrichtung und Verfahren zum Multiplizieren oder Dividieren eines ersten Operanden mit bzw. durch einen zweiten Operanden
WO2003095112A2 (de) Durchfuehrung einer berechnung und vorkehrung gegen hardwareangriffe
WO2000070816A1 (de) Verschlüsselungsverfahren, entschlüsselungsverfahren, datenverarbeitungsprogramm, verschlüsselungsvorrichtung sowie entschlüsselungsvorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition