Software implementation of modular exponentiation, using advanced vector instructions architectures

Shay Gueron, Vlad Krasnov

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

This paper describes an algorithm for computing modular exponentiation using vector (SIMD) instructions. It demonstrates, for the first time, how such a software approach can outperform the classical scalar (ALU) implementations, on the high end x86-64 platforms, if they have a wide SIMD architecture. Here, we target speeding up RSA2048 on Intel's soon-to-arrive platforms that support the AVX2 instruction set. To this end, we applied our algorithm and generated an optimized AVX2-based software implementation of 1024-bit modular exponentiation. This implementation is seamlessly integrated into OpenSSL, by patching over OpenSSL 1.0.1. Our results show that our implementation requires 51% less instructions than the current OpenSSL 1.0.1 implementation. This illustrates the potential significant speedup in the RSA2048 performance, which is expected in the coming (2013) Intel processors. The impact of such speedup on servers is noticeable, especially since migration to RSA2048 is recommended by NIST, starting from 2013.

Original languageEnglish
Title of host publicationArithmetic of Finite Fields - 4th International Workshop, WAIFI 2012, Proceedings
Pages119-135
Number of pages17
DOIs
StatePublished - 2012
Event4th International Workshop on the Arithmetic of Finite Fields, WAIFI 2012 - Bochum, Germany
Duration: 16 Jul 201219 Jul 2012

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume7369 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference4th International Workshop on the Arithmetic of Finite Fields, WAIFI 2012
Country/TerritoryGermany
CityBochum
Period16/07/1219/07/12

Keywords

  • AVX
  • AVX2
  • Montgomery multiplication
  • RSA
  • SIMD
  • modular arithmetic
  • modular exponentiation

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'Software implementation of modular exponentiation, using advanced vector instructions architectures'. Together they form a unique fingerprint.

Cite this