IP Library › Granted Patent US 7,673,151
Granted Patent B2
US 7,673,151 · App. 10/559,917 · Granted Mar 2, 2010

Processor for encrypting and/or decrypting data and method of encrypting and/or decrypting data using such a processor

Assignee: NXP B.V.
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 7,673,151
App. No.
10/559,917
Granted
Mar 2, 2010
Kind
B2
Abstract

A control device is connected to at least one encryption/decryption device via at least one communication device. The control device is connected to a round key generator via at least one further communication device. The control device has at least one external key input, the at least one encryption/decryption device has at least one external data input and at least one external data output, and the at least one encryption/decryption device and the round key generator are decoupled from one another.

Claims (42)

1. A processor that performs an encryption/decryption operation, the processor comprising:

a control device that receives at least one initial key, the control device comprising:

a memory that temporarily stores the at least one initial key, and

at least one external key input that receives the at least one initial key from a source;

a round key generator connected to the control device via at least one communication device, wherein the round key generator receives the at least one initial key from the control device to calculate at least one round key and transfers the at least one round key to the memory of the control device;

at least one encryption/decryption device comprising:

at least one external data input that receives external data,

an input that receives the at least one round key from the memory of the control device, and

at least one external data output that outputs the external data encrypted or decrypted with the at least one round key by the at least one encryption/decryption device, wherein the at least one encryption/decryption device and the round key generator communicate solely via the control device, and the control device transmits intermediate results to the round key generator to perform recursive calculation of the at least one round key;

a first request line that sends requests from the at least one encryption/decryption device to the control device; and

a second request line that sends requests from the round key generator to the control device, wherein the at least one encryption/decryption device and the round key generator both transmit requests on the respective first and second request lines to start the encryption/decryption operation after both requests are met, wherein the encryption/decryption operation is repeated as often as necessary, except for receiving the at least one initial key by the control device, to encrypt or decrypt a set of external data.

2. The processor of claim 1 , wherein the at least one communication device further comprises:

first and second release lines; and

first and second data lines.

3. The processor of claim 2 , wherein the first and second request lines, the first and second release lines, and the second data lines at least partially use a single physical path.

4. The processor of claim 1 , wherein the at least one round key is temporarily stored in the memory of the control device.

5. The processor of claim 1 , wherein the at least one round key is accessed using a rotating pointer.

6. The processor of claim 1 , wherein the communication between the control device and the at least one encryption/decryption device and between the control device and the round key generator is accomplished using at least one handshake protocol.

7. The processor of claim 1 , wherein the operation of the of the control device, of the at least one encryption/decryption device, and of the round key generator are asynchronous with respect to one another.

8. The processor of claim 1 , wherein the round key generator performs a dummy operation.

9. The processor of claim 1 , wherein a time between the calculating of the at least one round key by the round key generator and the processing of the external data using the at least one round key is variable.

10. The processor of claim 1 , wherein the processor is an Advanced Encryption Standard (AES) coprocessor.

11. A method of performing an encryption/decryption operation using a processor, the method comprising:

sending a first request on a first request line from at least one encryption/decryption device to a control device and a second request on a second request line from a round key generator to the control device to start the encryption/decryption operation after both requests are met, wherein the at least one encryption/decryption device and the round key generator communicate solely via the control device;

reading at least one initial key into the control device, wherein the at least one initial key is obtained from a source other than the round key generator;

reading external data into the at least one encryption/decryption device;

reading at least one data word needed to calculate at least one round key from at least one storage device of the control device;

transferring the at least one data word to the round key generator;

calculating at least one round key recursively on the basis of the at least one data word by using the round key generator;

transferring the at least one round key to the control device;

storing the at least one round key in the at least one storage device;

transferring the at least one round key from the at least one storage device to the at least one encryption/decryption device;

encrypting or decrypting the external data by using the at least one encryption/decryption device, using the at least one round key, and the encrypted or decrypted external data are made available to at least one external data output; and

repeating the method as often as necessary, except for reading the at least one initial key into the control device, to encrypt or decrypt a set of external data,

wherein the control device transmits intermediate results to the round key generator to perform recursive calculation of the at least one round key.

12. The method of claim 11 , wherein communication between the control device and the at least one encryption/decryption device, and between the control device and the round key generator is accomplished using at least one handshake protocol.

13. The method of claim 11 , wherein the operation of the control device, of the at least one encryption/decryption device, and of the round key generator are asynchronous with respect to one another.

14. The method of claim 11 , wherein the at least one round key is accessed using a rotating pointer.

15. The method of claim 11 , further comprising:

performing a dummy operation using the round key generator.

16. The method of claim 11 , wherein a time between the calculating of the at least one round key by the round key generator and the processing of the external data using the at least one round key is variable.

17. The method of claim 11 , wherein the processor is an Advanced Encryption Standard (AES) coprocessor.

Assignments (13)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2017
From: KONINKLIJKE PHILIPS ELECTRONICS N.V.
To: PHILIPS SEMICONDUCTORS INTERNATIONAL B.V.
Reel/Frame 043955/0001 →
CHANGE OF NAME Recorded Sep 22, 2017
From: PHILIPS SEMICONDUCTORS INTERNATIONAL B.V.
To: NXP B.V.
Reel/Frame 043951/0436 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2007
From: KONINKLIJKE PHILIPS ELECTRONICS N.V.
To: NXP B.V.
Reel/Frame 019719/0843 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2005
From: ROTTSCHAFER, THOMAS; WAGNER, MATHIAS
To: KONINKLIJE PHILIPS ELECTRONICS N.V.
Reel/Frame 017361/0562 →
Priority Claims (1)
EP 03101719 · Jun 12, 2003 · regional
Continuity (1)
Related Publication 20060159258A1 · Jul 20, 2006