We propose, implement, and evaluate a new approach for finding fault attacks against cryptographic implementations. Our approach is based on identifying implementation-independent mathematical properties we call fault conditions. We choose them so that it is possible to recover secret data purely by computing on sufficiently many data points that satisfy a fault condition. Fault conditions capture the essence of a large number of attacks from the literature, including lattice-based attacks on RSA. Moreover, they provide a basis for discovering automatically new attacks: using fault conditions, we specify the problem of finding faulted implementations as a program synthesis problem. Using a specialized form of program synthesis, we discover multiple faulted implementations on RSA and ECDSA that realize the fault conditions, and hence lead to fault attacks. Several of the attacks found by our tool are new, and of independent interest.
Category / Keywords: implementation / Fault Attacks, automated tools Date: received 6 Jun 2014 Contact author: Pierre-Alain Fouque at ens fr Available format(s): PDF | BibTeX Citation Version: 20140612:032650 (All versions of this report) Short URL: ia.cr/2014/436 Discussion forum: Show discussion | Start new discussion