Encryption engine having randomized round scheduling to prevent side channel attacks
AssigneeFacebook Technologies, LLC
InventorSudhir Satpathy
Life of this patent
Estimating the term…
Loading patent…
AssigneeFacebook Technologies, LLC
InventorSudhir Satpathy
Estimating the term…
In general, this disclosure describes encryption engines that shuffle data segments during decryption. By shuffling the data and using the resulting random permutation for decryption, the engines of this disclosure obfuscate hardware performance information that attackers might access and use in a side channel attack. In one example, an apparatus includes a decryption engine configured to select, for each round of multiple rounds for decrypting the block of encrypted data, a permutation of inputs to the decryption engine from multiple permutations of the inputs. The inputs include encrypted data segments of the block of encrypted data and an inverse cipher key segment, and the selected permutation of the inputs is different for at least two of the rounds. The decryption engine is further configured to iteratively compute a decrypted data segment across the plurality of rounds based on the respective selected permutation of the inputs for each round.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21: