Independent applied-cryptography consultancy

Design-level security for the AI era

A correct implementation can still implement an unsafe design. We review your protocol, threat model, and cryptographic code to find weaknesses before they become part of your product.

300+ engagements. Every engagement is led by a senior cryptographer.

Selected clients
verifpal · simple.vp
Attack found
attacker[active]
 
principal Alice[
  generates a
  ga = PUBKEY(a)
]
Alice → Bob: ga
 
principal Bob[
  generates m1, b, n
  gb = PUBKEY(b)
  gab = DH_KEX(ga, b)
  e1 = AEAD_ENC(gab, n, m1, nil)
]
Bob → Alice: gb, n, e1
 
principal Alice[
  kab = DH_KEX(gb, a)
  m1_a = AEAD_DEC(kab, n, e1, nil)?
]
protocol diagram 2 actors · 2 messages
alice bob ga gb, n, e1
queries — security goals
✗ confidentiality? m1 ATTACK FOUND
✗ authentication? Bob → Alice: e1 ATTACK FOUND
verifpal · simple.vp
No attack found
attacker[active]
 
principal Alice[
  generates a
  ga = PUBKEY(a)
]
Alice → Bob: [ga]
 
principal Bob[
  generates m1, b, n
  gb = PUBKEY(b)
  gab = DH_KEX(ga, b)
  e1 = AEAD_ENC(gab, n, m1, nil)
]
Bob → Alice: [gb], n, e1
 
principal Alice[
  kab = DH_KEX(gb, a)
  m1_a = AEAD_DEC(kab, n, e1, nil)?
]
protocol diagram 2 actors · 2 messages
alice bob [ga] [gb], n, e1
queries — security goals
✓ confidentiality? m1 PASS
✓ authentication? Bob → Alice: e1 PASS

Security has to start at the design level

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

Selected reports

All case studies

Key management

1Password

With Cure53, we reviewed key rotation, vault security under server compromise, and public-key validation in 1Password B5.

View report (PDF): 1Password

Payment settlement

4Mica

We audited 4Mica's BLS-signed payment guarantees and on-chain settlement. The cryptography was correct; the serious risks were in settlement and key management.

View report (PDF): 4Mica

Post-quantum libraries

CE Labs libcrux

We published five findings in libcrux and analyzed the gaps between the code, Cryspen's hax pipeline, and the library's verification claims.

Read the series: CE Labs libcrux
Symbolic Software is run by an accomplished researcher, with significant contributions in the area of applied cryptography. They're the right team for projects that require rigorous design and engineering.
Jean-Philippe Aumasson, Chief Security Officer, Taurus Group.

Our practice areas

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. We have run it against 19 implementations in 7 languages.

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

Recent posts

All posts
2026.07.29 · Announcement

Meet the Symbolic Software Summer 2026 Team

Five people joined us this summer: two research interns formalizing zkVM soundness bounds in Lean, and three teaching assistants running the Applied Cryptography course. Here they are, in their own words.

2026.07.22 · Essay

Why I Teach Cryptography in Lebanon

Cedarcrypt's first edition has concluded. On what a year of teaching cryptography in and for Lebanon has meant, why the conference met in Cyprus rather than Beirut, and the decades of work ahead.

Teaching and community

Our university course publishes its materials freely. Cedarcrypt brings applied-cryptography teaching and research together with the IACR.