Secure convolutional neural networks (CNN) accelerator

US10706349B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10706349-B2
Application numberUS-201715730316-A
CountryUS
Kind codeB2
Filing dateOct 11, 2017
Priority dateMay 25, 2017
Publication dateJul 7, 2020
Grant dateJul 7, 2020

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.

A Convolutional Neural Network (CNN) based-signal processing includes receiving of an encrypted output from a first layer of a multi-layer CNN data. The received encrypted output is subsequently decrypted to form a decrypted input to a second layer of the multi-layer CNN data. A convolution of the decrypted input with a corresponding decrypted weight may generate a second layer output, which may be encrypted and used as an encrypted input to a third layer of the multi-layer CNN data.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of signal processing comprising: receiving an encrypted output from a first layer of a multi-layer convolutional neural networks (CNN) data; decrypting the received encrypted output to form a decrypted input to a second layer of the multi-layer CNN data using a first cryptographic key, the first cryptographic key is part of a first cryptographic key pair; receiving an encrypted weight that corresponds to the decrypted input; decrypting the received encrypted weight uses a second cryptographic key, the second cryptographic key is part of a second cryptographic key pair, and the second cryptographic key pair is different than the first cryptographic key pair; performing a convolution on the decrypted input and the decrypted weight to generate a second layer output; and encrypting the second layer output to form an encrypted second layer output, wherein the encrypted second layer output is used as an encrypted input to a third layer of the multi-layer CNN data. 2. The method of claim 1 , wherein the second layer is any layer of the multi-layer CNN data. 3. The method of claim 1 , wherein the encrypting the second layer output is not performed if the second layer is a last layer of the multi-layer CNN data. 4. The method of claim 1 , wherein the decrypting the received encrypted output and the encrypting are symmetric key decryption and encryption, respectively. 5. The method of claim 1 , wherein the decrypting the received encrypted output and the encrypting are on-the-fly decryption and encryption, respectively. 6. The method of claim 1 , wherein the first and second cryptographic keys are different and the first and second cryptographic keys are stored at an external memory using an asymmetrical encryption. 7. The method of claim 1 , wherein different cryptographic keys are used for decrypting different layers of the multi-layer CNN data, and wherein different cryptographic keys are used for encrypting different layers of the multi-layer CNN data. 8. The method of claim 1 , wherein the encrypted weight is stored at an external memory. 9. The method of claim 1 , the decrypting of the encrypted weight utilizes a block-chaining to provide higher security. 10. The method of claim 1 , wherein an input to the first layer is an unencrypted layer of an image frame. 11. A silicon-on-chip (SoC) device comprising; an input feature decryption block configured to: receive an encrypted output from a first layer of a multi-layer convolutional neural networks (CNN) data; and decrypt the received encrypted output using a first cryptographic key, wherein the decrypted output is used as an input of a second layer of the multi-layer CNN data and the first cryptographic key is part of a first cryptographic key pair; a weight kernel decryption block configured to: receive an encrypted weight that corresponds to the input of the second layer; and decrypt the received encrypted weight using a second cryptographic key, the second cryptographic key is part of a second cryptographic key pair, and the second cryptographic key pair is different than the first cryptographic key pair; a CNN hardware (HW) core configured to perform a convolution of the input and the decrypted weight to generate a second layer output; and an output feature encryption block configured to encrypt the second layer output to form an encrypted second layer output, wherein the encrypted second layer output is used as an encrypted input to a third layer of the multi-layer CNN data. 12. The SoC device of claim 11 further comprising a key management that is configured to provide the first cryptographic key to the input feature decryption block. 13. The SoC device of claim 12 , wherein the first cryptographic key is stored using an asymmetrical encryption in a memory that is external to the SoC device. 14. The SoC device of claim 11 , wherein the encrypted weight is stored in a memory that is external to the SoC device. 15. The SoC device of claim 11 , the decrypting of the encrypted weight utilizes a block-chaining to provide higher security. 16. The SoC device of claim 15 , wherein decrypting of the encrypted output is performed by disabling the block-chaining to allow easy random access. 17. A device comprising; an external memory; and a silicon-on-chip (SoC) device coupled to the external memory, the SoC device comprising: an input feature decryption block configured to: receive an encrypted output from a first layer of a multi-layer convolutional neural networks (CNN) data; and decrypt the received encrypted output using a first cryptographic key, wherein the decrypted output is used as an input of a second layer of the multi-layer CNN data and the first cryptographic key is part of a first cryptographic key pair; a weight kernel decryption block configured to: receive an encrypted weight from the external memory, the received encrypted weight corresponding to the input of the second layer; and decrypt the received encrypted weight using a second cryptographic key, the second cryptographic key is part of a second cryptographic key pair, and the second cryptographic key pair is different than the first cryptographic key pair; a CNN hardware (HW) core configured to perform a convolution of the input and the decrypted weight to generate a second layer output; an output feature encryption block configured to encrypt the second layer output to form an encrypted second layer output, wherein the encrypted second layer output is used as an encrypted input to a third layer of the multi-layer CNN data. 18. The device of claim 17 , wherein the first cryptographic key is stored using an asymmetrical encryption in the external memory. 19. The device of claim 17 , wherein the first cryptographic key is a master key used for encryption and decryption and stored within the SoC device and not readable by software. 20. The device of claim 17 , further comprising a key management memory configured to store the first cryptographic key and the second cryptographic key. 21. The device of claim 17 , wherein the decrypting of the encrypted weight utilizes a block-chaining to provide higher security.

Assignees

Inventors

Classifications

  • Combinations of networks · CPC title

  • G06N3/0464Primary

    Convolutional networks [CNN, ConvNet] · CPC title

  • Providing cryptographic facilities or services · CPC title

  • wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption (cryptographic mechanisms or cryptographic arrangements for symmetric key encryption H04L9/06) · CPC title

  • using hop-by-hop encryption, i.e. wherein an intermediate entity decrypts the information and re-encrypts it before forwarding it · 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 US10706349B2 cover?
A Convolutional Neural Network (CNN) based-signal processing includes receiving of an encrypted output from a first layer of a multi-layer CNN data. The received encrypted output is subsequently decrypted to form a decrypted input to a second layer of the multi-layer CNN data. A convolution of the decrypted input with a corresponding decrypted weight may generate a second layer output, which ma…
Who is the assignee on this patent?
Texas Instruments Inc
What technology area does this patent fall under?
Primary CPC classification G06N3/0464. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 07 2020 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 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).