13.07.2015 Views

Applications of finite geometry in coding theory and cryptography

Applications of finite geometry in coding theory and cryptography

Applications of finite geometry in coding theory and cryptography

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Applications</strong> <strong>of</strong> <strong>f<strong>in</strong>ite</strong> <strong>geometry</strong> <strong>in</strong> cod<strong>in</strong>g<strong>theory</strong> <strong>and</strong> <strong>cryptography</strong>A. KLEIN, L. STORMEDepartment <strong>of</strong> Mathematics, Ghent University, Krijgslaan 281 - Build<strong>in</strong>g S22, 9000Ghent, Belgium (Email: {kle<strong>in</strong>,ls}@cage.ugent.be) (WWW:http://cage.ugent.be/∼ {kle<strong>in</strong>,ls})Abstract. We present <strong>in</strong> this article the basic properties <strong>of</strong> projective <strong>geometry</strong>,cod<strong>in</strong>g <strong>theory</strong>, <strong>and</strong> <strong>cryptography</strong>, <strong>and</strong> show how <strong>f<strong>in</strong>ite</strong> <strong>geometry</strong> can contribute tocod<strong>in</strong>g <strong>theory</strong> <strong>and</strong> <strong>cryptography</strong>. In this way, we show l<strong>in</strong>ks between three researchareas, <strong>and</strong> <strong>in</strong> particular, show that <strong>f<strong>in</strong>ite</strong> <strong>geometry</strong> is not only <strong>in</strong>terest<strong>in</strong>g from a puremathematical po<strong>in</strong>t <strong>of</strong> view, but also <strong>of</strong> <strong>in</strong>terest for applications. We concentrateon <strong>in</strong>troduc<strong>in</strong>g the basic concepts <strong>of</strong> these three research areas <strong>and</strong> give st<strong>and</strong>ardreferences for all these three research areas. We also mention particular results <strong>in</strong>volv<strong>in</strong>gideas from <strong>f<strong>in</strong>ite</strong> <strong>geometry</strong>, <strong>and</strong> particular results <strong>in</strong> <strong>cryptography</strong> <strong>in</strong>volv<strong>in</strong>gideas from cod<strong>in</strong>g <strong>theory</strong>.Keywords. F<strong>in</strong>ite <strong>geometry</strong>, MDS codes, Griesmer bound, Secret shar<strong>in</strong>g, AES1. Introduction to projective <strong>geometry</strong>The classical Euclidean <strong>geometry</strong> conta<strong>in</strong>s two very <strong>in</strong>terest<strong>in</strong>g weaker geometries.• The absolute <strong>geometry</strong> which explores what can be proved without the famousparallel postulate.• The aff<strong>in</strong>e <strong>geometry</strong> which explores what can be proved without the axiom <strong>of</strong>measure (length <strong>and</strong> angles).The axioms <strong>of</strong> the aff<strong>in</strong>e plane are:(A1) Each two po<strong>in</strong>ts are jo<strong>in</strong>ed by exactly one l<strong>in</strong>e.(A2) For each l<strong>in</strong>e l <strong>and</strong> each po<strong>in</strong>t P not on l, there is exactly one l<strong>in</strong>e through Pwhich does not <strong>in</strong>tersect l.(A3) There are three po<strong>in</strong>ts which do not lie on a common l<strong>in</strong>e.When work<strong>in</strong>g <strong>in</strong> the aff<strong>in</strong>e plane, one almost always dist<strong>in</strong>guishes between parallel<strong>and</strong> <strong>in</strong>tersect<strong>in</strong>g l<strong>in</strong>es. This dist<strong>in</strong>ction can be removed by go<strong>in</strong>g to the projective closure.For each parallel class <strong>of</strong> l<strong>in</strong>es we add a “po<strong>in</strong>t at <strong>in</strong>f<strong>in</strong>ity” which lies on all l<strong>in</strong>es <strong>of</strong>the parallel class. There is also a “l<strong>in</strong>e at <strong>in</strong>f<strong>in</strong>ity” which goes through all the po<strong>in</strong>ts at<strong>in</strong>f<strong>in</strong>ity.This leads to the projective plane with the axioms:(P1) Each two po<strong>in</strong>ts are jo<strong>in</strong>ed by exactly one l<strong>in</strong>e.


¥¤(P2) Each two l<strong>in</strong>es meet <strong>in</strong> exactly one po<strong>in</strong>t.(P3) There are at least two l<strong>in</strong>es <strong>and</strong> each l<strong>in</strong>e conta<strong>in</strong>s at least three po<strong>in</strong>ts.To extend the projective <strong>geometry</strong> to higher dimensions, we must replace (P2) byan axiom that states that two l<strong>in</strong>es <strong>in</strong> a plane have a common po<strong>in</strong>t. The Veblen-Youngaxiom does exactly this but avoids the use <strong>of</strong> the word plane.(P2’) Let A, B, C <strong>and</strong> D be four po<strong>in</strong>ts such that the l<strong>in</strong>es AB <strong>and</strong> CD <strong>in</strong>tersect.Then AC <strong>and</strong> BD have a common po<strong>in</strong>t.QC£¢DA¡BFigure 1. The Veblen-Young axiomPWe now present the classical construction <strong>of</strong> a projective space.Theorem 1Let V be a vector space <strong>of</strong> dimension d + 1 ≥ 3 over a (skew) field F. The <strong>geometry</strong>PG(V ) is def<strong>in</strong>ed by• The po<strong>in</strong>ts <strong>of</strong> PG(V ) are the 1-dimensional subspaces <strong>of</strong> V .• The l<strong>in</strong>es <strong>of</strong> PG(V ) are the 2-dimensional subspaces <strong>of</strong> V .• A po<strong>in</strong>t <strong>of</strong> PG(V ) is <strong>in</strong>cident with a l<strong>in</strong>e <strong>of</strong> PG(V ) if the correspond<strong>in</strong>g 1-dimensional subspace is conta<strong>in</strong>ed <strong>in</strong> the correspond<strong>in</strong>g 2-dimensional subspace.Then PG(V ) is a projective space.Pro<strong>of</strong>. Let 〈v〉, 〈w〉 be two po<strong>in</strong>ts <strong>of</strong> PG(V ), then 〈v, w〉 is the unique 2-dimensionalsubspace conta<strong>in</strong><strong>in</strong>g v <strong>and</strong> w, which proves axiom (P1).Let A = 〈u〉, B = 〈v〉, C = 〈w〉, D = 〈x〉 be four po<strong>in</strong>ts <strong>of</strong> PG(V ). If the l<strong>in</strong>esAB = 〈u, v〉 <strong>and</strong> CD = 〈w, x〉 <strong>in</strong>tersect <strong>in</strong> a common po<strong>in</strong>t, the dimension formulagivesdim 〈u, v, w, x〉 = dim 〈u, v〉 + dim 〈w, x〉 − dim(〈u, v〉 ∩ 〈w, x〉) = 2 + 2 − 1 = 3 .Aga<strong>in</strong> by the dimension formula, we getdim(〈u, w〉 ∩ 〈v, x〉) = dim 〈u, w〉 + dim 〈v, x〉 − dim 〈u, v, w, x〉 = 2 + 2 − 3 = 1,<strong>and</strong> hence AC = 〈u, w〉 <strong>and</strong> BD = 〈v, x〉 meet <strong>in</strong> a common po<strong>in</strong>t <strong>of</strong> PG(V ). Thisproves axiom (P2’).


£A 1¡A 2¦Each l<strong>in</strong>e 〈v, w〉 <strong>of</strong> PG(V ) conta<strong>in</strong>s at least three po<strong>in</strong>ts 〈v〉, 〈w〉 <strong>and</strong> 〈v + w〉. S<strong>in</strong>cedimV ≥ 3, there are at least two subspaces <strong>of</strong> dimension 2. This proves axiom (P3). □Two extremely important “Theorems” <strong>of</strong> projective <strong>geometry</strong> are:Theorem 2 (Desargues Theorem)Let A 1 A 2 A 3 <strong>and</strong> B 1 B 2 B 3 be two triangles for which the l<strong>in</strong>es A 1 B 1 , A 2 B 2 <strong>and</strong> A 3 B 3are different <strong>and</strong> go through a common po<strong>in</strong>t C.Then the po<strong>in</strong>ts P 12 = A 1 A 2 ∩ B 1 B 2 , P 13 = A 1 A 3 ∩ B 1 B 3 <strong>and</strong> P 23 = A 2 A 3 ∩B 2 B 3 lie on a common l<strong>in</strong>e.C¢A 3P 13¨P 23©P 12¥¤B 1B 2B 3§Figure 2. Desargues TheoremTheorem 3 (Pappus Theorem)Let l <strong>and</strong> h be two <strong>in</strong>tersect<strong>in</strong>g l<strong>in</strong>es. Let A 1 , A 2 , A 3 be dist<strong>in</strong>ct po<strong>in</strong>ts on l different froml ∩ h <strong>and</strong> let B 1 , B 2 , B 3 be dist<strong>in</strong>ct po<strong>in</strong>ts on h different from l ∩ h.Then the po<strong>in</strong>ts G 12 = A 1 B 2 ∩ A 2 B 1 , G 13 = A 1 B 3 ∩ A 3 B 1 <strong>and</strong> G 23 = A 2 B 3 ∩A 3 B 2 lie on a common l<strong>in</strong>e.Without pro<strong>of</strong> we note:Theorem 4A projective space satisfies the Theorem <strong>of</strong> Desargues if <strong>and</strong> only if it is <strong>of</strong> the formPG(V ) for some vector space V .A projective space satisfies the Theorem <strong>of</strong> Pappus if <strong>and</strong> only if it is <strong>of</strong> the formPG(V ) for some vector space V over a commutative field F.In the follow<strong>in</strong>g, all projective spaces will be <strong>of</strong> the form PG(V ) where V is a <strong>f<strong>in</strong>ite</strong>dimensional vector space over a <strong>f<strong>in</strong>ite</strong> field F q <strong>of</strong> order q. Let d + 1 be the dimension <strong>of</strong>V , then we also write PG(d, q) for PG(V ).Fix a basis v 0 , . . . , v d <strong>of</strong> V . Let u = v 0 + · · · + v d . Then any vector v = a 0 v 0 +· · · + a d v d ∈ V is uniquely determ<strong>in</strong>ed by its coord<strong>in</strong>ates (a 0 , . . .,a d ).


¦A 1A 2¡A 3¢G 12 G § 13 ¨G23¥¤ B 3£ B 2B 1Figure 3. Pappus TheoremWe call (a 0 , . . .,a d ) the homogeneous coord<strong>in</strong>ates <strong>of</strong> the po<strong>in</strong>t 〈v〉 <strong>of</strong> PG(V ) withrespect to the projective reference system {〈v 0 〉, . . . , 〈v d 〉, 〈u〉}, where u = v 0 +· · ·+v d .S<strong>in</strong>ce 〈v〉 = 〈µv〉 for any µ ≠ 0 the homogeneous coord<strong>in</strong>ates <strong>of</strong> a projective po<strong>in</strong>t areunique up to a nonzero scalar factor.Example 1The l<strong>in</strong>e through the po<strong>in</strong>ts with homogeneous coord<strong>in</strong>ates (a 0 , . . . , a d ) <strong>and</strong> (b 0 , . . . , b d )consists <strong>of</strong> the po<strong>in</strong>ts with the follow<strong>in</strong>g coord<strong>in</strong>ates (a 0 , . . . , a d ) <strong>and</strong> (b 0 , . . . , b d ) +x(a 0 , . . . , a d ), with x ∈ F.If V is a vector space over a <strong>f<strong>in</strong>ite</strong> field, then PG(V ) has a <strong>f<strong>in</strong>ite</strong> number <strong>of</strong> po<strong>in</strong>ts<strong>and</strong> l<strong>in</strong>es. Theorem 5 counts them.Theorem 5The projective space PG(d, q) has qd+1 −1q−1(q d +q d−1 +···+q+1)(q d−1 +q d−2 +···+q+1)q+1l<strong>in</strong>es.Each l<strong>in</strong>e <strong>of</strong> PG(d, q) conta<strong>in</strong>s exactly q + 1 po<strong>in</strong>ts.Pro<strong>of</strong>. The vector space F d+1q= q d + q d−1 + · · · + q + 1 po<strong>in</strong>ts. <strong>and</strong>conta<strong>in</strong>s q d+1 − 1 nonzero vectors <strong>and</strong> a 1-dimensionalsubspaces <strong>of</strong>dimension 1.As special cases we have that a two dimensional vector space over F q has q + 1subspaces <strong>of</strong> dimension 1, i.e. a l<strong>in</strong>e <strong>of</strong> PG(d, q) has q + 1 po<strong>in</strong>ts.There are (q d+1 − 1)(q d+1 − q) possibilities to choose l<strong>in</strong>early <strong>in</strong>dependent vectorssubspace <strong>of</strong> F d+1q conta<strong>in</strong>s q − 1 nonzero vectors. Thus F d+1qu, v ∈ F d+1qThus F d+1qhas qd+1 −1q−1. Every two dimensional space 〈u, v〉 has (q 2 − 1)(q 2 − q) different bases.conta<strong>in</strong>s(q d+1 − 1)(q d+1 − q)(q 2 − 1)(q 2 − q)= (qd + · · · + q + 1)(q d−1 + · · · + q + 1)q + 1subspaces <strong>of</strong> dimension 2.□


As <strong>in</strong>dicated <strong>in</strong> the abstract, projective <strong>geometry</strong> is first <strong>of</strong> all <strong>in</strong>vestigated because <strong>of</strong>its pure mathematical importance. But projective <strong>geometry</strong> is also important because <strong>of</strong>its l<strong>in</strong>ks to other research areas. We now present cod<strong>in</strong>g <strong>theory</strong>, one <strong>of</strong> the most importantresearch areas l<strong>in</strong>ked to projective <strong>geometry</strong>. For a detailed discussion <strong>of</strong> <strong>f<strong>in</strong>ite</strong> projectivespaces we refer to [12, 13, 15].2. Cod<strong>in</strong>g <strong>theory</strong>2.1. Introduction to cod<strong>in</strong>g <strong>theory</strong>When send<strong>in</strong>g a message there is always a small probability for transmission errors. Thegoal <strong>of</strong> cod<strong>in</strong>g <strong>theory</strong> is to develop good codes to detect <strong>and</strong> correct transmission errors.noisedata source encoder channel decoder receiverFigure 4. Transmission <strong>of</strong> data through a noisy communication channelSuppose for example that we transmit a b<strong>in</strong>ary message. With a probability p <strong>of</strong> 2%a transmission error occurs <strong>and</strong> one 1 is received as 0 <strong>and</strong> vice versa.Example 2 (Triple repetition code)We repeat every symbol three times, i.e. we send 000 <strong>in</strong>stead <strong>of</strong> 0 <strong>and</strong> 111 <strong>in</strong>stead <strong>of</strong> 1. Ifan error occurs we guess that the majority <strong>of</strong> the received symbols is correct, i.e. we willdecode 110 as 1.The probability that more than 1 error occurs <strong>in</strong> a triplet is 3p 2 (1 − p) + p 3 . Ifp = 0.02 we lowered the probability for <strong>in</strong>correct decod<strong>in</strong>g to 0.0012. The price is thatwe have to send 3 times more symbols.Example 3 (The Hamm<strong>in</strong>g code)Now we use the follow<strong>in</strong>g encod<strong>in</strong>gwithx 4 ≡ x 1 + x 2 + x 3 mod 2 ,x 5 ≡ x 0 + x 2 + x 3 mod 2 ,x 6 ≡ x 0 + x 1 + x 3 mod 2 .(x 0 , x 1 , x 2 , x 3 ) ↦→ (x 0 , . . .,x 6 )


For example (1101) is encoded as (1101001).Every 7-bit word is either a codeword or differs at most one place from a codeword.The decod<strong>in</strong>g will send the received word to the “most similar” codeword.If you compute the error probability for this example you will f<strong>in</strong>d that the averageprobability for a wrong bit is 0.0034 when p = 0.02.Thus the Hamm<strong>in</strong>g code gives almost the same error probability as the simple triplerepetition code, but we must send only 7 4times more symbols. Thus the Hamm<strong>in</strong>g codeallows a faster data transmission.The last example shows some important aspects:• L<strong>in</strong>ear mapp<strong>in</strong>gs are <strong>of</strong>ten good codes.• The mapp<strong>in</strong>g itself is not so important; the image under the map is the mostimportant aspect <strong>of</strong> a code.• Codewords should differ <strong>in</strong> as many positions as possible to obta<strong>in</strong> a good errorcorrection rate.This motivates the follow<strong>in</strong>g def<strong>in</strong>ition.Def<strong>in</strong>ition 1The Hamm<strong>in</strong>g distance d(x, y) <strong>of</strong> x, y ∈ F n q , with x = (x 1 , . . . , x n ) <strong>and</strong> y =(y 1 , . . . , y n ), isd(x, y) = |{i | x i ≠ y i }| .The Hamm<strong>in</strong>g distance <strong>of</strong> x to 0 is called the weight <strong>of</strong> x; w(x) = d(x, 0).A l<strong>in</strong>ear [n, k] q block code C is a k-dimensional subspace <strong>of</strong> F n q .The m<strong>in</strong>imum distance d <strong>of</strong> a l<strong>in</strong>ear [n, k] q block code C is def<strong>in</strong>ed asd = m<strong>in</strong> d(x, y) = m<strong>in</strong> w(x) .x≠y∈C 0̸=x∈CAn [n, k, d] q -code is an [n, k] q -code with m<strong>in</strong>imum distance d.A generator matrix G for an [n, k, d] q -code C is a k × n matrix whose rows form abasis for the code C.A parity check matrix H for an [n, k, d] q -code C is an (n − k) × n matrix <strong>of</strong> rankn − k whose rows are orthogonal to all the codewords <strong>of</strong> C, i.e.,c ∈ C ⇔ c · H t = 0.A ma<strong>in</strong> goal <strong>of</strong> cod<strong>in</strong>g <strong>theory</strong> is to determ<strong>in</strong>e for given n, k <strong>and</strong> q the largest d forwhich an [n, k, d] q -code exists.A good <strong>in</strong>troduction <strong>in</strong>to cod<strong>in</strong>g <strong>theory</strong> is [20]. For further reference, see also [21,25].2.2. MDS codesWe start with a very simple upper bound on the m<strong>in</strong>imum distance <strong>of</strong> an [n, k] q -code.Consider the systematic generator matrix <strong>of</strong> an [n, k] q -code:


⎛⎞1 0 g 1,k+1 . . . g 1,n⎜G = ⎝. ..⎟. . ⎠ = ( )I k G k×(n−k) .0 1 g k,k+1 . . . g k,nEach row <strong>of</strong> G has at most n − k + 1 nonzero entries <strong>and</strong> hence n − k + 1 ≥ d.Theorem 6 (S<strong>in</strong>gleton bound [29])An [n, k, d] q -code satisfies n − k + 1 ≥ d.Codes that meet the S<strong>in</strong>gleton bound are called maximum distance separable codes(MDS codes).Let C be an [n, k, d] q MDS code. Its parity check matrix H is an (n −k) ×n matrixwith the property that any n − k columns <strong>of</strong> H are l<strong>in</strong>early <strong>in</strong>dependent.Example 4 (Generalized Doubly-Extended Reed-Solomon (GDRS) codes [26])Let F q = {0, a 1 , . . . , a q−1 }.Let⎛⎞0 1 · · · 1 00 a 1 · · · a q−1 00 a 2 1 · · · a 2 q−1 0H =.⎜. . . .⎟⎝0 a1 n−k−2 · · · aq−1 n−k−2 0⎠1 a1 n−k−1 · · · aq−1 n−k−1 1For <strong>in</strong>stance, the determ<strong>in</strong>ant <strong>of</strong> the (n − k) × (n − k) submatrix⎛⎜⎝1 · · · 1a 1 · · · a n−k. .a1 n−k−1 · · · a n−k−1n−kis ∏ 1≤i


Theorem 7 (Segre, Thas [27, 32])For• q an odd prime power,• 2 ≤ k < √ q/4,every [n = q + 1, k, d = q + 2 − k]-MDS code is a GDRS code.This preced<strong>in</strong>g result was obta<strong>in</strong>ed us<strong>in</strong>g methods from algebraic <strong>geometry</strong> <strong>and</strong> projectionarguments.The motivation for the next result is as follows. The GDRS codes are MDS codes <strong>of</strong>length q + 1. Maybe they can be extended to MDS codes <strong>of</strong> length q + 2. The follow<strong>in</strong>gresult proves that this is practically never the case.Theorem 8 (Storme [31])Consider the [q + 1, k, q − k + 2] q -GDRS code.For q odd <strong>and</strong> 2 ≤ k ≤ q + 3 − 6 √ q log q, <strong>and</strong> for q even <strong>and</strong> 4 ≤ k ≤ q + 3 −6 √ q log q, this [q+1, k, q+2−k] q -GDRS code cannot be not extended to a [q+2, k, q+3 − k] q -MDS code.2.3. M<strong>in</strong>ihypers <strong>and</strong> the Griesmer boundLet N q (d, k) denote the m<strong>in</strong>imal n for which an [n, k, d] q -code exists <strong>and</strong> let ⌈x⌉ denotethe smallest <strong>in</strong>teger larger than or equal to x.Theorem 9 (Griesmer bound [9, 30])N q (k, d) ≥ d + N q (k − 1, ⌈ d ⌉) (1)q<strong>and</strong>k−1∑⌈ ⌉ dN q (k, d) ≥ G q (k, d) =q i . (2)i=0Pro<strong>of</strong>. Let C be an [n, k, d] q -code. Without loss <strong>of</strong> generality we can assume that Cconta<strong>in</strong>s the codeword (0, . . .,0, 1, . . .,1) <strong>of</strong> weight d.Thus we have a generator matrix <strong>of</strong> the formG =( )0 · · · 0 1 · · · 1.G 1 G 2This matrix G 1 has rank k − 1 s<strong>in</strong>ce otherwise we could make a row <strong>of</strong> G 1 zero <strong>and</strong>C would conta<strong>in</strong> a codeword <strong>of</strong> weight less than d. Thus G 1 is the generator matrix <strong>of</strong>an [n − d, k − 1, d 1 ] q -code.Let (u, v) ∈ C, with w(u) = d 1 . S<strong>in</strong>ce also all codewords <strong>of</strong> the form (u, v + a1)are <strong>in</strong> C, we can select v with weight at most ⌊ q−1q d⌋.S<strong>in</strong>ce (u, v) ∈ C, we have w(u) + w(v) ≥ d or d 1 ≥ d − ⌈ d q⌉. This provesEquation (1).


Iterat<strong>in</strong>g Equation (1) gives:N q (k, d) ≥ d + N q (k − 1, ⌈ d q ⌉)≥ d + ⌈ d q ⌉ + N q(k − 2, ⌈ d q 2 ⌉).k−2∑⌈ ⌉ d≥q ii=0k−1∑⌈ ⌉ d≥q i .i=0+ N q (1, ⌈ d ⌉)qk−1 Now we want to construct l<strong>in</strong>ear codes that meet the Griesmer bound, i.e. we are<strong>in</strong>terested <strong>in</strong> [G q (k, d), k, d] q -codes.By θ k = qk −1q−1 , we denote the number <strong>of</strong> 1-dimensional subspaces <strong>of</strong> Fk q , i.e. thenumber <strong>of</strong> po<strong>in</strong>ts <strong>in</strong> PG(k − 1, q).The simplex code S k is a [θ k , k, q k−1 ] q -code whose generator matrix is formed byθ k pairwise l<strong>in</strong>early <strong>in</strong>dependent vectors <strong>in</strong> F k q. For each t, the copy <strong>of</strong> t simplex codesis a [tθ k , tk, tq k−1 ] q -code that satisfies the Griesmer bound.An excellent way to construct more l<strong>in</strong>ear codes satisfy<strong>in</strong>g the Griesmer bound isto start with a copy <strong>of</strong> t simplex codes <strong>and</strong> delete columns <strong>of</strong> the generator matrix. Thecolumns to be deleted form the generator matrix <strong>of</strong> what is called an anticode. This isa code with an upper bound on the distance between its codewords. Even the distance 0between codewords is allowed, i.e. an anticode may conta<strong>in</strong> repeated codewords.Def<strong>in</strong>ition 3If G is a k × m matrix <strong>of</strong> F q , then the q k comb<strong>in</strong>ations <strong>of</strong> its rows form the codewords<strong>of</strong> an anticode <strong>of</strong> length m. The maximum distance δ <strong>of</strong> the anticode is the maximumweight <strong>of</strong> any <strong>of</strong> its codewords. If rank G = r, each codeword occurs q k−r times.If we start with t copies <strong>of</strong> the simplex code <strong>and</strong> delete m columns that form ananticode with maximum distance δ, we obta<strong>in</strong> a [tθ k − m, k, tq k−1 − δ] q -code.Codes meet<strong>in</strong>g the Griesmer bound <strong>and</strong> their anticodes have a nice geometrical <strong>in</strong>terpretation.Let C be an [n, k] q -code with generator matrix G. Each column <strong>of</strong> the generatormatrix describes a po<strong>in</strong>t <strong>of</strong> PG(k − 1, q). We represent C by the multiset M <strong>of</strong> these npo<strong>in</strong>ts.For <strong>in</strong>stance, the simplex code S k is represented by the po<strong>in</strong>t set <strong>of</strong> PG(k − 1, q).An i-po<strong>in</strong>t is a po<strong>in</strong>t <strong>of</strong> multiplicity i. For each subset S <strong>of</strong> PG(k − 1, q), we denotethe number <strong>of</strong> po<strong>in</strong>ts <strong>of</strong> M <strong>in</strong> S by c(S). Letγ i = max{c(S) | S is a subspace <strong>of</strong> dimension i} .□


Then γ 0 is the maximal i for which an i-po<strong>in</strong>t <strong>in</strong> M exists. The m<strong>in</strong>imum distance<strong>of</strong> C is the m<strong>in</strong>imal number <strong>of</strong> po<strong>in</strong>ts <strong>of</strong> M ly<strong>in</strong>g <strong>in</strong> the complement <strong>of</strong> a hyperplane, i.e.d = n − γ k−2 .If an [n, k, d] q -code meets the Griesmer bound we can compute the values γ i fromits parameters. At this moment we only need the follow<strong>in</strong>g lemma.Lemma 1 (Maruta [22])Let (s − 1)q k−1 < d ≤ sq k−1 <strong>and</strong> let C be an [n, k, d] q -code meet<strong>in</strong>g the Griesmerbound. Then γ 0 = max{c(P) | P ∈ PG(k − 1, q)} = s.Pro<strong>of</strong>. By the pigeonhole pr<strong>in</strong>ciple, we get γ 0 ≥nθ k−1> s − 1.Assume γ 0 > s, then there exists a po<strong>in</strong>t P = (p 0 , . . .,p k−1 ) described by at leasts + 1 columns <strong>of</strong> the generator matrix. Consider the subcode C ′ <strong>of</strong> C def<strong>in</strong>ed byk−1C ′ = {x = (x 0 , . . .,x k−1 ) ∈ F k q | ∑x i p i = 0}G .The codewords <strong>of</strong> C ′ have entry 0 at the columns correspond<strong>in</strong>g to P . Punctur<strong>in</strong>g C ′ atthese columns yields an [n ′ , k ′ , d ′ ] q -code with n ′ ≤ n − s − 1, k ′ = k − 1 <strong>and</strong> d ′ ≥ d.But the Griesmer bound says that∑n − s − 1 ≥ n ′ ≥ ⌈ d′k−2q i ⌉ ≥ ∑⌈ d k−1q i ⌉ = ∑⌈ d q i ⌉ − ⌈ d ⌉ = n − s,qk−1 a contradiction.k ′i=0i=0We represent the l<strong>in</strong>ear code C by the multiset M ′ <strong>in</strong> which each po<strong>in</strong>t P <strong>of</strong> PG(k −1, q) has weight w(P) equal to s m<strong>in</strong>us the number <strong>of</strong> columns <strong>in</strong> the generator matrixdef<strong>in</strong><strong>in</strong>g P . In fact, M ′ is the multiset <strong>of</strong> columns <strong>of</strong> the anticode correspond<strong>in</strong>g to C<strong>in</strong> the copy <strong>of</strong> s simplex codes. We have shown above that for l<strong>in</strong>ear codes meet<strong>in</strong>g theGriesmer bound w(P) ≥ 0 for each po<strong>in</strong>t P . Let d = sq k−1 − ∑ k−2i=0 t iq i , 0 ≤ t i ≤ q−1for i = 0, . . .,k − 2. Then the total weight <strong>of</strong> all po<strong>in</strong>ts <strong>in</strong> M ′ is ∑ k−2i=0 t iθ i+1 <strong>and</strong> eachhyperplane has a weight <strong>of</strong> at least n − d = ∑ k−2i=0 t iθ i .This geometrical structure is important enough to deserve a name.Def<strong>in</strong>ition 4An (n, w; d, q)-m<strong>in</strong>ihyper is a multiset <strong>of</strong> n po<strong>in</strong>ts <strong>in</strong> PG(d, q) with the property thatevery hyperplane meets it <strong>in</strong> at least w po<strong>in</strong>ts.Many characterisation theorems <strong>of</strong> m<strong>in</strong>ihypers are known. The simplest is:Theorem 10 (Bose <strong>and</strong> Burton [2])Let k ≤ d. A (θ k+1 , θ k ; d, q)-m<strong>in</strong>ihyper always is a k-dimensional subspace <strong>of</strong> PG(d, q).Pro<strong>of</strong>. Let H be a (θ k+1 , θ k ; d, q)-m<strong>in</strong>ihyper. We claim that for s ≤ k every codimensions space <strong>of</strong> PG(d, q) meets H <strong>in</strong> at least θ k−s+1 po<strong>in</strong>ts.For s = 1 this is the def<strong>in</strong>ition <strong>of</strong> a m<strong>in</strong>ihyper. Now let s > 1 <strong>and</strong> assume that acodimension s space π meets H <strong>in</strong> less than θ k−s+1 po<strong>in</strong>ts. Then the average number <strong>of</strong>po<strong>in</strong>ts <strong>of</strong> H <strong>in</strong> a codimension s − 1 space through π is less thani=0i=0□


θ k+1 − θ k−s+1θ s+ θ k−s+1 = q k−s+1 + θ k−s+1 = θ k−s+2 ,<strong>in</strong> contradiction to the already proved result that a codimension s − 1 space conta<strong>in</strong>s atleast θ k−s+2 po<strong>in</strong>ts <strong>of</strong> H.Now assume that H is not a k-space <strong>of</strong> PG(d, q), i.e. there is a l<strong>in</strong>e l that conta<strong>in</strong>sat least two po<strong>in</strong>ts <strong>of</strong> H but does not lie completely <strong>in</strong> H. Let P ∈ l\H. There existsa subspace π ′ <strong>of</strong> dimension d − k − 1 through P that has no po<strong>in</strong>t <strong>in</strong> common with H.(There are simply not enough po<strong>in</strong>ts <strong>in</strong> H to block all the (d −k −1)-spaces through P ).The average number <strong>of</strong> po<strong>in</strong>ts <strong>of</strong> H <strong>in</strong> a (d−k)-space through π ′ is θ k+1 /θ k+1 = 1.But the (d − k)-space conta<strong>in</strong><strong>in</strong>g l conta<strong>in</strong>s at least 2 po<strong>in</strong>ts <strong>of</strong> H, thus there must bea (d − k)-space through π ′ that conta<strong>in</strong>s no po<strong>in</strong>t <strong>of</strong> H. A contradiction, i.e. H is asubspace.□There are many other characterization results on m<strong>in</strong>ihypers. We refer to the literaturefor the known results. As a concrete example <strong>of</strong> a deep characterization result, wemention the follow<strong>in</strong>g result <strong>of</strong> Hamada, Helleseth, <strong>and</strong> Maekawa.Theorem 11 (Hamada, Helleseth, <strong>and</strong> Maekawa [10, 11])Let F be a ( ∑ k−2i=0 ɛ iθ i+1 , ∑ k−2i=0 ɛ iθ i ; k −1, q)-m<strong>in</strong>ihyper, with ∑ k−2i=0 ɛ i < √ q +1, thenF is the union <strong>of</strong> ɛ 0 po<strong>in</strong>ts, ɛ 1 l<strong>in</strong>es, . . ., ɛ k−2 (k − 2)-dimensional subspaces, which allare pairwise disjo<strong>in</strong>t.2.4. Cover<strong>in</strong>g radiusFor an e-error correct<strong>in</strong>g code, we search for a large set <strong>of</strong> pairwise disjo<strong>in</strong>t spheres<strong>of</strong> radius e <strong>in</strong> the Hamm<strong>in</strong>g space F n q . The problem <strong>of</strong> cover<strong>in</strong>g codes is an oppositeproblem. Here, we wish to cover all the po<strong>in</strong>ts <strong>of</strong> the Hamm<strong>in</strong>g space F n q with as fewspheres as possible. Cover<strong>in</strong>g codes f<strong>in</strong>d applications <strong>in</strong> data compression.Formally we def<strong>in</strong>e:Def<strong>in</strong>ition 5Let C be a l<strong>in</strong>ear [n, k, d] q -code. The cover<strong>in</strong>g radius <strong>of</strong> the code C is the smallest <strong>in</strong>tegerR such that every n-tuple <strong>in</strong> F n q lies at Hamm<strong>in</strong>g distance at most R from a codeword <strong>in</strong>C.The follow<strong>in</strong>g theorem will be the basis for mak<strong>in</strong>g the l<strong>in</strong>k with the geometricallyequivalent objects <strong>of</strong> the saturat<strong>in</strong>g sets <strong>in</strong> <strong>f<strong>in</strong>ite</strong> <strong>geometry</strong>.Theorem 12Let C be a l<strong>in</strong>ear [n, k, d] q -code with parity check matrix H = (h 1 · · · h n ).Then the cover<strong>in</strong>g radius <strong>of</strong> C is equal to R if <strong>and</strong> only if every (n − k)-tuple overF q can be written as a l<strong>in</strong>ear comb<strong>in</strong>ation <strong>of</strong> at most R columns <strong>of</strong> H.Def<strong>in</strong>ition 6Let S be a subset <strong>of</strong> PG(N, q). The set S is called ρ-saturat<strong>in</strong>g when every po<strong>in</strong>t P fromPG(N, q) can be written as a l<strong>in</strong>ear comb<strong>in</strong>ation <strong>of</strong> at most ρ + 1 po<strong>in</strong>ts <strong>of</strong> S.


Tak<strong>in</strong>g <strong>in</strong>to account Theorem 12, the preced<strong>in</strong>g def<strong>in</strong>ition means that:ρ-saturat<strong>in</strong>g sets S <strong>in</strong> PG(n−k−1, q) determ<strong>in</strong>e the parity check matrices <strong>of</strong> l<strong>in</strong>ear[n, k, d] q -codes with cover<strong>in</strong>g radius R = ρ + 1.Cover<strong>in</strong>g codes are l<strong>in</strong>ked to many geometrical objects.Obviously the goal <strong>of</strong> cover<strong>in</strong>g codewords becomes easier when one can use morecodewords. So we are <strong>in</strong>terested <strong>in</strong> small cover<strong>in</strong>g codes or equivalently <strong>in</strong> small saturat<strong>in</strong>gsets.Example 5 (Brualdi et al. [3], Davydov [5])We construct a 1-saturat<strong>in</strong>g set <strong>in</strong> PG(3, q) <strong>of</strong> size 2q + 1. We give the description viacoord<strong>in</strong>ates.Take a conic c = {(1, t, t 2 , 0)|t ∈ F q } ∪ {(0, 0, 1, 0)} <strong>in</strong> a plane π : X 3 = 0 <strong>of</strong>PG(3, q) <strong>and</strong> let P = (0, 0, 1, 0) be a po<strong>in</strong>t <strong>of</strong> this conic c. For q even, let P ′ = (0, 1, 0, 0)be the nucleus <strong>of</strong> the conic. For q odd, let P ′ = (0, 1, 0, 0) be a po<strong>in</strong>t <strong>of</strong> the tangent l<strong>in</strong>eto c through P . Let l be a l<strong>in</strong>e through P not <strong>in</strong> π.We claim that S = (c ∪ l ∪ {P ′ })\{P } is a 1-saturat<strong>in</strong>g set <strong>in</strong> PG(3, q).Figure 5. A 1-saturat<strong>in</strong>g set <strong>in</strong> PG(3, q)First note that every po<strong>in</strong>t <strong>in</strong> the plane π lies on a secant <strong>of</strong> c. Now take a po<strong>in</strong>t Qnot <strong>in</strong> π. Together with l, it spans a plane that either <strong>in</strong>tersects the conic c <strong>in</strong> a po<strong>in</strong>tdifferent from P or conta<strong>in</strong>s P ′ . Thus Q lies on a l<strong>in</strong>e which meets S <strong>in</strong> two po<strong>in</strong>ts.Example 6 (Östergård <strong>and</strong> Davydov [6])Example 5 can be extended to a 2-saturat<strong>in</strong>g set <strong>in</strong> PG(5, q) <strong>of</strong> size 3q + 1. We aga<strong>in</strong>give the description via coord<strong>in</strong>ates.


Take two skew planes π <strong>and</strong> ¯π. Let c be a conic <strong>in</strong> π <strong>and</strong> let ¯c be a conic <strong>in</strong> ¯π. Let Pbe a po<strong>in</strong>t <strong>of</strong> c <strong>and</strong> let ¯P be a po<strong>in</strong>t <strong>of</strong> ¯c. For q even, let P ′ be the nucleus <strong>of</strong> c <strong>and</strong> for qodd, choose P ′ on the tangent l<strong>in</strong>e to c through P . Similarly choose ¯P ′ .Then S = (c ∪ ¯c ∪ P ¯P ∪ {P ′ , ¯P ′ })\{P, ¯P } is a 2-saturat<strong>in</strong>g set <strong>in</strong> PG(5, q).Figure 6. A 2-saturat<strong>in</strong>g set <strong>in</strong> PG(5, q)As <strong>in</strong> Example 5, a po<strong>in</strong>t <strong>of</strong> π or ¯π lies on a l<strong>in</strong>e meet<strong>in</strong>g S <strong>in</strong> two po<strong>in</strong>ts.A po<strong>in</strong>t Q not <strong>in</strong> π or ¯π lies on a unique l<strong>in</strong>e l ′ that meets both planes. As <strong>in</strong> Example5, we get that 〈l, l ′ 〉 meets (c ∪ {P ′ })\{P } <strong>and</strong> (¯c ∪ { ¯P ′ })\{ ¯P } <strong>in</strong> Q 1 <strong>and</strong> Q 2 . Thespan 〈Q, Q 1 , Q 2 〉 meets l <strong>in</strong> a po<strong>in</strong>t Q 3 <strong>and</strong> hence Q lies <strong>in</strong> the plane 〈Q 1 , Q 2 , Q 3 〉.An <strong>in</strong>terest<strong>in</strong>g geometrical research problem, that <strong>in</strong> fact solves problems <strong>in</strong> cod<strong>in</strong>g<strong>theory</strong>, is therefore the problem <strong>of</strong> construct<strong>in</strong>g small ρ-saturat<strong>in</strong>g sets <strong>in</strong> <strong>f<strong>in</strong>ite</strong> projectivespaces.3. Cryptography3.1. Secret shar<strong>in</strong>gSecret shar<strong>in</strong>g schemes are the cryptographic equivalents <strong>of</strong> a vault that needs severalkeys to be opened. In the simplest cases there are n participants <strong>and</strong> each group <strong>of</strong> kparticipants can reconstruct the secret, but less than k participants have no way to learnanyth<strong>in</strong>g about the secret.


¡¡¡Example 7 (Shamir’s k-out-<strong>of</strong>-n secret shar<strong>in</strong>g scheme [28])Let F be a <strong>f<strong>in</strong>ite</strong> field.The dealer chooses a polynomial f ∈ F[x] <strong>of</strong> degree at most k − 1 <strong>and</strong> gives participantnumber i a po<strong>in</strong>t (x i , f(x i )) on the graph <strong>of</strong> f (x i ≠ 0). The value f(0) is thesecret.A set <strong>of</strong> k participants can reconstruct f by <strong>in</strong>terpolation. Then they can computethe secret f(0). If k ′ < k persons try to reconstruct the secret, they see that for everyvalue y ∈ F there are exactly |F| k−k′ −1 polynomials <strong>of</strong> degree at most k − 1 which passthrough their shares <strong>and</strong> the po<strong>in</strong>t (0, y). Thus they ga<strong>in</strong> no <strong>in</strong>formation about f(0).secret po<strong>in</strong>tS¡ 1¡S 3S 5 S 2 ¢£S 4Figure 7. Example for the Shamir secret shar<strong>in</strong>g schemeMany secret shar<strong>in</strong>g schemes are constructed by <strong>f<strong>in</strong>ite</strong> <strong>geometry</strong>. For example onecan use arcs to construct a k-out-<strong>of</strong>-n secret shar<strong>in</strong>g scheme.Example 8Let π be a hyperplane <strong>of</strong> PG(k, q) <strong>and</strong> let P 0 , . . .,P n be an (n + 1)-arc <strong>in</strong> π. Let l be al<strong>in</strong>e <strong>of</strong> PG(k, q) with π ∩ l = P 0 .The participant number i (1 ≤ i ≤ n) gets the po<strong>in</strong>t P i as his share. All participantsare told that the secret po<strong>in</strong>t P 0 lies on l, but the hyperplane π is kept secret by the dealer.Less than k participants see the follow<strong>in</strong>g: their shares P 1 , . . . , P i (i < k) span an(i − 1)-dimensional space skew to l. For every po<strong>in</strong>t P ′ ∈ l there exists a hyperplane π ′with an arc conta<strong>in</strong><strong>in</strong>g P ′ , P 1 , . . . , P i . Thus there is no way to decide which po<strong>in</strong>t <strong>of</strong> l isthe secret P 0 .At least k participants can compute the span 〈P 1 , . . . , P k 〉 = π with their shares.The secret po<strong>in</strong>t P 0 is computed as π ∩ l.Thus we have constructed a k-out-<strong>of</strong>-n secret shar<strong>in</strong>g scheme.One can consider more complex access structures. For example, we want that threestaff members together can open the vault, but also two senior staff members alone canopen the vault. Def<strong>in</strong>ition 7 formalises the idea <strong>of</strong> an access structure.Def<strong>in</strong>ition 7Let P be a set <strong>of</strong> persons.An access structure Γ is a subset <strong>of</strong> P(P) with the propertyA ∈ Γ =⇒ B ∈ Γ


for every B ⊃ A.Example 8 shows how to realise a k-out-<strong>of</strong>-n access structure with <strong>f<strong>in</strong>ite</strong> <strong>geometry</strong>.We want to generalise this example. The secret <strong>and</strong> the shares should be subspaces <strong>of</strong> a<strong>f<strong>in</strong>ite</strong> projective space PG(n, q). As <strong>in</strong> Example 8, the reconstruction <strong>of</strong> the secret shouldbe done by comput<strong>in</strong>g the span <strong>of</strong> the shares. This leads to the follow<strong>in</strong>g def<strong>in</strong>ition.Def<strong>in</strong>ition 8Let Γ be an access structure for the person set P . A subspace configuration for Γ is a set<strong>of</strong> subspaces S p , with p ∈ P , <strong>and</strong> a secret space S with the properties• S ∩ 〈S p | p ∈ A〉 = ∅ for all A /∈ Γ.• S ⊆ 〈S p | p ∈ A〉 for all A ∈ Γ.Theorem 13 (Ito, Saito <strong>and</strong> Nishizeki [16])Let Γ be an access structure, then there exists a subspace configuration realis<strong>in</strong>g Γ <strong>in</strong>PG(d, q), for d large enough.Pro<strong>of</strong>. Let U = {U 0 , . . .,U d } be the set <strong>of</strong> maximal unauthorised sets <strong>of</strong> Γ. (A set A /∈ Γis maximal unauthorised if every proper superset B ⊃ A is <strong>in</strong> Γ.) We will construct asubspace configuration for Γ <strong>in</strong> PG(d, q). Let e i , the i-th vector <strong>of</strong> unity, correspond tothe set U i .For p ∈ P , def<strong>in</strong>e S p = 〈e i | p /∈ U i 〉 <strong>and</strong> let S = 〈(1, . . .,1)〉.An unauthorised set <strong>of</strong> persons U is conta<strong>in</strong>ed <strong>in</strong> at least one maximal unauthorisedset U i . By construction, e i /∈ ⋃ p∈U S p <strong>and</strong> hence 〈 ⋃ p∈U S p〉 cannot conta<strong>in</strong> e i <strong>and</strong>S = 〈(1, . . .,1)〉, i.e. the secret is not reconstructed.If Q is a qualified set <strong>of</strong> persons then for every maximal unauthorised set U i , Qconta<strong>in</strong>s a person p i not <strong>in</strong> U i . Hence, e i ∈ S pi ⊆ ⋃ p∈Q S p for every i. This proves thatS = 〈(1, . . .,1)〉 ⊆ 〈S p | p ∈ Q〉, i.e. the persons from Q can reconstruct the secret. □For further applications <strong>of</strong> <strong>f<strong>in</strong>ite</strong> <strong>geometry</strong> <strong>in</strong> secret shar<strong>in</strong>g, see [17].Secret shar<strong>in</strong>g schemes can also be constructed by error-correct<strong>in</strong>g codes.Example 9 (McEliece <strong>and</strong> Sarwarte [24])Let C be an [n + 1, k, n − k + 2] q MDS code.For a secret c 0 ∈ F q , the dealer creates a codeword c = (c 0 , c 1 , . . . , c n ) ∈ C. Theshare <strong>of</strong> the participant number i is symbol c i .S<strong>in</strong>ce C is an MDS code with m<strong>in</strong>imum distance n − k + 2, the codeword c can beuniquely reconstructed if only k symbols are known.So any set <strong>of</strong> k persons can compute the secret c 0 .On the other h<strong>and</strong>, less than k persons do not learn anyth<strong>in</strong>g about the secret, s<strong>in</strong>cefor any possible secret c ′ , the same number <strong>of</strong> codewords that fit to the secret c ′ <strong>and</strong> theirshares exist.This is an alternative description <strong>of</strong> the k-out-<strong>of</strong>-n secret shar<strong>in</strong>g scheme from Example8.The use <strong>of</strong> error-correct<strong>in</strong>g codes for describ<strong>in</strong>g secret shar<strong>in</strong>g schemes motivatesthe follow<strong>in</strong>g def<strong>in</strong>ition.


Def<strong>in</strong>ition 9 (Massey [23])The support <strong>of</strong> a word c ∈ F n q is def<strong>in</strong>ed bysup(c) = {i | c i ≠ 0}.Let C be a l<strong>in</strong>ear code.A nonzero codeword c ∈ C is called m<strong>in</strong>imal if∀c ′ ∈ C : sup(c ′ ) ⊆ sup(c) =⇒ c ′ ∈ 〈c〉.Lemma 2 (Massey [23])Let C be an [n+1, k] q -code. A secret shar<strong>in</strong>g scheme is constructed from C by choos<strong>in</strong>ga codeword c = (c 0 , . . .,c n ). The secret is c 0 <strong>and</strong> the shares <strong>of</strong> the participants are thecoord<strong>in</strong>ates c i (1 ≤ i ≤ n).The m<strong>in</strong>imal qualified sets <strong>of</strong> the secret shar<strong>in</strong>g scheme correspond to the m<strong>in</strong>imalcodewords <strong>of</strong> C ⊥ with 0 <strong>in</strong> their supports.Pro<strong>of</strong>. Suppose the set {1, . . ., k} is a qualified set. This means that c 0 can be determ<strong>in</strong>edfrom c 1 , . . . , c k , i.e. there exist constants a 1 , . . . , a k , withc 0 = a 1 c 1 + · · · + a k c k , (3)which means that (1, −a 1 , . . . , −a k , 0, . . .,0) is a codeword <strong>of</strong> C ⊥ with 0 <strong>in</strong> its support.On the other h<strong>and</strong> a codeword <strong>of</strong> C ⊥ with 0 <strong>in</strong> its support gives an equation <strong>of</strong>type (3) <strong>and</strong> hence its support, m<strong>in</strong>us the zero position, def<strong>in</strong>es a qualified set <strong>of</strong> participants.□3.2. Authentication codesConsider the follow<strong>in</strong>g cryptographic problem: Alice wants to send Bob a message m.Perhaps an attacker <strong>in</strong>tercepts the message <strong>and</strong> sends an alternated message to Bob. Howcan Bob be sure that the message he gets is the correct one. One solution is that Alice <strong>and</strong>Bob agree on a secret key K. Alice computes an authentication tag e K (m) <strong>and</strong> sendsm‖e K (m) to Bob. Then Bob can check that the authentication tag fits to the message<strong>and</strong> s<strong>in</strong>ce the key K is private he knows that Alice has computed e K (m). This leads to:Def<strong>in</strong>ition 10A message authentication code (MAC) is a 4-tuple (S, A, K, E) with1. S a <strong>f<strong>in</strong>ite</strong> set <strong>of</strong> source states (messages).2. A a <strong>f<strong>in</strong>ite</strong> set <strong>of</strong> authentication tags.3. K a <strong>f<strong>in</strong>ite</strong> set <strong>of</strong> keys.4. For each K ∈ K, we have an authentication rule e K ∈ E with e K : S → A.The security <strong>of</strong> a MAC is measured by the follow<strong>in</strong>g probabilities.Def<strong>in</strong>ition 11Let p i denote the probability <strong>of</strong> an attacker to construct a pair (s, e K (s)) without knowledge<strong>of</strong> the key K, if he only knows i different pairs (s j , e K (s j )). The smallest value rfor which p r+1 = 1 is called the order <strong>of</strong> the scheme.


67 67 1 115


Construction 1Let PG(V ) be an n-dimensional(space with basis e i (0 ≤ i ≤ n).(n+d+1 ) )Let PG(W) be <strong>and</strong>+1 − 1 -dimensional space with basis e i0,...,i d(0 ≤ i 0 ≤i 1 ≤ · · · ≤ i d ≤ n).To simplify notations, we will write e i0,...,i dwith 0 ≤ i 0 , . . .,i d ≤ n when we meanthe vector e iσ(0) ,...,i σ(d)where σ is a permutation with 0 ≤ i σ(0) ≤ i σ(1) ≤ · · · ≤ i σ(d) ≤n.Let θ : V d+1 → W be the multil<strong>in</strong>ear mapp<strong>in</strong>g.θ : (n∑i 0=0x (0)i 0e i0 , . . .,n∑i d =0x (d)i de id ) ↦→∑0≤i 0,...,i d ≤nx (0)i 0· . . . · x (d)i de i0,...,i d. (4)For each po<strong>in</strong>t P = [x] <strong>of</strong> PG(V ), we def<strong>in</strong>e a subspace D(P) <strong>of</strong> PG(W) byD(P) = 〈θ(x, v 1 , . . .,v d ) | v 1 , . . . , v d ∈ V 〉 . (5)Theorem 15The set D = {D(P) | P ∈ PG(V )} is a generalised dual arc with dimensions d i =)− 1, i = 0, . . . , d + 1.( n+d+1−id+1−iPro<strong>of</strong>. S<strong>in</strong>ce θ is a multil<strong>in</strong>ear form, we getD(P 0 ) ∩ · · · ∩ D(P k−1 ) = 〈θ(x 0 , . . . , x k−1 , v k , . . .,v d ) | v k , . . . , v d ∈ V 〉<strong>and</strong> hence dim(D(P 0 ) ∩ · · · ∩ D(P k−1 )) = ( )n+d+1−kd+1−k − 1. (The −1 is because theprojective dimension is one less than the vector space dimension).□The l<strong>in</strong>k between dual arcs <strong>and</strong> MACs is:Theorem 16Let π be a hyperplane <strong>of</strong> PG(n + 1, q) <strong>and</strong> let D be a generalised dual arc <strong>of</strong> order l <strong>in</strong>π with parameters (n, d 1 , . . . , d l+1 ).The elements <strong>of</strong> D are the messages <strong>and</strong> the po<strong>in</strong>ts <strong>of</strong> PG(n + 1, q) not <strong>in</strong> π arethe keys. The authentication tag that belongs to a message <strong>and</strong> a key is the generated(d 1 + 1)-dimensional subspace.This def<strong>in</strong>es a perfect MAC <strong>of</strong> order r = l + 1 with attack probabilitiesp i = q di+1−di .Pro<strong>of</strong>. After i message tag pairs (m 1 , t 1 ), . . . , (m i , t i ) are sent, the attacker knows thatthe key must lie <strong>in</strong> the (d i + 1)-dimensional space π = t 1 ∩ · · · ∩ t i . This space conta<strong>in</strong>sq di+1 different keys. A message m i+1 <strong>in</strong>tersects m 1 ∩ · · · ∩ m i <strong>in</strong> a d i+1 -dimensionalspace π ′ . Two keys K <strong>and</strong> ¯K generate the same authentication tag if <strong>and</strong> only if K <strong>and</strong>¯K generate together with π ′ the same (d i+1 +1)-dimensional space. Thus the keys formgroups <strong>of</strong> size q di+1+1 <strong>and</strong> keys from the same group give the same authentication tag.The attacker has to guess a group. The probability to guess the correct group isp i = q di+1+1 /q di+1 .□


3.3. AESIn 1997 the American National Institute <strong>of</strong> St<strong>and</strong>ards <strong>and</strong> Technology started a competitionto design a successor for the old Data Encryption St<strong>and</strong>ard DES. In 2000 the proposal<strong>of</strong> J. Daemen <strong>and</strong> V. Rijmen was selected as the new advanced encryption st<strong>and</strong>ardAES [4].AES works on 128 bit words which are <strong>in</strong>terpreted as 4 × 4 matrices over the fieldF 256 .The non-l<strong>in</strong>ear part <strong>of</strong> the AES substitution replaces every matrix element by its<strong>in</strong>verse <strong>in</strong> F 256 .An other part <strong>of</strong> the AES is the mix column step which has a l<strong>in</strong>k to cod<strong>in</strong>g <strong>theory</strong>.Purpose <strong>of</strong> this step is to spread a change <strong>in</strong> the <strong>in</strong>put (Diffusion).The <strong>in</strong>put <strong>of</strong> the mix column step is a vector <strong>of</strong> four bytes (a 1 , . . . , a 4 ) <strong>and</strong> its outputare four bytes (b 1 , . . . , b 4 ). It should have the follow<strong>in</strong>g properties:• Implementation <strong>of</strong> the mix column step should be simple <strong>and</strong> fast.• It should have optimal diffusion (a difference <strong>in</strong> k <strong>in</strong>put bytes (1 ≤ k ≤ 4) shouldresult <strong>in</strong> the difference <strong>of</strong> at least 5 − k output bytes).To satisfy the first condition the designers chose the mix column step to be a l<strong>in</strong>earmapp<strong>in</strong>g, i.e. mix column is done by⎛ ⎞ ⎛⎞⎛⎞b 1 m 1,1 m 1,2 m 1,3 m 1,4 a 1⎜b 2⎟⎝b 3⎠ = ⎜m 2,1 m 2,2 m 2,3 m 2,4⎟⎜a 2⎟⎝m 3,1 m 3,2 m 3,3 m 3,4⎠⎝a 3⎠ .b 4 m 4,1 m 4,2 m 4,3 m 4,4 a 4To satisfy the second property, every square submatrix <strong>of</strong> M = (m i,j ) must benon-s<strong>in</strong>gular. This is equivalent to⎛⎞1 0 0 0 m 1,1 m 1,2 m 1,3 m 1,4⎜0 1 0 0 m 2,1 m 2,2 m 2,3 m 2,4⎟⎝0 0 1 0 m 3,1 m 3,2 m 3,3 m 3,4⎠0 0 0 1 m 4,1 m 4,2 m 4,3 m 4,4is the parity check matrix <strong>of</strong> a [8, 4, 5] MDS code over F 256 .Any MDS code would do the job. The designers <strong>of</strong> AES chose the follow<strong>in</strong>g matrix:⎛ ⎞ ⎛b 1⎜b 2⎟⎝b 3⎠ = ⎜⎝b 4α α + 1 1 11 α α + 1 11 1 α α + 1α + 1 1 1 α⎞ ⎛ ⎞a 1⎟ ⎜a 2⎟⎠ ⎝a 3⎠a 4where α is a root <strong>of</strong> x 8 + x 4 + x 3 + x + 1.The simple structure <strong>of</strong> AES mix columns has some additional advantages for theimplementation.• We have b 1 = f(a 1 , a 2 , a 3 , a 4 ), b 2 = f(a 2 , a 3 , a 4 , a 1 ), b 3 = f(a 3 , a 4 , a 1 , a 2 )<strong>and</strong> b 4 = f(a 4 , a 1 , a 2 , a 3 ). Thus we must implement only one l<strong>in</strong>ear functionf : F 4 256 → F 256.


[19] A. Kle<strong>in</strong>, J. Schillewaert, <strong>and</strong> L. Storme. Generalised Veroneseans. Adv. Geom., submitted.[20] J.H. van L<strong>in</strong>t. Introduction to Cod<strong>in</strong>g Theory. Spr<strong>in</strong>ger-Verlag, 3 edition, 1998.[21] F.J. MacWilliams <strong>and</strong> N.J.A. Sloane. The <strong>theory</strong> <strong>of</strong> error correct<strong>in</strong>g codes, volume 16 <strong>of</strong> North-Holl<strong>and</strong>Mathematical Library. North-Holl<strong>and</strong>, Amsterdam, London, New York, Tokyo, 1977.[22] T. Maruta. On the Achievement <strong>of</strong> the Griesmer Bound. Des. Codes Cryptogr., 12:83–87, 1997.[23] J.L. Massey. M<strong>in</strong>imal codewords <strong>and</strong> secret shar<strong>in</strong>g. In Proceed<strong>in</strong>gs <strong>of</strong> the 6th Jo<strong>in</strong>t Swedish-RussianInternational Workshop on Information Theory, pages 276–279, 1993.[24] R.J. McEliece. On shar<strong>in</strong>g secrets <strong>and</strong> Reed-Solomon codes. Comm. ACM, 24:583–584, 1981.[25] V.S. Pless, W.C. Huffman, <strong>and</strong> R.A. Brualdi, editors. H<strong>and</strong>book <strong>of</strong> cod<strong>in</strong>g <strong>theory</strong>. Vol. I, II. North-Holl<strong>and</strong>, Amsterdam, 1998.[26] I.S. Reed <strong>and</strong> G. Solomon. Polynomial codes over certa<strong>in</strong> <strong>f<strong>in</strong>ite</strong> fields. J. SIAM, 8:300–304, 1960.[27] B. Segre. Curve razionali normali e k-archi negli spazi f<strong>in</strong>iti. Ann. Mat. Pura Appl. (4), 39:357–379,1955.[28] A. Shamir. How to share a secret. Comm. ACM, 22:612–613, 1979.[29] R.C. S<strong>in</strong>gleton. Maximum distance q-ary codes. IEEE Trans. Inform. Theory, 10:116–118, 1964.[30] G. Solomon <strong>and</strong> J.J. Stiffler. Algebraically punctured cyclic codes. Inform. <strong>and</strong> Control, 8:170–179,1965.[31] L. Storme. Completeness <strong>of</strong> normal rational curves. J. Algebraic Comb<strong>in</strong>., 1:197–202, 1992.[32] J.A. Thas. Normal rational curves <strong>and</strong> k-arcs <strong>in</strong> Galois spaces. Rend. Mat. (6), 1:331–334, 1968.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!