US 11,722,291 B1
Device and method for low-latency and encrypted hardware layer communication
Steven Ho, Glasgow (GB); Gopi Krishnamurthy, Bangalore (IN); and Anish Mathew, Bengaluru (IN)
Assigned to Cadence Design Systems, Inc., San Jose, CA (US)
Filed by CADENCE DESIGN SYSTEMS, INC., San Jose, CA (US)
Filed on Aug. 11, 2021, as Appl. No. 17/399,953.
Int. Cl. H04L 9/06 (2006.01); H04L 9/08 (2006.01)
CPC H04L 9/0618 (2013.01) [H04L 9/065 (2013.01); H04L 9/0816 (2013.01); H04L 9/0869 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A method of low latency and encrypted hardware layer communication, the method comprising:
calculating, by an encryption circuit of a communication bridge controller of a device, one or more pre-calculated encryption keys corresponding to one or more block encryptors of the encryption circuit, each block encryptor configured to use a corresponding pre-calculated encryption key to encrypt a corresponding unencrypted data block of a data transmission having one or more unencrypted data blocks;
obtaining at least one initialization value corresponding to the block encryptor, wherein the calculating the pre-calculated encryption key further comprises calculating the pre-calculated encryption key based on the initialization value;
storing, by the encryption circuit, the one or more pre-calculated encryption keys in an encryption key memory associated with the communication bridge;
subsequent to the encryption circuit storing each pre-calculated encryption key into the encryption key memory, for each unencrypted data block:
encrypting, by the block encryptor corresponding to the unencrypted data block, the unencrypted data block using the corresponding pre-calculated encryption key to generate an encrypted data block and an authentication code block for the unencrypted data block; aggregating, by the encryption circuit, one or more encrypted data blocks into an encrypted data transmission; and generating, by the encryption circuit, an authenticated code corresponding to the encrypted data transmission based upon each of the authentication code blocks of each of the encrypted data blocks.