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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
1. Verfasser: BEVAN, REGIS
Format: Patent
Sprache:eng ; fre
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
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.