DE10357661A1 - Modularer Montgomery-Multiplizierer und zugehöriges Multiplikationsverfahren - Google Patents

Modularer Montgomery-Multiplizierer und zugehöriges Multiplikationsverfahren Download PDF

Info

Publication number
DE10357661A1
DE10357661A1 DE10357661A DE10357661A DE10357661A1 DE 10357661 A1 DE10357661 A1 DE 10357661A1 DE 10357661 A DE10357661 A DE 10357661A DE 10357661 A DE10357661 A DE 10357661A DE 10357661 A1 DE10357661 A1 DE 10357661A1
Authority
DE
Germany
Prior art keywords
carry
bit
bit value
sum
value
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
DE10357661A
Other languages
English (en)
Other versions
DE10357661B4 (de
Inventor
Hee-Kwan Son
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE10357661A1 publication Critical patent/DE10357661A1/de
Application granted granted Critical
Publication of DE10357661B4 publication Critical patent/DE10357661B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • 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/728Methods 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 Montgomery reduction

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)

Abstract

Die Erfindung bezieht sich auf einen modularen Montgomery-Multiplizierer und auf ein zugehöriges Multiplikationsverfahren. DOLLAR A Erfindungsgemäß weist der Multiplizierer ein Multiplikanden-Register (110), ein Modulus-Register (130), ein Multiplikator-Register (120), eine logische b¶i¶A-Berechnungsschaltung (140) zum Multiplizieren des Multiplikanden A mit einem Bitwert b¶i¶, eine logische q¶i¶-Berechnungsschaltung (150) zum Berechnen einer vorgegebenen Boll'schen Logikgleichung, um einen Bitwert q¶i¶ zu erhalten, eine logische q¶i¶M-Berechnungsschaltung (160) zum Multiplizieren des Modulus M mit dem Bitwert q¶i¶ und einen t-s-Kompressor (170), mit t > 3 uns S > 1, auf, um Zwischenwerte für jedes Bit einer Summe S und eines Übertrags C und durch Summieren der Zwischenwerte Endwerte für S und C zu erhalten. DOLLAR A Verwendung z. B. in kryptographischen Systemen mit öffentlichem Schlüssel.

