Abstract. When we execute a program, how are we always sure it's doing what it should do? We usually aren't! "Formal methods" are system design techniques that use rigorously specified mathematical models to build software and hardware systems. When you build a system that is part of critical infrastructure, you really want to make sure it works. In this talk we first give some motivation for the use of formal methods, and then discuss the relevance of formal methods to both cryptographic algorithms and protocols, and the tools available to use in different situations.
Suggested reading: ia.cr/2023/010
[Slides]
Security and Privacy: cryptography