US 11,907,408 B2
Encryption and decryption for a multi-tile processing unit
Graham Cunningham, Chippenham (GB); and Daniel Wilkinson, Bristol (GB)
Assigned to GRAPHCORE LIMITED, Bristol (GB)
Filed by Graphcore Limited, Bristol (GB)
Filed on Mar. 29, 2021, as Appl. No. 17/215,746.
Prior Publication US 2022/0083695 A1, Mar. 17, 2022
Int. Cl. G06F 21/72 (2013.01); G06F 21/78 (2013.01); H04L 9/06 (2006.01); H04L 9/14 (2006.01); H04L 9/08 (2006.01); G06F 3/06 (2006.01); H04L 9/32 (2006.01)
CPC G06F 21/72 (2013.01) [G06F 3/0623 (2013.01); G06F 3/0659 (2013.01); G06F 3/0683 (2013.01); G06F 21/78 (2013.01); H04L 9/0618 (2013.01); H04L 9/0631 (2013.01); H04L 9/0894 (2013.01); H04L 9/14 (2013.01); H04L 9/3242 (2013.01)] 24 Claims
OG exemplary drawing
 
1. A device comprising:
a processing unit comprising a plurality of sets of processors, wherein each of the processors is operable to issue read requests to read data from storage external to the processing unit and to receive in response, read completions comprising said data; and
at least one encryption unit comprising a memory operable to store a plurality of sets of state information, wherein each set of state information is associated with at least one of the sets of processors, wherein the at least one encryption unit comprises processing circuitry configured to:
receive a first read completion for delivery to a processor of a first one of the sets of processors, wherein the first read completion comprises a ciphertext;
process the first read completion, said processing including decryption operations for generating a plaintext from the ciphertext;
store as state information associated with the first one of the sets of processors, data generated from the processing of the first read completion;
subsequently, in response to a second read completion for delivery to a processor of a second one of the sets of processors, perform decryption operations using data of the second read completion;
subsequently, receive a further one or more read completions for delivery to the processor of the first one of the sets of processors, wherein the one or more further read completions comprises a further ciphertext; and
using the state information associated with the first one of the sets of processors, process the further one or more read completions, said processing of the further one or more read completions comprising performing at least one of decryption or authentication operations for the further ciphertext.