The encoding system is used for digital data divided into data blocks containing a given number of bytes, with the encoding code generated from a selected codeword (C). The encoding code is provided as an injective conversion function, allowing the sequential order of the data bytes within a defined number of successive data blocks to be altered. Pref. the sum number of bytes within the defined number of data blocks are rearranged to provide a single data block containing the sum number of bytes. A combination of more than one conversion function (T1, T2) may be used for the data encoding.