Description

  • Die Erfindung bezieht sich auf einen modularen Montgomery-Multiplizierer, wie er insbesondere für kryptografische Systeme mit öffentlichem Schlüssel benutzt wird, und auf ein zugehöriges Multiplikationsverfahren.
  • Kryptografische Systeme werden in Kommunikationsanwendungen mit intelligenten Karten (Smartcards), IC-Karten und dergleichen benutzt, wobei eine Entwicklung von Systemen mit geheimem Schlüssel zu solchen mit öffentlichem Schlüssel zu beobachten ist. In kryptografischen Systemen mit geheimem Schlüssel teilen sich zwei Nutzer einen identischen, geheimen Schlüssel, um miteinander verschlüsselt zu kommunizieren. Dies macht die Schlüsselverwaltung und die digitale Unterschrift basierend auf kryptografischen Systemen mit geheimem Schlüssel relativ aufwendig. In kryptografischen Systemen mit öffentlichem Schlüssel ist hingegen ein geheimer Schlüssel bei jedem Nutzer hinterlegt, und jeder Nutzer, der den öffentlichen Schlüssel eines anderen Nutzers kennt, kann mit diesem kommunizieren, was den Prozess von komfortablen geheimen Kommunikationsvorgängen vereinfacht.
  • Beispiele von kryptografischen Systemen mit öffentlichem Schlüssel umfassen das System von Ron Rivest, Adi Schamir und Len Adleman (RSA-System), das Diffie-Hellman-System, das System mit Digitalsignaturalgorithmus (DSA-System), das Kryptosystem vom elliptischen Kurventyp (ECC) und dergleichen. Da kryptografische Systeme mit öffentlichem Schlüssel eine modulare Multiplikation ausführen, um eine modulare Exponentialoperation zu realisieren, brauchen solche Systeme einen modularen Multiplizierer.
  • Ein modularer Multiplikationsalgorithmus vom Montgomery-Typ ist als effektivster modularer Multiplikationsalgorithmus bekannt und kann in Pseudocode durch folgenden Algorithmus 1 ausgedrückt werden:
    Stimulus:
    A =( an–1 an–2...a1 a0)2 und A < M
    B = (bn–1 bn–2...b1 b0)2 und B < M
    M = (mn–1 mn–2...m1 m0)2, mit M ungerade.
    Antwort:
    S = (Sn Sn–1 Sn–2...S1 S0)2 = ABR–1(mod M)
    Verfahren:
    S: =O
    For i: = 0 to n – 1 do
    qi: = s0 XOR(bi AND a0)
    S: = (S + biA + qiM)/2
    endfor
  • Dies bedeutet, dass im Algorithmus 1 ein Endwert S, der als eine Summe in einer "for"-Schleife berechnet wird, kongruent zu ABR–1(mod M) ist, wobei im Algorithmus 1 ein Übertrag als S„ bezeichnet ist. Dabei bezeichnet "R–1" das Inverse von R modular-multipliziert für "mod M". Wenn R = 2n ist, hat "(R × R–1) mod M" den Wert 1.
  • Der modulare Montgomery-Multiplikationsalgorithmus führt nur Multiplikationen mit gegebenen Zahlen A, B und M ohne Verwendung von Divisionen aus und ist schneller als andere Algorithmen. Deshalb wird der modulare Montgomery-Multiplikationsalgorithmus häufig in kryptografischen Systemen mit öffentlichem Schlüssel verwendet, die eine modulare Exponentialoperation erfordern.
  • Herkömmliche modulare Montgomery-Multiplizierer, die auf einem modularen Montgomery-Multiplikationsalgorithmus basieren, werden nach parallelen Multiplizierern, die einen Übertragpropagationsaddierer als einen grundlegenden Akkumulator benutzen, und serielle Multiplizierer unterschieden, die einen Kompressor, d.h. einen aus Volladdierern aufgebauten Addierer mit Übertragbehalt, mit drei Eingängen und zwei Ausgängen als einen grundlegenden Akkumulator benutzen.
  • Ein Übertragpropagationsaddierer benötigt eine Übertragpropagationsverzögerungszeit auf einer Basis von Takt zu Takt, um einen Übertrag bei jeder Addition von mehreren Bits weiterzuleiten. Da der Übertragpropagationsaddierer die Übertragpropagationsverzögerungszeit nicht unbegrenzt erhöhen kann, ist eine Multiplikation von Zahlen, die durch 32 oder mehr Bits repräsentiert werden, relativ schwierig. Der Übertragpropagationsaddierer hat mit anderen Worten ein höheres Leistungs-Verzögerungs-Produkt als ein Übertragbehaltaddierer. Es muss daher wiederholt eine Multiplikation einer 32-Bit-Zahl mit einer 32-Bit-Zahl ausgeführt werden, um eine Multiplikation von Zahlen auszuführen, die durch 32 oder mehr Bits repräsentiert werden. Da ein serieller Multiplizieren, der einen Übertragbehaltaddierer benutzt, einen 3-2-Kompressor, d.h. einen solchen mit drei Eingängen und zwei Ausgängen, benutzt, d.h. Volladdierer, gibt es keine Schwierigkeiten wegen einer Propagationsverzögerungszeit, der serielle Multiplizieren mit dem Übertragbehaltaddierer ist jedoch nicht ohne weiteres in Hardware zu implementieren. Der 3-2-Kompressor vermeidet die Propagationsverzögerungszeit mittels Durchführen aller Additionen von jedem Bit bei einer der Bitanzahl entsprechenden Anzahl von Taktpulsen. Mit anderen Worten müssen in einem modularen Montgomery-Multiplikationsalgorithmus, wie dem Algorithmus 1, die vier Wortüberträge, S, bi, A und qiM summiert werden. Der 3-2-Kompressor kann jedoch nur drei Worte empfangen, so dass dementsprechend die Schwierigkeit auftritt, dass die beiden Haupteingabeworte biA und qiM vorab summiert werden müssen. Außerdem muss der 3-2-Kompressor bei der Durchführung der Addition einen Übertrag, S und eines der vier Worte, d.h. den Übertrag, S, biA und qiM, empfangen, so dass ein 4:1-Multiplexer benötigt wird, um je eines der vier Worte auszuwählen.
  • Der Erfindung liegt als technisches Problem die Bereitstellung eines modularen Montgomery-Multiplizierers und eines zugehörigen Montgomery-Multiplikationsverfahrens zugrunde, die sich mit relativ geringem Aufwand realisieren lassen und mit denen eine hohe Betriebsgeschwindigkeit und ein niedriges Leistungs-Verzögerungs-Produkt ermöglicht wird.
  • Die Erfindung löst dieses Problem durch die Bereitstellung eines modularen Montgomery-Multiplizierers mit den Merkmalen des Anspruchs 1 und eines Verfahrens zur Durchführung einer modularen Montgomery-Multiplikation mit den Merkmalen des Anspruchs 8 oder 17.
  • Erfindungsgemäß wird eine Übertragbehalt-Addiererstruktur (CSA-Struktur) verwendet, bei der alle benötigten Bitadditionen für vier Worte, wie Übertrag, S, biA und qiM, ausgeführt werden, während Additionen in einer Übertragpropagationsaddiererstruktur (CPA-Struktur) in einer Ausgangsstufe durchgeführt werden, so dass eine hohe Betriebsgeschwindigkeit und ein kleines Leistungs-Verzögerungs-Produkt erzielbar sind.
  • Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
  • Vorteilhafte Ausführungsformen der Erfindung sind in den Zeichnungen dargestellt und werden nachfolgend beschrieben. Hierbei zeigen:
  • 1 ein Blockschaltbild eines modularen Montgomery-Multiplizierers,
  • 2 ein Blockschaltbild eines 4-2-Kompressors für den Multiplizierer von 1 mit zugehörigen peripheren Schaltkreisen,
  • 3 ein Flussdiagramm zur Veranschaulichung des Betriebs des Multiplizierers von 1,
  • 4 ein Blockdiagramm zur Veranschaulichung des Betriebs eines Übertragbehaltaddierers im Multiplizierer von 1 und
  • 5 ein Blockdiagramm zur Veranschaulichung des Betriebs eines Übertragpropagationsaddierers im Multiplizierer von 1.
  • 1 zeigt einen modularen Montgomery-Multiplizierer zur Berechnung eines Wertes kongruent zu "ABR–1" (mod M). Hierbei sind A und B Eingabewerte mit n Bit und R–1 ist das Inverse von R modular-multipliziert für "mod M". Dazu beinhaltet der modulare Montgomery-Multiplizierer ein A-Register 110, ein B-Register 120, ein M-Register 130, eine logische Berechnungsschaltung 140 für biA, eine logische Berechnungsschaltung 150 für qi, eine logische Berechnungsschaltung 160 für qiM, einen 4-2-Kompressor 170, ein S-Register 180 und ein C-Register 190.
  • Das A-Register 110 speichert die Bitwerte ai der Zahl A, die kleiner als der Modulus M ist, mit i als einer ganzen Zahl zwischen 0 und n – 1. Die Zahl A bezeichnet ein Wort, das eine Eingabezahl mit n Bit repräsentiert, während ai das jeweilige Bit der Bits a0 bis an–1 bezeichnet, welche die Zahl A binär darstellen.
  • Das B-Register 120 speichert die Bitwerte bi der Zahl B, die kleiner als der Modulus M ist, mit i als ganzer Zahl zwischen 0 und n-1. Die Zahl B bezeichnet ein Wort, das eine Eingabezahl mit n Bit repräsentiert, wobei bi das jeweilige Bit der Bits b0 bis bb–n bezeichnet, aus denen die Binärdarstellung der Zahl B besteht.
  • Das M-Register 130 speichert die Bitwerte m; des Modulus M, der eine ungerade Zahl ist, mit i als einer ganzen Zahl zwischen 0 und n-1. Der Modulus M bezeichnet ein Wort, das eine Eingabezahl mit n Bit darstellt, wobei m; das jeweilige Bit der Bits m0 bis mn– 1 bezeichnet, aus denen die Binärdarstellung des Modulus M besteht.
  • Die logische Berechnungsschaltung 140 für biA berechnet jedes Bit von biA durch Multiplizieren der Zahl A mit dem Bitwert bi. Dementsprechend werden die Werte der n Bits bia0 bis bian–1 ausgegeben. Da hierbei der Index i in der "for"-Schleife des Algorithmus 1 von 0 bis n – 1 läuft, wird der Wert b; aus der Position des niedrigstwertigen Bits (LSB) des B-Registers 120 erhalten, dessen Inhalt bei jeder Durchführung des Algorithmus in der "for"-Schleife nach rechts verschoben wird, wie in 1 dargestellt.
  • Die logische Berechnungsschaltung 150 für qi berechnet den Wert qi, mit i als einer ganzen Zahl zwischen 0 und n – 1, wie er in der "for"-Schleife des Algorithmus 1 benutzt wird, indem die Bool'sche Logikgleichung "s0 XOR c0 XOR (bi UND a0)" gelöst wird. Hierbei bezeichnen so das LSB einer Summe S, c0 das LSB eines Übertrags C, bi einen Bitwert der Zahl B und a0 das LSB der Zahl A. Da hierbei der Index i in der "for"-Schleife des Algorithmus 1 von 0 bis n – 1 läuft, wird der Wert b; von der Position des LSB des B-Registers 120 erhalten, dessen Inhalt bei jeder Ausführung des Algorithmus in der "for"-Schleife um 1 nach rechts verschoben wird, wie in 1 dargestellt.
  • Die logische Berechnungsschaltung 160 für qiM berechnet jedes Bit von qiM durch Multiplizieren des Modulus M mit dem Bitwert qi. Dementsprechend werden die Werte der n Bits qim0 bis qimn–1 ausgegeben. Da hierbei der Index i in der "for"-Schleife des Algorithmus 1 von 0 bis n – 1 läuft, erhöht er sich bei jeder Ausführung des Algorithmus in der "for"-Schleife um 1, wie in 1 dargestellt. Dementsprechend werden die Werte der n Bits q0 bis qn–1 ausgegeben.
  • In einer vorteilhaften Realisierung führt der 4-2-Kompressor 170 in Reaktion auf ein Übertragpropagationsaddierersignal ONCPA n Additionen mit C, S, biA und qiM aus, um Zwischenberechnungswerte für jedes Bit von S und C zu erhalten, was in einer Übertragbehaltaddiererstruktur erfolgt. Dann summiert der 4-2-Kompressor 170 die Zwischenberechnungswerte, um die endgültigen Resultate für S und C zu erhalten, was in einer Übertragpropagationsaddiererstruktur erfolgt. Wenn sich das Übertragpropagationsaddierersignal ONCPA in einem inaktiven Zustand befindet, z.B. in einem ersten Logikzustand "0", arbeiten erste und zweite Volladdierer gleichzeitig in der Übertragbehaltaddiererstruktur und bilden dadurch eine Struktur mit vier Eingängen und zwei Ausgängen. Wenn sich das Übertragpropagationsaddierersignal ONCPA in einem aktiven Zustand befindet, z.B. in einem zweiten Logikzustand "1 ", arbeiten nur die zweiten Volladdierer in der Übertragpropagationsaddiererstruktur, wodurch eine Struktur mit drei Eingängen und zwei Ausgängen gebildet wird.
  • Das S-Register 180 aktualisiert und speichert die Bitwerte si von S, mit i als einer ganzen Zahl zwischen 0 und n – 1. Mit anderen Worten bezeichnet S ein Wort, das eine Zahl mit n Bit darstellt, die als Summe ausgegeben wird, wobei si den jeweiligen Bitwert aller Bits s0 bis sn–1 bezeichnet, welche die Binärdarstellung des Wortes S bilden. Das Wort S wird bei jeder Durchführung einer Addition im Übertragbehaltaddierer oder im Übertragpropagationsaddierer, die im 4-2-Kompressor 170 enthalten sind, aktualisiert.
  • Das C-Register 190 aktualisiert und speichert die Bitwerte ci von C, mit i als einer ganzen Zahl zwischen 0 und n – 1. Mit anderen Worten bezeichnet C ein Wort, das eine Zahl mit n Bit repräsentiert, die als Übertrag ausgegeben wird, wobei ci den jeweiligen Bitwert aller Bits c0 bis cn–1 bezeichnet, aus denen die Binärdarstellung des Wortes C besteht. Das Wort C wird bei jeder Durchführung einer Addition im Übertragbehaltaddierer oder Übertragpropagationsaddierer aktualisiert, die im 4-2-Kompressor 170 enthalten sind.
  • 2 veranschaulicht eine vorteilhafte Realisierung des 4-2-Kompressors 170 von 1 und seine peripheren Schaltkreise detaillierter. Wie daraus ersichtlich, umfasst der 4-2-Kompressor 170 erste und zweite Volladdierereinheiten 171, 175 und eine Multiplexereinheit 173, wodurch ein Addierer mit einer Struktur mit vier Eingängen und zwei Ausgängen gebildet wird.
  • Alle ersten Volladdierer der ersten Volladdierereinheit 171 summieren ihre zugehörigen Bitwerte, d.h. denjenigen von biA, den Bitwert si+1 von S und den Bitwert ci von C, um einen Übertrag cAi und eine Summe sAi zu erhalten. Der zugehörige Bitwert von biA ist biai.
  • Alle Multiplexer in der Multiplexereinheit 173 geben selektiv entweder ihren zugehörigen Bitwert von qiM, den Übertrag cAi–1 und die Summe sAi oder den Bitwert si+1 von S, den Bitwert c; von C und den Bitwert ci–1 von C in Reaktion auf das Übertragpropagationsaddierersignal ONCPA ab. Der zugehörige Bitwert von qiM ist qiMi.
  • Wenn das Übertragpropagationsaddierersignal ONCPA in einem inaktiven Zustand ist, d.h. im ersten Logikzustand „0", führt jeder der zweiten Volladdierer der zweiten Volladdierereinheit 175 n Additionen des Bitwertes qimi von qiM, des Übertrags cAi–1 und der Summe sAi aus, um Zwischenbitwerte si und ci von S bzw. C zu berechnen. Wenn das Übertragpropagationsaddierersignal ONCPA in einem aktiven Zustand ist, d.h. im zweiten Logikzustand „1", summiert jeder der zweiten Volladdierer der zweiten Volladdierereinheit 175 den Bitwert si+1 von S mit dem Bitwert ci von C und dem Bitwert ci–1 von C, um die Endergebnisse von S und C zu erhalten.
  • Der Übertrag cAi–1 bezeichnet den Übertrag eines Bits, das sich an einer um ein Bit niedrigeren Stelle befindet als das Bit des Übertrags cAi, der von der ersten Volladdierereinheit 171 ausgegeben wird. Der Bitwert si+1 von S bezeichnet die Summe eines Bits, das sich an einer um ein Bit höheren Stelle als der Zwischenbitwert si befindet, der von der zweiten Volladdierereinheit 175 ausgegeben wird. Der Bitwert ci–1 von C bezeichnet den Übertrag eines Bits, das sich an einer um ein Bit niedrigeren Stelle als der Bitwert ci befindet, der von der zweiten Volladdierereinheit 175 ausgegeben wird.
  • Wie in 2 dargestellt, befinden sich die niedrigstwertigen Bits des Übertrags cAi–1 und des Übertrags ci+1 zum Zeitpunkt eines Taktpulses vor Aktivierung des Übertragpropagationsaddierersignals ONCPA im ersten Logikzustand, und das höchstwertige Bit der Summe si+1 ist gleich dem Bitwert cAn–1. Der Bitwert cAn–1 ist das höchstwertige Bit des Übertrags cAi, der von der ersten Volladdierereinheit 171 ausgegeben wird.
  • Die Betriebsweise des modularen Montgomery-Multiplizierers gemäß der Ausführungsform der 1 und 2 wird nachfolgend unter Bezugnahme auf 3 ausführlicher beschrieben.
  • Der erfindungsgemäße modulare Montgomery-Multiplizierer umfasst, wie erläutert, Register zum Speichern von Bitwerten ai, bi, mi, ci und si, mit i als einer ganzen Zahl im Bereich von null bis n – 1, die zu einem Wort A, einem Wort B, einem Modulus M, einem Übertrag C bzw. einer Summe S gehören, und berechnet einen Wert kongruent zu „ABR–1 (mod M). Dabei sind A und B Eingabezahlen mit n Bit, und R–1 ist das Inverse von R modular multipliziert für „mod A".
  • Im Betrieb des modularen Montgomery-Multiplizierers werden zunächst in einem Schritt S311 die Zahlen A und B und der Modulus M empfangen. In einem Schritt S313 werden Register, die den Parameter i und die Summe S speichern, auf null zurückgesetzt und initialisiert. Die Zahlen A und B sind kleiner als der Modulus M, wobei M eine ungerade Zahl ist.
  • Danach bestimmt die logische Berechnungsschaltung 150 für qi des modularen Montgomery-Multiplizierers in Schritten S315, S317 und S319 einen Wert qi, mit i als einer ganzen Zahl im Bereich zwischen null und n – 1, wie er in der „for"-Schleife des Algorithmus 1 benutzt wird, durch Lösen der Bool'schen Logikgleichung „s0 XOR c0 XOR (bi UND a0)". Hierbei bezeichnen so das niedrigstwertige Bit der Summe S,c0 das niedrigstwertige Bit des Übertrags C, b; einen Bitwert der Zahl B und a0 das niedrigstwertige Bit der Zahl A. Außerdem multipliziert in den Schritten S315, S317 und S319 die logische Berechnungsschaltung 140 für biA die Zahl A mit dem Bitwert bi, um jedes Bit von biA zu erhalten, und die logische Berechnungsschaltung 160 für qiM berechnet jedes Bit von qiM durch Multiplizieren des Modulus M mit dem Bitwert qi. Des weiteren führt in den Schritten S315, S317 und S319 der 4-2-Kompressor 170 n Additionen mit C, S, biA und qiM aus, um Zwischenwerte für jedes Bit von S und C zu erhalten, und zwar in einer Übertragbehaltaddiererstruktur, die gebildet wird, wenn sich das Übertragpropagationsaddierersignal ONCPA in einem inaktiven Zustand befindet, d.h. in einem ersten Logikzustand „0".
  • 4 veranschaulicht im Blockdiagramm die Betriebsweise eines Übertragbehaltaddierers im erfindungsgemäßen modularen Montgomery-Multiplizierer. Wie aus den 3 und 4 ersichtlich, summiert in den Schritten S315 und S317 jeder erste Volladdierer der ersten Volladdierereinheit 171 seinen zugehörigen Bitwert von biA, den Bitwert si+1 von S und den Bitwert ci von C, um den Übertrag cAi und die Summe sAi zu erhalten. Jeder zweite Volladdierer der zweiten Volladdierereinheit 175 führt n Additionen mit seinem zugehörigen Bitwert von qiM, der Summe sAi und dem Übertrag cAi–1 aus, die durch die Multiplexereinheit 173 ausgewählt werden, um die Zwischenwerte si und ci der Summe S bzw. des Übertrags C zu berechnen.
  • Wie in 2 dargestellt, wird das vom Übertrag C ausgegebene Bit in einen ersten, diesem Bit zugeordneten Volladdierer eingegeben, das von der Summe S ausgegebene Bit wird in einen diesem Bit zugeordneten ersten Volladdierer eingegeben, das von der Summe S ausgegebene Bit wird in einen ersten Volladdierer eingegeben, der einem Bit zugeordnet ist, das sich an einer um eine Bitstelle niedrigeren Position als das Ausgabebit befindet, und eine in der „for"-Schleife des Algorithmus 1 enthaltene ½-Divisionsoperation wird ausgeführt, und zwar im Schritt S315 von 3. Das niedrigstwertige Bit des Übertrags cAi–1 befindet sich im ersten Logikzustand „0". Mit anderen Worten erzeugt der 4-2-Kompressor 170, wenn sich das Übertragpropagationsaddierersignal ONCPA in einem inaktiven Zustand befindet, die Übertragbehaltaddiererstruktur, die eine Struktur mit vier Eingängen und zwei Ausgängen darstellt, und berechnet die Zwischenwerte von S und C unter Verwendung von biA und qiM.
  • Nach Berechnung der Zwischenwerte von S und C für jedes Bit wird das Übertragpropagationsaddierersignal ONCPA aktiviert und nimmt dann den zweiten Logikzustand „1" ein, siehe Schritt S321. In Schritten S323 bis S327 summiert der 4-2-Kompressor 170 die berechneten Zwischenwerte von S und C, um die Endwerte von S und C zu erhalten, und zwar in der Übertragpropagationsaddiererstruktur.
  • 5 veranschaulicht im Blockdiagramm die Betriebsweise des Übertragpropagationsaddierers im erfindungsgemäßen modularen Montgomery-Multiplizierer. Wie aus den 3 und 5 ersichtlich, summiert die zweite Volladdierereinheit 175 im Schritt S323 den Bitwert si+1 von S, den Bitwert ci von C und den Bitwert ci–1 von C, die von der Multiplexereinheit 173 ausgewählt werden, um die Endresultate von S und C zu berechnen. Wie in 2 dargestellt, ist das höchstwertige Bit der Summe si+1 zum Zeitpunkt eines Taktes vor Aktivierung des Übertragpropagationsaddierersignals ONCPA gleich dem Bitwert cn–1. Das niedrigstwertige Bit des Übertrags ci–1 befindet sich im ersten Logikzustand „0".
  • Im Schritt S325 werden der Bitwert si+1 von S, der Bitwert ci von C und der Bitwert ci–1 von C für eine gewisse Zeitspanne, und zwar gleich dem Produkt aus einer Propagationsverzögerungszeit für ein Bit mit der Anzahl n an Bits, in der Übertragpropagationsaddiererstruktur summiert. Die Propagationsverzögerungszeit für ein Bit besteht aus der Propagationsverzögerungszeit der zweiten Volladdierereinheit 175 und der Verzögerungszeit jedes der 2:1-Multiplexer der Multiplexereinheit 173. Mit anderen Worten ist, wenn sich das Übertragpropagationsaddierersignal ONCPA in einem aktiven Zustand befindet, eine Übertragpropagationsaddiererstruktur mit drei Eingängen und zwei Ausgängen realisiert, und die Zwischenwerte von S und C werden in dieser Struktur mit drei Ein gängen und zwei Ausgängen summiert, um die Endwerte von S und C zu berechnen.
  • Wie oben beschrieben, beinhaltet der erfindungsgemäße modulare Montgomery-Multiplizierer Register, welche die Bitwerte ai, bi, mi, ci und si, mit i als einer ganzen Zahl zwischen null und n – 1, speichern, die zu einem Wort A, einem Wort B, einem Modulus M, einem Übertrag C bzw. einer Summe S gehören, und berechnet einen Wert kongruent zu „ABR–1" (mod M). Hierbei sind A und B Eingabezahlen mit n Bit, und R–1 ist das Inverse von R modular multipliziert für „mod A". Die logische Berechnungsschaltung 140 für biA berechnet jedes Bit von biA durch Multiplizieren der Zahl A mit dem Bitwert bi. Gleichzeitig berechnet die logische Berechnungseinheit 150 für qi den Wert qi durch Lösen der Bool'schen Logikgleichung „s0 XOR c0 XOR (bi UND a0)". Hierbei sind so das niedrigstwertige Bit der Summe S, c0 das niedrigstwertige Bit des Übertrags C, bi ein Bitwert der Zahl B und a0 das niedrigstwertige Bit der Zahl A. Die logische Berechnungsschaltung 160 für qiM berechnet jedes Bit von qiM durch Multiplizieren des Modulus M mit dem Bitwert qi. Der 4-2-Kompressor 170 führt in Reaktion auf das Übertragpropagationsaddierersignal ONCPA n Additionen von C, S, biA und qiM aus, um berechnete Zwischenwerte für jedes Bit von S und C zu erhalten, und zwar in einer Übertragbehaltaddiererstruktur. Dann summiert der 4-2-Kompressor 170 die berechneten Zwischenwerte, um die Endresultate für S und C zu erhalten, und zwar in einer Übertragpropagationsaddiererstruktur. Die Endresultate von S und C werden zum S- bzw. C-Register 180, 190 ausgegeben.
  • Wie oben erläutert, beseitigt bzw. reduziert der erfindungsgemäße modulare Montgomery-Multiplizierer die Propagationsverzögerungszeit, indem eine Übertragbehaltaddiererstruktur (CSA-Struktur) verwendet wird, bei der alle Additionen, die für jedes Bit benötigt werden, zuerst für vier Worte, z.B. C, S, biA und qiM, durchgeführt werden, wonach Additionen in einer Übertragpropagationsaddiererstruktur (CPA-Struktur) erst in einer abschließenden Ausgangsstufe ausgeführt werden. Auf diese Weise werden eine hohe Betriebsgeschwindigkeit und ein geringes Leistungs-Verzögerungs-Produkt erzielt, was das Leistungsvermögen eines modularen Montgomery-Multiplikationsalgorithmus erhöht.
  • Es versteht sich, dass die Erfindung außer den gezeigten noch zahlreiche weitere Ausführungsformen umfasst. So ist z.B. in 1 die Verwendung eines einzigen 4-2-Kompressors angegeben. Die Erfindung ist jedoch hierauf nicht beschränkt, sondern umfasst auch Ausführungsformen mit einem beliebigen t-s-Kompressor mit t > 3 und s > 1, oder mit einer Mehrzahl solcher Kompressoren. Des weiteren ist die Erfindung nicht auf die Verwendung von drei Registern A, M und B beschränkt. Vielmehr können andere Register in Kombination mit einem Kompressor vorgesehen sein, der mehrere Eingänge und Ausgänge aufweist. Außerdem ist eine Wurzel bei den oben beschriebenen Ausführungsbeispielen nicht auf einen bestimmten Wurzelwert beschränkt.

