Instruction to accelerate cryptographic processing
AssigneeInternational Business Machines Corporation
InventorsRajat Rao, Jonathan D. Bradbury, Louis P. Gomes, Reinhard Theodor Buendgen, Soujanya S R
Life of this patent
Estimating the term…
Abstract
A cipher instruction is executed. The executing the cipher instruction includes encrypting a confidential value to provide an encrypted confidential value and generating a mask value using the encrypted confidential value. A cipher operation is performed on at least a portion of a message specified by the cipher instruction. The performing the cipher operation on the at least the portion of the message uses the mask value. A result of the cipher operation is provided.
Claims25
A computer program product comprising:
- a set of one or more computer readable storage media;
- and
- program instructions, collectively stored in the set of one or more computer readable storage media, for causing at least one computing device to perform computer operations including:
- executing a cipher instruction, the executing the cipher instruction including performing multiple operations as part of executing the cipher instruction, the multiple operations performed as part of executing the cipher instruction including:
- encrypting a confidential value to provide an encrypted confidential value, the confidential value and one or more other cryptographic parameters used in performing at least one operation of the multiple operations performed as part of executing the cipher instruction being input to the cipher instruction and specified using one or more locations of the cipher instruction;
- generating a mask value using the encrypted confidential value;
- performing a cipher operation on at least a portion of a message specified by the cipher instruction, the performing the cipher operation on the at least the portion of the message using the mask value;
- and
- providing a result of the cipher operation.
A computer system comprising:
- at least one computing device;
- a set of one or more computer-readable storage media;
- and
- program instructions, collectively stored in the set of one or more computer-readable storage media, for causing the at least one computing device to perform computer operations including:
- executing a cipher instruction, the executing the cipher instruction including performing multiple operations as part of executing the cipher instruction, the multiple operations performed as part of executing the cipher instruction including:
- encrypting a confidential value to provide an encrypted confidential value, the confidential value and one or more other cryptographic parameters used in performing at least one operation of the multiple operations performed as part of executing the cipher instruction being input to the cipher instruction and specified using one or more locations of the cipher instruction;
- generating a mask value using the encrypted confidential value;
- performing a cipher operation on at least a portion of a message specified by the cipher instruction, the performing the cipher operation on the at least the portion of the message using the mask value;
- and
- providing a result of the cipher operation.
A computer-implemented method comprising:
- executing a cipher instruction, the executing the cipher instruction including performing multiple operations as part of executing the cipher instruction, the multiple operations performed as part of executing the cipher instruction including:
- encrypting a confidential value to provide an encrypted confidential value, the confidential value and one or more other cryptographic parameters used in performing at least one operation of the multiple operations performed as part of executing the cipher instruction being input to the cipher instruction and specified using one or more locations of the cipher instruction;
- generating a mask value using the encrypted confidential value;
- performing a cipher operation on at least a portion of a message specified by the cipher instruction, the performing the cipher operation on the at least the portion of the message using the mask value;
- and
- providing a result of the cipher operation.
A computer system comprising:
- at least one hardware accelerator to be used in executing a cipher instruction, the executing the cipher instruction including:
- encrypting a confidential value to provide an encrypted confidential value;
- generating a mask value using the encrypted confidential value, wherein the generating the mask value includes multiplying the encrypted confidential value by a power block sequencing value to generate the mask value;
- performing a cipher operation on at least a portion of a message specified by the cipher instruction, the performing the cipher operation on the at least the portion of the message using the mask value;
- and
- providing a result of the cipher operation.
A computer-implemented method comprising:
- executing a cipher instruction using at least one hardware accelerator, the executing the cipher instruction including:
- encrypting a confidential value to provide an encrypted confidential value;
- generating a mask value using the encrypted confidential value, wherein the generating the mask value includes multiplying the encrypted confidential value by a power block sequencing value to generate the mask value;
- performing a cipher operation on at least a portion of a message specified by the cipher instruction, the performing the cipher operation on the at least the portion of the message using the mask value;
- and
- providing a result of the cipher operation.
Dependencies are inferred from the claim text.