Codes correcteurs, Codes linéaires