A simple unpredictable pseudo random number generator
SIAM Journal on Computing
Handbook of Applied Cryptography
Handbook of Applied Cryptography
Separation Logic: A Logic for Shared Mutable Data Structures
LICS '02 Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science
Introduction to Cryptography: Principles and Applications (Information Security and Cryptography)
Introduction to Cryptography: Principles and Applications (Information Security and Cryptography)
A compositional natural semantics and Hoare logic for low-level languages
Theoretical Computer Science
Theory and application of trapdoor functions
SFCS '82 Proceedings of the 23rd Annual Symposium on Foundations of Computer Science
Formal certification of code-based cryptographic proofs
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A Formal Language for Cryptographic Pseudocode
LPAR '08 Proceedings of the 15th International Conference on Logic for Programming, Artificial Intelligence, and Reasoning
On Formal Verification of Arithmetic-Based Cryptographic Primitives
Information Security and Cryptology --- ICISC 2008
Extensible Proof-Producing Compilation
CC '09 Proceedings of the 18th International Conference on Compiler Construction: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Proving pointer programs in higher-order logic
Information and Computation - Special issue: 19th international conference on automated deduction (CADE-19)
Formal proof of provable security by game-playing in a proof assistant
ProvSec'07 Proceedings of the 1st international conference on Provable security
An approach to formal verification of arithmetic functions in assembly
ASIAN'06 Proceedings of the 11th Asian computing science conference on Advances in computer science: secure software and related issues
A framework for game-based security proofs
ICICS'07 Proceedings of the 9th international conference on Information and communications security
Formal verification of the heap manager of an operating system using separation logic
ICFEM'06 Proceedings of the 8th international conference on Formal Methods and Software Engineering
A compositional logic for control flow
VMCAI'06 Proceedings of the 7th international conference on Verification, Model Checking, and Abstract Interpretation
Certifying assembly with formal security proofs: The case of BBS
Science of Computer Programming
On construction of a library of formally verified low-level arithmetic functions
Proceedings of the 27th Annual ACM Symposium on Applied Computing
Certifying assembly with formal security proofs: The case of BBS
Science of Computer Programming
Towards formal verification of TLS network packet processing written in C
PLPV '13 Proceedings of the 7th workshop on Programming languages meets program verification
High-level separation logic for low-level code
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
On construction of a library of formally verified low-level arithmetic functions
Innovations in Systems and Software Engineering
Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security
Hi-index | 0.00 |
With today's dissemination of embedded systems manipulating sensitive data, it has become important to equip low-level programs with strong security guarantees. Unfortunately, security proofs as done by cryptographers are about algorithms, not about concrete implementations running on hardware. In this article, we show how to perform security proofs to guarantee the security of assembly language implementations of cryptographic primitives. Our approach is based on a framework in the Coq proof assistant that integrates correctness proofs of assembly programs with game-playing proofs of provable security. We demonstrate the usability of our approach using the Blum-Blum-Shub pseudorandom number generator, for which an MIPS implementation for smartcards is shown cryptographically secure.