US 12,010,205 B2
Encryption engine having randomized round scheduling to prevent side channel attacks
Sudhir Satpathy, Redmond, WA (US)
Assigned to Meta Platforms Technologies, LLC, Menlo Park, CA (US)
Filed by Meta Platforms Technologies, LLC, Menlo Park, CA (US)
Filed on Oct. 11, 2021, as Appl. No. 17/498,560.
Application 17/498,560 is a continuation of application No. 16/446,187, filed on Jun. 19, 2019, granted, now 11,165,557.
Prior Publication US 2022/0029784 A1, Jan. 27, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 9/00 (2022.01); G06F 3/14 (2006.01); G06F 21/76 (2013.01); H04L 9/06 (2006.01); G06F 21/75 (2013.01)
CPC H04L 9/003 (2013.01) [G06F 3/14 (2013.01); G06F 21/76 (2013.01); H04L 9/0631 (2013.01); G06F 21/755 (2017.08)] 19 Claims
OG exemplary drawing
 
1. A head-mounted display comprising:
an encryption engine comprising a reduced-size hardware configuration for preventing side channel attacks, the encryption engine being configured to:
partition a block of input data containing content for artificial reality display into a plurality of data segments; and
for each round of a plurality of rounds for encrypting the block of input data:
select, as inputs to the encryption engine, a permutation of the plurality of data segments from among a plurality of permutations of the plurality of data segments and a selected cipher key segment of a plurality of cipher key segments, wherein the selected permutation of the plurality of data segments is different for at least two rounds of the plurality of rounds;
for each data segment of the plurality of data segments, sequentially process the data segment of the plurality of data segments using the selected permutation and the selected cipher key segment of the plurality of cipher key segments to compute an encrypted data segment for the data segment; and
combine encrypted data segments computed for the plurality of data segments during the plurality of rounds to form an encrypted block of data for the block of input data.