FPGA configuration bitstream protection using multiple keys
US-9208357-B1 · Dec 8, 2015 · US
US9503255B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9503255-B2 |
| Application number | US-201314055969-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 17, 2013 |
| Priority date | Oct 17, 2012 |
| Publication date | Nov 22, 2016 |
| Grant date | Nov 22, 2016 |
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.
A method is disclosed for intermixing a first stream of data and a second stream of data. An associated first secret key is expanded to form a first associated expanded secret key. An associated second secret key is expanded to form a second associated expanded secret key. The first stream of data and the second stream of data are intermixed to form a combined stream of data, which is ciphered. The combined stream of data is de-multiplexed after ciphering thereof and provided at an output port.
Opening claim text (preview).
What is claimed is: 1. A method for leak resistant ciphering comprising: providing a first stream of data and an associated first secret key; expanding the associated first secret key to form a first associated expanded secret key; providing a second simultaneous stream of data and an associated second secret key; expanding the associated second secret key to form a second associated expanded secret; intermixing the first stream of data and the second stream of data to form a combined stream of data; ciphering the combined stream of data in accordance with the first and second associated expanded secret keys by interleaving rounds to form a ciphered combined stream wherein ciphering of the combined stream of data is performed within a fixed window of time such that G pre +G pos t is equal to a constant, the fixed window of time filled with ciphering of the combined stream of data and other data; de-multiplexing the ciphered combined stream of data to form de-multiplexed streams of data; providing the de-multiplexed streams of data at an output port; combining the processing of multiple simultaneous streams of data affords the opportunity to obfuscate the power signatures of each individual stream; and determining G pre by a scheduling system, G pre varying between different intermixed streams of data. 2. The method as defined in claim 1 wherein the combined stream of data comprises a sequence of frames from each of the first stream of data and the second stream of data, the sequence different than a sequence consistently alternating a predetermined number of frames from each stream, said predetermined number being an integer>0. 3. The method as defined in claim 1 wherein said first stream of data is plain text. 4. The method as defined in claim 1 wherein said second stream of data is plain text. 5. The method as defined in claim 1 wherein said first stream of data is ciphered text. 6. The method as defined in claim 1 wherein said second stream of data is ciphered text. 7. The method as defined in claim 1 wherein said ciphering is encrypting. 8. The method as defined in claim 1 wherein said ciphering is decrypting. 9. A method as defined in claim 1 wherein the combined stream of data is sequenced based upon the first secret key. 10. A method as defined in claim 1 wherein the combined stream is sequenced based upon the first stream of data. 11. A method as defined in claim 9 wherein the combined stream of data is sequenced based upon the second secret key. 12. A method as defined in claim 10 wherein the combined stream is sequenced based upon the second stream of data. 13. A method as defined in claim 1 wherein the combined stream of data is sequenced based upon user-supplied data. 14. A method as defined in claim 1 comprising: providing a third stream of data; providing a third secret key associated with the third stream of data; and expanding the third secret key to form an expanded third secret key, wherein said intermixing further comprises intermixing the first stream, the second stream, and the third stream in the combined stream of data. 15. A method according to claim 1 wherein intermixing the first stream of data and the second stream of data comprises one of the first stream of data and the second stream of data beginning before the other and ending before the other, the first and second streams of data other than provided at approximately a same time such that they are intermixed asynchronously. 16. A method according to claim 1 wherein intermixing comprises intermixing the first stream of data and the second stream of data such that one of the first stream of data and the second stream of data begins before the other and ends after the other, the first and second streams of data other than provided at approximately a same time such that the first and second streams of data are intermixed asynchronously, additional rounds intermixed therein to obfuscate data in relation to which stream it forms part of. 17. A method according to claim 1 wherein ciphering comprises ciphering the combined stream of data with a triple encryption cipher process, the triple encryption cipher process executed on a stream of data as a single succession of rounds such that the first stream of data and the second stream of data when intermixed obfuscate a beginning and an end of some single encryption processes relative to each stream of data, the some single encryption processes each forming part of a triple encryption process. 18. The method of claim 17 where the cipher is data encryption standard (DES). 19. The method of claim 17 where the cipher is advanced encryption standard (AES). 20. The method of claim 17 where the triple encryption process is encrypt-decrypt-encrypt. 21. The method of claim 17 where the triple encryption process is decrypt-encrypt-decrypt. 22. The method of claim 17 where the triple encryption process is encrypt-encrypt-encrypt. 23. The method of claim 17 where the triple encryption process is decrypt-decrypt-decrypt. 24. A method according to claim 1 wherein the combined stream of data is sequenced randomly. 25. A method according to claim 1 wherein the combined stream of data is sequenced pseudorandomly. 26. A method according to claim 1 wherein the combined stream of data is sequenced deterministically. 27. A cipher processor comprising: a first key store for storing of a first secret key therein; a second key store for storing of a second secret key therein; a first data store for storing at least a portion of first data for ciphering thereof; a second data store for storing at least a portion of second other data for ciphering thereof; a key expansion circuit for expanding the first secret key to form a first expanded secret key and for expanding the second secret key to form a second expanded secret key; a scheduler for determining an intermixing order relative to the first data and the second other data for forming a stream of data in a known sequence, the known sequence other than consistently alternating N Frames from each of the first data and the second other data, N being an integer>O; an intermixing circuit responsive to the scheduler for intermixing the first data and the second other data; a cipher circuit for ciphering the intermixed stream of data in accordance with the expanded secret keys by interleaving rounds to form a ciphered combined stream wherein ciphering of the ciphering combined stream of data is performed within a fixed window of time such that G pre +G pos t is equal to a constant, the fixed window of time filled with ciphering of the ciphering combined stream of data and other data; and a de-multiplexing circuit responsive to the scheduler for de-multiplexing the ciphered stream of data in accordance with the known sequence, each of the de-multiplexed first data and second other data in one of ciphered and plain text form; combining the processing of multiple simultaneous streams of data affords the opportunity to obfuscate the power signatures of each individual stream; and determining G pre by a scheduling system, G pre varying between different intermixed streams of data. 28. A cipher processor as defined in claim 27 wherein the scheduler comprises circuitry for receiving the first secret key and for determining the intermixing order in dependence upon t
by inhibiting the analysis of circuitry or operation · CPC title
Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3 · CPC title
Physics · mapped topic
using a plurality of keys or algorithms · CPC title
in cryptographic circuits · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.