Design-level security
for the AI era.
An applied cryptography practice. We audit the layer above implementation: protocol architecture, primitive selection, threat modeling, formal verification. AI bug-finders do not work at that layer.
Security has to start at the design level.
Protocol architecture, primitive selection, threat modeling, formal verification: everything downstream is a consequence of those decisions. More than 250 engagements since 2017 have started from that premise.
Our practice areas
Audits
Protocol architecture, cryptographic review, threat modeling, formal verification.
Tools
Verifpal, Crucible, hpke-ng, Kyber-K2SO, PQ Migration Playbook.
Teaching
Applied Cryptography. Free for 50 Lebanese students this summer.
Lab
Post-Quantum Migration Playbook, advisories, papers, the audit floor.
From the audit floor
Recurring bug classes from our audit work, with client details removed.
Constant-time leak in ECC point doubling
AEAD nonce reuse under concurrent state
Incorrect rounding in lattice solver
Public key not validated to correct subgroup
Unchecked length field in TLV parser
Crucible.
Bug classes,
encoded as tests.
129 tests across 12 categories, each tagged with the bug class, the FIPS spec section, and the audit it came from. Wire any ML-KEM or ML-DSA implementation up over stdin/stdout and get a pass or fail in seconds.
From the lab
Verifpal Reaches 1.0: A Toy Becomes an Instrument
Verifpal 1.0 removes the beta warning the tool has printed with every analysis since 2020, on the strength of a new paper. The language now covers post-quantum key exchange, declared weakening assumptions, witness-based unlinkability, and two concurrent sessions of every principal; the engine behind it comes with a soundness theorem that holds however the solver behaves, unconditional termination, and attack traces measured for readability against ProVerif and Tamarin.
Read →Verifpal 0.80.0: Nuancing Weak Cryptography Modeling and Witness-Based Unlinkability
Verifpal 0.80.0 lets a model declare that a particular piece of cryptography is broken (weak, forgeable, and from a chosen phase onward) instead of approximating the break with a list of leaked values, and decides unlinkability queries by searching for a concrete link witness that it then reports back to you.
Read →Verifpal 0.70.0: Post-Quantum Key Exchange, and an Attacker That Works Backwards
Verifpal 0.70.0 removes Diffie-Hellman equations from the modelling language, adds a generic KEM for post-quantum and hybrid key exchange, rebuilds the active attacker around a search that works backwards from each query, and narrates every attack it finds as numbered causal steps.
Read →