EP1536320A2

Montgomery multiplication with longer operand length

Abstract

Method for computer-based execution of a Montgomery multiplication of two factors a, b to a modulus of n, whereby a, b and n have a predefined bit-length, L. According to the method, the Montgomery multiplication is based on several expanded Montgomery multiplications with bit-length l that is less than the predefined bit length, L. The invention also relates to a computer program and portable data carrier, especially a chip card or chip module for implementation of the inventive method.

EP1536320A2, drawing sheet 1
Sheet 1 of 110

Term

Term ended

Projected expiry passed 24 November 2024, 1.8 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

26 claims: 26 independent, 0 dependent

  1. 1
    Method of mechanically performing a Montgomery multiplication of two factors a, b concerning a module n the factors a, b and the module n a given bit length L respectively, characterized in that the calculation of the Montgomery multiplication with the bit length L on several extended Montgomery multiplications with one over the bit length L lower bit length l with such an extended Montgomery multiplication of two factors with respect to a module, two result values w and k be determined so that the product of the two factors depending on the w-fold multiples of 2l and the k-fold multiples of the module is expressed. Verfahren zum maschinellen Ausführen einer Montgomery-Multiplikation zweier Faktoren a, b bezüglich eines Moduls n wobei die Faktoren a, b und der Modul n eine vorgegebene Bitlänge L aufweisen, dadurch gekennzeichnet, daß die Berechnung der Montgomery-Multiplikation mit der Bitlänge L auf mehrere erweiterte Montgomery-Multiplikationen mit einer gegenüber der Bitlänge L geringeren Bitlänge l abgestützt wird, wobei bei einer solchen erweiterten Montgomery-Multiplikation zweier Faktoren bezüglich eines Moduls zwei Ergebniswerte w und k derart ermittelt werden, daß das Produkt der beiden Faktoren in Abhängigkeit von dem w-fachen Vielfachen von 2l und dem k-fachen Vielfachen des Moduls ausgedrückt wird.
  2. 2
    Method according to claim 1, characterized in that in an extended Montgomery multiplication of two factors with respect to a modulus, the product of the two factors as a difference between the w multiple of 2l and the k-fold multiples of the module is expressed. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß bei einer erweiterten Montgomery-Multiplikation zweier Faktoren bezüglich eines Moduls das Produkt der beiden Faktoren als Unterschied zwischen dem w-fachen Vielfachen von 2l und dem k-fachen Vielfachen des Moduls ausgedrückt wird.
  3. 3
    A method according to claim 1 or claim 2, characterized in that the calculation on a multiplication of the factors a, b and a reduction in the module n based. Verfahren nach Anspruch 1 oder Anspruch 2, dadurch gekennzeichnet, daß die Berechnung auf einer Multiplikation der Faktoren a, b und einer Reduktion bezüglich des Moduls n beruht.
  4. 4
    Method according to one of claims 1 to 3, characterized in that the factors a, b in the form of coefficients aj, bk, each the bit length l have to be evaluated. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Faktoren a, b in Form von Koeffizienten aj, bk, die jeweils die Bitlänge l aufweisen, ausgewertet werden.
  5. 5
    Process according to claims 3 and 4, characterized in that the coefficients aj, bk multiplied in pairs at least in part as factors of an extended Montgomery multiplication and in each case two values ​​of the bit length l be disassembled. Verfahren nach den Ansprüchen 3 und 4, dadurch gekennzeichnet, daß die Koeffizienten aj, bk zumindest zum Teil paarweise als Faktoren einer erweiterten Montgomery-Multiplikation multipliziert und in je zwei Werte der Bitlänge l zerlegt werden.
  6. 6
    Method according to claim 5, characterized in that the multiplication of the factors a, b is a Karatsuba multiplication. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß die Multiplikation der Faktoren a, b eine Karatsuba-Multiplikation ist.
  7. 7
    Process according to claims 3 and 4, characterized in that the reduction in terms of the module n comprises several steps, wherein in each reduction step, the effective number of digits of optionally with 2-l multiplied product modulo n is shortened. Verfahren nach den Ansprüchen 3 und 4, dadurch gekennzeichnet, daß die Reduktion bezüglich des Moduls n mehrere Schritte umfaßt, wobei in jedem Reduktionsschritt die effektive Stellenanzahl des gegebenenfalls mit 2-l multiplizierten Produkts modulo n verkürzt wird.
  8. 8
    Method according to claim 7, characterized in that each reduction step comprises at least one extended Montgomery multiplication. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß jeder Reduktionsschritt mindestens eine erweiterte Montgomery-Multiplikation umfaßt.
  9. 9
    Method according to one of claims 1 to 8, characterized in that the factors a, b and / or the module n in a 2l-adischen representation are evaluated. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß die Faktoren a, b und/oder der Modul n in einer 2l-adischen Darstellung ausgewertet werden.
  10. 10
    Method according to claim 9, characterized in that a value n0 as least significant 2l-adic part of the module n is determined. Verfahren nach Anspruch 9, dadurch gekennzeichnet, daß ein Wert n0 als geringstwertige 2l-adische Stelle des Moduls n ermittelt wird.
  11. 11
    Method according to one of claims 1 to 8, characterized in that a value n0 as a root of the module n modulo 2l or as a root of value -n modulo 2l is determined. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß ein Wert n0 als eine Wurzel des Moduls n modulo 2l oder als eine Wurzel des Wertes -n modulo 2l ermittelt wird.
  12. 12
    Method according to claim 11, characterized in that the module n according to the relationship is split. Verfahren nach Anspruch 11, dadurch gekennzeichnet, daß der Modul n gemäß der Beziehung aufgespalten wird.
  13. 13
    Method according to claim 11 or claim 12 characterized in that the factors a and b according to the relations a ≡ (mod n) and b ≡ (mod n) are split. Verfahren nach Anspruch 11 oder Anspruch 12, dadurch gekennzeichnet, daß die Faktoren a und b gemäß den Beziehungen a ≡ (mod n) und b ≡ (mod n) aufgespalten werden.
  14. 14
    Method according to claim 5 and one of claims 10 to 13, characterized in that the extended Montgomery multiplication of the coefficients aj, bk concerning the module n0 or with respect to the module 1 is performed. Verfahren nach Anspruch 5 und einem der Ansprüche 10 bis 13, dadurch gekennzeichnet, daß die erweiterte Montgomery-Multiplikation der Koeffizienten aj, bk bezüglich des Moduls n0 oder bezüglich des Moduls 1 durchgeführt wird.
  15. 15
    Method according to claim 8 and one of claims 10 to 14, characterized in that at least one extended Montgomery multiplication of each reduction step with respect to the module n0 or with respect to the module 1 is performed. Verfahren nach Anspruch 8 und einem der Ansprüche 10 bis 14, dadurch gekennzeichnet, daß mindestens eine erweiterte Montgomery-Multiplikation jedes Reduktionsschritts bezüglich des Moduls n0 oder bezüglich des Moduls 1 durchgeführt wird.
  16. 16
    Method according to one of claims 1 to 15, characterized in that the bit length L approximately or exactly twice the bit length l is. Verfahren nach einem der Ansprüche 1 bis 15, dadurch gekennzeichnet, daß die Bitlänge L ungefähr oder genau doppelt so groß wie die Bitlänge l ist.
  17. 17
    Method according to one of claims 1 to 16, characterized in that the method is intended to be used in connection with an RSA encryption method or an RSA decryption method or an RSA verification method or an RSA signature method. Verfahren nach einem der Ansprüche 1 bis 16, dadurch gekennzeichnet, daß das Verfahren dazu vorgesehen ist, in Zusammenhang mit einem RSA-Verschlüsselungsverfahren oder einem RSA-Entschlüsselungsverfahren oder einem RSA-Verifikationsverfahren oder einem RSA-Signaturverfahren eingesetzt zu werden.
  18. 18
    Method according to one of claims 1 to 17, characterized in that the method is executed as a sub-step in a modular exponentiation. Verfahren nach einem der Ansprüche 1 bis 17, dadurch gekennzeichnet, daß das Verfahren als Teilschritt in einer modularen Exponentiation ausgeführt wird.
  19. 19
    Method for mechanically executing an extended Montgomery multiplication of two factors a, b concerning a module n, the factors a, b and the module n a given bit length l have and two result values w and k be determined so that the product a · b depending on the w multiple of 2l and the k-fold multiples of the module n and wherein the calculation is based on a first and a second Montgomery multiplication of the bit length l supported, wherein in the first and the second Montgomery multiplication respectively the factors a and b but different modules, to be used. Verfahren zum maschinellen Ausführen einer erweiterten Montgomery-Multiplikation zweier Faktoren a, b bezüglich eines Moduls n, wobei die Faktoren a, b und der Modul n eine vorgegebene Bitlänge l aufweisen und zwei Ergebniswerte w und k derart ermittelt werden, daß das Produkt a · b in Abhängigkeit von dem w-fachen Vielfachen von 2l und dem k-fachen Vielfachen des Moduls n ausgedrückt wird, und wobei die Berechnung auf eine erste und eine zweite Montgomery-Multiplikation der Bitlänge l abgestützt wird, wobei bei der ersten und der zweiten Montgomery-Multiplikation jeweils die Faktoren a und b, aber unterschiedliche Module, verwendet werden.
  20. 20
    Method according to claim 19, characterized in that at the first Montgomery multiplication the value n and at the second Montgomery multiplication the value 2l - n is used as a module. Verfahren nach Anspruch 19, dadurch gekennzeichnet, daß bei der ersten Montgomery-Multiplikation der Wert n und bei der zweiten Montgomery-Multiplikation der Wert 2l - n als Modul verwendet wird.
  21. 21
    Method according to claim 19 or 20, characterized in that a case distinction is made to calculate the results of the extended Montgomery multiplication from the results of the first and / or the second Montgomery multiplication. Verfahren nach Anspruch 19 oder 20, dadurch gekennzeichnet, daß eine Fallunterscheidung durchgeführt wird, um die Ergebnisse der erweiterten Montgomery-Multiplikation aus den Ergebnissen der ersten und/ oder der zweiten Montgomery-Multiplikation zu berechnen.
  22. 22
    Method according to claim 21, characterized in that in the case distinction at least information about the least significant bits of the results of the two Montgomery multiplication and the product a · b received. Verfahren nach Anspruch 21, dadurch gekennzeichnet, daß in die Fallunterscheidung zumindest Informationen über die geringstwertigen Bits der Ergebnisse der beiden Montgomery-Multiplikation sowie des Produkts a · b eingehen.
  23. 23
    Method according to one of claims 19 to 22, characterized in that the method for use in a method according to any one of claims 1 to 18 is provided. Verfahren nach einem der Ansprüche 19 bis 22, dadurch gekennzeichnet, daß das Verfahren zur Verwendung in einem Verfahren nach einem der Ansprüche 1 bis 18 vorgesehen ist.
  24. 24
    A computer program product comprising program instructions for causing at least one processor to carry out a method having the features of any one of claims 1 to 23. Computerprogrammprodukt, das Programmbefehle aufweist, um mindestens einen Prozessor zu veranlassen, ein Verfahren mit den Merkmalen eines der Ansprüche 1 bis 23 auszuführen.
  25. 25
    Portable data carrier, in particular chip card or chip module, which is set up to carry out a method having the features of one of claims 1 to 23. Tragbarer Datenträger, insbesondere Chipkarte oder Chipmodul, der zur Ausführung eines Verfahrens mit den Merkmalen eines der Ansprüche 1 bis 23 eingerichtet ist.
  26. 26
    Portable data carrier according to claim 25, characterized in that the data carrier has a coprocessor supporting bit length 1 Montgomery multiplications. Tragbarer Datenträger nach Anspruch 25, dadurch gekennzeichnet, daß der Datenträger einen Koprozessor aufweist, der Montgomery-Multiplikationen der Bitlänge 1 unterstützt.
Independent claims26