Claims (17)

  1. Modularer Montgomery-Multiplizierer, gekennzeichnet durch – ein Register (110) für einen Multiplikanden A zum Speichern eines Bitwertes ai des Multiplikanden A, – ein Register (130) für einen Modulus M zum Speichern eines Bitwertes mi des Modulus M, – ein Register (120) für einen Multiplikator B zum Speichern eines Bitwertes bi des Multiplikators B, – eine logische biA-Berechnungsschaltung (140) zum Multiplizieren von A mit dem Bitwert bi, um jedes Bit von biA zu erhalten, – eine logische qi-Berechnungsschaltung (150) zum Berechnen einer Bool'schen Logikgleichung „s0 XOR c0 XOR (bi UND a0)", um einen Bitwert qi, mit i als einer ganzen Zahl zwischen null und n – 1, zu erhalten, wobei s0 das niedrigstwertige Bit einer Summe S, c0 das niedrigstwertige Bit eines Übertrags C, bi einen jeweiligen Bitwert von B und a0 das niedrigstwertige Bit von A bezeichnen, – eine logische qiM-Berechnungsschaltung (160) zum Multiplizieren des Modulus M mit dem Bitwert qi, um jedes Bit von qiM zu erhalten, und – einen t-s-Kompressor (170), mit t > 3 und s > 1 zur Durchführung von n Additionen des Übertrags C, der Summe S, biA und qiM in einer Übertragbehaltaddiererstruktur, um Zwischenwerte für jedes Bit der Summe S und des Übertrags C zu erhalten, und zum Summieren der Zwischenwerte in einer Übertragpropagationsaddiererstruktur, um Endresultate für S und C zu erhalten, in Reaktion auf ein Übertragpropagationsaddierersignal.
  2. Modularer Montgomery-Multiplizierer nach Anspruch 1, weiter dadurch gekennzeichnet, dass er einen Wert kongruent zu „ABR–1" (mod M) berechnet, wobei A und B Eingabezahlen mit n Bit sind und R–1 das Inverse von R modular multipliziert für „mod M" ist, wobei A kleiner als M ist, B kleiner als M ist, M eine ungerade Zahl ist, der Kompressor ein 4-2-Kompressor ist, ein S-Register 180 zum Aktualisieren eines Bitwertes si der Summe S und zum Speichern des aktualisierten Bitwertes vorgesehen ist und ein C-Register (190) zum Aktualisieren eines Bitwertes ci des Übertrags C und zum Speichern des aktualisierten Bitwertes vorgesehen ist.
  3. Modularer Montgomery-Multiplizierer nach Anspruch 1 oder 2, weiter dadurch gekennzeichnet, dass der Kompressor folgende Elemente enthält: – eine erste Volladdierereinheit zum Summieren eines Bitwertes bi ai von biA, eines Bitwertes si +1 der Summe S und eines Bitwertes ci des Übertrags C, um einen Übertrag cAi und eine Summe sAi zu erhalten, – eine Multiplexereinheit zum selektiven Ausgeben entweder eines Bitwertes qiMi von qiM, des Übertrags cAi–1 und sAi oder des Bitwertes si+1 von S, des Bitwertes ci des Übertrags C und des Bitwertes ci–1 von C in Reaktion auf das Übertragpropagationsaddierersignal und – eine zweite Volladdierereinheit zur Durchführung von n Additionen des Bitwertes qimi von qiM, cAi–1 und sAi, um Zwischenbitwerte si und ci von S bzw. C zu berechnen, wenn das Übertragpropagationsaddierersignal in einem inaktiven Zustand ist, und zum anschließenden Summieren des Bitwertes si+1 von S, des Bitwertes ci von C und des Bitwertes ci–1 von C, um Endergebnisse für die Summe S und den Übertrag C zu erhalten, wenn das Übertragpropagationsaddierersignal in einem aktiven Zustand ist.
  4. Modularer Montgomery-Multiplizierer nach Anspruch 2 oder 3, weiter dadurch gekennzeichnet, dass die Übertragbehaltaddiererstruktur eine Struktur mit vier Eingängen und zwei Ausgängen ist, bei welcher die ersten und zweiten Volladdierereinheiten arbeiten, wenn sich das Übertragpropagationsaddierersignal in einem inaktiven Zustand befindet.
  5. Modularer Montgomery-Multiplizierer nach einem der Ansprüche 2 bis 4, weiter dadurch gekennzeichnet, dass die Übertragpropagationsaddiererstruktur eine Struktur mit drei Eingängen und zwei Ausgängen ist, bei welcher nur die zweite Volladdierereinheit arbeitet, wenn sich das Übertragpropagationsaddierersignal in einem aktiven Zustand befindet.
  6. Modularer Montgomery-Multiplizierer nach einem der Ansprüche 3 bis 5, weiter dadurch gekennzeichnet, dass das niedrigstwertige Bit des Übertrags cAi–1 und das niedrigstwertige Bit des Übertrags ci_1 in einem ersten logischen Zustand sind.
  7. Modularer Montgomery-Multiplizierer nach einem der Ansprüche 3 bis 6, weiter dadurch gekennzeichnet, dass zum Zeitpunkt eines Taktpulses vor Aktivierung des Übertragpropagationsaddierersignals das höchstwertige Bit der Summe si+1 gleich dem Übertrag CAn–1 ist.
  8. Verfahren zur Durchführung einer modularen Montgomery-Multiplikation in einem modularen Montgomery-Multiplizierer, der Register zum Speichern von Bitwerten ai, bi, mi, ci und si, mit i als einer ganzen Zahl zwischen null ein n – 1, eines Wortes A, eines Wortes B, eines Modulus M, eines Übertrags C bzw. einer Summe S umfasst und einen Wert kongruent zu „ABR–1" (mod M) berechnet, wobei A und B Eingabezahlen mit n Bit sind, R–1 das Inverse von R modular multipliziert für „mod M" ist und M ein Modulus ist, gekennzeichnet durch folgende Schritte: – Empfangen der Zahl A, der Zahl B und des Modulus M, – Multiplizieren der Zahl A mit einem Bitwert bi, um jedes Bit von biA zu erhalten, – Lösen einer Bool'schen Logikgleichung „s0 XOR c0 XOR (bi UND a0)", mit so als niedrigstwertigem Bit einer Summe S, c0 als niedrigstwertigem Bit eines Übertrags C, bi als Bitwert der Zahl B und a0 als niedrigstwertiges Bit der Zahl A, mit i als einer ganzen Zahl zwischen null und n – 1, um einen Bitwert qi zu erhalten, – Multiplizieren der Zahl M mit dem Bitwert qi, um jedes Bit von qiM zu erhalten, – Durchführen von n Additionen des Übertrags C, der Summe S, von biA und qiM in einer Übertragbehaltaddiererstruktur in Reaktion auf ein Übertragpropagationsaddierersignal, um Zwischenwerte für jedes Bit der Summe S und des Übertrags C zu erhalten, und – Summieren der Zwischenwerte in einer Übertragpropagationsaddiererstruktur in Reaktion auf das Übertragpropagationsaddierersignal, um Endresultate für die Summe S und den Übertrag C zu erhalten.
  9. Verfahren nach Anspruch 8, weiter dadurch gekennzeichnet, dass die Zahl A kleiner als der Modulus M ist.
  10. Verfahren nach Anspruch 8 oder 9, weiter dadurch gekennzeichnet, dass die Zahl B kleiner als der Modulus M ist.
  11. Verfahren nach einem der Ansprüche 8 bis 10, weiter dadurch gekennzeichnet, dass der Modulus M eine ungerade Zahl ist.
  12. Verfahren nach einem der Ansprüche 8 bis 11, weiter dadurch gekennzeichnet, dass der Zwischenwert und der Endwert von S sowie der Zwischenwert und der Endwert von C wie folgt berechnet werden: – Summieren eines Bitwertes biAi von biA, eines Bitwertes si+1 von S und eines Bitwertes ci von C, um einen Übertrag cAi und sAi zu erhalten, – Selektives Ausgeben entweder eines Bitwertes qiMi von qiM„ cAi+1 und sAi oder des Bitwertes si+1 von S, des Bitwertes ci von C und eines Bitwertes ci– 1 von C in Reaktion auf das Übertragpropagationsaddierersignal, – Durchführen von n Additionen des Bitwertes qimi von qiM, cAi–1 und sAi, um zwischen Bitwerte si und ci von S bzw. C zu berechnen, wenn das Übertragpropagationsaddierersignal in einem inaktiven Zustand ist, und – Summieren des Bitwertes si+1 von S, des Bitwertes ci von C und des Bitwertes ci–1 von C, um Endresultate für S und C zu erhalten, wenn sich das Übertragpropagationsaddierersignal in einem aktiven Zustand befindet.
  13. Verfahren nach einem der Ansprüche 8 bis 12, weiter dadurch gekennzeichnet, dass die Übertragbehaltaddiererstruktur eine Struktur mit vier Eingängen und zwei Ausgängen ist, bei der die Zwischenwerte S und C aus biA und qiM erhalten werden, wenn das Übertragpropagationsaddierersignal in einem inaktiven Zustand ist.
  14. Verfahren nach einem der Ansprüche 8 bis 13, weiter dadurch gekennzeichnet, dass die Übertragpropagationsaddiererstruktur eine Struktur mit drei Eingängen und zwei Ausgängen ist, bei der die Endwerte von S und C aus den Zwischenwerten von S und C erhalten werden, wenn sich das Übertragpropagationsaddierersignal in einem aktiven Zustand befindet.
  15. Verfahren nach einem der Ansprüche 12 bis 14, weiter dadurch gekennzeichnet, dass sich das niedrigstwertige Bit von cAi–1 und das niedrigstwertige Bit von ci–1 in einem ersten Logikzustand befinden.
  16. Verfahren nach einem der Ansprüche 12 bis 15, weiter dadurch gekennzeichnet, dass das höchstwertige Bit von si+1 zum Zeitpunkt eines Taktes vor Aktivierung des Übertragpropagationsaddierersignals gleich dem Bitwert cAn–1 ist.
  17. Verfahren zur Durchführung einer 2n-Wurzel-Montgomery-Multiplikation, mit N ≥ 1, gekennzeichnet durch folgende Schritte: – Empfangen eines Multiplikanden (A), eines Modulus (M) und eines Multiplikators (B), – Durchführen einer Übertragbehaltaddition mit wenigstens vier Eingaben, die mit dem Multiplikanden, dem Modulus und dem Multiplikator in Beziehung stehen, um ein Ergebnis in redundanter Darstellung zu erzeugen, und – Durchführen einer Übertragpropagationsaddition in Reaktion auf ein Übertragpropagationsaddierersignal, um ein Ergebnis in normaler Darstellung zu erzeugen.
