Source-linked AI summary
Distinguisher-Based Attacks on Public-Key Cryptosystems Using Reed-Solomon Codes
Alain Couvreur, Philippe Gaborit, Valérie Gauthier-Umaña, Ayoub Otmani, Jean-Pierre Tillich
TL;DR
Several public-key schemes based on generalized Reed-Solomon codes followed an earlier GRS-based cryptosystem that had been shown insecure, leaving the security of modified schemes at issue. The paper uses component-wise products to recover secret structure in these schemes and presents a product-based filtration as an alternative way to recover a GRS code’s defining structure.
Problem
After the original GRS-based Niederreiter scheme was shown insecure, several modified GRS-based public-key schemes were proposed, raising the question of their key-recovery security.
Source: Introduction · p. 1Method
The paper uses component-wise-product distinguishers to detect GRS-derived structure and recover secret keys, and builds a decreasing product-based filtration to recover a GRS code’s structure.
Source: Introduction · p. 3, Conclusion · p. 20Results
The authors report efficient key-recovery attacks against schemes based on GRS codes, including the Niederreiter, Wieschebrink, Baldi et al., and Bogdanov–Lee schemes.
Source: Conclusion · p. 20Takeaways & Limitations
The attacks show that modified public codes derived from GRS codes can retain structure exploitable for key recovery.
Source: Conclusion · p. 20The filtration attack is more complex than Sidelnikov–Shestakov’s, although it avoids computing minimum-weight codewords.
Source: §5 · p. 18
Abstract
from arXiv · showhide
Because of their interesting algebraic properties, several authors promote the use of generalized Reed-Solomon codes in cryptography. Niederreiter was the first to suggest an instantiation of his cryptosystem with them but Sidelnikov and Shestakov showed that this choice is insecure. Wieschebrink proposed a variant of the McEliece cryptosystem which consists in concatenating a few random columns to a generator matrix of a secretly chosen generalized Reed-Solomon code. More recently, new schemes appeared which are the homomorphic encryption scheme proposed by Bogdanov and Lee, and a variation of the McEliece cryptosystem proposed by Baldi et \textit{al.} which hides the generalized Reed-Solomon code by means of matrices of very low rank. In this work, we show how to mount key-recovery attacks against these public-key encryption schemes. We use the concept of distinguisher which aims at detecting a behavior different from the one that one would expect from a random code. All the distinguishers we have built are based on the notion of component-wise product of codes. It results in a powerful tool that is able to recover the secret structure of codes when they are derived from generalized Reed-Solomon codes. Lastly, we give an alternative to Sidelnikov and Shestakov attack by building a filtration which enables to completely recover the support and the non-zero scalars defining the secret generalized Reed-Solomon code.
Introduction
The paper develops component-wise-product distinguishers into key-recovery attacks on three modified McEliece schemes based on generalized Reed-Solomon codes. It also gives a product-based filtration for recovering a secret GRS code’s structure.
Introduction
- The attacks target Wieschebrink, Bogdanov–Lee, and Baldi et al. schemes; for Baldi et al., the analysis assumes m = 1 and z = 1, the parameter form proposed in [BBC+11].These choices give the smallest public keys and deciphering complexity within that scheme class.Source: Introduction · p. 2
- Component-wise-product distinguishers exploit the abnormal square-code dimensions of GRS codes, which distinguish them from random codes at any rate.The cited comparison says the analogous distinguisher succeeds for Goppa codes only at rates close to 1.Source: Introduction · p. 2
- For Bogdanov–Lee, punctured square-code dimensions reveal which columns belong to the secret set L, enabling recovery of L and decryption.The attack differs from Brakerski’s independently found attack.Source: Introduction · pp. 2–3
- For Baldi et al., a product-dimension distinguisher identifies elements of the embedded secret GRS code, which can then be recovered and used to decode ciphertexts.The public code itself is not GRS; it contains a large secret GRS code.Source: Introduction · p. 3
- For Wieschebrink’s variant, refining the distinguisher recovers the added random-column positions, after which Sidelnikov–Shestakov recovers the remaining GRS structure.The paper distinguishes this approach from an adaptation of the Sidelnikov–Shestakov attack.Source: Introduction · p. 3
- A product-based decreasing filtration gives another way to recover a GRS code’s support and nonzero scalars, with complexity O(k2n3 + k3n2) field operations.It is more complex than the original Sidelnikov–Shestakov attack but avoids computing minimum-weight codewords and may apply to other code families.Source: Introduction · p. 3
1 Reed-Solomon Codes and the Square Code Construction
This section introduces generalized Reed-Solomon codes and their component-wise product, then explains how square-code dimensions distinguish structured GRS codes from random codes.
1 Reed-Solomon Codes and the Square Code Construction
- A star product spans component-wise products of codewords, and a code’s square is its star product with itself.The paper uses the square code as the main tool for comparing structured codes with random ones.Source: §1 · p. 4
- For k ≤ (n + 1)/2, the square of a dimension-k GRS code is a GRS code of dimension 2k − 1.The section presents this as the characteristic dimension behavior underlying the distinguisher.Source: §1 · p. 5
- The square of a random linear code of dimension k is expected to have dimension of order min…The supplied passage gives no completion of the expression, but contrasts this behavior with the roughly doubled GRS dimension.Source: §1 · p. 5
- Comparing square-code dimensions therefore distinguishes GRS codes from random linear codes; the paper also notes that the distinguisher works for GRS codes of any rate.For q-ary alternant codes such as Goppa codes, the cited prior result applies at very high rates.Source: §1 · p. 5
- Wieschebrink’s earlier use of the star product identified a possible GRS description for a subcode, then used Sidelnikov–Shestakov on its square.The paper distinguishes that use from its own distinguisher-based key-recovery approach.Source: §1 · p. 6
2 Wieschebrink’s Encryption Scheme
Wieschebrink’s scheme adds random columns to a GRS generator matrix. The attack uses square-code dimensions and shortening to locate those columns, then applies the Sidelnikov–Shestakov attack to the remaining GRS code.
2 Wieschebrink’s Encryption Scheme
- The scheme inserts r random columns into a length-n, dimension-k GRS generator matrix before applying secret row mixing and a column permutation.The attack seeks to recover the GRS description from the public generator matrix.Source: §2 · p. 6
- The analysis states a square-dimension bound for the augmented code, and reports that its right-hand inequality is sharp experimentally when 2k − r − 1 < n.With proposed values and k = (n−r)/2−1, Equation (2) held in all 1000 random instances.Source: §2 · pp. 6–7
- When 2k − 1 + r ≤ n, puncturing at a position and comparing square-code dimensions distinguishes random-column positions from GRS positions.The two cases have different expected square-code dimensions.Source: §2 · p. 7
- When 2k − 1 + r > n, shortening first reduces the parameters so the same dimension test can be applied.The passage gives conditions for choosing the number of shortened positions and says they can be met when n > k + r.Source: §2 · p. 7
- After identifying the random columns, puncturing them leaves the GRS code for a Sidelnikov–Shestakov attack; the column-guessing work uses matrix-rank computations.The attack was implemented in Magma and reported as effective for the parameters proposed in.Source: §2 · pp. 7–8
3 Bogdanov-Lee Homomorphic Cryptosystem
This section describes the Bogdanov–Lee linear-code homomorphic scheme, then shows how square-code dimensions expose its secret set L and reveal an inherent low-dimension weakness.
3.1 Description of the scheme
- Bogdanov–Lee [BL11] uses secret (L, G), publishes P = SG, and encrypts m as c = xP + m1 + e.The secret set L has cardinality 3ℓ.Source: §3.1 · p. 8
3.2 An efficient key-recovery attack
- The polynomial-time attack recovers L from square-code dimension changes: removing an L-position lowers dimension by one, while removing another position leaves it unchanged.After recovering L, the attack breaks the scheme.Source: §3.2 · p. 10
3.3 Inherent weakness of the scheme
- The decryption relation requires a nonzero solution supported in L, so the dual of C^2 must contain such a vector.The solutions of equation (9) are precisely the dual of C^2.Source: §3.3 · p. 11
- The scheme naturally yields codes with abnormally low square-code dimension; in particular, C_L has length 3ℓ and dimension ℓ.The paper characterizes this as non-random behavior with respect to square-product dimension.Source: §3.3 · pp. 10–11
4 BBCRS Cryptosystem
This section describes the BBCRS cryptosystem with a rank-one hiding matrix and presents key-recovery attacks based on component-wise-product dimensions. The approach isolates and reconstructs the secret code to derive a decryption-equivalent pair, and extends to additional parameters using the dual public code.
4.1 Description of the scheme
- BBCRS uses Π + R to hide a GRS generator matrix; for the studied m = 1, z = 1 case, decryption guesses eR among at most q possibilities.The attack does not directly apply to the later parameters in [BBC+12], where Π is sparse with row/column weight between 1 and 2.Source: §4.1 · pp. 11–12
4.2 Key-recovery attack when 2k + 2 < n
- For 2k + 2 < n, the attack identifies Cλ⊥ as a dimension-(k − 1) subcode shared by Cpub and the permuted secret GRS code C.If a·b = −1, the public code is itself GRS and can instead be attacked with Sidelnikov–Shestakov [SS92] or the paper’s alternative attack.Source: §4.2 · pp. 12–13
4.2.3 Deriving a and λ from C and Cλ⊥
- Given C and Cλ⊥, the attack finds a valid pair (a0, λ0) whose map sends C onto Cpub, completing key recovery and enabling decryption.A valid pair is sought by extending the common codimension-one subcode with vectors from C and Cpub and testing the induced map.Source: §4.2 · p. 13, §4.2.3 · p. 16
4.2.1 Computing a basis of Cλ⊥
- For three random public-code vectors, the generated products generally span dimension 3k −3; if all three lie in Cλ⊥, they generate a much smaller-dimensional subspace, enabling Algorithm 1 to compute a basis of Cλ⊥.Algorithm 1 distinguishes dimensions at most 2k + 2 from higher dimensions when condition (10) holds.Source: §4.2.1 · p. 14
4.2.2 Recovering the structure of C
- After recovering Cλ⊥, the attack applies Wieschebrink’s method to its square code, recovering a GRS description of C and hence the secret support and scalars.The square code is GRS2k−1(x, y ⋆ y); recovering its description yields (x, y) for C.Source: §4.2.2 · p. 15
4.2.3 Deriving a and λ from C and Cλ⊥
- The construction verifies that (a0, λ0) satisfies both defining conditions, yielding a valid pair.For Condition (b), it suffices to show ψa0,λ0(u) ∈ Cpub; the passage says this holds by construction.Source: §4.2.3 · p. 17
4.2.4 Decryption of any ciphertext
- To decrypt z=c+e, the attacker tests z+αa0; for α=−λ0·p, decoding p+e in C recovers p and then c.The error e must have a Hamming weight correctable by C’s chosen decoding algorithm.Source: §4.2.4 · p. 17
4.3 Extending the attack for rates larger than 1
- The dual-code attack recovers C when 2(n−k)+2<n (equivalently, 2k>n+2), extending applicability to parameters outside a narrow interval around n/2.The approach is carried out over C⊥pub to recover C⊥ and therefore C.Source: §4.3 · p. 18
5 McEliece Variants Based on GRS codes
The section develops code-product attacks that recover secret structure in GRS-based McEliece variants, and an alternative filtration attack for fully recovering GRS structure. The attacks exploit abnormally small dimensions of component-wise product codes and avoid requiring minimum-weight codewords as a first step.
5 McEliece Variants Based on GRS codes
- The alternative GRS attack runs in O(k^2n^3 + k^3n^2) operations, is less efficient than Sidelnikov–Shestakov, but avoids computing minimum-weight codewords first.The authors suggest it may generalize to other algebraic codes whose attacks begin with minimum-weight codeword computation.Source: §5 · p. 18
5.1 Context and notation
- For dimension k ≤ n/2, the attack may assume the first two support positions are 0 and 1; for larger dimension, it can use the dual code.The subcodes C(i,j) used by the attack remain GRS codes.Source: §5.1 · p. 18
5.2 Computing some subcodes
- When k ≤ n/2, product identities relate neighboring C(i,j) subcodes to C(i,j)^2, and repeated linear-system solving computes the needed subcodes in O(k^2n^3 + k^3n^2) operations.The initial shortenings are obtained by Gaussian elimination.Source: §5.2 · p. 19
5.3 Description of the attack
- The recovery procedure forms two shortened-code vectors, takes their punctured coordinatewise quotient, and inverts a fractional map to recover the support.The quotient cancels the GRS multipliers; comparing a recovered vector with the support raised to the k-th power then recovers the multipliers up to an irrelevant scalar.Source: §5.3 · p. 20
Conclusion
- Square-code dimensions yield efficient key-recovery attacks on schemes based on [BBC+11] [BL11].They detect Wieschebrink’s random columns, recover the Reed-Solomon part of Bogdanov–Lee [BL11], identify a shared GRS subcode in [BBC+11], and recover the GRS structure in.Source: Conclusion · pp. 20–21
- The conclusion identifies Reed–Muller attacks as a possible extension, while describing attacks on the original McEliece cryptosystem as especially challenging.The authors note that dual Goppa codes have low-dimensional squares only in a limited way.Source: Conclusion · p. 21
A Proof of Proposition 12
The proof computes an intersection dimension using linear maps that are injective on the relevant polynomial space. Its final dimension expression is 2k + |J| − 1.
A Proof of Proposition 12
- The linear maps ΦI and ΦI\J are injective on the span of x^2 through x^(2k), and the proof uses this to compute the intersection dimension as 2k + |J| − 1.Injectivity follows from interpolation when a = |I| − |J| is greater than 2k.Source: A Proof of Proposition 12 · pp. 24–25
B Proof of Lemma 13
The proof reduces invertibility of Q to that of P, then characterizes P using the scalar product a · b. When a · b = −1, P is a noninvertible projection.
B Proof of Lemma 13
- Q is invertible exactly when P is, and P is invertible exactly when a · b ≠ −1.When a · b = −1, P is a projection distinct from the identity, hence noninvertible.Source: B Proof of Lemma 13 · p. 26
C Proof of Proposition 15
The proof determines when three relations among the z_i ⋆ g_j are independent by examining the dimension spanned by the z_i.
C Proof of Proposition 15
- The three relations are independent exactly when the z_i span a space of dimension at least 2, rather than being pairwise collinear.Source: C Proof of Proposition 15 · p. 27