TY - GEN
T1 - Symbolic methods in computational cryptography proofs
AU - Barthe, Gilles
AU - Gregoire, Benjamin
AU - Jacomme, Charlie
AU - Kremer, Steve
AU - Strub, Pierre Yves
N1 - Publisher Copyright:
© 2019 IEEE.
PY - 2019/6/1
Y1 - 2019/6/1
N2 - Code-based game-playing is a popular methodology for proving security of cryptographic constructions and side-channel countermeasures. This methodology relies on treating cryptographic proofs as an instance of relational program verification (between probabilistic programs), and decomposing the latter into a series of elementary relational program verification steps. In this paper, we develop principled methods for proving such elementary steps for probabilistic programs that operate over finite fields and related algebraic structures. We focus on three essential properties: program equivalence, information flow, and uniformity. We give characterizations of these properties based on deducibility and other notions from symbolic cryptography. We use (sometimes improve) tools from symbolic cryptography to obtain decision procedures or sound proof methods for program equivalence, information flow, and uniformity. Finally, we evaluate our approach using examples drawn from provable security and from side-channel analysis-for the latter, we focus on the masking countermeasure against differential power analysis. A partial implementation of our approach is integrated in EasyCrypt, a proof assistant for provable security, and in MaskVerif, a fully automated prover for masked implementations.
AB - Code-based game-playing is a popular methodology for proving security of cryptographic constructions and side-channel countermeasures. This methodology relies on treating cryptographic proofs as an instance of relational program verification (between probabilistic programs), and decomposing the latter into a series of elementary relational program verification steps. In this paper, we develop principled methods for proving such elementary steps for probabilistic programs that operate over finite fields and related algebraic structures. We focus on three essential properties: program equivalence, information flow, and uniformity. We give characterizations of these properties based on deducibility and other notions from symbolic cryptography. We use (sometimes improve) tools from symbolic cryptography to obtain decision procedures or sound proof methods for program equivalence, information flow, and uniformity. Finally, we evaluate our approach using examples drawn from provable security and from side-channel analysis-for the latter, we focus on the masking countermeasure against differential power analysis. A partial implementation of our approach is integrated in EasyCrypt, a proof assistant for provable security, and in MaskVerif, a fully automated prover for masked implementations.
KW - Computer aided cryptography
KW - Decidability and complexity
KW - Formal methods and verification
U2 - 10.1109/CSF.2019.00017
DO - 10.1109/CSF.2019.00017
M3 - Conference contribution
AN - SCOPUS:85072602783
T3 - Proceedings - IEEE Computer Security Foundations Symposium
SP - 136
EP - 151
BT - Proceedings - 2019 IEEE 32nd Computer Security Foundations Symposium, CSF 2019
PB - IEEE Computer Society
T2 - 32nd IEEE Computer Security Foundations Symposium, CSF 2019
Y2 - 25 June 2019 through 28 June 2019
ER -