Cryptography Reference
In-Depth Information
g 2F 2 m [x] for some integer m. For deg(g) = t the code can correct t errors.
Generalizations of the McEliece cryptosystem (or equivalently the Niederreiter
cryptosystem [16]) using Goppa codes over larger eldsF q were investigated but
not found to offer advantages for small q, since it was believed that for a code
built from a polynomial g of degree t one could correct only bt=2c errors.
Peters showed in [18] that, despite this reduced error-correction capacity,
codes overF 31 offer advantages in key size compared to codes overF 2 while
maintaining the same security level against all attacks known. However, codes
over smaller fields such asF 3 were still not competitive in key size with codes
overF 2 .
In [6] we introduced the \wild McEliece" cryptosystem, using Goppa codes
overF q built on polynomials of the form g q1 . These codes have a better error-
correction capacity: they can correct up to bqt=2c errors for deg(g) = t. The extra
factor q=(q1) makes \larger tiny elds" attractive and bridges the gap between
F 2 andF 31 . That paper contains cryptosystem parameters that minimize key
size for different finite fields, subject to the requirement of achieving 128-bit
security against information-set-decoding attacks.
This key-size optimization for 128-bit security reduces the number of irre-
ducible polynomials g below 2 128 for q 11, and below 2 30 for q 31. Enu-
merating all possibilities for g thus becomes more ecient than performing
information-set decoding. The parameters were intentionally chosen this way in
[6]; otherwise the key-size benefit of wild McEliece would disappear as q grows.
In McEliece's original proposal, a large space of possibilities for g is the pri-
mary shield against structural attacks. There are secrets other than g, specifi-
cally a random support permutation P and a random invertible matrix S, but
Sendrier's support-splitting algorithm [21] quickly computes both P and S given
g and the public key. The cost of breaking McEliece's system is thus at most a
small multiple of the number of choices of g: the attacker checks each possibility
for g with the support-splitting algorithm.
This attack fails against [6], because there is another shield in [6]: a secret
support set. In McEliece's original proposal, the support set was all ofF 2 m ;
however, one can define Goppa codes using smaller support sets. We chose pa-
rameters in [6] so that there are more than 2 256 possible support sets. There is
no known attack against the McEliece system with secret support sets, even if
the Goppa polynomial ispublished; in particular, the support-splitting algorithm
uses the support set as input.
However, a secret support set has far less history than a secret choice of g,
and therefore cannot inspire as much confidence. One can reasonably worry that
there is a generalization of support-splitting that handles many support sets
more eciently than separately trying each possible support set. Parameters
relying on secret support sets were marked with biohazard symbols in [6].
In this paper we hide the wild codes in two ways, achieving almost all of the
key-size benefit of wild McEliece without sacrificing the confidence provided by a
large space of polynomials. First, we consider codes built on polynomials fg q1 ;
for deg(f) = s and deg(g) = t these codes can correct up to b(s + qt)=2c errors.
 
Search WWH ::




Custom Search