On the (In)security of optimized Stern-like signature schemes
André Chailloux, Simona Etinski
TL;DR
The paper analyzes Stern-like code-based signatures, focusing on optimizations that replace randomness with pseudo-random seeds and often use deterministic commitments. It demonstrates a vulnerability: with seed length $l_{seed}=\lambda$ and deterministic commitments, an attack runs in time $O(2^{\lambda/2})$ and undermines the claimed $\lambda$-bit security. To fix this, the authors propose a simple salt + index construction that fixes a $2\lambda$-bit salt and a per-signature index, restoring $\lambda$-bit security (with only a $2\lambda$-bit signature-size increase) and ensuring multi-HVZK, hence EUF-CMA security via Fiat-Shamir. They also extend the framework to other optimizations, such as using Lee’s metric and hash trees, showing how these can further reduce signature length while maintaining security. Overall, the work provides concrete guidance for securely balancing efficiency and post-quantum security in Stern-based schemes, with practical impact for next-generation code-based signatures.
Abstract
Stern's signature scheme is a historically important code-based signature scheme. A crucial optimization of this scheme is to generate pseudo-random vectors and a permutation instead of random ones, and most proposals that are based on Stern's signature use this optimization. However, its security has not been properly analyzed, especially when we use deterministic commitments. In this article, we study the security of this optimization. We first show that for some parameters, there is an attack that exploits this optimization and breaks the scheme in time $O(2^{\fracλ{2}})$ while the claimed security is $λ$ bits. This impacts in particular the recent Quasy-cyclic Stern signature scheme [BGMS22]. Our second result shows that there is an efficient fix to this attack. By adding a string $salt \in \{0,1\}^{2λ}$ to the scheme, and changing slightly how the pseudo-random strings are generated, we prove not only that our attack doesn't work but that for any attack, the scheme preserves $λ$ bits of security, and this fix increases the total signature size by only $2λ$ bits. We apply this construction to other optimizations on Stern's signature scheme, such as the use of Lee's metric or the use of hash trees, and we show how these optimizations improve the signature length of Stern's signature scheme.
