US2026037644A1PendingUtilityA1
Customized instruction-set cryptography engine
Assignee: MICROSOFT TECHNOLOGY LICENSING LLCPriority: Aug 1, 2024Filed: Aug 1, 2024Published: Feb 5, 2026
Est. expiryAug 1, 2044(~18 yrs left)· nominal 20-yr term from priority
G06F 9/30156G06F 21/602G06F 21/72G06F 9/30007
50
PatentIndex Score
0
Cited by
0
References
0
Claims
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.
Claims
exact text as granted — not AI-modified1 . 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.
2 . The method of claim 1 wherein sequencing instructions comprises:
reading a set of instructions corresponding to the cryptographic operation from a read only memory (ROM); and
decoding the set of instructions.
3 . The method of claim 2 wherein sequencing instructions further comprises tracking the instructions via a program counter.
4 . The method of claim 2 wherein the ROM includes sets of instructions, each set corresponding to different cryptographic operations.
5 . The method of claim 4 wherein the different cryptographic operations include key generation, signature generation, and signature verification.
6 . The method of claim 1 wherein the instructions are executed by at least one of hardware sampler units, a hardware NTT unit, and hardware auxiliary units.
7 . The method of claim 6 wherein the hardware sampler units include a rejection sampler unit, a rejection bounded sampler unit, and sample InBall unit.
8 . The method of claim 6 wherein the hardware auxiliary units include a MakeHint unit, a UseHint unit, and a HintSum unit.
9 . The method of claim 6 wherein the instructions are further executed by a hashing unit that includes a serial-in parallel-out (SIPO) memory, a Keccak unit, and a parallel-in serial-out (PISO) memory.
10 . 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.
11 . The lattice-based cryptography engine of claim 10 wherein the controller comprises:
a read only memory (ROM) storing the instructions;
a sequencer coupled to the ROM; and
an instruction decode coupled to the sequencer.
12 . The lattice-based cryptography engine of claim 11 and further comprising a program counter coupled to the sequencer.
13 . The lattice-based cryptography engine of claim 11 wherein the ROM includes sets of instructions, each set corresponding to different cryptographic operations.
14 . The lattice-based cryptography engine of claim 13 wherein the cryptographic operations include key generation, signature generation, and signature verification.
15 . The lattice-based cryptography engine of claim 10 wherein the hardware units comprise sampler units, NTT units, and auxiliary units.
16 . The lattice-based cryptography engine of claim 15 wherein the sampler units include a rejection sampler unit, a rejection bounded sampler unit, and sample InBall unit.
17 . The lattice-based cryptography engine of claim 15 wherein the auxiliary units include a MakeHint unit, a UseHint unit, and a HintSum unit.
18 . The lattice-based cryptography engine of claim 17 wherein the auxiliary units further include a Pack unit, and Unpack unit, an Encode unit, a Decode unit, a Comp unit, a Decomp unit, and a Ck Norm unit.
19 . The lattice-based cryptography engine of claim 15 and further including hashing units, a serial-in parallel-out memory, a Keccak unit, and a parallel-in serial-out memory.
20 . 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.Join the waitlist — get patent alerts
Track US2026037644A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.