Results 1 
9 of
9
Structure of a proofproducing compiler for a subset of higher order logic
 16th European Symposium on Programming (ESOP’07
, 2007
"... Abstract. We give an overview of a proofproducing compiler which translates recursion equations, defined in higher order logic, to assembly language. The compiler is implemented and validated with a mix of translation validation and compiler verification techniques. Both the design of the compiler ..."
Abstract

Cited by 10 (7 self)
 Add to MetaCart
(Show Context)
Abstract. We give an overview of a proofproducing compiler which translates recursion equations, defined in higher order logic, to assembly language. The compiler is implemented and validated with a mix of translation validation and compiler verification techniques. Both the design of the compiler and its mechanical verification are implemented in the same logic framework.
Functional correctness proofs of encryption algorithms
 In Proceedings of 12th Conference on Logic for Programming Artificial Intelligence and Reasoning (LPAR 2005), number 3835 in LNAI
, 2005
"... Abstract. We discuss a collection of mechanized formal proofs of symmetric key block encryption algorithms (AES, MARS, Twofish, RC6, Serpent, IDEA, and TEA), performed in an implementation of higher order logic. For each algorithm, functional correctness, namely that decryption inverts encryption, i ..."
Abstract

Cited by 10 (3 self)
 Add to MetaCart
(Show Context)
Abstract. We discuss a collection of mechanized formal proofs of symmetric key block encryption algorithms (AES, MARS, Twofish, RC6, Serpent, IDEA, and TEA), performed in an implementation of higher order logic. For each algorithm, functional correctness, namely that decryption inverts encryption, is formally proved by a simple but effective proof methodology involving application of invertibility lemmas in the course of symbolic evaluation. Block ciphers are then lifted to the encryption of arbitrary datatypes by using modes of operation to encrypt lists of bits produced by a polytypic encoding method. 1
Compilation as Rewriting in Higher Order Logic
"... Abstract. We present an approach based on the use of deductive rewriting to construct a trusted compiler for a subset of the native functions of higher order logic. Program transformations are specified by equality theorems that characterize the transformations; the mechanical application of these r ..."
Abstract

Cited by 10 (5 self)
 Add to MetaCart
(Show Context)
Abstract. We present an approach based on the use of deductive rewriting to construct a trusted compiler for a subset of the native functions of higher order logic. Program transformations are specified by equality theorems that characterize the transformations; the mechanical application of these rules is directed by programs written in the metalanguage of the logical framework. Each application of a rule ensures that the transformed code is equivalent to the original one, thus warranting the correctness of the entire compiler. 1
Formal verification for highassurance behavioral synthesis
 in Proc. of ATVA
, 2009
"... Abstract. We present a framework for certifying hardware designs generated through behavioral synthesis, by using formal verification to certify the associated synthesis transformations. We show how to decompose this certification into two components, which can be respectively handled by the complem ..."
Abstract

Cited by 8 (6 self)
 Add to MetaCart
(Show Context)
Abstract. We present a framework for certifying hardware designs generated through behavioral synthesis, by using formal verification to certify the associated synthesis transformations. We show how to decompose this certification into two components, which can be respectively handled by the complementary verification techniques, theorem proving and model checking. The approach produces a certified reference flow, composed of transformations distilled from production synthesis tools but represented as transformations on graphs with an associated formal semantics. This toolindependent abstraction disentangles our framework from the inner workings of specific synthesis tools while permitting certification of hardware designs generated from a broad class of behavioral descriptions. We provide experimental results suggesting the scalability on practical designs. 1
A proofproducing software compiler for a subset of higher order logic
, 2006
"... We discuss a proofproducing compiler which translates first order recursion equations, defined in higher order logic, to assembly language. The front end of the compiler is based on a series of sourcetosource translations, starting with a semantic CPS translation and culminating in graphcolouri ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
We discuss a proofproducing compiler which translates first order recursion equations, defined in higher order logic, to assembly language. The front end of the compiler is based on a series of sourcetosource translations, starting with a semantic CPS translation and culminating in graphcolouring register allocation. Equality of the original program and the result of register allocation is proved automatically. A translation validation assertion is then generated, relating values of the original function to the result of running the compiled code on a subset of the ARM machine. Approaches to the automatic proof of this formula are also discussed.
Combining Theorem Proving and Model Checking for Certification of Behavioral Synthesis Flows
"... Abstract—We develop a framework for certifying behavioral synthesis flows. Certification is decomposed into verified and verifying components, which are discharged by theorem proving and model checking respectively. The bridge between these components is provided by a new formal structure, clocked c ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
Abstract—We develop a framework for certifying behavioral synthesis flows. Certification is decomposed into verified and verifying components, which are discharged by theorem proving and model checking respectively. The bridge between these components is provided by a new formal structure, clocked control data flow graph (CCDFG), that serves as the golden circuit model used in this framework. We discuss how CCDFGs facilitate both theorem proving and model checking. The semantics of CCDFGs have been formalized with the ACL2 theorem prover, and the formalization used to certify generic synthesis transformations. Finally, we extend GSTE to model check synthesized netlists with respect to CCDFG specifications. I.
Deductive Translation Validation for a Subset of Higher Order Logic
"... Abstract. We discuss a proofproducing compiler for a subset of higher order logic. The translation validation is automatic, and is based on Hoare rules derived from a compositional semantics for sequences of instructions for an ARMlike machine. Partial and total correctness are dealt with. The mai ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. We discuss a proofproducing compiler for a subset of higher order logic. The translation validation is automatic, and is based on Hoare rules derived from a compositional semantics for sequences of instructions for an ARMlike machine. Partial and total correctness are dealt with. The main focus is on issues in the intermediate level and backend of the compiler. 1
Automated Analysis and Synthesis of PaddingBased Encryption Schemes
, 2012
"... Verifiable security is an emerging approach in cryptography that advocates the use of principled tools for building machinechecked security proofs of cryptographic constructions. Existing tools following this approach, such as EasyCrypt or CryptoVerif, fall short of finding proofs automatically for ..."
Abstract
 Add to MetaCart
Verifiable security is an emerging approach in cryptography that advocates the use of principled tools for building machinechecked security proofs of cryptographic constructions. Existing tools following this approach, such as EasyCrypt or CryptoVerif, fall short of finding proofs automatically for many interesting constructions. In fact, devising automated methods for analyzing the security of large classes of cryptographic constructions is a longstanding problem which precludes a systematic exploration of the space of possible designs. This paper addresses this issue for paddingbased encryption schemes, a class of publickey encryption schemes built from hash functions and trapdoor permutations, which includes widely used constructions such as RSAOAEP. Firstly, we provide algorithms to search for proofs of security against chosenplaintext and chosenciphertext attacks in the random oracle model. These algorithms are based on domainspecific logics with a computational interpretation and yield quantitative security guarantees; for proofs of chosenplaintext security, we output machinechecked proofs in EasyCrypt. Secondly, we provide a crawler for exhaustively exploring the space of paddingbased encryption schemes under userspecified restrictions (e.g. on the size of their description), using filters to prune the search space. Lastly, we provide a