Applied algebra codes, ciphers, and discrete algorithms - Hardy, Darel W. (Discrete mathematics and its applications., 2009)