Cryptographic Boolean Functions in Lean

6.2. Correlation and propagation criteria🔗

Theorem6.2.1
Group: Chapter 6: Resilient functions (38)
Group member previews
Preview
Theorem 6.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Theorem 3.4.2
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1L∃∀N

Maximum correlation on a coordinate set (Carlet, p. 115). Let f:V_n\to\mathbb F_2 be m-resilient and let I\subseteq[n]. Among the Walsh frequencies supported in I, at most \sum_{j=m+1}^{|I|}\binom{|I|}{j} have nonzero coefficients. If |I|=m+1 and u_I is the unique frequency with support I, then the maximum correlation of f with functions depending only on I is 2^{-n}|W_f(u_I)|.

Lean code for Theorem6.2.13 theorems
  • theoremdefined in CryptBoolean/Carlet/Chapter07/MaximumCorrelation.lean
    complete
    theorem CryptBoolean.card_highWeightFrequenciesSupportedIn_eq_sum_choose {n : }
      (I : Finset (Fin n)) (m : ) :
      {u | FABL.f₂Support u  I  m < (FABL.f₂Support u).card}.card =
         j  Finset.Icc (m + 1) I.card, I.card.choose j
    theorem CryptBoolean.card_highWeightFrequenciesSupportedIn_eq_sum_choose
      {n : } (I : Finset (Fin n)) (m : ) :
      {u |
            FABL.f₂Support u  I 
              m <
                (FABL.f₂Support
                    u).card}.card =
         j  Finset.Icc (m + 1) I.card,
          I.card.choose j
    The number of frequencies supported in `I` whose weight exceeds `m`. 
  • theoremdefined in CryptBoolean/Carlet/Chapter07/MaximumCorrelation.lean
    complete
    theorem CryptBoolean.card_walshSupport_filter_subset_le_sum_choose_of_isResilient
      {n : } (f : CryptBoolean.BooleanFunction n) (I : Finset (Fin n))
      (m : ) (hm : m < n) (hf : CryptBoolean.IsResilient m f) :
      {u  CryptBoolean.walshSupport f | FABL.f₂Support u  I}.card 
         j  Finset.Icc (m + 1) I.card, I.card.choose j
    theorem CryptBoolean.card_walshSupport_filter_subset_le_sum_choose_of_isResilient
      {n : }
      (f : CryptBoolean.BooleanFunction n)
      (I : Finset (Fin n)) (m : )
      (hm : m < n)
      (hf : CryptBoolean.IsResilient m f) :
      {u  CryptBoolean.walshSupport f |
            FABL.f₂Support u  I}.card 
         j  Finset.Icc (m + 1) I.card,
          I.card.choose j
    An `m`-resilient function has at most the high-weight binomial tail of
    nonzero Walsh frequencies supported inside a prescribed coordinate set. 
  • theoremdefined in CryptBoolean/Carlet/Chapter07/MaximumCorrelation.lean
    complete
    theorem CryptBoolean.maximumCorrelation_eq_abs_walshTransform_f₂CubeOfFinset_div_of_isResilient
      {n : } (f : CryptBoolean.BooleanFunction n) (I : Finset (Fin n))
      (m : ) (hm : m < n) (hI : I.card = m + 1)
      (hf : CryptBoolean.IsResilient m f) :
      CryptBoolean.maximumCorrelation f I =
        |(CryptBoolean.walshTransform f (FABL.f₂CubeOfFinset I))| / 2 ^ n
    theorem CryptBoolean.maximumCorrelation_eq_abs_walshTransform_f₂CubeOfFinset_div_of_isResilient
      {n : }
      (f : CryptBoolean.BooleanFunction n)
      (I : Finset (Fin n)) (m : )
      (hm : m < n) (hI : I.card = m + 1)
      (hf : CryptBoolean.IsResilient m f) :
      CryptBoolean.maximumCorrelation f I =
        |(CryptBoolean.walshTransform f
                (FABL.f₂CubeOfFinset I))| /
          2 ^ n
    For an `m`-resilient function and `|I| = m+1`, maximum correlation with
    functions on `I` is the normalized magnitude of the unique possible Walsh
    coefficient supported on all of `I`. 
Theorem6.2.2
Group: Chapter 6: Resilient functions (38)
Group member previews
Preview
Theorem 6.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 5
Statement dependency previews
Preview
Corollary 1.8.6
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1L∃∀N

Resiliency--propagation tradeoff (Carlet, p. 116). If an n-variable Boolean function is m-resilient and satisfies \mathrm{PC}(\ell), then m+\ell\le n-1.

Lean code for Theorem6.2.21 theorem
  • theoremdefined in CryptBoolean/Carlet/Chapter07/PropagationTradeoff.lean
    complete
    theorem CryptBoolean.resilient_propagationCriterion_parameter_tradeoff {n : }
      (f : CryptBoolean.BooleanFunction n) (m l : ) (hm : m < n)
      (hresilient : CryptBoolean.IsResilient m f)
      (hpc : CryptBoolean.SatisfiesPropagationCriterion l f) : m + l  n - 1
    theorem CryptBoolean.resilient_propagationCriterion_parameter_tradeoff
      {n : }
      (f : CryptBoolean.BooleanFunction n)
      (m l : ) (hm : m < n)
      (hresilient :
        CryptBoolean.IsResilient m f)
      (hpc :
        CryptBoolean.SatisfiesPropagationCriterion
          l f) :
      m + l  n - 1
    An `m`-resilient `PC(l)` Boolean function satisfies `m+l ≤ n-1`. 
Theorem6.2.3
Group: Chapter 6: Resilient functions (38)
Group member previews
Preview
Theorem 6.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Equality in the resiliency--propagation tradeoff (Carlet, p. 116). Let \ell>0. If an n-variable m-resilient Boolean function satisfies \mathrm{PC}(\ell) and m+\ell=n-1, then n is odd, \ell=n-1, and m=0.

Lean code for Theorem6.2.31 theorem
  • theoremdefined in CryptBoolean/Carlet/Chapter07/PropagationEquality.lean
    complete
    theorem CryptBoolean.resilient_propagationCriterion_equality_classification
      {n : } (f : CryptBoolean.BooleanFunction n) (m l : ) (hl : 0 < l)
      (hresilient : CryptBoolean.IsResilient m f)
      (hpc : CryptBoolean.SatisfiesPropagationCriterion l f)
      (hequality : m + l = n - 1) : Odd n  l = n - 1  m = 0
    theorem CryptBoolean.resilient_propagationCriterion_equality_classification
      {n : }
      (f : CryptBoolean.BooleanFunction n)
      (m l : ) (hl : 0 < l)
      (hresilient :
        CryptBoolean.IsResilient m f)
      (hpc :
        CryptBoolean.SatisfiesPropagationCriterion
          l f)
      (hequality : m + l = n - 1) :
      Odd n  l = n - 1  m = 0
    Equality in the resiliency--propagation tradeoff at positive propagation
    order is possible only in odd dimension, with balancedness and `PC(n-1)`.