IP Library Granted Patent US 7,639,799
Granted Patent B2
US 7,639,799 · App. 11/011,289 · Granted Dec 29, 2009

Cryptographically processing data based on a Cassels-Tate pairing

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,639,799
App. No.
11/011,289
Granted
Dec 29, 2009
Kind
B2
Abstract

Systems and methods for cryptographically processing data as a function of a Cassels-Tate pairing are described. In one aspect, a Shafarevich-Tate group is generated from a cohomology group. A Cassels-Tate pairing is determined as a function of elements of the Shafarevich-Tate group. Data is then cryptographically processed as a function of the Cassels-Tate pairing.

Claims (96)

1. A computer implemented method comprising:

generating a Shafarevich-Tate group from a cohomology group;

determining a Cassels-Tate pairing based on elements of the Shafarevich-Tate group;

cryptographically processing data based on the Cassels-Tate pairing, wherein the cryptographic processing selects a public element x from the Shafarevich-Tate group of a dual of A, where A is defined as an abelian variety, and messages M are hashed into the Shafarevich-Tate group of A; and

communicating the cryptographically processed data, the cryptographically processed data comprising signed data and a calculated signature, to a second party whereby the second party is configured to verify signed data based on a calculated Cassels-Tate pairing.

2. A computer implemented method as recited in claim 1 , wherein the cohomology group is associated to an abelian variety selected from an elliptic curve or a Jacobian variety of a higher genus curve.

3. A computer implemented method as recited in claim 1 , wherein the Cassels-Tate pairing is a sum of local pairings.

4. A computer implemented method as recited in claim 1 , wherein the cryptographic processing is a signature-based verification scheme or an identity-based encryption scheme.

5. A computer implemented method as recited in claim 1 , wherein the cryptographic processing is based on the Shafarevich-Tate group and a dual of A, wherein roles of A and the dual of A are switched.

6. A computer implemented method as recited in claim 1 , wherein cryptographically processing further comprises signing the data by hashing the data with hashing function h acting on data space {0, 1}*, the data being hashed into III(Â/K), wherein {0, 1}* represents a set of bit-strings of a length *, and wherein III(Â/K) is a Shafarevich-Tate group of A over K where K comprises a number field.

7. A computer implemented method as recited in claim 1 , wherein cryptographically processing further comprises:

selecting an element x from the Shafarevich-Tate group;

selecting a random number r;

composing the element x, r times with itself to generate a public key; and

wherein r is a maintained as a secret.

8. A computer implemented method as recited in claim 1 , wherein cryptographically processing further comprises:

selecting an element x from the Shafarevich-Tate group;

composing the element x, r times with itself to generate a public key, r being the secret; and

publishing the element x, the public key r*x, wherein r*x denotes the rth multiple of x, and the abelian variety so that the data can be decrypted or verified by an independent entity.

9. A computer implemented method as recited in claim 1 , wherein the Cassels-Tate pairing is evaluated on different inputs and their values are compared, and wherein the method further comprises:

receiving a public key generated from a secret determined as a function of an element of the Shafarevich group; and

decrypting or verifying the data as a function of the public key and the Cassels-Tate pairing.

10. A computer implemented method as recited in claim 1 , wherein the signature a σ=r*h(M) and message M are transmitted, and wherein the method further comprises verifying the data by:

(a) hashing the data; and

(b) computing a second Cassels-Tate pairing, CT(r*x,h(M)); and

(c) comparing the second Cassels-Tate pairing with the first Cassels-Tate pairing, CT(x,σ).

11. A computer implemented method as recited in claim 1 , wherein cryptographically processing further comprises signing the data by:

computing a hash h of the data such that h(the data) is an element of III(Â/K);

determining an r th multiple r*h(the data), wherein r is a random number; and

evaluating the Cassels-Tate pairing to obtain signature σ=r*h(M).

12. A computer-readable storage medium encoded with computer-executable instructions that, when executed, configure a computing system to perform a method comprising:

generating a Shafarevich-Tate group from a cohomology group;

determining a Cassels-Tate pairing based on elements of the Shafarevich-Tate group;

cryptographically processing data based on the Cassels-Tate pairing, wherein the cryptographic processing selects a public element x from the Shafarevich-Tate group of a dual of A, where A is defined as an abelian variety, and messages M are hashed into the Shafarevich-Tate group of A; and

communicating the cryptographically processed data, comprising signed data and a calculated signature, to a second party whereby the second party is configured to verify signed data based on a calculated Cassels-Tate pairing.

13. A computer-readable storage medium as recited in claim 12 , wherein the cohomology group is associated to an abelian variety selected from an elliptic curve or a Jacobian variety of a higher genus curve.

14. A computer-readable storage medium as recited in claim 12 , wherein the Cassels-Tate pairing is a sum of local pairings.

15. A computer-readable storage medium as recited in claim 12 , wherein the cryptographic processing is a signature-based verification scheme or an identity-based encryption scheme.

16. A computer-readable storage medium as recited in claim 12 , wherein the computer-executable instructions for cryptographically processing further comprise instructions for signing the data by hashing the data with hashing function h acting on data space {0, 1}*, the data being hashed into III(Â/K), wherein III(Â/K) is a Shafarevich-Tate grourp of A over K where K comprises a number field.

17. A computer-readable storage medium as recited in claim 12 , wherein the computer-executable for cryptographically processing further comprise instructions for:

selecting an element x from the Shafarevich-Tate group;

selecting a random number r;

composing the element x, r times with itself to generate a public key; and

