k
play

/k Introduction and content 2/37 Error-correcting pair - - PowerPoint PPT Presentation

Error-correcting Pairs for a Public-key Cryptosystem Ruud Pellikaan g.r.pellikaan@tue.nl joint work with Irene Mrquez-Corbella Code-based Cryptography Workshop 2012 Lyngby, 9 May 2012 /k Introduction and content 2/37 Error-correcting


  1. Error-correcting Pairs for a Public-key Cryptosystem Ruud Pellikaan g.r.pellikaan@tue.nl joint work with Irene Márquez-Corbella Code-based Cryptography Workshop 2012 Lyngby, 9 May 2012 /k

  2. Introduction and content 2/37 ◮ Error-correcting pair - Generalized Reed-Solomon codes - Alternant codes - Goppa codes ◮ t -error-correcting pair corrects t -errors ◮ Algebraic geometry codes ◮ Code-based cryptography /k

  3. Error-correcting codes 3/37 C linear block code: F q -linear subspace of F n q parameters [ n , k , d ] : n = length k = dimension of C d = minimum distance of C d = min |{ d ( x , y ) | x , y ∈ C , x �= y }| t = error-correcting capacity of C t = ⌊ d ( C ) − 1 ⌋ 2 /k

  4. Inner and star product 4/37 The standard inner product is defined by a · b = a 1 b 1 + · · · + a n b n For two subsets A and B of F n q A ⊥ B if and only if a · b = 0 for all a ∈ A and b ∈ B Let a and b in F n q The star product is defined by coordinatewise multiplication: a ∗ b = ( a 1 b 1 , . . . , a n b n ) For two subsets A and B of F n q A ∗ B = { a ∗ b | a ∈ A and b ∈ B } /k

  5. Error-correcting pairs 5/37 Let C be a linear code in F n q The pair ( A , B ) of linear subcodes of F n q m is a called a t-error correcting pair (ECP) over F q m for C if E.1 ( A ∗ B ) ⊥ C E.2 k ( A ) > t E.3 d ( B ⊥ ) > t E.4 d ( A ) + d ( C ) > n /k

  6. Generalized Reed-Solomon codes 6/37 Let a = ( a 1 , . . . , a n ) be an n -tuple of mutually distinct elements of F q Let b = ( b 1 , . . . , b n ) be an n -tuple of nonzero elements of F q Evaluation map: ev a , b ( f ( X )) = ( f ( a 1 ) b 1 , . . . , f ( a n ) b n ) GRS k ( a , b ) = { ev a , b ( f ( X )) | f ( X ) ∈ F q [ X ] , deg ( f ( X ) < k } Parameters: [ n , k , n − k + 1 ] if k ≤ n Furthermore ev a , b ( f ( X )) ∗ ev a , c ( g ( X )) = ev a , b ( f ( X ) g ( X )) ∗ c � GRS k ( a , b ) ∗ GRS l ( a , c ) � = GRS k + l − 1 ( a , b ∗ c ) /k

  7. t -ECP for GRS n − 2 t ( a , b ) 7/37 Let C = GRS n − 2 t ( a , b ) Then C has parameters: [ n , n − 2 t , 2 t + 1 ] and C ⊥ = GRS 2 t ( a , c ) for some c Let A = GRS t + 1 ( a , 1 ) and B = GRS t ( a , c ) Then A ∗ B ⊆ C ⊥ A has parameters [ n , t + 1 , n − t ] B has parameters [ n , t , n − t + 1 ] So B ⊥ has parameters [ n , n − t , t + 1 ] Hence ( A , B ) is a t -error-correcting pair for C Conversely an [ n , n − 2 t , 2 t + 1 ] code that has a t -ECP is a GRS code /k

  8. Alternant codes 8/37 Let a be an n -tuple of mutually distinct elements of F q m Let b be an n -tuple of nonzero elements of F q m Let GRS k ( a , b ) be the GRS code over F q m of dimension k The alternant code ALT r ( a , b ) is the F q -linear restriction ALT r ( a , b ) = F n q ∩ ( GRS r ( a , b )) ⊥ Then ALT r ( a , b ) has parameters [ n , k , d ] q with k ≥ n − mr and d ≥ r + 1 Every linear code of minimum distance at least 2 is an alternant code! /k

  9. t -ECP for ALT 2 t ( a , b ) 9/37 Let C = ALT 2 t ( a , b ) Then C has minimum distance d ≥ 2 t + 1 and C ⊆ ( GRS 2 t + 1 ( a , b )) ⊥ Let A = GRS t + 1 ( a , 1 ) and B = GRS t ( a , b ) Then A ∗ B ⊆ GRS 2 t + 1 ( a , b ) Then ( A ∗ B ) ⊥ C A has parameters [ n , t + 1 , n − t ] B has parameters [ n , t , n − t + 1 ] So B ⊥ has parameters [ n , n − t , t + 1 ] Hence ( A , B ) is a t -error-correcting pair over F q m for C /k

  10. Goppa codes 10/37 Let L = ( a 1 , . . . , a n ) be an n -tuple of n distinct elements of F q m Let g be a polynomial with coefficients in F q m such that g ( a j ) �= 0 for all j Then g is called Goppa polynomial with respect to L Define the F q -linear Goppa code Ŵ( L , g ) by   n c j   �  c ∈ F n ≡ 0 mod g ( X ) Ŵ( L , g ) = q | X − a j j = 1  /k

  11. Goppa codes are alternant codes 11/37 Let L = a = ( a 1 , . . . , a n ) Let g be a Goppa polynomial of degree r Let b j = 1 / g ( a j ) Then Ŵ( L , g ) = ALT r ( a , b ) Hence Ŵ( L , g ) has parameters [ n , k , d ] q with k ≥ n − mr and d ≥ r + 1 and has an ⌊ r / 2 ⌋ -error-correcting pair /k

  12. Binary Goppa codes 12/37 Let L = a = ( a 1 , . . . , a n ) Let g be a Goppa polynomial with coefficients in F 2 m of degree r Suppose moreover that g has no square factor Then Ŵ( L , g ) = Ŵ( L , g 2 ) Hence Ŵ( L , g ) has parameters [ n , k , d ] q with k ≥ n − mr and d ≥ 2 r + 1 and has an r -error-correcting pair /k

  13. Theory of error-correcting pairs 13/37 Let C be a linear code in F n q The pair ( A , B ) of linear subcodes of F n q m is a called a t-error correcting pair (ECP) over F q m for C if E.1 ( A ∗ B ) ⊥ C E.2 k ( A ) > t E.3 d ( B ⊥ ) > t E.4 d ( A ) + d ( C ) > n Let ( A , B ) be linear subcodes of F n q m that satisfy E . 1, E . 2, E . 3 and E.5 d ( A ⊥ ) > 1 E.6 d ( A ) + 2 t > n Then d ( C ) ≥ 2 t + 1 and ( A , B ) is a t -ECP for C /k

  14. Kernel of a received word 14/37 Let A and B be linear subspaces of F n q m Let r ∈ F n q be a received word Define the kernel K ( r ) = { a ∈ A | ( a ∗ b ) · r = 0 for all b ∈ B } Lemma Let C be an F q -linear code of length n Let r be a received word with error vector e So r = c + e for some c ∈ C If A ∗ B ⊆ C ⊥ , then K ( r ) = K ( e ) /k

  15. Kernel for a GRS code 15/37 Let A = GRS t + 1 ( a , 1 ) and B = GRS t ( a , 1 ) and C = � A ∗ B � ⊥ Let a i = ev a , 1 ( X i − 1 ) for i = 1 , . . . , t + 1 b j = ev a , 1 ( X j ) for j = 1 , . . . , t h l = ev a , 1 ( X l ) for l = 1 , . . . , 2 t Then a 1 , . . . , a t + 1 is a basis of A b 1 , . . . , b t is a basis of B h 1 , . . . , h 2 t is a basis of C ⊥ Furthermore a i ∗ b j = ev a , 1 ( X i + j − 1 ) = h i + j − 1 /k

  16. Matrix of syndromes for a GRS code 16/37 Let r be a received word and s = r H T its syndrome Then ( b j ∗ a i ) · r = s i + j − 1 . To compute the kernel K ( r ) we have to compute the null space of the matrix of syndromes   s 1 s 2 s t s t + 1 · · · s 2 s 3 · · · s t + 1 s t + 2    . . . .  ... . . . .   . . . .   s t s t + 1 s 2 t − 1 s 2 t · · · /k

  17. Error location 17/37 Let ( A , B ) be a t -ECP for C Let J be a subset of { 1 , . . . , n } Define the subspace of A A ( J ) = { a ∈ A | a j = 0 for all j ∈ J } Lemma Let ( A ∗ B ) ⊥ C Let e be an error vector of the received word r If I = supp ( e ) = { i | e i �= 0 } , then A ( I ) ⊆ K ( r ) If moreover d ( B ⊥ ) > wt ( e ) , then A ( I ) = K ( r ) /k

  18. Basic algorithm 18/37 Let ( A , B ) be a t -ECP for C with d ( C ) ≥ 2 t + 1 Suppose that c ∈ C is the code word sent and r = c + e is the received word for some error vector e with wt ( e ) ≤ t The basic algorithm for the code C : - Compute the kernel K ( r ) This kernel is nonzero since k ( A ) > t - Take a nonzero element a of K ( r ) K ( r ) = K ( e ) since ( A ∗ B ) ⊥ C - Determine the set J of zero positions of a supp ( e ) ⊆ J since d ( B ⊥ ) > t | J | < d ( C ) since d ( A ) + d ( C ) < n - Compute the error values by erasure decoding /k

  19. t -ECP corrects t errors efficiently 19/37 Theorem Let C be an F q -linear code of length n Let ( A , B ) be a t -error-correcting pair over F q m for C Then the basic algorithm corrects t errors for the code C with complexity O (( mn ) 3 ) /k

  20. Algebraic geometry codes 20/37 Let X be an algebraic variety over F q with a subset P of X ( F q ) enumerated by P 1 , . . . , P n Suppose that we have a vector space L over F q of functions on X with values in F q So f ( P i ) ∈ F q for all i and f ∈ L In this way we have an evaluation map → F n ev P : L − q defined by ev P ( f ) = ( f ( P 1 ), . . . , f ( P n )) This evaluation map is linear, so its image is a linear code /k

  21. Codes on the affine line 21/37 The classical example: Generalized Reed-Solomon codes The geometric object X is the affine line over F q The points are n distinct elements of F q L is the vector space of polynomials of degree at most k − 1 and with coefficients in F q This vector space has dimension k Such polynomials have at most k − 1 zeros so nonzero codewords have at least n − k + 1 nonzeros This code has parameters [ n , k , n − k + 1 ] if k ≤ n /k

  22. Codes on curves-function fields 22/37 Let X be an algebraic curve over F q of genus g F q ( X ) is the function field of the curve X with field of constants F q Let f be a nonzero rational function on the curve The divisor of zeros and poles of f is denoted by ( f ) Let E be a divisor of X of degree m Then L ( E ) = { f ∈ F q ( X ) | f = 0 or ( f ) ≥ − E } The dimension of the space L ( E ) is denoted by l ( E ) Then l ( E ) ≥ m + 1 − g and equality holds if m > 2 g − 2 by the Theorem of Riemann-Roch /k

  23. Codes on curves 23/37 Let P = ( P 1 , . . . , P n ) an n -tuple of mutual distinct points of X ( F q ) If the support of E is disjoint from P , then the evaluation map ev P : L ( E ) → F n q where ev P ( f ) = ( f ( P 1 ), . . . , f ( P n )) , is well defined. The algebraic geometry code C L ( X , P , E ) is the image of L ( E ) under the evaluation map ev P If m < n , then C L ( X , P , E ) is an [ n , k , d ] code with k ≥ m + 1 − g and d ≥ n − m n − m is called the designed minimum distance of C L ( X , P , E ) /k

  24. Information rate 24/37 Information rate R = k / n Relative minimum distance δ = d / n Singleton R + δ ≤ 1 Gilbert-Varshamov R ≥ 1 − H q (δ) q-ary entropy function H q Goppa for AG codes R + δ ≥ 1 − γ Relative genus γ = g / n 1 Ihara-Tsfasman-Vladut-Zink γ = √ q − 1 /k

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend