Digital signature and authentication method and apparatus
First Claim
1. A method for signing and verifying a digital message m, comprising the steps of:
- selecting ideals p and q of a ring R;
generating elements f and g of the ring R;
generating an element F, which is an inverse of f, in the ring R;
producing a public key h, where h is equal to a product that can be calculated using g and F;
producing a private key that includes f;
producing a digital signature s by digitally “
signing”
the message m using the private key; and
verifying the digital signature by confirming one or more specified conditions using the message m and the public key h.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems and computer readable media for signing and verifying a digital message m are described. First, ideals p and q of a ring R are selected. Elements f and g of the ring R are generated, followed by generating an element F, which is an inverse of f, in the ring R. A public key h is produced, where h is equal to a product that can be calculated using g and F. Then, a private key that includes f is produced. A digital signature s is signed to the message m using the private key. The digital signature is verified by confirming one or more specified conditions using the message m and the public key h. A second user also can authenticate the identity of a first user. A challenge communication that includes selection of a challenge m in the ring R is generated by the second user. A response communication that includes computation of a response s in the ring R, where s is a function of m and f, is generated by the first user. A verification that includes confirming one or more specified conditions using the response s, the challenge m and the public key h is performed by the second user. Also described are methods, systems and computer readable media for authenticating the identity of a first user by a second user using similar technology.
41 Citations
43 Claims
-
1. A method for signing and verifying a digital message m, comprising the steps of:
-
selecting ideals p and q of a ring R;
generating elements f and g of the ring R;
generating an element F, which is an inverse of f, in the ring R;
producing a public key h, where h is equal to a product that can be calculated using g and F;
producing a private key that includes f;
producing a digital signature s by digitally “
signing”
the message m using the private key; and
verifying the digital signature by confirming one or more specified conditions using the message m and the public key h. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for signing and verifying a digital message m, comprising the steps of:
-
selecting integers p and q;
generating polynomials f and g;
determining the inverse F, where F * f=1 (mod q);
producing a public key h, where h=F * g (mod q);
producing a private key that includes f;
producing a digital signature s by digitally signing the message m using the private key; and
verifying the digital signature by confirming one or more specified conditions using the message m, the public key h, the digital signature s, and the integers p and q. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
-
19. A method for authenticating the identity of a first user by a second user, the method including a challenge communication from the second user to the first user, a response communication from the first user to the second user, and a verification by the second user, the method comprising the steps of:
-
selecting ideals p and q of a ring R;
generating elements f and g of the ring R;
generating an element F, which is an inverse of f, in the ring R producing a public key h, where h is a product that can be produced using g and F;
producing a private key including f and F;
generating a challenge communication by the second user that includes selection of a challenge m in the ring R;
generating a response communication by the first user that includes computation of a response s in the ring R, where s is a function of m and f; and
performing a verification by the second user that includes confirming one or more specified conditions using the response s, the challenge m and the public key h.
-
-
23. A method for authenticating the identity of a first user by a second user, the method including a challenge communication from the second user to the first user, a response communication from the first user to the second user, and a verification by the second user, the method comprising the steps of:
-
selecting integers p and q;
generating polynomials f and g;
determining the inverse F, where F * f=I (mod q);
producing a public key h, where h=F * (mod q);
producing a private key that includes f, generating a challenge communication by the second user that includes selection of a challenge m;
generating a response communication by the first user that includes computation of a response s, wherein s is produced using m and f; and
performing a verification by the second user that includes confirming one or more specified conditions using the response s, the challenge m, the public key h, and the integers p and q.
-
-
36. A system for signing and verifying a digital message m, the system comprising:
-
means for selecting ideals p and q of a ring R;
means for generating elements f and g of the ring R;
means for generating an element F, which is an inverse of f, in the ring R;
means for producing a public key h, where h is equal to a product that can be calculated using g and F;
means for producing a private key that includes f;
means for producing a digital signature s by digitally “
signing”
the message m using the private key; and
means for verifying the digital signature by confirming one or more specified conditions using the message m and the public key h.
-
-
37. A system for signing and verifying a digital message m, the system comprising:
-
means for selecting integers p and q;
means for generating polynomials f and g;
means for determining the inverse F, where F * f=I (mod q);
means for producing a public key h, where h=F * g (mod q);
means for producing a private key that includes f, means for producing a digital signature s by digitally signing the message m using the private key; and
means for verifying the digital signature by confirming one or more specified conditions using the message m, the public key h, the digital signature s, and the integers p and q.
-
-
38. A system for authenticating the identity of a first user by a second user, including a challenge communication from the second user to the first user, a response communication from the first user to the second user, and a verification by the second user, the system comprising:
-
means for selecting ideals p and q of a ring R;
means for generating elements f and g of the ring R;
means for generating an element F, which is an inverse of f, in the ring R means for producing a public key h, where h is a product that can be produced using g and F;
means for producing a private key including f and F;
means for generating a challenge communication by the second user that includes selection of a challenge m in the ring R;
means for generating a response communication by the first user that includes computation of a response s in the ring R, where s is a function of m and f; and
means for performing a verification by the second user that includes confirming one or more specified conditions using the response s, the challenge m and the public key h.
-
-
39. A system for authenticating the identity of a first user by a second user, including a challenge communication from the second user to the first user, a response communication from the first user to the second user, and a verification by the second user, the system comprising:
-
means for selecting integers p and q;
means for generating polynomials f and g;
means for determining the inverse F, where F * f=1 (mod q);
means for producing a public key h, where h=F * g (mod q);
means for producing a private key that includes f;
means for generating a challenge communication by the second user that includes selection of a challenge m;
means for generating a response communication by the first user that includes computation of a response s, wherein s is produced using m and f; and
means for performing a verification by the second user that includes confirming one or more specified conditions using the response s, the challenge m, the public key h, and the integers p and q.
-
-
40. , A computer readable medium containing instructions for performing a method for signing and verifying a digital message m, the method comprising the steps of:
-
selecting ideals p and q of a ring R;
generating elements f and g of the ring R;
generating an element F, which is an inverse of f, in the ring R;
producing a public key h, where h is equal to a product that can be calculated using g and F;
producing a private key that includes f;
producing a digital signature s by digitally “
signing”
the message m using the private key; and
verifying the digital signature by confirming one or more specified conditions using the message m and the public key h.
-
-
41. A computer readable medium containing instructions for performing a method for signing and verifying a digital message m, comprising the steps of:
-
selecting integers p and q;
generating polynomials f and g;
determining the inverse F, where F * f=I (mod q);
producing a public key h, where h=F * g (mod q);
producing a private key that includes f;
producing a digital signature s by digitally signing the message m using the private key; and
verifying the digital signature by confirming one or more specified conditions using the message m, the public key h, the digital signature s, and the integers p and q.
-
-
42. A computer readable medium containing instructions for performing a method for authenticating the identity of a first user by a second user, the method including a challenge communication from the second user to the first user, a response communication from the first user to the second user, and a verification by the second user, the method comprising the steps of:
-
selecting ideals p and q of a ring R;
generating elements f and g of the ring R;
generating an element F, which is an inverse of f, in the ring R producing a public key h, where h is a product that can be produced using g and F;
producing a private key including f and F;
generating a challenge communication by the second user that includes selection of a challenge m in the ring R;
generating a response communication by the first user that includes computation of a response s in the ring R, where s is a function of m and f; and
performing a verification by the second user that includes confirming one or more specified conditions using the response s, the challenge m and the public key h.
-
-
43. A computer readable medium containing instructions for performing a method for authenticating the identity of a first user by a second user, the method including a challenge communication from the second user to the first user, a response communication from the first user to the second user, and a verification by the second user, the method comprising the steps of:
-
selecting integers p and q;
generating polynomials f and g;
determining the inverse F, where F * f=1 (mod q);
producing a public key h, where h=F * g(mod q);
producing a private key that includes f;
generating a challenge communication by the second user that includes selection of a challenge m;
generating a response communication by the first user that includes computation of a response s, wherein s is produced using m and f; and
performing a verification by the second user that includes confirming one or more specified conditions using the response s, the challenge m, the public key h, and the integers p and q.
-
Specification