DE10357661A 2002-12-30 2003-12-03 Modularer Montgomery-Multiplizierer und zugehöriges Multiplikationsverfahren Expired - Fee Related DE10357661B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR02/87243 2002-12-30
KR10-2002-0087243 2002-12-30
KR10-2002-0087243A KR100459732B1 (ko) 2002-12-30 2002-12-30 4-2 컴프레서를 이용한 몽고메리 모듈러 승산기 및 그승산 방법

Publications (2)

Publication Number Publication Date
DE10357661A1 true DE10357661A1 (de) 2004-07-15
DE10357661B4 DE10357661B4 (de) 2009-04-16

Family

ID=32501461

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10357661A Expired - Fee Related DE10357661B4 (de) 2002-12-30 2003-12-03 Modularer Montgomery-Multiplizierer und zugehöriges Multiplikationsverfahren

Country Status (4)

Country Link
US (1) US7412474B2 (de)
KR (1) KR100459732B1 (de)
DE (1) DE10357661B4 (de)
FR (3) FR2849512B1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103699358A (zh) * 2013-12-05 2014-04-02 西安交通大学 一种适用于大数的快速模平方运算电路

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7805479B2 (en) * 2006-03-28 2010-09-28 Michael Andrew Moshier Scalable, faster method and apparatus for montgomery multiplication
EP2015171A1 (de) * 2007-06-29 2009-01-14 Gemplus Kryptographieverfahren, das eine gesicherte modulare Potenzierung gegen Angriffe mit verborgenen Kanälen ohne Kenntnis des öffentlichen Exponenten umfasst, Kryptoprozessor zur Umsetzung des Verfahrens und dazugehörige Chipkarte
CA2723486A1 (en) * 2008-05-07 2010-04-01 Nanocomp Technologies, Inc. Nanostructure composite sheets and methods of use
KR101128505B1 (ko) * 2008-12-03 2012-03-27 한국전자통신연구원 모듈러 곱셈 연산 방법 및 장치
KR20110105555A (ko) 2010-03-19 2011-09-27 삼성전자주식회사 효율적인 하드웨어 구성을 갖는 몽고메리 승산기
DE102010051853A1 (de) * 2010-11-18 2012-05-24 Giesecke & Devrient Gmbh Verfahren zur Langzahldivision
DE102011100390A1 (de) 2011-05-04 2012-11-08 Giesecke & Devrient Gmbh Beschleunigte kryptographische Berechnung, insbesondere ECC-Berechnung, in Prozessor mit Montgomery-Koprozessor
FR2986925B1 (fr) * 2012-02-15 2014-02-21 Bull Sas Procede et dispositif electronique de generation d'un signal d'horloge variable
CN103577638B (zh) * 2013-10-29 2016-03-16 电子科技大学 一种模乘法器
CN105469510B (zh) * 2014-10-12 2018-01-09 吴思进 可预告延时支付或找回的加密货币钱包
KR101830230B1 (ko) * 2016-12-23 2018-02-21 한국전자통신연구원 모듈러 곱셈 장치 및 방법
CN112068800B (zh) * 2020-08-10 2022-10-25 北京草木芯科技有限公司 阵列压缩器及具有其的大数乘法器
CN113721986B (zh) * 2021-07-23 2024-02-09 浪潮电子信息产业股份有限公司 一种数据压缩方法、装置及电子设备和存储介质
TWI802095B (zh) * 2021-11-22 2023-05-11 財團法人工業技術研究院 模數乘法電路與對應之計算模數乘法之方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5073870A (en) * 1989-01-30 1991-12-17 Nippon Telegraph And Telephone Corporation Modular multiplication method and the system for processing data
FR2726667B1 (fr) * 1994-11-08 1997-01-17 Sgs Thomson Microelectronics Procede de mise en oeuvre de multiplication modulaire selon la methode montgomery
KR100267009B1 (ko) * 1997-11-18 2000-09-15 윤종용 고속 암호화 처리를 위한 어레이 구조를 가지는 모듈러 곱셈장치
US7277540B1 (en) 1999-01-20 2007-10-02 Kabushiki Kaisha Toshiba Arithmetic method and apparatus and crypto processing apparatus for performing multiple types of cryptography
DE10107376A1 (de) 2001-02-16 2002-08-29 Infineon Technologies Ag Verfahren und Vorrichtung zum modularen Multiplizieren und Rechenwerk zum modularen Multiplizieren
FR2822260A1 (fr) 2001-03-14 2002-09-20 Bull Sa Procedes et dispositifs pour accelerer le temps de calcul d'un produit de montgomery d'un multiplication et d'une exponentiation modulaire
US6973470B2 (en) * 2001-06-13 2005-12-06 Corrent Corporation Circuit and method for performing multiple modulo mathematic operations

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103699358A (zh) * 2013-12-05 2014-04-02 西安交通大学 一种适用于大数的快速模平方运算电路

