IP Library Granted Patent US 10,917,250
Granted Patent B2
US 10,917,250 · App. 15/596,494 · Granted Feb 9, 2021

Challenge/response system

Inventor: James M. Lewis (Moulton, AL)
Assignee: Mercury Systems, Inc.
H04L9/3271H04L9/0869H04L9/3278H04L63/0428H04L2209/08
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 10,917,250
App. No.
15/596,494
Granted
Feb 9, 2021
Kind
B2
Abstract

A challenge/response system separates a physically unclonable function from the challenge/response. Bits in a challenge are used to qualify random data values. The random data values are permuted to generate a result. The result is used to encrypt a response that is sent in reply to the challenge. Additional permuting mechanisms may be used to further obfuscate the response.

Claims (54)

1. A method performed by a computational device as part of a challenge/response protocol, comprising:

receiving a challenge at the computational device;

using at least a portion of the challenge containing multiple bits to select which of the random values held in storage at the computational device are used as qualified random values in generating a response to the challenge, wherein each of the bits in the portion selects or omits a corresponding one of the random values held in the storage from use in generating the response and the-qualified random values are distinct values from the challenge;

permuting the qualified random values to generate a response;

encrypting a message using the response as an encryption key; and

outputting the encrypted message from the computational device for a challenger in reply to the challenge.

2. The method of claim 1 wherein the permuting comprises

permuting the permuted qualified random values with an additional value.

3. The method of claim 2 wherein the additional value is an output of a physically unclonable function.

4. The method of claim 2 wherein the permuting the qualified random values comprises performing an exclusive OR of the qualified random values.

5. The method of claim 2 wherein the permuting the qualified random values comprises adding the qualified random values.

6. The method of claim 1 further comprising modifying the challenge to another value if the challenge has a zero value.

7. The method of claim 1 further comprising permuting the encrypted message with an output of a physically unclonable function and wherein the outputting the encrypted message comprises outputting the permuted encrypted message.

8. The method of claim 1 wherein bits of the challenge are logically ANDed with bits of the random values to perform the selecting of the random values.

9. The method of claim 1 wherein bits of the challenge are logically ORed with bits of the random Values to perform the selecting of the random values.

10. The method of claim 1 wherein the computational device includes hardware logic and wherein the qualifying, the permuting and the outputting are performed by the hardware logic.

11. The method of claim 1 further comprising applying a nonlinearization to the response and wherein the encrypting uses the response after the non-linearization is applied as the encryption.

12. The method of claim 1 further comprising applying a nonlinearization to the challenge and wherein the using at a portion of the challenge uses at least a portion of the challenge after the non-linearization is applied.

13. The method of claim 1 further comprising applying a nonlinearization to the qualified random values and wherein the permuting is performed after the non-linearization is applied.

14. A non-transitory computer-readable storage media holding instructions that when executed on processing logic perform the following:

receive a challenge at a computational device;

use at least a portion of the challenge containing multiple bits to select which of the random values held in storage at the computational device are used as qualified random values in generating a response to the challenge, wherein each of the bits in the portion selects or omits a corresponding one of the random values held in the storage from use in generating the response and the qualified random values are distinct values from the challenge;

permute the qualified random values to generate a response;

encrypt a message using the response as an encryption key; and

output the encrypted message from the computational device for a challenger in reply to the challenge.

15. The non-transitory computer-readable storage medium of claim 14 wherein the permuting comprises permuting the permuted qualified random values with an additional value.

16. The non-transitory computer-readable storage medium of claim 14 wherein the additional value is an output of a physically unclonable function.

17. The non-transitory computer-readable storage medium of claim 14 wherein the permuting the qualified random values comprises performing an exclusive OR of the qualified random values.

18. The non-transitory computer-readable storage medium of claim 14 wherein the permuting the qualified random values comprises adding the qualified random values.

19. The non-transitory computer-readable storage medium of claim 14 further storing instructions for modifying the challenge to another value if the challenge has a zero value.

20. The non-transitory computer-readable storage medium of claim 14 further storing instructions for applying a non-linearization to the response and wherein the encrypting uses the response after the non-linearization is applied as the encryption key.

21. The non-transitory computer-readable storage medium of claim 14 further storing instructions for applying a non-linearization to the challenge and wherein the using the challenge uses the at least a portion of the challenge after the non-linearization is applied.

22. The non-transitory computer-readable storage medium of claim 14 wherein bits of the challenge are logically ANDed with bits of the random values to perform the selecting of the random values.

23. The non-transitory computer-readable storage medium of claim 14 wherein bits of the challenge are logically ORed with bits of the random values to perform the selecting of the random values.

24. The non-transitory computer-readable storage medium of claim 14 further storing instructions for applying a non-linearization to the qualified random values and wherein the permuting is performed after the non-linearization is applied.

25. A device, comprising:

storage for storing random values;

processing logic for:

receiving a challenge;

using at least a portion of the challenge containing multiple bits to select which of the random values stored in the storage are used as qualified random values in generating a response to the challenge, wherein each of the bits in the portion selects or omits a corresponding one of the random values held in the storage from use in generating the response and the qualified random values are distinct values from the challenge;

permuting the qualified random values to generate a response; encrypting a message using the response as an encryption key; and

outputting the encrypted message to a challenger in reply to the challenge.

26. The device of claim 25 , wherein the processing logic comprises a microprocessor.

27. The device of claim 25 , wherein the processing logic comprises a field programmable gate array.

28. The device of claim 25 , wherein the processing logic comprises an application specific integrated circuit.

29. The device of claim 25 wherein the permuting comprises permuting the permuted qualified random values with an additional value.

30. The device of claim 29 wherein the additional value is an output of a physically unclonable function.

31. The device of claim 29 wherein the permuting the qualified random values comprises performing an exclusive OR of the qualified random values.

32. The device of claim 29 wherein the permuting the qualified random values comprises adding the qualified random values.

33. The device of claim 29 wherein the processing logic is for applying a non-linearization to the response and wherein the encrypting uses the response after the nonlinearization is applied as the encryption key.

34. The device of claim 29 wherein the processing logic is for applying a non-linearization to the challenge and wherein the using at least a portion of the challenge uses at least a portion of the challenge after the non-linearization is applied.

35. The device of claim 29 wherein the processing logic is for applying a non-linearization to the qualified random values and wherein the permuting is performed after the nonlinearization is applied.

36. The device of claim 29 wherein bits of the challenge are logically ANDed with bits of the random values to perform the selecting of the random values.

37. The device of claim 29 wherein bits of the challenge are logically ORed with bits of the random values to perform the selecting of the random values.

Assignments (3)
NOTICE OF SUCCESSOR AGENT AND ASSIGNMENT OF SECURITY INTEREST IN REEL/FRAME 059262/0901 Recorded Nov 7, 2025
From: BANK OF AMERICA, N.A., AS PREDECESSOR AGENT
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS SUCCESSOR AGENT
Reel/Frame 073506/0616 →
SECURITY AGREEMENT Recorded Feb 28, 2022
From: MERCURY SYSTEMS, INC.; MERCURY MISSION SYSTEMS, LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 059262/0901 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2017
From: LEWIS, JAMES M.
To: MERCURY SYSTEMS, INC.
Reel/Frame 042410/0116 →
Continuity (1)
Related Publication 20180337789A1 · Nov 22, 2018
Cited By (1)
US 12,640,942