Techniques for integrated circuit data path confidentiality and extensions thereof

US9760737B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9760737-B2
Application numberUS-201514738251-A
CountryUS
Kind codeB2
Filing dateJun 12, 2015
Priority dateJun 12, 2015
Publication dateSep 12, 2017
Grant dateSep 12, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques for protecting data in a processor are provided. An example method according to these techniques includes performing one or more operations on encrypted data using one or more functional units of a data path of the processor to generate an encrypted result. Performing the one or more operations includes: receiving at least one encrypted parameter pair at a functional unit, each encrypted parameter pair comprising an encrypted parameter value and a challenge value associated with the encrypted parameter value, the encrypted parameter being encrypted using a homomorphic encryption technique, the challenge value being used to recover a key used to encrypt the encrypted parameter value, and performing a mathematical computation on the at least one encrypted parameter. The method also includes outputting the encrypted result.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for protecting data in a processor, the method comprising: performing one or more operations on encrypted data using one or more functional units of a data path of the processor to generate an encrypted result, wherein each functional unit is configured to perform a mathematical computation on at least one encrypted parameter value, to maintain data used to perform or generated by the mathematical computation in an encrypted state, and to generate an intermediate encrypted result, wherein performing the one or more operations comprises receiving at least one encrypted parameter pair at a functional unit, each encrypted parameter pair comprising an encrypted parameter value and a challenge value associated with the encrypted parameter value, the encrypted parameter value being encrypted using a homomorphic encryption technique, the challenge value being used to recover a key used to encrypt the encrypted parameter value, and performing the mathematical computation on at least one encrypted parameter value of the at least one encrypted parameter pair using the functional unit; and outputting the encrypted result. 2. The method of claim 1 , wherein the challenge value is used to recover the key used to encrypt the encrypted parameter value from a physically unclonable function (PUF). 3. The method of claim 2 , further comprising: encrypting an unencrypted parameter value to generate the encrypted parameter value of the encrypted parameter pair using a response value obtained from the PUF responsive to providing the challenge value of the encrypted parameter pair to the PUF. 4. The method of claim 3 , wherein encrypting the unencrypted parameter value to generate the encrypted parameter value of the encrypted parameter pair using the response value obtained from the PUF comprises applying an exclusive or (XOR) operation to the unencrypted parameter value and the response value obtained from the PUF responsive to providing the challenge value to the PUF. 5. The method of claim 2 , wherein performing the mathematical computation on the at least one encrypted parameter value further comprises: performing a respective mathematical computation on the at least one encrypted parameter value to generate the intermediate encrypted result from the functional unit, wherein the intermediate encrypted result is output as the encrypted result or is provided as a parameter to another functional unit. 6. The method of claim 5 , further comprising: accessing a second challenge value associated with the intermediate encrypted result; and providing the second challenge value associated with the intermediate encrypted result to the PUF to obtain the key associated with the intermediate encrypted result. 7. The method of claim 6 , further comprising: encrypting the intermediate encrypted result using the key associated with the intermediate encrypted result. 8. The method of claim 7 , further comprising: accessing a third challenge value associated with each of the at least one encrypted parameter value to obtain an encryption key associated with each respective one of the at least one encrypted parameter value; applying the encryption key associated with each respective one of the at least one encrypted parameter value to the intermediate encrypted result to remove encryption associated with the at least one encrypted parameter value, wherein the intermediate encrypted result remains encrypted using the key associated with the intermediate encrypted result. 9. The method of claim 1 , wherein outputting the encrypted result comprises outputting an encrypted result value and the challenge value associated with the encrypted result value. 10. The method of claim 9 , further comprising: providing the challenge value associated with the encrypted result value to obtain a response value from the PUF; and decrypting the encrypted result value using the response value obtained from the PUF. 11. The method of claim 10 , wherein decrypting the encrypted result value using the response value from the PUF comprises applying an exclusive or (XOR) operation to the encrypted result value and the response value obtained from the PUF responsive to providing the challenge value to the PUF. 12. The method of claim 9 , further comprising: storing the encrypted result value and the challenge value associated with the encrypted result value in a memory associated with the processor. 13. An apparatus comprising: means for receiving at least one encrypted parameter pair at a functional unit, each encrypted parameter pair comprising an encrypted parameter value and a challenge value associated with the encrypted parameter value, the encrypted parameter value being encrypted using a homomorphic encryption technique, the challenge value being used to recover a key used to encrypt the encrypted parameter value, wherein the functional unit is configured to perform a mathematical computation on at least one encrypted parameter value and to generate an intermediate encrypted result; means for performing a mathematical computation on at least one encrypted parameter value of the at least one encrypted parameter pair using the functional unit, wherein the means for performing the mathematical computation on the at least one encrypted parameter comprises means for maintaining data used to perform or generated by the mathematical computation in an encrypted from and means for outputting an intermediate encrypted result; and means for outputting an encrypted result based at least in part on the intermediate encrypted result. 14. The apparatus of claim 13 , wherein the challenge value is used to recover the key used to encrypt the encrypted parameter value from a physically unclonable function (PUF). 15. The apparatus of claim 14 , further comprising: means for encrypting an unencrypted parameter value to generate the encrypted parameter value of the encrypted parameter pair using a response value obtained from the PUF responsive to providing the challenge value of the encrypted parameter pair to the PUF. 16. The apparatus of claim 15 , wherein the means for encrypting the unencrypted parameter value to generate the encrypted parameter value of the encrypted parameter pair using the response value obtained from the PUF comprises means for applying an exclusive or (XOR) operation to the unencrypted parameter value and the response value obtained from the PUF responsive to providing the challenge value to the PUF. 17. The apparatus of claim 14 , wherein the means for performing the mathematical computation on the at least one encrypted parameter value further comprises: means for performing a respective mathematical computation on the at least one encrypted parameter value to generate the intermediate encrypted result from the functional unit, wherein the intermediate encrypted result is output as the encrypted result or is provided as a parameter to another functional unit. 18. The apparatus of claim 17 , further comprising: means for accessing a second challenge value associated with the intermediate encrypted result; and means for providing the challenge value associated with the intermediate encrypted result to the PUF to obtain an encryption key associated with the intermediate encrypted result. 19. The apparatus of claim 18 , further comprising: means for encrypting the intermediate encrypted result using the encryption key associated with the intermediate encrypted result. 20. The apparatus of claim 19 , furthe

Assignees

Inventors

Classifications

  • G09C1/00Primary

    Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system (cryptographic typewriters G09C3/00) · CPC title

  • Details relating to cryptographic hardware or logic circuitry · CPC title

  • involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics · CPC title

  • involving homomorphic encryption · CPC title

  • using physically unclonable functions [PUF] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9760737B2 cover?
Techniques for protecting data in a processor are provided. An example method according to these techniques includes performing one or more operations on encrypted data using one or more functional units of a data path of the processor to generate an encrypted result. Performing the one or more operations includes: receiving at least one encrypted parameter pair at a functional unit, each encry…
Who is the assignee on this patent?
Qualcomm Inc
What technology area does this patent fall under?
Primary CPC classification G09C1/00. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 12 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).