Combinatorial Designs For Authentication And Secrecy Codes by Michael Huber