Electronic circuit performing encryption/decryption operation to prevent side-channel analysis attack, and electronic device including the same
US-2017344759-A1 · Nov 30, 2017 · US
US12547754B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12547754-B2 |
| Application number | US-202217834511-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 7, 2022 |
| Priority date | Jun 11, 2021 |
| Publication date | Feb 10, 2026 |
| Grant date | Feb 10, 2026 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Described are implementations directed to protecting secret data against adversarial attacks by obfuscating the secret data during storage and communication. Obfuscation techniques include, among other things, splitting secret data into a plurality of portions, performing rotation of secret data, splitting secret data into a plurality of shares, modifying shares of secret data in view of the values of the shares, and various other protection mechanisms.
Opening claim text (preview).
What is claimed is: 1 . A method of cryptographic protection of a data, the method comprising: accessing, by a processing device, the data stored on a memory device; selecting, by the processing device, a control value; obtaining, by the processing device, modified data by performing an obfuscation operation on the accessed data, wherein the obfuscation operation comprises one or more of: a rearrangement of a plurality of portions of the accessed data in an order determined by the control value, or an addition of the accessed data to a value comprising a plurality of copies of the control value; performing, by the processing device, an action using the modified data and the control value, wherein the action comprises at least one of: communicating the modified data and the control value to a cryptographic application; or storing, in the memory device, the modified data and the control value. 2 . The method of claim 1 , wherein obtaining the modified data comprises: splitting the accessed data into the plurality of portions; and generating the modified data by arranging the plurality of portions in an order determined by a first segment of the control value. 3 . The method of claim 2 , wherein obtaining the modified data further comprises: changing an order of bits within each of one or more portions of the plurality of portions, the one or more portions identified by a second segment of the control value. 4 . The method of claim 2 , wherein a number of portions of the plurality of portions is determined by a second segment of the control value. 5 . The method of claim 1 , wherein the control value comprises a value obtained from a memory register whose content is updated prior to obtaining the modified data. 6 . The method of claim 5 , wherein the memory register is a linear feedback shift register seeded with a random value. 7 . The method of claim 1 , wherein obtaining the modified data comprises: performing a circular rotation of bits of the accessed data, to a degree determined by the control value. 8 . The method of claim 7 , wherein obtaining the modified data further comprises: inverting an order of the bits of the accessed data. 9 . The method of claim 7 , wherein obtaining the modified data further comprises: performing a bitwise XOR addition of each of a plurality of bits of the accessed data with 0 or 1 sequenced in an order determined by the control value. 10 . The method of claim 1 , wherein the control value comprises a value obtained from a memory register whose content is updated prior to obtaining the modified data. 11 . The method of claim 1 , performed responsive to an internal clock of the memory device generating a predetermined output. 12 . A system comprising: a memory device; and a processing device communicatively coupled to the memory device, the processing device to: access data stored on the memory device; select a control value; obtain modified data by performing an obfuscation operation on the accessed data, wherein the obfuscation operation comprises one or more of: a rearrangement of a plurality of portions of the accessed data in an order determined by the control value, or an addition of the accessed data to a value comprising a plurality of copies of the control value; perform an action using the modified data and the control value, wherein the action comprises at least one of: communicating the modified data and the control value to a cryptographic application; or storing, in the memory device, the modified data and the control value. 13 . The system of claim 12 , wherein to obtain the modified data, the processing device is to perform a circular rotation of bits of the accessed data, to a degree determined by the control value. 14 . The system of claim 13 , wherein to obtain the modified data, the processing device is further to perform at least on of: invert an order of the bits of the accessed data; or perform a bitwise XOR addition of each of a plurality of bits of the accessed data with 0 or 1 sequenced in an order determined by the control value. 15 . The system of claim 12 , wherein the control value comprises a value obtained from a memory register whose content is updated prior to obtaining the modified data. 16 . The system of claim 12 , wherein to obtain the modified data, the processing device is to: split the accessed data into a plurality of portions; and generate the modified data by arranging the plurality of portions in an order determined by a first segment of the control value. 17 . The system of claim 16 , wherein to obtain the modified data, the processing device is further to: change an order of bits within each of one or more portions of the plurality of portions, the one or more portions identified by a second segment of the control value. 18 . The system of claim 16 , wherein a number of portions of the plurality of portions is determined by a second segment of the control value. 19 . The system of claim 12 , wherein the control value comprises a value obtained from a memory register whose content is updated prior to obtaining the modified data. 20 . A non-transitory computer readable memory storing instructions that, when executed by a processing device, cause the processing device to: access a data stored on a memory device; select a control value; obtain modified data by performing an obfuscation operation on the accessed data, wherein the obfuscation operation comprises one or more of: a rearrangement of a plurality of portions of the accessed data in an order determined by the control value, or an addition of the accessed data to a value comprising a plurality of copies of the control value; perform an action using the modified data and the control value, wherein the action comprises at least one of: communicating the modified data and the control value to a cryptographic application; or storing, in the memory device, the modified data and the control value.
the protection being physical, e.g. cell, word, block · CPC title
using an access-table, e.g. matrix or list · CPC title
Just-in-time application of countermeasures, e.g., on-the-fly decryption, just-in-time obfuscation or de-obfuscation · CPC title
by using cryptography (for digital transmission H04L9/00) · CPC title
Security improvement · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.