a method for data verification is provided . an input block of data is received together with a modulo - based input error detection code associated with the input block , the input block comprising a plurality of sub - blocks . a subset of the sub - blocks is selected to be included in an output block . an error correction term is determined based on the selected subset . the selected subset of the sub - blocks is concatenated together with the input error detection code and the error correction term to generate an output block for conveyance to a destination processor .