Systems and methods for cryptographically processing data as a function of a Cartier pairing are described. In one aspect, a Cartier pairing is generated from two different abelian varieties or abelian varieties and an isogeny between them. Data is cryptographically processed based on the Cartier pairing.
Kristin E. Lauter - La Jolla CA, US Denis X Charles - Madison WI, US
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
H04L 9/14 H04L 9/30
US Classification:
380 28, 380 30
Abstract:
Systems and methods for computing modular polynomials modulo large primes are described. In one aspect, the systems and methods generate 1-isogenous elliptic curves. A modular polynomial modulo a large prime p is then computed as a function of 1-isogenous elliptic curves modulo p.
Elliptic Curve Point Octupling Using Single Instruction Multiple Data Processing
Kristin E. Lauter - La Jolla CA, US Denis X Charles - Madison WI, US
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
H04L 9/00 H04L 9/28 H04K 1/00
US Classification:
380 28, 380 44
Abstract:
Systems and methods for elliptic curve octupling using Single Instruction Multiple Data (SIMD) processing are described. In one aspect, a weighted projective point P on an elliptic curve, P having coordinates (x, y, z) is identified. Value 8P is computed from P with 12 sets of field multiplications using SIMD processing. Each set of field multiplications includes one to four respective field multiplications. Each set of field multiplications is performed in parallel according to an assigned time-step.
Approximating Function Properties With Expander Graphs
Kristin E Lauter - La Jolla CA, US Denis X. Charles - Redmond WA, US Eyal Zvi Goren - Montreal, CA
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F 17/10
US Classification:
708445
Abstract:
Function properties may be approximated using an expander graph. For example, an approximate average of a function may be determined by randomly exploring an expander graph. Values of the function are associated with vertices of the expander graph. The expander graph is randomly explored by traversing edges and encountering vertices. The exploration may comprise a crawl, a walk, and so forth. An approximate average of the function is determined based on the function values that are associated with encountered vertices.
Elliptic Curve Point Octupling For Weighted Projective Coordinates
Kristin E. Lauter - La Jolla CA, US Denis X. Charles - Madison WI, US
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
H04K 1/00 H04L 9/28
US Classification:
380 28
Abstract:
Systems and methods for elliptic curve octupling for weighted projective coordinates are described. In one aspect, a weighted projective point P on an elliptic curve is identified. 8P is computed from P independent of repeated doubling operations using fewer field multiplications.
Anton Mityagin - Woodinville WA, US Kumar Chellapilla - Redmond WA, US Denis Charles - Bellevue WA, US
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F 17/30
US Classification:
707100, 707 1, 707 10
Abstract:
Multiple Bloom filters are generated to partition data between first and second disjoint data sets of elements. Each element in the first data set is assigned to a bucket of a first set of buckets, and each element in the second data set is assigned to a bucket of a second set of buckets. A Bloom filter is generated for each bucket of the first set of buckets. The Bloom filter generated for a bucket indicates that each element assigned to that bucket is part of the first data set, and that each element assigned to a corresponding bucket of the second set of buckets is not part of the first data set. Additionally, a Bloom filter corresponding to a subsequently received element can be determined and used to identify whether that subsequently received element is part of the first data set or the second data set.
Kristin E. Lauter - La Jolla CA, US Denis X Charles - Redmond WA, US Kamal Jain - Bellevue WA, US
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
H04L 9/32
US Classification:
713170
Abstract:
Digital signatures for network coding are described. In one aspect, digital signatures for network coding are described. In one aspect, segmented blocks of content for distribution are digitally signed using homomorphic digital signatures generated from an elliptic curve. A linear combination of packets comprising the digitally signed content is distributed to a destination device according to an implemented distribution scheme. The linear combination of packets includes public information when digitally signing the segmented blocks. The homomorphic digital signatures and the public information allow a device receiving one or more packets of the linear combination of packets to verify and authenticate content associated with the one of our packets independent of secure transmission of secret keys and hash digests used to digitally sign the one or more packets.
Kumar H. Chellapilla - Redmond WA, US Anton Mityagin - Woodenville WA, US Denis Xavier Charles - Bellevue WA, US
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F 7/00 G06F 17/00
US Classification:
707803, 707953
Abstract:
A minimal perfect hash function can be created for input data by dividing the input data into multiple collections, with each collection comprising fewer elements that the input data as a whole. Subsequently, minimal perfect hash functions can be created for each of the collections and the resulting hash values can be offset by a value equivalent to the number of input data in preceding collections. The minimal perfect hash function can, thereby, be derived in parallel and can consume substantially less storage space. To further save storage space, the internal state of each individual minimal perfect hash function can be further compressed using algorithms exploiting a skewed distribution of values in a lookup table comprising the internal state.