PQC-XXJTLU · cryptanalysis

HomePublic-key schemes › Tins

Signature · multivariate

Tins

A stronger public report is awaiting reproduction.

PQC-X lists a third party's break once it has reproduced it; until then this page shows PQC-X's own results only.

Design

tins-1

Tins-128 falls below the call's quantum floor

Minor break · Argued · Cause: parameter size

Property: existential unforgeability, quantum

Cost against claim: ≈269 quantum against the required 280

The designers apply Grover's speed-up to their seed search only, not to their own classical bottleneck attack. Doing so gives about 269 for Tins-128, in the same cost metric as their own figure, below the 80 bits the call requires at level 128. Tins-256 and -512 land exactly on their quantum requirement.

Parameter setClaimAttack costVerdict
Tins-12880 quantum≈269 quantumMinor break
Tins-256 / -512128 / 256 quantum2128 / 2256 quantum (no margin)Holds

Evidence

Cause in the specification, traced to the specification text.

Limits

A quantum cost; fixed by larger parameters.

Credit

Found by PQC-X.

Implementation

Bugs in the submitted code; the specification is sound on these points.

tins-i1

The Tins-128 verifier compares against a variable it never assigns

Holds · Demonstrated · Cause: code

Property: correctness of verification; no claimed property shown to fall

Cost against claim: undefined behaviour in verification; not shown exploitable

In the Tins-128 code (reference, optimised and additional), verification compares the recomputed hash with a variable that is never assigned, which is undefined behaviour in C. A hardened rebuild rejects every signature. Tins-256 and -512 are correct.

Parameter setClaimAttack costVerdict
Tins-128correct verificationnoneHolds

Evidence

Cause in the submitted code; the specification is not affected.

Credit

Found by PQC-X.