Block Relative Distance for smooth Reed-Solomon Codes #
This file formalizes the notion of mutual correlated agreement for proximity generators, introduced in the [Section 4 of the WHIR paper][todo: ArkLib bibliography].
Implementation notes #
Block relative distance is defined for smooth rather than constrained Reed Solomon codes, as is done in the reference paper, as they are more general. The definition of `block' is also stated in a more general form than the reference paper.
We define distances for smooth ReedSolomon codes with respect to power and fiber domains, as per Section 4.3.1, [ACFY24]. We have generalized the definitions for a generic i to present (i,k)-wise distance measures. This modification is necessary to support following lemmas from Section 4.3.2. The definitions from Section 4.3.1 correspond to i = 0.
References #
- G Arnon, A Chiesa, G Fenzi, and E Yogev, [WHIR: Reed–Solomon Proximity Testing with Super-Fast Verification][todo: ArkLib bibliography] Freely available at https://eprint.iacr.org/2024/1586
The 2^k
-th power images over an embedding φ : ι ↪ F
and a finite set
of elements S : Finset ι
.
In particular, it returns the set of field elements y ∈ F
for which there exists x ∈ S
such that y = (φ x)^(2ᵏ)
. It models the image of the map x ↦ (φ x)^(2ᵏ)
restricted to S
.
Semantically: indexPowT S φ k = { (φ x)^(2ᵏ) | x ∈ S } ⊆ F
.
Equations
Instances For
For i ≤ k, the generic 2^(k-i)
-th power fiber over y ∈ indexPowT S φ k
.
For φ' : ι^(2ⁱ) → F
, this defines the preimage of y
under the map
x^(2ⁱ) ↦ x^(2ᵏ)
restricted to x^(2ⁱ) ∈ S'
.
It returns the subset S'
of elements of type ι^(2ⁱ)
such that (x^(2ⁱ))^(2^(k-i)) = x^(2^k) = y
.
Example i = 0 : powFiberT 0 k S' φ' y = { x ∈ S' | (x)^(2^k) = y }.
Example i = 1 : powFiberT 1 k S' φ' y = { x^2 ∈ S' | (x^2)^(2^(k-1)) = y }.
Equations
Instances For
Definition 4.16
For ι
be a smooth evaluation domain, k
be a folding parameter, z ∈ (ι^(2ᵏ))
,
Block is the set of elements { y ∈ S', y ^ 2^(k-i) = z }
, for S' : Finset ι^(2ⁱ)
.
Equations
Instances For
The class DecidableBlockDisagreement provides a decidability instance for testing
pointwise inequality of two functions f, g : ι^(2ⁱ) → F
on elements of block i k S' φ' z
,
for all z ∈ LpowT S' φ' k
.
This class abstracts the decidability condition required to determine whether two
functions disagree on any point in the preimage of z
under the map x^(2ⁱ) ↦ x^(2ᵏ)
over the
evaluation domain φ' : ι^(2ⁱ) ↪ F
. This is useful in defining sets of such z
.
Instances
Let C be a smooth ReedSolomon code C = RS[F, ι^(2ⁱ), φ', m]
and f,g : ι^(2ⁱ) → F
, then
the (i,k)-wise block relative distance is defined as
Δᵣ(i, k, f, S', φ', g) = |{z ∈ ι ^ 2^k : ∃ y ∈ Block(i,k,S',φ',z) f(y) ≠ g(y)}| / |ι^(2^k)|.
Below, we define a disagreementSet(i,k,f,S',φ') as a map (g → Finset (indexPow S φ k)) using the class DecidableBlockDisagreement, to filter a finite subset of the Finset (indexPow S φ k), as per {z ∈ ι ^ 2^k : ∃ y ∈ Block(i,k,S',φ',z) f(y) ≠ g(y)} for a given g.
Equations
Instances For
Definition 4.17 Given the disagreementSet from above, we obtain the block relative distance as |disagreementSet|/ |ι ^ (2^k)|
Equations
Instances For
notation Δᵣ(i, k, f, S', φ', g)
is the (i,k)-wise block relative distance.
Equations
Instances For
The block relative distance simplifies to the standard relative Hamming distance when k=0
.
For the set S ⊆ F^ι, we define the minimum block relative distance wrt set S.
Equations
Instances For
notation Δₛ(i, k, f, S', φ', Set)
denotes the minimum block relative distance wrt Set
.
Equations
Instances For
Definition 4.18 For a smooth ReedSolomon code C = RS[F, ι^(2ⁱ), φ', m], proximity parameter δ ∈ [0,1] function f : ι^(2ⁱ) → F, we define the following as the list of codewords of C δ-close to f, i.e., u ∈ C such that Δᵣ(i, k, f, S', φ', u) ≤ δ.
Equations
Instances For
Λᵣ(i, k, f, S', C, hcode, δ)
denotes the list of codewords of C δ-close to f,
wrt to the block relative distance.
Equations
Instances For
Claim 4.19, Part 1
For a smooth Reed-Solomon code, the standard relative Hamming distance δᵣ(f,g)
is a lower bound for the (i, k)-wise block relative distance Δᵣ(i, k, f, S', φ', g)
.
Claim 4.19, Part 2
As a consequence of relHammingDist_le_blockRelDistance
, the list of codewords
within a certain block relative distance δ
is a subset of the list of codewords
within the same relative Hamming distance δ
.