@inproceedings{c1b76b9fea054d8b9805f191f2d9ae6d,
title = "Certified synthesis of efficient batch verifiers",
abstract = "Many algorithms admit very efficient batch versions that compute simultaneously the output of the algorithms on a set of inputs. Batch algorithms are widely used in cryptography, especially in the setting of pairing-based computations, where they deliver significant speed-ups. Auto Batch is an automated tool that computes highly optimized batch verification algorithms for pairing-based signature schemes. Thanks to finely tuned heuristics, Auto Batch is able to rediscover efficient batch verifiers for several signature schemes of interest, and in some cases to output batch verifiers that outperform the best known verifiers from the literature. However, Auto Batch only provides weak guarantees (in the form of a LaTeX proof) of the correctness of the batch algorithms it outputs. In this paper, we verify the correctness and security of these algorithms using the Easy Crypt framework. To achieve this goal, we define a domain-specific language to describe verification algorithms based on pairings and provide an efficient algorithm for checking (approximate) observational equivalence between expressions of this language. By translating the output of Auto Batch to this language and applying our verification procedure, we obtain machine-checked correctness proofs of the batch verifiers. Moreover, we formalize notions of security for batch verifiers and we provide a generic proof in Easy Crypt that batch verifiers satisfy a security property called screening, provided they are correct and the original signature is unforgeable against chosen-message attacks. We apply our techniques to several well-known pairing-based signature schemes from the literature, and to Groth-Sahai zero-knowledge proofs.",
keywords = "Certified proofs, Cryptographic design, Cryptography, Signature schemes",
author = "Akinyele, \{Joseph A.\} and Gilles Barthe and Benjamin Gr{\'e}goire and Benedikt Schmidt and Strub, \{Pierre Yves\}",
note = "Publisher Copyright: {\textcopyright} 2014 IEEE.; 27th IEEE Computer Security Foundations Symposium, CSF 2014 ; Conference date: 19-07-2014 Through 22-07-2014",
year = "2014",
month = nov,
day = "13",
doi = "10.1109/CSF.2014.19",
language = "English",
series = "Proceedings of the Computer Security Foundations Workshop",
publisher = "IEEE Computer Society",
pages = "153--165",
booktitle = "Proceedings - 2014 IEEE 27th Computer Security Foundations Symposium, CSF 2014",
}