Montgomery Truncated Multiplications and Batch Exponentiations using IFMA52 instructions
Multiplication de Montgomery tronquée et exponentiations modulaires en lot utilisant l'instruction VPMADD52
Résumé
This presentation aims to present the concept of Truncated Montgomery Modular Multiplication. This multiplication consists in calculating the upper part of a result knowing that the lower part is zero. Our proposal aims to eliminate the calculation of the lower part to accelerate performance. This is possible by taking precautions to guarantee the accuracy of the result.
This operation, applied to the vectorized batch calculation of modular exponentiation type RSA brings performance gains of 12 to 20%, for sizes of 1024 to 4096 bits, depending on the multiplication operation used: schoolbook or Karatsuba. These implementations lead to a higher computational throughput than state-of-the-art libraries such as OpenSSL.
Cette présentation a pour but de présenter le concept de Multiplication Modulaire de Montgomery tronquée. Cette multiplication consiste à calculer la partie haute d'un résultat sachant que la partie basse est nulle. Notre proposition vise à éliminer le calcul de la partie basse pour accélérer les performances. Ceci est possible en prenant des précautions pour garantir la justesse du résultat.
Cette opération, appliquée au calcul en lot vectorisé d'exponentiation modulaire type RSA apporte des gains en performances de 12 à 20 %, pour des tailles de 1024 à 4096 bits, selon l'opération de multiplications utilisée : schoolbook ou Karatsuba. Ces implantations conduisent à un débit de calcul supérieur à celui des biliothèques de l'état de l'art telles que OpenSSL.
Origine | Fichiers produits par l'(les) auteur(s) |
---|