Patent ID: 7356710

Claim:
A method for computing a message authentication code in a computer system, the method comprising the steps of: fetching a message authentication code instruction, the message authentication code instruction comprising a query function, the computer system comprising a plurality of general registers, a computer memory and one or more execution units, the execution units executing instructions fetched from computer memory; responsive to fetching the message authentication code instruction, determining from a previously defined function code selected from a plurality of function codes, a message authentication code operation to be executed, the previously defined function code defining any one of a message authentication code generation operation or a function query operation to be executed, wherein the plurality of function codes comprises an indication of any one of a query operation, a DEA 64-bit key cryptographic operation, a triple DEA two 64-bit key cryptographic operation or a triple DEA three 64-bit key cryptographic operation; if the determined message authentication code operation to be executed is a message authentication code generation operation, performing the message authentication code generation operation on an operand comprising the steps a) through b) of: a) computing a message authentication code for an operand using one or more cryptographic user keys and a 8 byte chaining value, the operand comprising one or more 8-byte message blocks, the computing step producing a new 8 byte chaining value; and b) storing the produced new 8 byte chaining value; if the determined message authentication code operation to be executed is a function query operation, performing the function query operation comprising steps i) through j) of: i) determining for each of one or more message authentication functions whether the message authentication function is installed on the computer system for execution by a message authentication code instruction; and j) responsive to the determining step, saving a status word in a parameter block in memory, the parameter block having an address specified by a general register of a plurality of general registers, the status word comprising one or more status word bits, each status word bit having a one-to-one correspondence with a unique one of said one or more message authentication functions, each status word bit indicating whether the corresponding message authentication function is installed on the computer system.