Una dimostrazione formale è una dimostrazione espressa in un linguaggio preciso che un computer può controllare passo per passo, come un assistente di dimostrazione o un dimostratore di teoremi. A differenza di un argomento in linguaggio naturale, elimina l'ambiguità codificando teoremi, ipotesi e regole di inferenza in forma leggibile dalla macchina.
Nella sicurezza informatica, le dimostrazioni formali sono importanti perché possono verificare proprietà critiche di software e protocolli, come se un flusso di autenticazione resiste alla falsificazione o se un algoritmo crittografico viene usato correttamente. I difensori le usano per ridurre i difetti di progettazione nel codice ad alta affidabilità, mentre gli attaccanti possono prendere di mira il processo di compilazione, le dipendenze o la toolchain che produce l'artefatto della dimostrazione. Una dimostrazione formale è più solida se affiancata da revisione indipendente, build riproducibili e una provenienza chiara, perché la dimostrazione certifica solo ciò che è stato effettivamente codificato.


