Patents by Inventor Ramarathnam Venkatesan

Ramarathnam Venkatesan 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: 7844073
    Abstract: An implementation is described herein facilitates certification of goods and/or identifications of the source of such goods. At least one implementation, described herein, embeds a watermark into a relatively small amount of data in a deterministic manner. This abstract itself is not intended to limit the scope of this patent. The scope of the present invention is pointed out in the appending claims.
    Type: Grant
    Filed: September 5, 2007
    Date of Patent: November 30, 2010
    Assignee: Microsoft Corporation
    Inventors: Mustafa Kesal, Mehmet Kivanc Mihcak, Ramarathnam Venkatesan
  • Patent number: 7831832
    Abstract: Described herein is an implementation that produces a new representation of a digital good (such as an image) in a new defined representation domain. In particular, the representations in this new domain are based upon matrix invariances. In some implementations, the matrix invariances may, for example, heavily use singular value decomposition (SVD).
    Type: Grant
    Filed: January 6, 2004
    Date of Patent: November 9, 2010
    Assignee: Microsoft Corporation
    Inventors: S. Serdar Kozat, M. Kivanc Mihcak, Ramarathnam Venkatesan
  • Publication number: 20100228809
    Abstract: Techniques are disclosed to provide randomized signal transforms and/or their applications. More particularly, a signal (e.g., an audio signal, an image, or a video signal) is transformed by applying randomly-selected basis functions to the signal. The applications of the randomized signal transforms include, but are not limited to, compression, denoising, hashing, identification, authentication, and data embedding (e.g., watermarking).
    Type: Application
    Filed: May 18, 2010
    Publication date: September 9, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Ramarathnam Venkatesan, Michael T. Malkin
  • Patent number: 7770029
    Abstract: Software protection using data structures is described. In one implementation, an engine between the processor and the memory of a computing device encrypts and stores data and program variables in blocks of memory that correspond to nodes of a tree-like data structure. When accessed, the nodes of this search tree are rearranged according to various schemata to obscure memory access patterns from being detected by cache attacks or side-channel attacks. In one implementation, the data structure is a splay tree that self-rearranges upon access and increases efficiency while providing security.
    Type: Grant
    Filed: January 26, 2007
    Date of Patent: August 3, 2010
    Assignee: Microsoft Corporation
    Inventors: Ramarathnam Venkatesan, Viktor Boyko
  • Patent number: 7769165
    Abstract: A computer-implemented system and method for configuring and operating a white-box cipher is disclosed. In one implementation, the system employs a method for configuring pseudorandom data derived from a key to perform key-scheduling functionality associated with rounds of the cipher. Additionally, the system employs a method for generating white-box executable code, wherein the code hides the pseudorandom data by incorporating it into mathematical operations performed during execution of the rounds. Accordingly, the cipher is suited for white-box applications managing digital rights, such as decoding audio, video and other content.
    Type: Grant
    Filed: October 14, 2005
    Date of Patent: August 3, 2010
    Assignee: Microsoft Corporation
    Inventors: Mariusz H. Jakubowski, Ramarathnam Venkatesan, Gideon A. Yuval, Yacov Yacobi, Matthew Cary
  • Patent number: 7770014
    Abstract: Techniques are disclosed to provide randomized signal transforms and/or their applications. More particularly, a signal (e.g., an audio signal, an image, or a video signal) is transformed by applying randomly-selected basis functions to the signal. The applications of the randomized signal transforms include, but are not limited to, compression, denoising, hashing, identification, authentication, and data embedding (e.g., watermarking).
    Type: Grant
    Filed: April 30, 2004
    Date of Patent: August 3, 2010
    Assignee: Microsoft Corporation
    Inventors: Ramarathnam Venkatesan, Michael T. Malkin
  • Patent number: 7730315
    Abstract: A cryptosystem has a secret based on an order of a group of points on a Jacobian of a curve. In certain embodiments, the cryptosystem is used to generate a product identifier corresponding to a particular product. The product identifier is generated by initially receiving a value associated with a copy (or copies) of a product. The received value is padded using a recognizable pattern, and the padded value is converted to a number represented by a particular number of bits. The number is then converted to an element of the Jacobian of the curve, and the element is then raised to a particular power. The result of raising the element to the particular power is then compressed and output as the product identifier. Subsequently, the encryption process can be reversed and the decrypted value used to indicate validity and/or authenticity of the product identifier.
    Type: Grant
    Filed: December 19, 2005
    Date of Patent: June 1, 2010
    Assignee: Microsoft Corporation
    Inventors: Kristin E. Lauter, Peter L. Montgomery, Ramarathnam Venkatesan
  • Patent number: 7716487
    Abstract: A technique for imparting substantial break-once-run-everywhere (BORE) resistance to passive and active software objects, and for controlling access and use of resulting protected objects by a client computer (400). Specifically, a relatively large number, n, of identical watermarks (1720) are embedded throughout a software object (1700), through use of n different secret watermark keys to form a protected object, with each key defining a pointer to a location in the protected object at which a corresponding watermark appears.
    Type: Grant
    Filed: September 10, 2004
    Date of Patent: May 11, 2010
    Assignee: Microsoft Corporation
    Inventors: Ramarathnam Venkatesan, Yacov Yacobi
  • Publication number: 20100115260
    Abstract: Program obfuscation is accomplished with tamper proof token including an embedded oracle. A public obfuscation function can be applied to any program/circuit to produce a new obfuscated program/circuit that makes calls to the corresponding oracle to facilitate program execution. A universal circuit representation can be employ with respect to obfuscation to hide circuit wiring and allow the whole circuit to be public. Furthermore, the token or embedded oracle can be universal and stateless to enable a single token to be employed with respect to many programs.
    Type: Application
    Filed: November 5, 2008
    Publication date: May 6, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Ramarathnam Venkatesan, Vipul Goyal
  • Publication number: 20100107245
    Abstract: Tamper-tolerant programs enable correct and continued execution despite attacks. Programs can be transformed into tamper-tolerant versions that correct effects of tampering in response to detection thereof Tamper-tolerant programs can execute alone or in conjunction with tamper resistance/prevention mechanisms such as obfuscation and encryption/decryption, among other things. In fact, the same and/or similar mechanisms can be employed to protect tamper tolerance functionality.
    Type: Application
    Filed: October 29, 2008
    Publication date: April 29, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Mariusz H. Jakubowski, Chit Wei Saw, Ramarathnam Venkatesan
  • Publication number: 20100106920
    Abstract: Programs running on an open architecture, such as a personal computer, are vulnerable to inspection and modification. This is a concern as the program may include or provide access to valuable information. As a defense, the actual location of data can be hidden throughout execution of the program by way of periodic location reordering and pointer scrambling, among other things. These techniques serve to complicate static data flow analysis and dynamic data tracking thereby at least deterring program tampering.
    Type: Application
    Filed: October 29, 2008
    Publication date: April 29, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Bertrand Raphael Anckaert, Mariusz H. Jakubowski, Ramarathnam Venkatesan, Chit Wei Saw
  • Patent number: 7707425
    Abstract: Described herein is a technology for facilitating the recognition of the content of digital signals. This abstract itself is not intended to limit the scope of this patent. The scope of the present invention is pointed out in the appending claims.
    Type: Grant
    Filed: November 4, 2004
    Date of Patent: April 27, 2010
    Assignee: Microsoft Corporation
    Inventors: M. Kivanc Mihcak, Ramarathnam Venkatesan
  • Publication number: 20100088548
    Abstract: Techniques are disclosed for generating complex invariants in a program using a Satisfiability Modulo Theories (SMT) solver. In one embodiment, the generated invariants may be used to validate assert statements in a program. Additionally or alternatively, a weakest pre-condition invariant may be generated such that parameters passed to the program that satisfy the weakest pre-condition are guaranteed to satisfy the program's assert statements. Additionally or alternatively, a strongest post-condition may be generated, determining what is guaranteed to be true about the state of the program upon completion of the program. In one embodiment, the SMT solver generates invariants by mapping predicates onto unknown variables in a template. The template may comprise unknown variables related by logical structures defined with disjunctions, universal quantifiers, and existential quantifiers. The predicates may comprise equalities and inequalities between program variables.
    Type: Application
    Filed: October 2, 2008
    Publication date: April 8, 2010
    Applicant: Microsoft Corporation
    Inventors: Sumit Gulwani, Ramarathnam Venkatesan, Saurabh Srivastava
  • Patent number: 7685590
    Abstract: Implementations provide a technology for generating a minimum delta between at least two program binaries. An implementation is given a source program (S) in a binary format and a target program (T) in a binary form. It constructs control flow graphs (CFGs) of each. It matches common blocks of the S's CFGs and T's CFGs. The blocks are matched based upon their content and their local neighborhoods. In addition, the register renaming problems is solved so that blocks can be fairly compared. This implementation produces an intermediate output, which is the content of unmatched blocks. It generates a set of edge edit operations for merging the unmatched blocks into S. The combination of the unmatched blocks and the edit operations is the delta. To patch S to produce a reconstructed copy of T, the delta is merged with S.
    Type: Grant
    Filed: March 15, 2006
    Date of Patent: March 23, 2010
    Assignee: Microsoft Corporation
    Inventors: Ramarathnam Venkatesan, Saurabh Sinha
  • Patent number: 7681190
    Abstract: Implementations provide a technology for generating a minimum delta between at least two program binaries. An implementation is given a source program (S) in a binary format and a target program (T) in a binary form. It constructs control flow graphs (CFGs) of each. It matches common blocks of the S's CFGs and T's CFGs. The blocks are matched based upon their content and their local neighborhoods. In addition, the register renaming problems is solved so that blocks can be fairly compared. This implementation produces an intermediate output, which is the content of unmatched blocks. It generates a set of edge edit operations for merging the unmatched blocks into S. The combination of the unmatched blocks and the edit operations is the delta. To patch S to produce a reconstructed copy of T, the delta is merged with S.
    Type: Grant
    Filed: March 15, 2006
    Date of Patent: March 16, 2010
    Assignee: Microsoft Corporation
    Inventors: Ramarathnam Venkatesan, Saurabh Sinha
  • Patent number: 7664258
    Abstract: Techniques are described that facilitate cryptographic operations, such as data encryption, signing and others, encryption using a computerized method for multiplying a scalar by a point. In one implementation, a set of random integers is selected, wherein the set comprises at least one integer selected randomly. A string is configured, based in part on the set of random integers. Output in the form of a product of the scalar and the point is then calculated, based on the string.
    Type: Grant
    Filed: December 28, 2005
    Date of Patent: February 16, 2010
    Assignee: Microsoft Corporation
    Inventors: Ramarathnam Venkatesan, David Y. Jao, Peter L. Montgomery, S Ramesh Raju
  • Patent number: 7657752
    Abstract: Described herein is a technology for facilitating the watermarking of digital signals. This abstract itself is not intended to limit the scope of this patent. The scope of the present invention is pointed out in the appending claims.
    Type: Grant
    Filed: November 4, 2004
    Date of Patent: February 2, 2010
    Assignee: Microsoft Corporation
    Inventors: M. Kivanc Mihcak, Ramarathnam Venkatesan
  • Patent number: 7643637
    Abstract: A system that facilitates efficient code construction comprises a component that receives a first code and a transformation component that transforms the first code to a new code. The new code has essentially same length parameters as the first code but is hidden to a computationally bounded adversary. The first code can be designed in the noise model and appear random to a computationally bounded adversary upon transformation.
    Type: Grant
    Filed: February 10, 2004
    Date of Patent: January 5, 2010
    Assignee: Microsoft Corporation
    Inventors: Ramarathnam Venkatesan, Kamal Jain
  • Patent number: 7644440
    Abstract: An implementation of a technology, described herein, for facilitating the protection of computer-executable instructions, such as software. At least one implementation, described herein, may generate integrity signatures of one or more program modules—which are sets of computer-executable instructions—based upon a trace of activity during execution of such modules and/or near-replicas of such modules. With at least one implementation, described herein, the execution context of an execution instance of a program module is considered when generating the integrity signatures. With at least one implementation, described herein, a determination may be made about whether a module is unaltered by comparing integrity signatures. This abstract itself is not intended to limit the scope of this patent. The scope of the present invention is pointed out in the appending claims.
    Type: Grant
    Filed: December 6, 2005
    Date of Patent: January 5, 2010
    Assignee: Microsoft Corporation
    Inventors: Saurabh Sinha, Mariusz H. Jakubowski, Ramarathnam Venkatesan, Yuqun Chen, Matthew Cary, Ruoming Pang
  • Publication number: 20090326907
    Abstract: Described is a technology by which program analysis uses rich invariant templates that may specify an arbitrary Boolean combination of linear inequalities for program verification. Also described is choosing a cut-set that identifies program locations, each of which is associated with an invariant template. The verification generates second-order constraints, converts second-order logic formula based on those constraints into first-order logic formula, then converts the first-order logic formula into a quantifier-free formula, which is then converted into a Boolean satisfiability formula. Off-the-shelf constraint solvers may then be applied to the Boolean satisfiability formula to generate program analysis results. Various templates may be used to convert the second-order logic formula into the first-order logic formula.
    Type: Application
    Filed: June 27, 2008
    Publication date: December 31, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Sumit Gulwani, Saurabh Srivastava, Ramarathnam Venkatesan