Top 1K Features Creators Events Podcasts Books Extensions Interviews Blog Explorer CSV

verifpal

< >

verifpal is a programming language created in 2019.

#2001on PLDB 5Years Old
Homepage

Verifpal is new software for verifying the security of cryptographic protocols. The Verifpal language is meant to illustrate protocols close to how one may describe them in an informal conversation, while still being precise and expressive enough for formal modeling. Verifpal reasons about the protocol model with explicit principals: Alice and Bob exist and have independent states.


Example from the web:
// All lines that start with "//" are treated as comments and ignored by Verifpal // A principal block looks like the following principal SmartphoneA[ // In the line below we state that Alice knows the public BroadcastKey knows public BroadcastKey // SK is going to be a secret random value // To define it we use the "generates" keyword // We will use the following template for SK variable names // SK[day number][principal initial] generates SK0A // We will use the following template for EphID variable names // EphID[day number][value number][principal initial] EphID00A, EphID01A, EphID02A = HKDF(nil, SK0A, BroadcastKey) ]

Language features

Feature Supported Example Token
Comments ✓ // A comment
Line Comments ✓ // A comment //
Semantic Indentation X

- Build the next great programming language · Add · Issues · About · Search · Keywords · Livestreams · Labs · Resources · Acknowledgements

Built with Scroll v154.2.0