Paper 2017/1083

CAMFAS: A Compiler Approach to Mitigate Fault Attacks via Enhanced SIMDization

Zhi Chen, Junjie Shen, Alex Nicolau, Alex Veidenbaum, Nahid Farhady Ghalaty, and Rosario Cammarota

Abstract

The trend of supporting wide vector units in general purpose microprocessors suggests opportunities for developing a new and elegant compilation approach to mitigate the impact of faults to cryptographic implementations, which we present in this work. We propose a compilation flow, CAMFAS, to automatically and selectively introduce vectorization in a cryptographic library - to translate a vanilla library into a library with vectorized code that is resistant to glitches. Unlike in traditional vectorization, the proposed compilation flow uses the extent of the vectors to introduce spatial redundancy in the intermediate computations. By doing so, without significantly increasing code size and execution time, the compilation flow provides sufficient redundancy in the data to detect errors in the intermediate values of the computation. Experimental results show that the proposed approach only generates an average of 26\% more dynamic instructions over a series of asymmetric cryptographic algorithms in the Libgcrypt library.

Note: Added an brief acknowledgement section for the funding source.

Metadata
Available format(s)
PDF
Category
Public-key cryptography
Publication info
Published elsewhere. FDTC '17 Proceedings of the Workshop on Fault Diagnosis and Tolerance in Cryptography
Keywords
Fault attackSIMDVectorizationCountermeasure
Contact author(s)
junjies1 @ uci edu
History
2018-08-01: revised
2017-11-10: received
See all versions
Short URL
https://ia.cr/2017/1083
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2017/1083,
      author = {Zhi Chen and Junjie Shen and Alex Nicolau and Alex Veidenbaum and Nahid Farhady Ghalaty and Rosario Cammarota},
      title = {CAMFAS: A Compiler Approach to Mitigate Fault Attacks via Enhanced SIMDization},
      howpublished = {Cryptology ePrint Archive, Paper 2017/1083},
      year = {2017},
      note = {\url{https://eprint.iacr.org/2017/1083}},
      url = {https://eprint.iacr.org/2017/1083}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.