US 11,757,617 B2
Performing cryptographic data processing operations in a manner resistant to external monitoring attacks
Sami James Saab, San Francisco, CA (US); Pankaj Rohatgi, Los Altos, CA (US); and Craig E. Hampel, Los Altos, CA (US)
Assigned to Cryptography Research, Inc., San Jose, CA (US)
Filed by Cryptography Research, Inc., San Jose, CA (US)
Filed on Dec. 15, 2020, as Appl. No. 17/122,310.
Application 17/122,310 is a continuation of application No. 16/519,330, filed on Jul. 23, 2019, granted, now 10,897,344.
Application 16/519,330 is a continuation of application No. 15/311,741, granted, now 10,382,193, issued on Aug. 13, 2019, previously published as PCT/US2015/031203, filed on May 15, 2015.
Claims priority of provisional application 62/011,245, filed on Jun. 12, 2014.
Prior Publication US 2021/0218546 A1, Jul. 15, 2021
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 9/00 (2022.01); G06F 21/55 (2013.01); G06F 9/30 (2018.01); H04L 9/08 (2006.01); H04L 9/06 (2006.01)
CPC H04L 9/002 (2013.01) [G06F 9/30007 (2013.01); G06F 21/556 (2013.01); H04L 9/003 (2013.01); H04L 9/0822 (2013.01); H04L 9/0631 (2013.01); H04L 2209/12 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A method of executing a cryptographic operation, comprising:
identifying a first data manipulation instruction, the first data manipulation instruction modifying an internal state of a processing device;
identifying a second data manipulation instruction, the second data manipulation instruction interacting with the internal state of the processing device; and
breaking, by a third data manipulation instruction to be inserted between the first data manipulation instruction and the second data manipulation instruction, a detectable interaction of the first data manipulation instruction and the second data manipulation instruction via the internal state, wherein the third data manipulation instruction utilizes an unpredictable data item to modify the internal state of the processing device, wherein at least one of the first data manipulation instruction or the second data manipulation instruction belongs to an enhanced instruction set.