Introduction to Finite Fields and Their Applications by Rudolf Lidl & Harald Niederreiter