A linear code is a subspace C of Fn, where F is a finite field; in the case of a binary linear code F = {0,1}. The elements of C are the codewords. Two advantages of linear codes are that C can be described by a basis and that the least distance between any codewords is the smallest length (in the sense of Hamming distance) of any non-zero codeword.