Paper 2019/829

Batch Binary Weierstrass

Billy Bob Brumley, Sohaib ul Hassan, Alex Shaindlin, Nicola Tuveri, and Kide Vuojärvi

Abstract

Bitslicing is a programming technique that offers several attractive features, such as timing attack resistance, high amortized performance in batch computation, and architecture independence. On the symmetric crypto side, this technique sees wide real-world deployment, in particular for block ciphers with naturally parallel modes. However, the asymmetric side lags in application, seemingly due to the rigidity of the batch computation requirement. In this paper, we build on existing bitsliced binary field arithmetic results to develop a tool that optimizes performance of binary fields at any size on a given architecture. We then provide an ECC layer, with support for arbitrary binary curves. Finally, we integrate into our novel dynamic OpenSSL engine, transparently exposing the batch results to the OpenSSL library and linking applications to achieve significant performance and security gains for key pair generation, ECDSA signing, and (half of) ECDH across a wide range of curves, both standardized and non-standard.

Metadata
Available format(s)
PDF
Category
Implementation
Publication info
Preprint. Minor revision.
Keywords
public-key cryptographyelliptic curve cryptosystemimplementationsoftware implementationbatchingbitslicingOpenSSL
Contact author(s)
billy brumley @ tuni fi
History
2019-07-18: received
Short URL
https://ia.cr/2019/829
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2019/829,
      author = {Billy Bob Brumley and Sohaib ul Hassan and Alex Shaindlin and Nicola Tuveri and Kide Vuojärvi},
      title = {Batch Binary Weierstrass},
      howpublished = {Cryptology ePrint Archive, Paper 2019/829},
      year = {2019},
      note = {\url{https://eprint.iacr.org/2019/829}},
      url = {https://eprint.iacr.org/2019/829}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.