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: 7636849
    Abstract: An implementation of a technology is described herein for deriving robust non-local characteristics and quantizing such characteristics for blind watermarking of a digital good.
    Type: Grant
    Filed: November 12, 2004
    Date of Patent: December 22, 2009
    Assignee: Microsoft Corporation
    Inventors: M. Kivanc Mihcak, Ramarathnam Venkatesan, Mariusz H. Jakubowski
  • Patent number: 7634660
    Abstract: An implementation of a technology is described herein for deriving robust non-local characteristics and quantizing such characteristics for blind watermarking of a digital good. This technology finds the proper balance between minimizing the probability of false alarms (i.e., detecting a non-existent watermark) and the probability of misses (i.e., failing to detect an existing watermark). The technology, described herein, performs quantization index modulation (QIM) based upon non-local characteristics of the digital good. Non-local characteristics may include statistics (e.g., averages, median) of a group of individual parts (e.g., pixels) of a digital good. 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 15, 2004
    Date of Patent: December 15, 2009
    Assignee: Microsoft Corporation
    Inventors: M. Kivanc Mihcak, Ramarathnam Venkatesan, Mariusz H. Jakubowski
  • Patent number: 7617397
    Abstract: Techniques are described for generating and validating signatures. In an implementation, a method includes generating a signature by utilizing a plurality of isogenies included on a private key and incorporating the signature and a public key on a product, in which the public key is configured to validate the signature.
    Type: Grant
    Filed: April 29, 2005
    Date of Patent: November 10, 2009
    Assignee: Microsoft Corporation
    Inventors: David Y. Jao, Peter L. Montgomery, Ramarathnam Venkatesan, Victor Boyko
  • Patent number: 7617398
    Abstract: An implementation of a technology is described herein for deriving robust non-local characteristics and quantizing such characteristics for blind watermarking of a digital good.
    Type: Grant
    Filed: November 3, 2005
    Date of Patent: November 10, 2009
    Assignee: Microsoft Corporation
    Inventors: M Kivanc Mihcak, Ramarathnam Venkatesan, Mariusz H. Jakubowski
  • Patent number: 7610623
    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: October 27, 2009
    Assignee: Microsoft Corporation
    Inventors: Saurabh Sinha, Mariusz H. Jakubowski, Ramarathnam Venkatesan, Yuqun Chen, Matthew Cary, Ruoming Pang
  • Patent number: 7587605
    Abstract: In at least one implementation, described herein, P and Q1, . . . , Qn are public points on an elliptic curve over a finite field, but the ratios of Qi to P are private. Those ratios are the components (?1, . . . , ?n) of a private key, where Qi=?i P. This implementation generates short digital ciphers (i.e., signatures), at least in part, by mapping a message M to a point T on the elliptic curve and then scaling that point T based upon the private key ? to get S. At least one other implementation, described herein, verifies those ciphers by comparing pairing values of two pairs, where one pair is the public point P and the scaled point S and another pair is public Q and the point T. This implementation tests whether log(Q)/log(P)=log(S)/log(T), without computing any elliptic curve discrete logarithm directly.
    Type: Grant
    Filed: March 19, 2004
    Date of Patent: September 8, 2009
    Assignee: Microsoft Corporation
    Inventors: Ramarathnam Venkatesan, Dan Boneh, Peter L. Montgomery, Victor Boyko
  • Patent number: 7571427
    Abstract: Systems and methods are discussed that allow profile information to be reused by various versions of a program. One illustrative aspect includes a method for comparing versions of a program in binary format. The method includes finding equivalent contents in portions of two versions of the program, finding equivalent structure in the portions of the two versions, and forming a match when a portion of one of the two versions is an equivalence of a portion of the other of the two versions.
    Type: Grant
    Filed: June 24, 2004
    Date of Patent: August 4, 2009
    Assignee: Microsoft Corporation
    Inventors: Zheng Wang, Scott A. McFarling, Ken B. Pierce, Ramarathnam Venkatesan
  • Patent number: 7568103
    Abstract: An implementation of a technology is described herein for deriving robust non-local characteristics and quantizing such characteristics for blind watermarking of a digital good. This technology finds the proper balance between minimizing the probability of false alarms (i.e., detecting a non-existent watermark) and the probability of misses (i.e., failing to detect an existing watermark). The technology, described herein, performs quantization index modulation (QIM) based upon non-local characteristics of the digital good. Non-local characteristics may include statistics (e.g., averages, median) of a group of individual parts (e.g., pixels) of a digital good. 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 15, 2004
    Date of Patent: July 28, 2009
    Assignee: Microsoft Corporation
    Inventors: M. Kivanc Mihcak, Ramarathnam Venkatesan, Mariusz H. Jakubowski
  • Patent number: 7546461
    Abstract: Systems and/or methods are described that strengthen secure hash functions. These systems and/or methods may, in some embodiments, create a random-appearing element based on a message and using a process. The element may then be assembled with the message. This assembly may be hashed using a secure hash function. Using the same process and secure hash function, the message may later be authenticated.
    Type: Grant
    Filed: June 28, 2005
    Date of Patent: June 9, 2009
    Assignee: Microsoft Corporation
    Inventors: Gideon A. Yuval, Ramarathnam Venkatesan
  • Patent number: 7539870
    Abstract: The present invention leverages randomly generated areas with random attributes from two-dimensional media forms to embed information relating to a media's ownership and/or distribution source. This provides a means to establish a media's source despite attacks. By providing embedded user-unique identification, media can enable detection for identifying the source of copied media without the embedded information substantially interfering with the intended purpose of the media itself. In one instance of the present invention, media is transformed into a two-dimensional media form with randomly generated areas having a subset of overlapping areas. User-unique keys are then utilized to determine attributes for each of the areas. This permits creation of statistically unique locations for each user key. The statistical qualities are biased and utilized to determine a logarithmic magnitude watermark value to embed in the media at that location.
    Type: Grant
    Filed: February 10, 2004
    Date of Patent: May 26, 2009
    Assignee: Microsoft Corporation
    Inventors: Mustafa Kesal, Mehmet Kivanc Mihcak, Ramarathnam Venkatesan
  • Patent number: 7536064
    Abstract: Systems and methods are presented for image comparison by metric embeddings. In one implementation, a graph is created from each image to be compared. Graph metrics are then embedded in families of trees for each image. Minimum differences between the respective families of trees for different images are compiled into a matrix, from which a similarity measure is obtained for image comparison.
    Type: Grant
    Filed: May 31, 2005
    Date of Patent: May 19, 2009
    Assignee: Microsoft Corporation
    Inventors: Ramarathnam Venkatesan, Matt Cary
  • Patent number: 7512232
    Abstract: An implementation of a digital signature technique, described herein, generates, and another implementation of a digital signature technique, also described herein, validates, a hidden plaintext or ciphertext message wherein one or more portions of that message have another ciphertext message implicitly embedded therein. In other implementations, two or more portions of that message have another ciphertext message implicitly embedded therein. 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: July 23, 2003
    Date of Patent: March 31, 2009
    Assignee: Microsoft Corporation
    Inventors: Ramarathnam Venkatesan, Peter L. Montgomery
  • Patent number: 7506167
    Abstract: Apparatus and an accompanying method, for forming and embedding a highly tamper-resistant cryptographic identifier, i.e., a watermark, within non-marked executable code, e.g., an application program, to generate a “watermarked” version of that code. Specifically, the watermark, containing, e.g., a relatively large number of separate executable routines, is tightly integrated into a flow pattern of non-marked executable code, e.g., an application program, through randomly establishing additional control flows in the executable code and inserting a selected one of the routines along each such flow. Since the flow pattern of the watermark is highly intertwined with the flow pattern of the non-marked code, the watermark is effectively impossible to either remove from the code and/or circumvent. The routines are added in such a manner that the flow pattern of resulting watermarked code is not substantially different from that of the non-marked code, thus frustrating third party detection of the watermark using, e.
    Type: Grant
    Filed: June 29, 2004
    Date of Patent: March 17, 2009
    Assignee: Microsoft Corporation
    Inventors: Ramarathnam Venkatesan, Vijay Vazirani
  • Patent number: 7505588
    Abstract: Techniques are disclosed to limit short-term correlations associated with outputs of stream cipher keystream generators. Output values of a generator are paired such that the paired outputs are sufficiently far apart to be considered independent. In one described implementation, a method includes sequentially storing a plurality of results provided by a stream cipher output rule in a first, second, and third storage units. A pairing function pairs individual values from the first and third storage units that are at least a threshold value apart. Upon reaching the threshold value of the output rule results, the contents of the first, second, and third storage units are rotated serially.
    Type: Grant
    Filed: March 31, 2004
    Date of Patent: March 17, 2009
    Assignee: Microsoft Corporation
    Inventors: Ilya Mironov, Ramarathnam Venkatesan
  • Patent number: 7499544
    Abstract: Techniques are disclosed to provide public-key encryption systems. More particularly, isogenies of Abelian varieties (e.g., elliptic curves in one-dimensional cases) are utilized to provide public-key encryption systems. For example, the isogenies permit the use of multiple curves instead of a single curve to provide more secure encryption. The techniques may be applied to digital signatures and/or identity based encryption (IBE) solutions. Furthermore, the isogenies may be used in other applications such as blind signatures, hierarchical systems, and the like. Additionally, solutions are disclosed for generating the isogenies.
    Type: Grant
    Filed: March 31, 2004
    Date of Patent: March 3, 2009
    Assignee: Microsoft Corporation
    Inventors: David Y. Jao, Ramarathnam Venkatesan
  • Publication number: 20090022308
    Abstract: Techniques are disclosed to enable efficient implementation of secure hash functions and/or stream ciphers. More specifically, a family of graphs is described that has relatively large girth, large claw, and/or rapid mixing properties. The graphs are suitable for construction of cryptographic primitives such as collision resistant hash functions and stream ciphers, which allow efficient software implementation.
    Type: Application
    Filed: October 16, 2007
    Publication date: January 22, 2009
    Applicant: Microsoft Corporation
    Inventors: Ramarathnam Venkatesan, Matthew Cary
  • Patent number: 7480802
    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: March 13, 2006
    Date of Patent: January 20, 2009
    Assignee: Microsoft Corporation
    Inventors: Ramarathnam Venkatesan, Yacov Yacobi
  • Publication number: 20080320056
    Abstract: Which target functions in a target binary have target function basic blocks that match the source function basic blocks in a source function in a source binary is determined. For the target functions having matching target function basic blocks, a target function control flow graph is determined that has the greatest control flow matching strength to a source function control flow graph, wherein a node in the source function control graph represents a source function basic block, wherein a node in a target function control graph represents a target function basic block in a corresponding target function.
    Type: Application
    Filed: June 22, 2007
    Publication date: December 25, 2008
    Applicant: Microsoft Corporation
    Inventors: Harish Mohanan, Perraju Bendapudi, Abishek Kumarasubramanian, Rajesh Jalan, Ramarathnam Venkatesan
  • Patent number: 7447912
    Abstract: Oblivious checking of a digital good is performed by identifying a plurality of key instructions within a function of a digital good. Each key instruction is an instruction that possibly modifies a register or a flag. An extra instruction is then inserted into the function for each of the key instructions. The extra instructions each correspond to one of the key instructions and modify a register in a deterministic fashion based on the corresponding key instruction. A set of inputs to the function are then identified that result in different valid computation paths in the function being taken. A checksum for the function is then generated by using a mapping function which maps the contents of the register to the set of inputs.
    Type: Grant
    Filed: February 10, 2006
    Date of Patent: November 4, 2008
    Assignee: Microsoft Corporation
    Inventors: Mariusz H. Jakubowski, Ramarathnam Venkatesan
  • Publication number: 20080235802
    Abstract: Implementation of software tamper resistance via integrity checks is described. In one implementation, a tamper resistance tool receives an input program code and generates a tamper-resistant program code using integrity checks. The integrity checks are generated by processing the input program code, and the integrity checks are inserted in various locations in the input program code. Values of the integrity checks are computed during program execution to determine whether a section of the program has been tampered with. Values of the integrity checks may be stored and accessed at any point during execution of the program.
    Type: Application
    Filed: March 21, 2007
    Publication date: September 25, 2008
    Applicant: Microsoft Corporation
    Inventors: Ramarathnam Venkatesan, Mariusz H. Jakubowski, Prasad G. Naldurg