Cipher message assist instructions
AssigneeInternational Business Machines Corporation
InventorsShawn D. Lundvall, Ronald M. Smith, Sr., Phil Chi-Chung Yeh
Life of this patent
Estimating the term…
Abstract
A method, system and program product for enciphering or deciphering storage of a computing environment by specifying, via an instruction, a unit of storage to be enciphered or deciphered. The unit of storage to be enciphered or deciphered includes a plurality of pages which may be operated on in a chaining operation.
Claims48
A method for executing a cipher message instruction in a computer system, the method comprising the steps of:
- fetching the cipher message instruction for execution;
- and
- executing the fetched cipher message instruction, the executing step comprising the steps of:
- obtaining cipher message information from a predefined general register, the cipher message information comprising a function code field, the function code field containing a function field value, the function field value indicating a cipher message function to be performed;
- wherein the function code value comprises an indication of a cipher message function to be performed consisting of any one of a KM-Query operation, a KM-DEA 64-bit key cryptographic operation, a KM-Triple DEA two 64-bit key cryptographic operation or a KM-Triple DEA three 64-bit key cryptographic operation;
- based on the obtained function field value, if the cipher message function to be performed is a cipher operation, performing steps a) through d), comprising:
- a) obtaining a cryptographic key from a parameter block in memory, the parameter block having an address specified by a general register of a plurality of general registers;
- b) obtaining a first operand from memory;
- c) performing the cipher message function indicated by the function field value on the obtained first operand using the obtained cryptographic key;
- and
- d) storing a result of the cipher message function performed as a second operand in memory;
- and
- based on the obtained function field value, if the cipher message function to be performed is a function query operation, performing steps i) through j), comprising:
- i) determining for each of one or more cipher message functions whether the cipher message function is installed on the computer system for execution by a cipher message instruction;
- and
- j) 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 one of the one or more status word bits indicating whether a corresponding one of said one or more cipher message functions is installed on said computer system, each one of the one or more status word bits having a position in the status word corresponding to the function field value of the corresponding cipher message function.
A computer program product for executing a cipher message instruction in a computer system the computer program product comprising:
- a storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:
- fetching the cipher message instruction for execution;
- and
- executing the fetched cipher message instruction, the executing step comprising the steps of;
- obtaining cipher message information from a predefined general, register, the cipher message information comprising a function code field, the function code field containing a function field value, the function field value indicating a cipher message function to be performed;
- wherein the function code value comprises an indication of a cipher message function to be performed consisting of any one of a KM-Query operation, a KM-DEA 64-bit key cryptographic operation, a KM-Triple DEA two 64-bit key cryptographic operation or a KM-Triple DEA three 64-bit key cryptographic operation;
- based on the obtained function field value, if the cipher message function La be performed is a cipher operation, performing steps a) through d), comprising;
- a) obtaining a cryptographic key from a parameter block in memory, the parameter block having an address specified by a general register of a plurality of general registers;
- b) obtaining a first operand from memory;
- c) performing the cipher message function indicated by the function field value on the obtained first operand using the obtained cryptographic key;
- and
- d) storing a result of the cipher message function performed as a second operand in memory;
- and
- based on the obtained function field value, if the cipher message function to be performed is a function query operation, performing steps i) through j) comprising;
- i) determining for each of one or more cipher message functions whether the cipher message function is installed on the computer system for execution by a cipher message instruction;
- and
- j) saving a status word in a parameter block in memory, the parameter block having an address specified by a general register of plurality of general registers, the status word comprising one or more status word bits, each one of the one or more status word bits indicating whether a corresponding one of said one or more cipher message functions is installed on said computer system, each one of the one or more status word bits having a position in the status word corresponding to the function field value of the corresponding cipher message function.
A system for executing a cipher message instruction in a computer system, the cipher message instruction comprising a query function, the system comprising
- a computer memory;
- a plurality of general registers, a general purpose processor in communications with the computer memory, the processor comprising one or more execution units, the execution units configured to execute instructions fetched from the computer memory;
- wherein the computer system performs a method comprising the steps of;
- fetching the cipher message instruction for execution;
- and
- executing the fetched cipher message instruction, the executing step comprising the steps of;
- obtaining cipher message information from a predefined general register, the cipher message information comprising a function code field, the function code field containing a function field value, the function field value indicating a cipher message function to be performed;
- wherein the function code value comprises an indication of a cipher message function to be performed consisting of any one of a KM-Query operation, a KM-DEA 64-bit key cryptographic operation, a KM-Triple DEA two 64-bit key cryptographic operation or a KM-Triple DEA three 64-bit key cryptographic operation;
- based on the obtained function field value) if the cipher message function to be performed is a cipher operation, performing steps a) through j), comprising;
- a) obtaining a cryptographic key from a parameter black in memory, the parameter block having an address specified by a general register of a plurality of general registers;
- b) obtaining a first operand from memory;
- c) performing the cipher message function indicated by the function field value on the obtained first operand using the obtained cryptographic key;
- and
- d) storing a result of the cipher message function performed as a second operand in memory;
- and
- based on the obtained function field value, it the cipher message function to be performed is a function query operation, performing steps i) through j) comprising;
- i) determining for each of one or more cipher message functions whether the cipher message function is installed on the computer system for execution by a cipher message instruction;
- and
- j) 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 one of the one or more status word bits indicating whether a corresponding one of said one or more cipher message functions is installed on said computer system each one of the one or more status word bits having a position in the status word corresponding to the function field value of the corresponding cipher message function.
Dependencies are inferred from the claim text.