PROTECTING MODULAR EXPONENTIATION IN CRYPTOGRAPHIC OPERATIONS
The present invention proposes a method for executing a blinded modular exponentiation, based on a window method with a window size of k bits so using 2k pre-calculated variables (Yi = Xi mod N for i = 0 to 2k-1), on input data X of n bits to obtain output data S of n bits, S = Xd mod N, where d is...
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Patent |
Sprache: | eng ; fre |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | The present invention proposes a method for executing a blinded modular exponentiation, based on a window method with a window size of k bits so using 2k pre-calculated variables (Yi = Xi mod N for i = 0 to 2k-1), on input data X of n bits to obtain output data S of n bits, S = Xd mod N, where d is the exponent of size m bits and N is the modulus of n bits, comprising the steps of: ° blinding the pre-calculated variables by a blinding value Bi being a pseudo-random variable of the size of the modulus (n bits) and lower than the modulus (Yj = Yi x B1 mod N for i = 0 to 2k-1) ° executing the modular exponentiation with the blinded pre-calculated variables, to obtain an intermediate result (A), ° unblinding the intermediate result by a unblinding value C1 = (B1 g)-1 mod N where g equals the concatenation of m/k times the value ''1" coded on k bits, to obtain the output data S.
L'invention concerne un procédé permettant d'exécuter une exponentiation modulaire à l'aveugle, qui s'appuie sur un procédé de fenêtre avec une taille de fenêtre de k bits utilisant des variables précalculées 2k (Yi = Xi mod N pour i = 0 à 2k-1), sur des données d'entrée X de n bits afin d'obtenir des données de sortie S de n bits, S = Xd mod N, où d est l'exposant de bits de taille m et N est le module de n bits, ledit procédé comprenant les étapes consistant à : ° masquer les variables précalculées par une valeur de masquage Bi qui est une variable pseudo-aléatoire de la taille du module (n bits) et inférieure au module (Yj = Yi x B1 mod N pour i = 0 à 2k-1) ° exécuter l'exponentiation modulaire avec les variables précalculées masquées afin d'obtenir un résultat intermédiaire (A), ° démasquer le résultat intermédiaire par une valeur de démasquage C1 = (B1 g)-1 mod N où g correspond à la concaténation de m/k fois la valeur ''1" codée sur k bits, afin d'obtenir les données de sortie S. |
---|