RC RANDOM CHAOS

F*: The proof-oriented language quietly verifying crypto in Firefox, Linux and Azure

· via Hacker News

Original source

F*: A general-purpose proof-oriented programming language

Hacker News →

F* is a general-purpose, proof-oriented programming language that pairs dependent types with SMT-based automation and tactic-driven interactive theorem proving, letting developers prove properties about their code rather than just test for them. It supports both functional and effectful programming, compiles by default to OCaml, and can be extracted to F#, C, WebAssembly, or verified assembly via the KaRaMeL and Vale toolchains. The project is open source under Apache 2.0, self-hosted in F*, and developed jointly by Microsoft Research, Inria, and the community.

The practical payoff shows up in security-critical code that already ships at scale. The HACL*/ValeCrypt/EverCrypt stack provides formally proven cryptographic primitives now used in Mozilla Firefox, the Linux kernel, Python, mbedTLS, the Tezos blockchain, the ElectionGuard voting SDK, and WireGuard. A sibling tool, EverParse, generates verified C parsers for binary formats and validates every network packet traversing Windows Hyper-V and the Azure cloud. Verified implementations of TLS 1.3, the QUIC record layer, the Signal protocol, and DICE measured boot round out the track record.

The significance is that F* moves formal verification from an academic exercise into production infrastructure, targeting exactly the parsing and cryptographic code where memory-safety and correctness bugs have historically produced the most damaging vulnerabilities. Ongoing research—including the PulseCore concurrent separation logic and the Pulse embedded language—continues to extend what can be machine-checked, signaling that high-assurance code for concurrent and low-level systems is becoming more tractable.

Read the full article

Continue reading at Hacker News →

This is an AI-generated summary. Read the original for the full story.