resilient functions and cyclic codes from ca
play

Resilient Functions and Cyclic Codes from CA ACRI 2016 Fez Luca - PowerPoint PPT Presentation

Resilient Functions and Cyclic Codes from CA ACRI 2016 Fez Luca Mariot 1 , 2 , Alberto Leporati 1 1 DISCo, Universit degli Studi Milano - Bicocca, Italy 2 I3S, Universit Nice Sophia Antipolis, France luca.mariot@disco.unimib.it September


  1. Resilient Functions and Cyclic Codes from CA ACRI 2016 – Fez Luca Mariot 1 , 2 , Alberto Leporati 1 1 DISCo, Università degli Studi Milano - Bicocca, Italy 2 I3S, Université Nice Sophia Antipolis, France luca.mariot@disco.unimib.it September 5, 2016

  2. One-Dimensional Cellular Automata (CA) Definition (One-dimensional cellular automaton) One-dimensional array of n ∈ N cells, equipped with a local rule f : { 0 , 1 } 2 r + 1 → { 0 , 1 } of radius r ∈ N . Example: n = 8, r = 1, f ( s i − 1 , s i , s i + 1 ) = s i − 1 ⊕ s i ⊕ s i + 1 (Rule 150) ··· 0 ··· 0 1 1 0 1 0 0 0 0 1 0 1 ⇓ Parallel update Global rule F ↓ f ( 1 , 1 , 0 ) = 1 ⊕ 1 ⊕ 0 0 1 0 0 1 1 0 Remark : No boundary conditions ⇒ The array “shrinks” Luca Mariot Resilient Functions and Cyclic Codes from CA

  3. CA-Based Cryptography: Motivations ◮ General Idea: exploit the emergent complexity of CA to design cryptosystems satisfying confusion and diffusion criteria ◮ CA-based Pseudorandom Generator (PRG) [Wolfram86]: central cell of rule 30 CA used as a stream cipher keystream K K Seed K CA CA Keystream z z z � � PT CT CT PT Encryption Decryption Luca Mariot Resilient Functions and Cyclic Codes from CA

  4. Our Contribution at a Glance CA-based stream cipher design, up to now: ◮ Focus on CA local rules, ··· 0 ··· 0 1 1 0 viewed as Boolean functions ↓ f : { 0 , 1 } 2 r + 1 → { 0 , 1 } ◮ Rationale: choose rule f 0 with best crypto properties Our approach: ◮ Some attacks cannot be formalized in a local way 0 0 0 0 0 1 1 1 ◮ Idea: Analyse the crypto ⇓ F : { 0 , 1 } n → { 0 , 1 } m properties of the CA global 1 0 0 1 1 0 rule as a vectorial Boolean function Luca Mariot Resilient Functions and Cyclic Codes from CA

  5. Resiliency: Basic Definitions Let F : { 0 , 1 } n → { 0 , 1 } m be a n -inputs, m -outputs Boolean function. Then: ◮ F is balanced if | F − 1 ( y ) | = 2 m for all y ∈ { 0 , 1 } m ◮ F is t -resilient if, fixing any t < n coordinates, the restricted map F | t : { 0 , 1 } n − t → { 0 , 1 } is balanced Example: Rule 150, n = 3, m = 1, f ( x 1 , x 2 , x 3 ) = x 1 ⊕ x 2 ⊕ x 3 ( x 1 , x 2 , x 3 ) 000 100 010 110 001 101 011 111 f ( x 1 , x 2 , x 3 ) 0 1 1 0 1 0 0 1 Luca Mariot Resilient Functions and Cyclic Codes from CA

  6. The Resiliency Game [Chor85] 1. The player chooses a function F : { 0 , 1 } n → { 0 , 1 } m x = y = Example: CA F : { 0 , 1 } 8 → { 0 , 1 } 6 induced by rule 150, f ( x 1 , x 2 , x 3 ) = x 1 ⊕ x 2 ⊕ x 3 Luca Mariot Resilient Functions and Cyclic Codes from CA

  7. The Resiliency Game [Chor85] 2. The adversary chooses the values of t input variables ↓ ↓ x = 1 0 y = Example: CA F : { 0 , 1 } 8 → { 0 , 1 } 6 induced by rule 150, f ( x 1 , x 2 , x 3 ) = x 1 ⊕ x 2 ⊕ x 3 Luca Mariot Resilient Functions and Cyclic Codes from CA

  8. The Resiliency Game [Chor85] 2. The values for the remaining variables are randomly chosen ↓ ↓ x = ? ? 1 ? ? 0 ? ? y = Example: CA F : { 0 , 1 } 8 → { 0 , 1 } 6 induced by rule 150, f ( x 1 , x 2 , x 3 ) = x 1 ⊕ x 2 ⊕ x 3 Luca Mariot Resilient Functions and Cyclic Codes from CA

  9. The Resiliency Game [Chor85] 2. The values for the remaining variables are randomly chosen ↓ ↓ x = 0 1 1 0 0 0 1 1 y = Example: CA F : { 0 , 1 } 8 → { 0 , 1 } 6 induced by rule 150, f ( x 1 , x 2 , x 3 ) = x 1 ⊕ x 2 ⊕ x 3 Luca Mariot Resilient Functions and Cyclic Codes from CA

  10. The Resiliency Game [Chor85] 3. The player applies function F ↓ ↓ x = 0 1 1 0 0 0 1 1 ⇓ F y = 0 0 1 0 1 0 Example: CA F : { 0 , 1 } 8 → { 0 , 1 } 6 induced by rule 150, f ( x 1 , x 2 , x 3 ) = x 1 ⊕ x 2 ⊕ x 3 Luca Mariot Resilient Functions and Cyclic Codes from CA

  11. The Resiliency Game [Chor85] ◮ Outcome: if F ( x ) is uniformly distributed over F m 2 , then the player wins. Otherwise, the adversary wins ↓ ↓ x = 0 1 1 0 0 0 1 1 ⇓ F y = 0 0 1 0 1 0 Example: CA F : { 0 , 1 } 8 → { 0 , 1 } 6 induced by rule 150, f ( x 1 , x 2 , x 3 ) = x 1 ⊕ x 2 ⊕ x 3 Winning Strategy for the Player: choose a t -resilient function Luca Mariot Resilient Functions and Cyclic Codes from CA

  12. Bipermutive Cellular Automata Definition (Bipermutivity) A single-output Boolean function f : { 0 , 1 } n → { 0 , 1 } is bipermutive if, fixing either the leftmost or the rightmost n − 1 variables, the resulting restriction f | n − 1 : { 0 , 1 } → { 0 , 1 } is a permutation Equivalently, f is bipermutive if f ( x 1 , x 2 , ··· , x n − 1 , x n ) = x 1 ⊕ g ( x 2 , ··· , x n − 1 ) ⊕ x n where g : { 0 , 1 } n → { 0 , 1 } Example: Rule 150, f ( x 1 , x 2 , x 3 ) = x 1 ⊕ x 2 ⊕ x 3 , with g ( x 2 ) = x 2 Luca Mariot Resilient Functions and Cyclic Codes from CA

  13. Main Result In [Leporati13], the following result was proved: Theorem Let f : { 0 , 1 } n → { 0 , 1 } be bipermutive. Then, f is 1 -resilient We generalized this result to CA global rules: Theorem Given a CA with n cells and bipermutive local rule f : { 0 , 1 } 2 r + 1 → { 0 , 1 } , the global rule F : { 0 , 1 } n → { 0 , 1 } n − 2 r induced by f is 1 -resilient Luca Mariot Resilient Functions and Cyclic Codes from CA

  14. Error-Correcting Codes – Communication Model Noise e µ µ c z Alice Encoder Channel Decoder Bob ◮ µ ∈ { 0 , 1 } m : message ◮ e ∈ { 0 , 1 } n : error pattern ◮ c ∈ { 0 , 1 } n : codeword ( n > m ) ◮ z = c ⊕ e (received word) Luca Mariot Resilient Functions and Cyclic Codes from CA

  15. Linear Codes Definition A ( n , m , d ) binary linear code C of minimum distance d is an m -dimensional subspace of F n 2 = { 0 , 1 } n , such that for all c 1 , c 2 ∈ C d H ( c 1 , c 2 ) ≥ d where d H denotes the Hamming distance  g 1      .   g 1 , ··· , g m ∈ F n  .  2 basis of C ⇔ G = m × n generator matrix of C   .            g m  Encoding : vector-matrix multiplication µ �→ c = µ G Luca Mariot Resilient Functions and Cyclic Codes from CA

  16. Error Correction – Syndrome Decoding ◮ Parity Check Matrix: a ( n − m ) × n matrix H such that s = Hz ⊤ = 0 ⇔ z ∈ C s : Syndrome of z ◮ Suppose z = c ⊕ e , c ∈ C and e ∈ F n 2 . Then Hz ⊤ = H ( c ⊕ e ) ⊤ = ✟✟ Hc ⊤ ⊕ He ⊤ = He ⊤ ✟ Syndrome Decoding : find e ∈ F n 2 and return c = z ⊕ e Luca Mariot Resilient Functions and Cyclic Codes from CA

  17. Cyclic Codes Definition A ( n , m , d ) linear code is cyclic if for all c = ( c 0 , c 1 , ··· , c n − 1 ) ∈ C σ ( c ) = ( c 1 , ··· , c n − 1 , c 0 ) ∈ C ◮ Generator Matrix: g 0 g n − m 0 0  ··· ··· ··· ··· ···       0 g 0 ··· g n − m 0 ··· ··· ··· 0        G =    . . . . . . .  ... ...   . . . . . . .     . . . . . . .           0 ··· ··· ··· ··· 0 g 0 ··· g n − m ◮ Parity-check Matrix:  h m ··· h 0 0 ··· ··· ··· ··· 0       0 h m h 0 0 0  ··· ··· ··· ···       H =    . . . . . . .  ... ...   . . . . . . .    . . . . . . .            0 ··· ··· ··· ··· 0 h m ··· h 0 Luca Mariot Resilient Functions and Cyclic Codes from CA

  18. Linear CA ◮ Local rule: linear combination of the neighborhood cells f ( x 0 , ··· , x 2 r ) = a 0 x 0 ⊕···⊕ a 2 r x 2 r , a i ∈ F 2 ◮ Global rule: m × ( m + 2 r ) 2 r + 1-diagonal transition matrix a 0 a 2 r 0 0  ··· ··· ··· ··· ···        0 a 0 ··· a 2 r 0 ··· ··· ··· 0       M F =    . . . . . . .  ... ...   . . . . . . .     . . . . . . .           0 ··· ··· ··· ··· 0 a 0 ··· a 2 r x = ( x 0 , ··· , x n − 1 ) �→ M F x ⊤ Luca Mariot Resilient Functions and Cyclic Codes from CA

  19. Linear CA are Cyclic Codes a 0 ··· a 2 r 0 ··· ··· ··· ··· 0         0 a 0 ··· a 2 r 0 ··· ··· ··· 0       M F =   . . . . . . .  ... ...    . . . . . . .    . . . . . . .           0 0 a 0 ··· a 2 r  ··· ··· ··· ···  g 0 ··· g n − m 0 ··· ··· ··· ··· 0       0 g 0 g n − m 0 0  ··· ··· ··· ···       G =    . . . . . . .  ... ...   . . . . . . .    . . . . . . .            0 ··· ··· ··· ··· 0 g 0 ··· g n − m Linear CA ⇔ Cyclic codes Question : How is encoding/decoding performed? Luca Mariot Resilient Functions and Cyclic Codes from CA

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