wherein r is a maintained as a secret.

18. A computer-readable storage medium as recited in claim 12 , wherein the computer-executable for cryptographically processing further comprise instructions for:

selecting an element x from the Shafarevich-Tate group;

composing the element x, r times with itself to generate a public key, r being the secret; and

publishing the element x, the public key r*x and the abelian variety so that the data can be decrypted or verified by an independent entity.

19. A computer-readable storage medium as recited in claim 12 , wherein the Cassels-Tate pairing is evaluated on different inputs and their values are compared, and wherein the computer-executable instructions further comprise instructions for:

receiving a public key generated from a secret determined as a function of an element of the Shafarevich group; and

decrypting or verifying the data as a function of the public key and the Cassels-Tate pairing.

20. A computer-readable storage medium as recited in claim 12 , wherein the signature σ=r*h(M) and message M are transmitted, and wherein the computer-program instructions further comprise instructions for verifying the data by:

(a) hashing the data; and

(b) computing a second Cassels-Tate pairing, CT(r*x,h(M)); and

(c) comparing the second Cassels-Tate pairing with the first Cassels-Tate pairing, CT(x,σ).

21. A computer-readable storage medium as recited in claim 12 , wherein the computer-executable instructions for cryptographically processing further comprise instructions for signing the data by:

computing a hash h of the data such that h(the data) is an element of III(Â/K);

determining an r th multiple r*h(the data), wherein r is a random number; and

evaluating the Cassels-Tate pairing to obtain signature σ=r*h(M).

22. A computing device comprising:

a processor; and

a memory encoded with computer-executable instructions that, when executed, direct a computing device to perform a method, the method comprising:

generating a Shafarevich-Tate group from a cohomology group;

determining a Cassels-Tate pairing based on elements of the Shafarevich-Tate group;

cryptographically processing data based on the Cassels-Tate pairing, wherein the cryptographic processing selects a public element x from the Shafarevich-Tate group of a dual of A, where A is defined as an abelian variety, and messages M are hashed into the Shafarevich-Tate group of A; and

communicating the cryptographically processed data, comprising signed data and calculated signature, to a second party whereby the second party is configured to verify signed data based on a calculated Cassels-Tate pairing.

23. A computing device as recited in claim 22 , wherein the cohomology group is associated to an abelian variety selected from an elliptic curve or a Jacobian variety of a higher genus curve.

24. A computing device as recited in claim 22 , wherein the Cassels-Tate pairing is a sum of local pairings.

25. A computing device as recited in claim 22 , wherein the cryptographic processing is a signature-based verification scheme or an identity-based encryption scheme.

26. A computing device as recited in claim 22 , wherein the computer-executable instructions for cryptographically processing further comprise instructions for signing the data by hashing the data with hashing function h acting on data space {0, 1}*, the data being hashed into III(Â/K), wherein III(Â/K) is a Shafarevich-Tate group of A over K where K comprises a number field.

27. A computing device as recited in claim 22 , wherein the computer-executable instructions for cryptographically processing further comprise instructions for:

selecting an element x from the Shafarevich-Tate group;

selecting a random number r;

composing the element x, r times with itself to generate a public key; and

wherein r is a maintained as a secret.

28. A computing device as recited in claim 22 , wherein the computer-executable instructions for cryptographically processing further comprise instructions for:

selecting an element x from the Shafarevich-Tate group;

composing the element x, r times with itself to generate a public key, r being the secret; and

publishing the element x, the public key r*x and the abelian variety so that the data can be decrypted or verified by an independent entity.

29. A computing device as recited in claim 22 , wherein the Cassels-Tate pairing is evaluated on different inputs and their values are compared, and wherein the computer-executable instructions further comprise instructions for:

receiving a public key generated from a secret determined as a function of an element of the Shafarevich group; and

decrypting or verifying the data as a function of the public key and the Cassels-Tate pairing.

30. A computing device as recited in claim 22 , wherein the signature σ=r*h(M) and message M are transmitted, and wherein the computer-executable instructions further comprise instructions for verifying the data by:

(a) hashing the data; and

(b) computing a second Cassels-Tate pairing, CT(r*x,h(M)); and

(c) comparing the second Cassels-Tate pairing with the first Cassels-Tate pairing, CT(x,σ).

31. A computing device as recited in claim 22 , wherein the computer-executable instructions for cryptographically processing further comprise instructions for signing the data by:

computing a hash h of the data such that h(the data) is an element of III(Â/K);

determining an r th multiple r*h(the data), wherein r is a random number; and

evaluating the Cassels-Tate pairing to obtain signature σ=r*h(M).

32. A computing device comprising:

generating means to generate a Shafarevich-Tate group from a cohomology group;

selecting a public element x from the Shafarevich-Tate group of a dual of A;

determining means to determine a Cassels-Tate pairing based on elements of the Shafarevich-Tate group;

cryptographically processing means to cryptographically process data based on the Cassels-Tate pairing, wherein the cryptographic processing selects a public element x from the Shafarevich-Tate group of a dual of A, where A is defined as an abelian variety, and messages M are hashed into the Shafarevich-Tate group of A; and

communicating means to communicate the cryptographically processed data, comprising signed data and calculated signature, to a second party whereby the second party is configured to verify signed data based on a calculated Cassels-Tate pairing.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034543/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2005
From: LAUTER, KRISTIN E.; EISENTRAEGER, ANNE KIRSTEN
To: MICROSOFT CORPORATION
Reel/Frame 015626/0774 →