This course covers many applications of combinatorial designs in cryptography such as correlation immune and resilient Boolean functions from designs, authentication codes and threshold schemes from orthogonal arrays.