Pragmatic equivalence and safety checking in Cryptol
Proceedings of the 3rd workshop on Programming languages meets program verification
RTA'03 Proceedings of the 14th international conference on Rewriting techniques and applications
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
Towards a mostly-automated prover for bit-vector arithmetic
Proceedings of the International C* Conference on Computer Science and Software Engineering
Hi-index | 0.00 |
Among many theories supported by SMT solvers, the theory of finite-precision bit-vector arithmetic is one of the most useful, for both hardware and software systems verification. This theory is also particularly useful for some specific domains such as cryptography, in which algorithms are naturally expressed in terms of bit-vectors. Cryptol is an example of a domain-specific language (DSL) and toolset for cryptography developed by Galois, Inc.; providing an SMT backend that relies on bit-vector decision procedures to certify the correctness of cryptographic specifications [3]. Most of these decision procedures use bit-blasting to reduce a bit-vector problem into pure propositional SAT. Unfortunately bit-blasting does not scale very well, especially in the presence of operators like multiplication or division.