1

Consider the following scheme:

  1. Perform an (N,N) Reed-Solomon encoding (i.e. N data blocks, N parity blocks)
  2. Drop the N data blocks and keep only the N parity blocks.

Are these N parity blocks an all-or-nothing transform? (meaning missing even one parity block does not permit decoding the original data blocks)

Maarten Bodewes
  • 96,351
  • 14
  • 169
  • 323
stefanix
  • 317
  • 1
  • 7

2 Answers2

2

Reed-Solomon codes are Maximum-Distance-Separable codes and thus have the property that in a $[n,k]$ RS code ---- meaning than there are a total of $n$ blocks of which $k$ are data blocks and $n-k$ are parity block ($n=2N$ and $k=N$ in the OP's notation) ---- any $k$ blocks are sufficient to reconstruct the entire codeword, that is, all the blocks can be found if we know $k$ of them. Note that it does not matter whether the $k$ blocks available are a mixture of data and parity blocks or parity blocks only, just as long as $k$ blocks are available.

So, in the scheme envisioned by the OP, if one has a $[2N,N]$ Reed-Solomon code ($N$ data blocks, $N$ parity blocks, for a total of $2N$ blocks) and keeps only the $N$ parity blocks, the $N$ data blocks can be reconstructed. If fewer than $N$ of the parity blocks, then the data blocks cannot be reconstructed in the sense that the decoder can come up with a list of $M$ possible candidates for the $N$ data blocks but cannot say which of the candidates is the correct one. Here, each of the $M$ candidates on the list is a vector $[D_1, D_2, \ldots, D_N]$ of $N$ data block (each $D_i$ is a data block) and the decoder cannot determine which is the correct vector of $N$ data blocks. What is $M$? Well, $M$ is the number of possible distinct values that each data block might have and thus is either the number of elements in the finite field over which the Reed-Solomon code is defined, or some power $L$ thereof if each data block is a vector of length $L$ over the finite field (and we are using an interleaved Reed-Solomon code). Either way, $M$ is pretty large.

Dilip Sarwate
  • 2,801
  • 18
  • 25
0

A Reed-Solomon code is an MDS code over the symbol alphabet $\mathbb{F}_q,$ with parameters $[n,k,n-k+1]$. Here, the length $n=2N$ the dimension $k=N$ and the minimum distance is $d=N+1.$

Such codes form Orthogonal Arrays of strength $t=n-d+1=N+1.$

And an OA of strength $t$ is also an OA of strength $t'\leq t.$ Take $t'=N.$ Thus, yes, dropping one of the $N$ parity blocks would result in an AONT, leaking no information about the missing block.

Edit: In general any $N$ blocks are enough to reconstruct the missing blocks.

kodlu
  • 25,146
  • 2
  • 30
  • 63