US 12,229,323 B2
Co-processor for cryptographic operations
Markku-Juhani Olavi Saarinen, Oxford (GB)
Assigned to PQShield Ltd., Oxford (GB)
Filed by PQShield Ltd, Oxford (GB)
Filed on Feb. 15, 2022, as Appl. No. 17/672,440.
Application 17/672,440 is a continuation of application No. PCT/GB2020/051874, filed on Aug. 6, 2020.
Claims priority of application No. 1911802 (GB), filed on Aug. 16, 2019; and application No. 2002655 (GB), filed on Feb. 25, 2020.
Prior Publication US 2022/0171885 A1, Jun. 2, 2022
Int. Cl. G06F 21/72 (2013.01); G06F 9/30 (2018.01); G06F 21/55 (2013.01); G06F 21/60 (2013.01)
CPC G06F 21/72 (2013.01) [G06F 9/30101 (2013.01); G06F 21/554 (2013.01); G06F 21/556 (2013.01); G06F 21/602 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A co-processor for cryptographic operations, the co-processor being communicatively coupled to an external processing unit, the co-processor comprising:
a set of control registers writable by the external processing unit;
an arithmetic engine to perform a function upon binary data stored within a set of source registers and to store an output of the function in at least one destination register, the function being applied to a respective set of bit sequences stored within the set of source registers that are representative of integer values, the function being selected from a function set comprising one or more of Boolean logic and integer arithmetic;
an address generator to determine a set of source addresses that are used to load binary data from memory into the set of source registers and at least one destination address that is used to store binary data from the at least one destination register in memory; and
control logic to control the operation of the arithmetic engine and the address generator based on values stored in the set of control registers, wherein the control logic is configured to select the function from the function set based on at least one value in the set of control registers.