IP Library Granted Patent US 9,992,053
Granted Patent B1
US 9,992,053 · App. 15/421,578 · Granted Jun 5, 2018

Multi-channel, multi-lane encryption circuitry and methods

Inventor: Martin Langhammer (Salisbury, GB)
Assignee: ALTERA CORPORATION
H04L29/0651G06F21/72H04L9/0643H04L29/06517H04L29/08081H04L2209/125
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,992,053
App. No.
15/421,578
Granted
Jun 5, 2018
Kind
B1
Abstract

Encryption/authentication circuitry includes an encryption portion having a first number of encryption lanes, each encryption lane including a plurality of encryption stages, and keyspace circuitry including a plurality of key lanes corresponding to a predetermined maximum number of channels. Each key lane has key storage stages corresponding to the encryption stages, and includes key memories for the predetermined maximum number of channels. Key channel selection circuitry for each stage selects a key from among the key memories at that stage. An authentication portion includes a second number of authentication lanes, hash key storage for the predetermined maximum number of channels, partial hash state storage for the predetermined number of channels, and hash channel selection circuitry. Based on the channel being processed, the hash selection circuitry selects, in each respective lane, respective hash key data from the hash key storage and respective partial hash state data from the partial hash state storage.

Claims (53)

1. Data processing circuitry comprising:

a first number of encryption lanes, wherein each encryption lane of the first number of encryption lanes comprises encryption stages; and

a second number of key lanes, corresponding in number to a second number of channels to be processed, each key lane of the second number of key lanes having key storage stages corresponding to the encryption stages, each respective key storage stage of the key storage stages including key memories and key channel selection circuitry to select an encryption key from among said key memories at said respective key storage stage.

2. The data processing circuitry of claim 1 wherein said second number is different than said first number.

3. The data processing circuitry of claim 1 wherein said key channel selection circuitry further comprises:

a multiplexer in at least one of said key storage stages for selecting an encryption key from one of said key memories in said at least one of said key storage stages.

4. The data processing circuitry of claim 3 , wherein said key channel selection circuitry further comprises:

a channel indicator pipeline containing channel selection data that controls said multiplexer and indicates which of said second number of channels to be processed is being processed in each respective one of the encryption stages.

5. The data processing circuitry of claim 1 , wherein each of said key memories in each of said key storage stages in each of said second number of key lanes further comprises:

a working key register; and

a staged key register.

6. The data processing circuitry of claim 5 , wherein said key channel selection circuitry in each of said second number of key lanes further comprises:

a key switch indicator pipeline containing key switch data that indicates a transfer of an encryption key from said staged key register to said working key register.

7. The data processing circuitry of claim 1 , further comprising:

hash key storage for said second number of channels to be processed; and

partial hash state storage for said second number of channels to be processed.

8. The data processing circuitry of claim 7 , further comprising:

a third number of authentication lanes; and

hash channel selection circuitry for selecting, in at least one authentication lane of said third number of authentication lanes, hash key data from said hash key storage and partial hash state data from said partial hash state storage, said hash key data and said partial hash state data corresponding to a channel of said second number of channels to be processed in said at least one authentication lane.

9. The data processing circuitry of claim 8 , further comprising:

authentication circuitry for updating, in said authentication lane of said third number of authentication lanes, said partial hash state data, based on said hash key data and data in said channel of said second number of channels to be processed in said authentication lane.

10. Encryption and authentication circuitry comprising:

a first number of channels;

encryption stages arranged in a second number of encryption lanes;

key lanes corresponding in number to the first number of channels, wherein each key lane of the key lanes includes key storage stages corresponding to the encryption stages;

hash key storage that stores hash key data for the first number of channels; and

partial hash state storage that stores partial hash state data for the first number of channels.

11. The encryption and authentication circuitry of claim 10 , further comprising:

a third number of authentication lanes; and

hash channel selection circuitry that selects, in at least one authentication lane of the third number of authentication lanes, selected hash key data from the hash key storage and selected partial hash state data from the partial hash state storage, wherein the selected hash key data and the selected partial hash state data correspond to a channel of the first number of channels being processed in the at least one authentication lane.

12. The encryption and authentication circuitry of claim 11 , further comprising:

status updating circuitry that updates the partial hash state data in the partial hash state storage of the at least one authentication lane based on the selected hash key data and data in the channel of the first number channels being processed in the at least one authentication lane.

13. The encryption and authentication circuitry of claim 12 , further comprising:

an adder that generates a sum of the selected partial hash state data and the data in the channel of the first number of channels being processed in the at least one authentication lane; and

a multiplier that generates a product of the sum and the selected hash key data.

14. The encryption and authentication circuitry of claim 11 , further comprising:

one-hot circuitry that converts binary channel identification data in each respective authentication lane of the third number of authentication lanes to one-hot channel identification data.

15. A method for configuring an integrated circuit device to implement encryption and authentication circuitry including a first number of encryption lanes and a second number of authentication lanes, comprising:

configuring encryption stages in each of the first number of encryption lanes;

configuring key lanes, each key lane of the key lanes having key storage stages corresponding to the encryption stages, each key storage stage of the key storage stages including key memories and key channel selection circuitry to select an encryption key from among the key memories;

allocating hash key storage that stores hash key data for a third number of data channels; and

allocating partial hash state storage that stores partial hash state data for the third number of data channels.

16. The method of claim 15 , further comprising:

for the key memories in each of the key storage stages in each of the key lanes, allocating a working key register and a staged key register.

17. The method of claim 16 , further comprising:

for the key channel selection circuitry in each of the key storage stages in each of the key lanes, allocating a key switch indicator pipeline containing key switch data that indicates a transfer of an encryption key from the staged key register to the working key register.

18. The method of claim 16 , further comprising:

configuring hash channel selection circuitry for selecting, in an authentication lane of the second number of authentication lanes, selected hash key data from the hash key storage and selected partial hash state data from the partial hash state storage, wherein the selected hash key data and the selected partial hash state data correspond to a channel of the third number of data channels being processed in the authentication lane.

19. The method of claim 18 , further comprising:

configuring an authentication circuit for updating, in the authentication lane, the partial hash state data based on the selected hash key data and data in the channel of the third number of data channels being processed in the authentication lane.

20. The method of claim 19 , wherein configuring the authentication circuit further comprises:

configuring an adder to generate a sum of the selected partial hash state data and the data in the channel of the third number of data channels being processed in the authentication lane; and

configuring a multiplier to generate a product of the sum and the selected hash key data.

Assignments (2)
SECURITY INTEREST Recorded Sep 12, 2025
From: ALTERA CORPORATION
To: BARCLAYS BANK PLC, AS COLLATERAL AGENT
Reel/Frame 073431/0309 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: LANGHAMMER, MARTIN
To: ALTERA CORPORATION
Reel/Frame 041143/0918 →
Continuity (1)
Continuation 14513452 · Oct 14, 2014