1. A device for redundantly storing computer data, comprising: a non-transitory memory that stores machine instructions; and a processor coupled to the non-transitory memory that executes the machine instructions to: generate a first set of representations of a plurality of storage segments; generate a second set of representations of a plurality of regeneration constraints, wherein each of the regeneration constraints is configured such that when data is lost each of the regeneration constraints regenerates a portion of the plurality of storage segments so that the lost data is recovered, and each of the regeneration constraints regenerates and recovers a lost portion of the plurality of storage segments; group the first set of representations into a plurality of discrete groups; create a plurality of associations correlating each of the second set of representations with one of the first set of representations in each discrete group of a subset of the plurality of discrete groups; generate a parity check matrix based on the first set of representations, the second set of representations, and the plurality of associations; and construct a generator matrix based on the parity check matrix, each of the plurality of discrete groups corresponding to a respective storage node of a plurality of storage nodes, and the plurality of associations randomly distributed among the plurality of discrete groups.