Design-level security
for the AI era.

Symbolic Software is an independent applied-cryptography consultancy. We review protocols, cryptographic designs, threat models, formal models, and implementations.

verifpal · simple.vp
Attack found
attacker[active]
 
principal Alice[
  knows public c0
  generates a
  ga = PUBKEY(a)
]
Alice Bob: ga
 
principal Bob[
  knows public c0
  generates m1, b
  gb = PUBKEY(b)
  gab = DH_KEX(ga, b)
  e1 = AEAD_ENC(gab, m1, c0)
]
Bob Alice: gb, e1
protocol diagram 2 actors · 2 messages
alice bob ga gb, e1
queries — security goals
confidentiality? m1 ATTACK FOUND
authentication? Bob → Alice: e1 ATTACK FOUND

Security has to start at the design level.

We review the threat model, protocol, primitive choices, formal models, and implementation. More than 250 engagements since 2017 have followed that approach.

Our practice areas

Selected clients
Conformance testing

Crucible.
ML-KEM and
ML-DSA tests.

Crucible runs 129 conformance tests across 12 categories. Each test cites the relevant FIPS section and, where applicable, the audit finding that prompted it.

129tests
12categories
19implementations tested
7languages supported
View on GitHub →
crucible · ml-kem+ml-dsa.run
Suite index
tests available
129 / 129
78 ML-KEM 51 ML-DSA
kem/compression12 tests
kem/ntt21 tests
kem/bounds9 tests
kem/decapsulation12 tests
kem/serialization12 tests
kem/sampling12 tests
dsa/norm-checks9 tests
dsa/arithmetic9 tests
dsa/signing9 tests
dsa/verification9 tests
dsa/serialization9 tests
dsa/timing6 tests

Writing

Recent posts All posts →
2026.08.26 · Software

Verifpal 1.3: Who Alice Thinks She's Talking To

Verifpal 1.3 adds peer scenarios, which instantiate a principal's counterparty differently across concurrent runs. That is what finally lets Verifpal find Lowe's attack on Needham-Schroeder and tell that protocol apart from its fix. Alongside it, every passing query now prints the envelope it was reached under, --saturate raises the session count until verdicts stop moving, and --auto-queries generates a query set from the model.

Read →
2026.08.15 · Software

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 →
2026.08.08 · Software

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 →

The program

July 13–16, 2026 Paphos, Cyprus AUB Mediterraneo
1Welcome & FoundationsMon, Jul 13
2Applied Cryptography in PracticeTue, Jul 14
3Protocols & PrimitivesWed, Jul 15
4Advanced Constructions & ClosingThu, Jul 16
View full program at cedarcrypt.org →