Patents by Inventor David Darmon

David Darmon has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 10642971
    Abstract: In one embodiment a device is described, the device including a memory operative to store an program, a storage operative to store a reference check value for at least one operation in the program, a processor operative to execute the program, including, determining a run-time check value upon execution of the at least one operation in the program, comparing the stored reference check value with the run-time check value, storing the run-time check value as a pre-branch run-time check value prior to entering a conditional branch of the program when the compared stored reference check value and the run-time check value are equal values, resetting the run-time check value of the executing program to the pre-branch run-time check value upon exiting the conditional branch of the program, wherein the reference check value, the run-time check value, and the pre-branch run-time check value are determined as a result of a single function. Related apparatus, methods and systems are also described.
    Type: Grant
    Filed: September 4, 2017
    Date of Patent: May 5, 2020
    Assignee: Cisco Technology, Inc.
    Inventors: David Darmon, Lev Yudalevich, Leonid Frenkel, Yair Arzi, Yigal Dahan, Eyal Wasserman, Yaacov Belenky
  • Patent number: 10396043
    Abstract: In one embodiment, a chip comprising a circuit, the circuit comprising a plurality of components, wherein the circuit is adapted to perform a function that is dependent on timing behavior of the circuit, and wherein a geometry of a layout of the circuit is substantially the same as another geometry of another layout of another circuit adapted to perform another function that is dependent on different timing behavior.
    Type: Grant
    Filed: February 26, 2019
    Date of Patent: August 27, 2019
    Assignee: Cisco Technology, Inc.
    Inventors: David Darmon, Avi Klein, Yehuda Salmon, Aharon Grabovsky, Ruben Attia
  • Publication number: 20190189571
    Abstract: In one embodiment, a chip comprising a circuit, the circuit comprising a plurality of components, wherein the circuit is adapted to perform a function that is dependent on timing behavior of the circuit, and wherein a geometry of a layout of the circuit is substantially the same as another geometry of another layout of another circuit adapted to perform another function that is dependent on different timing behavior.
    Type: Application
    Filed: February 26, 2019
    Publication date: June 20, 2019
    Inventors: David Darmon, Avi Klein, Yehuda Salmon, Aharon Grabovsky, Ruben Attia
  • Patent number: 10262956
    Abstract: In one embodiment, a chip comprising a circuit, the circuit comprising a plurality of components, wherein the circuit is adapted to perform a function that is dependent on timing behavior of the circuit, and wherein a geometry of a layout of the circuit is substantially the same as another geometry of another layout of another circuit adapted to perform another function that is dependent on different timing behavior.
    Type: Grant
    Filed: July 3, 2017
    Date of Patent: April 16, 2019
    Assignee: Cisco Technology, Inc.
    Inventors: David Darmon, Avi Klein, Yehuda Salmon, Aharon Grabovsky, Ruben Attia
  • Publication number: 20190073472
    Abstract: In one embodiment a device is described, the device including a memory operative to store an program, a storage operative to store a reference check value for at least one operation in the program, a processor operative to execute the program, including, determining a run-time check value upon execution of the at least one operation in the program, comparing the stored reference check value with the run-time check value, storing the run-time check value as a pre-branch run-time check value prior to entering a conditional branch of the program when the compared stored reference check value and the run-time check value are equal values, resetting the run-time check value of the executing program to the pre-branch run-time check value upon exiting the conditional branch of the program, wherein the reference check value, the run-time check value, and the pre-branch run-time check value are determined as a result of a single function. Related apparatus, methods and systems are also described.
    Type: Application
    Filed: September 4, 2017
    Publication date: March 7, 2019
    Inventors: David Darmon, Lev Yudalevich, Leonid Frenkel, Yair Arzi, Yigal Dahan, Eyal Wasserman, Yaacov Belenky
  • Publication number: 20190028266
    Abstract: In one embodiment, a system and method is described for dynamic encryption of CPU registers. A data item, encrypted according to a first key is stored in one register in a CPU register file. A second data item is encrypted according to a second key, and is written to another of the registers. A flag, associated with each of the registers, is stored, indicating whether the data item is encrypted according to the first or second key. One of the data items is decrypted by retrieving its associated flag, thereby determining according to which key the data item is encrypted. Thereupon, the data item is decrypted according to the determined key. The keys are updated by a controller once each of the flags are set. The controller changes the second key to be the first key, stores a new second key, and clears each of the flags. Related apparatus, systems and methods are also described.
    Type: Application
    Filed: July 23, 2017
    Publication date: January 24, 2019
    Inventors: David DARMON, Avi Klein, Yaacov Belenky
  • Publication number: 20180247902
    Abstract: In one embodiment, a chip comprising a circuit, the circuit comprising a plurality of components, wherein the circuit is adapted to perform a function that is dependent on timing behavior of the circuit, and wherein a geometry of a layout of the circuit is substantially the same as another geometry of another layout of another circuit adapted to perform another function that is dependent on different timing behavior.
    Type: Application
    Filed: July 3, 2017
    Publication date: August 30, 2018
    Inventors: David DARMON, Avi Klein, Yehuda Salmon, Aharon Grabovsky, Ruben Attia
  • Patent number: 8621186
    Abstract: Obfuscating a multi-threaded computer program is carried out using an instruction pipeline in a computer processor by streaming first instructions of a first thread of a multi-threaded computer application program into the pipeline, the first instructions entering the pipeline at the fetch stage, detecting a stall signal indicative of a stall condition in the pipeline, and responsively to the stall signal injecting second instructions of a second thread of the multi-threaded computer application program into the pipeline. The injected second instructions enter the pipeline at an injection stage that is disposed downstream from the fetch stage up to and including the register stage for processing therein. The stall condition exists at one of the stages that is located upstream from the injection stage.
    Type: Grant
    Filed: November 14, 2011
    Date of Patent: December 31, 2013
    Assignee: Cisco Technology Inc.
    Inventors: David Darmon, Uri Kaluzhny
  • Publication number: 20130262825
    Abstract: Obfuscating a multi-threaded computer program is carried out using an instruction pipeline in a computer processor by streaming first instructions of a first thread of a multi-threaded computer application program into the pipeline, the first instructions entering the pipeline at the fetch stage, detecting a stall signal indicative of a stall condition in the pipeline, and responsively to the stall signal injecting second instructions of a second thread of the multi-threaded computer application program into the pipeline. The injected second instructions enter the pipeline at an injection stage that is disposed downstream from the fetch stage up to and including the register stage for processing therein. The stall condition exists at one of the stages that is located upstream from the in injection stage.
    Type: Application
    Filed: November 14, 2011
    Publication date: October 3, 2013
    Applicant: Cisco Technology Inc.
    Inventors: David Darmon, Uri Kaluzhny