Also Published As

Publication number Publication date
FR2849512B1 (fr) 2007-03-02
KR20040060445A (ko) 2004-07-06
US7412474B2 (en) 2008-08-12
FR2867580A1 (fr) 2005-09-16
US20040125948A1 (en) 2004-07-01
FR2851348A1 (fr) 2004-08-20
DE10357661B4 (de) 2009-04-16
KR100459732B1 (ko) 2004-12-03
FR2867580B1 (fr) 2007-03-30
FR2849512A1 (fr) 2004-07-02

Similar Documents

Publication Publication Date Title
DE10357661B4 (de) Modularer Montgomery-Multiplizierer und zugehöriges Multiplikationsverfahren
DE69917592T2 (de) Gegen stromverbrauchsignaturanfall beständige kryptographie
DE69821408T2 (de) Multiplikationsverfahren und -vorrichtung
DE102006025673B9 (de) Rechenwerk zum Reduzieren einer Eingabe-Zahl bezüglich eines Moduls
EP1360579B1 (de) Verfahren und vorrichtung zum modularen multiplizieren und rechenwerk zum modularen multiplizieren
DE19758079A1 (de) Verfahren und Vorrichtung zur Galoisfeld-Multiplikation
DE19839627A1 (de) Digitaler Signalprozessor
DE102007014808A1 (de) Multiplizier- und Multiplizier- und Addiereinheit
DE69837036T2 (de) Verfahren und vorrichtung zur ausführung einer entschlüsselung mittels einer standardisierten modularen potenzierung zum vereiteln eines zeitangriffs
WO2013060467A1 (de) Effiziente primzahlprüfung
DE102007054316A1 (de) Modulares Multiplikationsverfahren, modularer Multiplizierer und Kryptosystem
DE10260655B3 (de) Vorrichtung und Verfahren zum Berechnen einer Multiplikation mit einer Verschiebung des Multiplikanden, insbesondere bei der kryptographischen Berechnung
DE4345029C2 (de) Schaltkreis für diskrete Kosinustransformation
DE10141460A1 (de) Potenzrestberechnungseinheit unter Verwendung eines Montgomery-Algorithmus
DE10219158B4 (de) Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Multiplikation
DE102007056104A1 (de) Verfahren und Vorrichtung zur Multiplikation von Binäroperanden
DE102006025713B9 (de) Kryptographie-Vorrichtung und Kryptographie-Verfahren zum Berechnen eines Ergebnisses einer modularen Multiplikation
DE10260660B3 (de) Modulare Multiplikation mit paralleler Berechnung der Look-Ahead-Parameter u.a. bei der kryptographischen Berechnung
DE102006025677B4 (de) Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer Summe mit einem Rechenwerk mit begrenzter Wortlänge
DE10151129B4 (de) Verfahren und Vorrichtung zum Berechnen eines Ergebnisses einer Exponentiation in einer Kryptographieschaltung
DE10200133B4 (de) Verfahren und Vorrichtung zur Berechnung von Modulo-Operationen
EP1515226B1 (de) Modulare Multiplikation
DE102008050800B4 (de) Vorrichtung und Verfahren zum Bestimmen einer modularen multiplikativen Inversen
WO2003093970A2 (de) Vorrichtung und verfahren zum berechnen eines ganzzahligen quotienten
EP2649515B1 (de) UNIFIZIERTER MULTIPLIZIERER FÜR DIE GALOIS-KÖRPER GF(2n) UND GF(p), SOWIE KRYPTOGRAPHIE-VERFAHREN UND KRYPTOGRAPHIE-VORRICHTUNG

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee