Designs Codes and Cryptography