zig-erasure

Library for erasure coding using binary finite fields. The code was originally based on vishesh-khemani/erasure-coding.

To test it out on the command line:

  1. zig build
  2. ./zig-out/bin/erasure encode --file <input file> --code <code file prefix>
  3. ./zig-out/bin/erasure decode --file <output file> --code <code file prefix>

Note that you have to make sure to use the same <code file prefix> for encode and decode operations.

The program will specify a 3 of 5 erasure coder (N=5, K=3). In other words, it will spread the data into 5 chunks but only requires any 3 out of 5 chunks to reconstruct the data.