1. A method of generating an authentication code for a consumable, comprising the steps of: a processor, processing an identification number assigned to a consumable using a first algorithm to generate a preliminary number different from said identification number; and compressing said preliminary number using a compression algorithm that utilize said identification number from which the preliminary number is generated to generate said authentication code, said compressing step comprising: rotating said preliminary number a predetermined number of bits based upon said identification number, said predetermined number of bits representing an amount of shift in bytes of said preliminary number for generating said rotated preliminary number; determining an offset from a selected end of said rotated preliminary number based upon said identification number; and selecting a number of bytes from said rotated preliminary number based on said offset, wherein said number of selected bytes is less than a total number of bytes of said rotated preliminary number and wherein said selected bytes constitute said authentication code.