Tutorial on the Mathematical Foundations of Coding Theory and Cryptology (Part 1) J