Patents by Inventor Mikhail J. Atallah

Mikhail J. Atallah 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: 11552783
    Abstract: A method of performing ordered statistics between at least two parties is disclosed which includes identifying a first dataset (xA) by a first node (A), identifying a second dataset (xB) by a second node (B), wherein xB is unknown to A and xA is unknown to B, and wherein A is in communication with B, and wherein A and B are in communication with a server (S), A and B each additively splitting each member of their respective datasets into corresponding shares, sharing the corresponding shares with one another, arranging the corresponding shares according to a mutually agreed predetermined order into corresponding ordered shares, shuffling the ordered shares into shuffled shares, re-splitting the shuffled shares into re-split shuffled shares, and performing an ordered statistical operation on the re-split shuffled shares, wherein the steps of shuffle and re-split is based on additions, subtractions but not multiplication and division.
    Type: Grant
    Filed: January 27, 2022
    Date of Patent: January 10, 2023
    Assignee: Purdue Research Foundation
    Inventors: Mikhail J Atallah, Siva Chaitanya Chaduvula, Adam Dachowicz, Jitesh H Panchal, Mohammad S Rahman
  • Publication number: 20220158821
    Abstract: A method of performing ordered statistics between at least two parties is disclosed which includes identifying a first dataset (xA) by a first node (A), identifying a second dataset (xB) by a second node (B), wherein xB is unknown to A and xA is unknown to B, and wherein A is in communication with B, and wherein A and B are in communication with a server (S), A and B each additively splitting each member of their respective datasets into corresponding shares, sharing the corresponding shares with one another, arranging the corresponding shares according to a mutually agreed predetermined order into corresponding ordered shares, shuffling the ordered shares into shuffled shares, re-splitting the shuffled shares into re-split shuffled shares, and performing an ordered statistical operation on the re-split shuffled shares, wherein the steps of shuffle and re-split is based on additions, subtractions but not multiplication and division.
    Type: Application
    Filed: January 27, 2022
    Publication date: May 19, 2022
    Applicant: Purdue Research Foundation
    Inventors: Mikhail J. Atallah, Siva Chaitanya Chaduvula, Adam Dachowicz, Jitesh H Panchal, Mohammad S. Rahman
  • Patent number: 11239998
    Abstract: A method of performing ordered statistics between at least two parties is disclosed which includes identifying a first dataset (xA) by a first node (A), identifying a second dataset (xB) by a second node (B), wherein xB is unknown to A and xA is unknown to B, and wherein A is in communication with B, and wherein A and B are in communication with a server (S), A and B each additively splitting each member of their respective datasets into corresponding shares, sharing the corresponding shares with one another, arranging the corresponding shares according to a mutually agreed predetermined order into corresponding ordered shares, shuffling the ordered shares into shuffled shares, re-splitting the shuffled shares into re-split shuffled shares, and performing an ordered statistical operation on the re-split shuffled shares, wherein the steps of shuffle and re-split is based on additions, subtractions but not multiplication and division.
    Type: Grant
    Filed: August 16, 2019
    Date of Patent: February 1, 2022
    Assignee: Purdue Research Foundation
    Inventors: Mikhail J Atallah, Siva Chaitanya Chaduvula, Adam Dachowicz, Jitesh H Panchal, Mohammad S Rahman
  • Publication number: 20200312465
    Abstract: A non-transitory computer-readable medium encoded with a computer-readable program, which, when executed by a processor, will cause a computer to execute a method of intelligent matching, wherein the method includes receiving a first data from a plurality of service vendors, wherein the first data includes performance metrics of service providers and characteristics of service consumers. The method additionally includes classifying, using cluster algorithms, the service consumers from the first data into a plurality of groups. Further, the method includes calculating a compatibility success score between each service provider and each group of the plurality of groups. Moreover, the method includes calculating a historical arrival rate for the each group of the plurality of groups. The method also includes assigning a chosen service provider to a prospective service consumer based on a determined compatibility success score of the chosen service provider.
    Type: Application
    Filed: March 25, 2020
    Publication date: October 1, 2020
    Applicant: Purdue Research Foundation
    Inventors: Mohammad S. Rahman, Jitesh H. Panchal, Adam Dachowicz, Siva Chaitanya Chaduvula, Mikhail J. Atallah
  • Publication number: 20200059351
    Abstract: A method of performing ordered statistics between at least two parties is disclosed which includes identifying a first dataset (xA) by a first node (A), identifying a second dataset (xB) by a second node (B), wherein xB is unknown to A and xA is unknown to B, and wherein A is in communication with B, and wherein A and B are in communication with a server (S), A and B each additively splitting each member of their respective datasets into corresponding shares, sharing the corresponding shares with one another, arranging the corresponding shares according to a mutually agreed predetermined order into corresponding ordered shares, shuffling the ordered shares into shuffled shares, re-splitting the shuffled shares into re-split shuffled shares, and performing an ordered statistical operation on the re-split shuffled shares, wherein the steps of shuffle and re-split is based on additions, subtractions but not multiplication and division.
    Type: Application
    Filed: August 16, 2019
    Publication date: February 20, 2020
    Applicant: Purdue Research Foundation
    Inventors: Mikhail J Atallah, Siva Chaitanya Chaduvula, Adam Dachowicz, Jitesh H Panchal, Mohammad S Rahman
  • Patent number: 7853018
    Abstract: A method and system for hiding an encryption key. The method including creating a directed graph having a plurality of vertices and edges, including a source and a sink vertex. Each vertex has a vertex value. The source vertices have a common source value, and the sink vertices have a common sink value, the sink value being a function of the source value and the encryption key. Each edge has an edge value that is a function of r(in)?1 and r(out) where r(in)?1 is the functional inverse of the vertex value of the predecessor vertex and r(out) is the vertex value of the successor vertex. A message enters a source vertex; flows along a path from the source vertex to a sink vertex; and leaves the sink vertex, where the output message is an encrypted or decrypted version of the input message using the private encryption key.
    Type: Grant
    Filed: November 10, 2006
    Date of Patent: December 14, 2010
    Inventors: Mikhail J. Atallah, Eric D. Bryant
  • Patent number: 7757097
    Abstract: Method of protecting host application code comprising a plurality of code blocks. The method includes steps of preprocessing the host application code; obfuscating the host application code; installing guards in the host application code to protect client blocks; randomly rearranging the code blocks of the host application code; linking the rearranged host application code with other resources to produce a binary executable image; and patching the binary executable image with data values to be used by the guard. The method can be used to install a plurality of guards to form a distributed network of guards that cooperatively protect the host application code and the other guards in the network. The installation of the guards can be performed automatically using a guard formation graph; and guard formation graph customization parameters. The obfuscation step can include control flow graph merging, cloning, and data-aliasing.
    Type: Grant
    Filed: July 27, 2005
    Date of Patent: July 13, 2010
    Assignee: Purdue Research Foundation
    Inventors: Mikhail J. Atallah, Hoi Chang
  • Patent number: 7707433
    Abstract: Method and system for secure computational outsourcing and disguise of data, computer programs, pictures, and databases from unauthorized access, theft, and tampering using disguising and tamperproofing operations. In some embodiments, the disguising operation includes generating a random number for each data element, and modifying each data element with the random numbers. In some embodiments, the computer program, written in a first programming language, is partitioned into first and second programs; the first program determines whether access to the data is authorized, the second program entangles the second program and the data; and the second program is translated into a second programming language. An embodiment of the present invention comprises a method for identifying the subject of a first picture by comparison to a second picture. Embodiments comprise securing a computer program with real programming code by creating dummy program code and mixing the dummy and real program code.
    Type: Grant
    Filed: October 17, 2005
    Date of Patent: April 27, 2010
    Assignee: Purdue Research Foundation
    Inventors: John R. Rice, Mikhail J. Atallah
  • Patent number: 7287166
    Abstract: A method of protecting a software program from unauthorized modification, and a system for practicing the method. The method utilizes self-protecting software code. Armed internally with self-defensive mechanisms, a self-protecting software program is tamper-resistant. Whenever its integrity is compromised, a self-protecting software program may become unusable due to software program crashes or other errors, or may generate subtle errors that do not immediately result render the program unusable but still result in incorrect software program execution. A self-protecting software program also may be able to repair itself to restore the integrity of its damaged code. The system comprises a computer program for automatically adding self-protection features to a software program.
    Type: Grant
    Filed: July 16, 2003
    Date of Patent: October 23, 2007
    Assignee: Purdue Research Foundation
    Inventors: Hoi Chang, Mikhail J. Atallah, John R. Rice
  • Patent number: 6957341
    Abstract: A method and system for secure computational outsourcing and disguise. According to an embodiment, a first set of actual arguments and a second set of actual arguments for an outsourced computation are determined. A first group of disguised arguments corresponding to the first set of actual arguments is prepared with a first computer. A second group of disguised arguments corresponding to the second set of actual arguments is prepared with a second computer. The first and second groups of disguised arguments are output from the first and second computers, respectively, for performance of the outsourced computation. A third computer performs the outsourced computation and returns a disguised result to the first and/or second computers. The first and/or second computers then unveil the actual result from the disguised result.
    Type: Grant
    Filed: March 18, 2002
    Date of Patent: October 18, 2005
    Assignee: Purdue Research Foundation
    Inventors: John R. Rice, Mikhail J. Atallah
  • Patent number: 6941463
    Abstract: A technique includes the determination of a set of arguments for an outsourced computation and preparing a group of disguised arguments corresponding to the set of arguments with a first computer. The first computer outputs the disguised arguments to a second computer. The second computer performs the outsourced computation with the disguised arguments to determine a corresponding disguised result. The second computer returns the disguised result to the first computer. The first computer recovers an actual answer from the disguised result. Before outsourcing, the first computer can classify the outsourced computation into one of a number of computation types and select one or more of a number of disguising operations based this classification.
    Type: Grant
    Filed: May 14, 1999
    Date of Patent: September 6, 2005
    Assignee: Purdue Research Foundation
    Inventors: Mikhail J. Atallah, John R. Rice, Eugene H. Spafford, Kostas N. Pantazopoulos
  • Publication number: 20030018608
    Abstract: A method and system for secure computational outsourcing and disguise. According to an embodiment, a first set of actual arguments and a second set of actual arguments for an outsourced computation are determined. A first group of disguised arguments corresponding to the first set of actual arguments is prepared with a first computer. A second group of disguised arguments corresponding to the second set of actual arguments is prepared with a second computer. The first and second groups of disguised arguments are output from the first and second computers, respectively, for performance of the outsourced computation. A third computer performs the outsourced computation and returns a disguised result to the first and/or second computers. The first and/or second computers then unveil the actual result from the disguised result.
    Type: Application
    Filed: March 18, 2002
    Publication date: January 23, 2003
    Applicant: Purdue Research Foundation, Inc.
    Inventors: John R. Rice, Mikhail J. Atallah