Combinatorial Designs for Authentication and Secrecy Codes