These lecture notes provide an introduction to code-based cryptography, delving into the mathematical underpinnings of such systems and the challenges associated with designing secure yet practical schemes. We explore the main ideas of code-based public key encryption schemes and the strategies employed to potentially breach these cryptographic systems.