Patent ID: 8363828

Claim:
Circuitry comprising: at least one processing unit to perform at least a first set of diffusion-related operations and a second set of diffusion-related operations to produce a resulting block from a data block, the at least one processing unit including at least one stage and at least one other stage, the at least one stage being to select one of first operands and second operands to be input to the at least one other stage, the first operands and the second operands being respectively associated with the first set and the second set of diffusion-related operations, respectively, the at least one other stage involving arithmetic and logical operations common to both the first set and the second set of diffusion-related operations, the at least one other stage being capable of carrying out the first and second sets of diffusion-related operations, as selected, based at least in part upon control signals provided to the at least one stage; the at least one other stage being capable of outputting, during a respective processing cycle of the at least one other stage, respective data words produced based at least in part upon the data block, the respective data words being to overwrite respective portions of the data block; at least one other processing unit to perform at least one set of cryptographic-related operations on at least one of (1) another block to produce the data block and (2) the resulting block, the at least one set of cryptographic-related operations being different, at least in part, from the first set and the second set; an integrated circuit chip comprising the at least one processing unit and the at least one other processing unit, the integrated circuit chip also comprising at least one processor core and memory, the memory to be shared, at least in part, among the at least one processor core, the at least one processing unit, and the at least one other processing unit, the memory also to store the data block, the resulting block, and the another block; and at least one host microprocessor and another memory, the at least one host microprocessor to store the resulting block in the another memory for use by the at least one host microprocessor and one or more application programs, the one or more application programs being executed by the at least one host microprocessor and being resident in the another memory.