Customized instruction-set cryptography engine
AssigneeMicrosoft Technology Licensing, LLC
InventorsMojtaba BISHEH NIASAR, Bharat S. PILLILLI, Michael Jeffrey NORRIS
Life of this patent
Estimating the term…
Abstract
A lattice-based cryptography engine includes an interface configured to receive a lattice-based cryptographic operation request including corresponding operands. A register map is configured to store the operands and response to the request. A controller is coupled to receive the operands and output a sequence of instructions responsive to the request. A plurality of hardware units is coupled to receive and execute the instructions to generate the response. Each instruction is designated for one of the plurality of hardware units. A memory is coupled to the hardware units.
Claims20
A computer implemented method comprising:
- receiving a request, including operands, from a requestor for a lattice-based cryptographic operation via an application programming interface of a hardware cryptographic engine;
- storing the operands in a register map of the engine;
- sequencing instructions corresponding to the request;
- providing sequenced instructions to one or more cryptographic hardware units of the engine;
- executing the sequenced instructions to generate output data responsive to the request;
- storing the output data in the register map;
- and
- transferring the output data from the register map to the requestor.
A lattice-based cryptography engine comprising:
- an interface configured to receive a lattice-based cryptographic operation request including corresponding operands;
- a register map configured to store the operands and response to the request;
- a controller coupled to receive the operands and output a sequence of instructions responsive to the request;
- a plurality of hardware units coupled to receive and execute the instructions to generate the response, each instruction designated for one of the plurality of hardware units;
- and
- a memory coupled to the hardware units.
A lattice-based cryptography engine comprising:
- an interface configured to receive a lattice-based cryptographic operation request including corresponding operands;
- a register map configured to store the operands and a response to a request identifying a cryptographic operation;
- a controller coupled to receive the operands and output a sequence of instructions responsive to the request;
- and
- a plurality of hardware units coupled to receive and execute the instructions to generate the response, each instruction designated for one of the plurality of hardware units.
Dependencies are inferred from the claim text.