← Back to Patent Explorer
US5351297A Expired / Lapsed US ⏱️ 0.0 years remaining

Method of privacy communication using elliptic curves

Assignee: Panasonic Holdings Corp
•
Filing: 1993-04-16
•
Granted: 1994-09-27
•
Expires: 2013-04-16
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention provides a method of privacy communication, in which an elliptic curve E and an element thereof are notified to all parties who wish to communicate, and data are transmitted from one party to another by using a calculation of the element and coded data made in secret by each party. The method is characterized by a construction of E(GF(p)) such whose number of elements has exactly p, assuming that p is a prime number and E(GF(p)) is a group of elements of GF(p) on the elliptic curve E. More particularly, E(GF(p)) is constructed by an algorithm: let d be a positive integer such that gives an imaginary quadratic field Q((-d 1/2 )) with a small class number; then find a prime number p such that 4·p-1=d·square number; and find a solution of a class polynomial H d (x)=0 modulo p such that is defined by d and given with a j-invariant.

Inventors

  • 👤 Atsuko Miyaji
  • 👤 Makoto Tatebayashi

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 17:54
CPC Classifications
H; H04; H04L; H04L9/00; H04L9/30; H04L9/3006; H04L9/3013; H04L9/3066; G; G06; G06F; G06F7/00; G06F7/60; G06F7/72; G06F7/724; G06F7/725; H04L2209/00; H04L2209/60

Claims Analysis

Total Claims: 19
Claim 1
Independent Claim 350 words
A method of applying a public key encryption network system to users from a provider by using an elliptic curve, comprising the steps of: supplying on the network system, public data to each of the users from the provider; selecting a first privacy key at a terminal of a first user and selecting a second privacy key at a terminal of a second user wherein the first and second privacy keys are different; notifying a number calculated with the public data and the first privacy key to the second user from the first user, and notifying a number calculated with the public data and the second privacy key to the first user from the second user; generating a random number at the site of one of the first and second users who wishes to transmit a message and subsequently ciphering the random number with the public data; ciphering the message to be transmitted at the site of one of the first and second users who wishes to transmit the message by using the random number and the number notified from the other user; transmitting the ciphered random number and the ciphered message from the site of one of the first and second users who wishes to transmit the message to the other user; and deciphering the ciphered message using the privacy key and the ciphered random number at the site of the other user; wherein the step of supplying public data includes the steps of: choosing d as a positive integer such that it gives an imaginary quadratic field Q((-d) 1/2 ) with a small class number; choosing p as a prime number such that 4·p-1=d·square number, so that an elliptic curve E having GF(p) as a field of definition will have a j-invariant as a solution modulo p for a class polynomial H d (x)=0 which is determined by d; choosing an elliptic curve E over GF(p) having exact p elements; choosing an element other than the zero element of E(GF(P)) as a base point; and supplying each user with the elliptic curve E (GF(p)) and the base point.
Claim 2
Independent Claim 350 words
A method of applying a public key encryption network system to users from a provider by using an elliptic curve, comprising the steps of: supplying on the network system, public data to each of the users from the provider; selecting a first privacy key at a terminal of a first user and selecting a second privacy key at a terminal of a second user wherein the first and second privacy keys are different; notifying a number calculated with the public data and the first privacy key to the second user from the first user, and notifying a number calculated with the public data and the second privacy key to the first user from the second user; generating a random number at the site of one of the first and second users who wishes to transmit a message and subsequently ciphering the random number with the public data; ciphering the message to be transmitted at the site of one of the first and second users who wishes to transmit the message by using the random number and the number notified from the other user; transmitting the ciphered random number and the ciphered message from the site of one of the first and second users who wishes to transmit the message to the other user; and deciphering the ciphered message using the privacy key and the ciphered random number at the site of the other user; wherein the step of supplying public data includes the steps of: choosing d as a positive integer such that it gives an imaginary quadratic field Q((-d) 1/2 ) with a small class number; choosing p as a prime number such that 4·p-1=d·square number, so that an elliptic curve E having GF(p) as a field of definition will have a j-invariant as a solution modulo p for a class polynomial H d (x)=0 which is determined by d; choosing an elliptic curve E over GF(p) having exact p elements; choosing an element other than the zero element of E(GF(P)) as a base point; and supplying each user with the elliptic curve E (GF(p)) and the base point.
Claim 3
Dependent Claim 19 words
The method of claim 1, wherein 1 is a class number for the imaginary quadratic field Q((-d) 1/2 ).
Claim 4
Independent Claim 462 words
The method of applying a public key encryption network system to users from a provider by using an elliptic curve, comprising the steps of: supplying, on the network system, public data to each of the users from the provider; selecting a first privacy key at a terminal of a first user, selecting a second privacy key at a terminal of a second user, and selecting a third privacy key at a terminal of a third user wherein the first, second and third privacy keys are different; notifying a number calculated with the public data and the first privacy key to the third user from the first user, and notifying a number calculated with the public data and the third privacy key to the first user from the third user; calculating a first common key by using the first privacy key and the number from the third user at the site of the first user, and calculating the first common key by using the third privacy key and the number from the first user at the site of the third user; notifying a number calculated with the public data and the second privacy key to the third user from the second user, and notifying a number calculated with the public data and the third privacy key to the second user from the third user; calculating a second common key by using the second privacy key and the number from the third user at the site of the second user, and calculating the second common key by using the third privacy key and the number from the second user at the site of the third user; ciphering a message to be transmitted using the first common key at the site of the first user; deciphering the ciphered message using the first common key at the site of the third user; reciphering the message to be transmitted to the second user using the second common key at the site of the third user; and deciphering the ciphered message using the second common key at the site of the second user; wherein the step of supplying public data includes the steps of: choosing d as a positive integer such that it gives an imaginary quadratic field Q((-d) 1/2 ) with a small class number; choosing p as a prime number such that 4·p-1=d·square number, so that an elliptic curve E having GF(p) as a field of definition will have a j-invariant as a solution modulo p for a class polynomial H d (x)=0 which is determined by d; choosing an elliptic curve E over GF(p) having exact p elements; choosing an element other than the zero element of E(GF(p)) as a base point; and supplying each user with the elliptic curve E(GF(p)) and the base point.
Claim 5
Independent Claim 462 words
The method of applying a public key encryption network system to users from a provider by using an elliptic curve, comprising the steps of: supplying, on the network system, public data to each of the users from the provider; selecting a first privacy key at a terminal of a first user, selecting a second privacy key at a terminal of a second user, and selecting a third privacy key at a terminal of a third user wherein the first, second and third privacy keys are different; notifying a number calculated with the public data and the first privacy key to the third user from the first user, and notifying a number calculated with the public data and the third privacy key to the first user from the third user; calculating a first common key by using the first privacy key and the number from the third user at the site of the first user, and calculating the first common key by using the third privacy key and the number from the first user at the site of the third user; notifying a number calculated with the public data and the second privacy key to the third user from the second user, and notifying a number calculated with the public data and the third privacy key to the second user from the third user; calculating a second common key by using the second privacy key and the number from the third user at the site of the second user, and calculating the second common key by using the third privacy key and the number from the second user at the site of the third user; ciphering a message to be transmitted using the first common key at the site of the first user; deciphering the ciphered message using the first common key at the site of the third user; reciphering the message to be transmitted to the second user using the second common key at the site of the third user; and deciphering the ciphered message using the second common key at the site of the second user; wherein the step of supplying public data includes the steps of: choosing d as a positive integer such that it gives an imaginary quadratic field Q((-d) 1/2 ) with a small class number; choosing p as a prime number such that 4·p-1=d·square number, so that an elliptic curve E having GF(p) as a field of definition will have a j-invariant as a solution modulo p for a class polynomial H d (x)=0 which is determined by d; choosing an elliptic curve E over GF(p) having exact p elements; choosing an element other than the zero element of E(GF(p)) as a base point; and supplying each user with the elliptic curve E(GF(p)) and the base point.
Claim 6
Dependent Claim 20 words
The method of claim 3, wherein 1 is a class number for the imaginary quadratic field Q((-d) 1/2 ) .
Claim 7
Independent Claim 349 words
A method of applying a public key encryption network system to users from a provider by using an elliptic curve, comprising the steps of: supplying, on the network system, public data to each of the users from the provider; selecting a first privacy key at a terminal of a first user and selecting a second privacy key at a terminal of a second user wherein the first and second privacy keys are different; notifying a number calculated with the public data and the first privacy key to the second user from the first user, and notifying a number calculated with the public data and the second privacy key to the first user from the second user; calculating a common key by using the first privacy key and the number from the second user at the site of the first user, and calculating the common key by using the second privacy key and the number from the first user at the site of the second user; ciphering the message to be transmitted at the site of one of the first and second users who wishes to transmit the message by using the common key; transmitting the ciphered message from the site of one of the first and second users who wishes to transmit the message to the other user; and deciphering the ciphered message using the common key at the site of the other user; wherein the step of supplying public data includes the steps of: choosing d as a positive integer such that it gives an imaginary quadratic field Q((-d) 1/2 ) with a small class number choosing p as a prime number such that 4·p-1=d·square number, so that an elliptic curve E having GF(p) as a field of definition will have a j-invariant as a solution modulo p for a class polynomial H d (x)=0 which is determined by d; choosing an elliptic curve E over GF(p) having exact p elements; choosing an element other than the zero element of E(GF(p)) as a base point; and supplying each user with the elliptic curve E(GF(p)) and the base point.
Claim 8
Independent Claim 349 words
A method of applying a public key encryption network system to users from a provider by using an elliptic curve, comprising the steps of: supplying, on the network system, public data to each of the users from the provider; selecting a first privacy key at a terminal of a first user and selecting a second privacy key at a terminal of a second user wherein the first and second privacy keys are different; notifying a number calculated with the public data and the first privacy key to the second user from the first user, and notifying a number calculated with the public data and the second privacy key to the first user from the second user; calculating a common key by using the first privacy key and the number from the second user at the site of the first user, and calculating the common key by using the second privacy key and the number from the first user at the site of the second user; ciphering the message to be transmitted at the site of one of the first and second users who wishes to transmit the message by using the common key; transmitting the ciphered message from the site of one of the first and second users who wishes to transmit the message to the other user; and deciphering the ciphered message using the common key at the site of the other user; wherein the step of supplying public data includes the steps of: choosing d as a positive integer such that it gives an imaginary quadratic field Q((-d) 1/2 ) with a small class number choosing p as a prime number such that 4·p-1=d·square number, so that an elliptic curve E having GF(p) as a field of definition will have a j-invariant as a solution modulo p for a class polynomial H d (x)=0 which is determined by d; choosing an elliptic curve E over GF(p) having exact p elements; choosing an element other than the zero element of E(GF(p)) as a base point; and supplying each user with the elliptic curve E(GF(p)) and the base point.
Claim 9
Dependent Claim 13 words
The method of claim 5, further comprising selecting 1 as the class number.
Claim 10
Independent Claim 273 words
A method of applying a public key encryption network system to users from a provider by using an elliptic curve, comprising the steps of: initializing the network by having: (1) the provider (a) determine a positive integer d (b) generate a prime number p, from d (c) find a solution modulo p for a class polynomial H d (x) (d) determine an elliptic curve whose j-invariant is a solution of H d (X) modulo p and whose base point P is fixed to an arbitrary element other than a zero element; and (e) communicate information on the elliptic curve and the base point P to all the users; (2) each user, (f) selects an individual arbitrary integer x and maintains it in confidence; (g) calculates a public key, Y, from the arbitrary integer and the base point P; and (h) communicates the public key to the other users; enciphering a message, M, for broadcast over the network by the sending user selecting a random integer, r a , and enciphering the message using r a and the public key Y b of the receiving user, such that the enciphered message includes C 1 and C 2 , where: C.sub.1 =r.sub.a P C.sub.2 =M+x(r.sub.a Y.sub.b) where x(r a Y b ) is the x-coordinate of r a Y b and r a is the random integer selected by the sending user; sending the enciphered message M over the network; and deciphering the message M by the receiving user using the arbitrary integer x b , where: M=C.sub.2 -x(x.sub.b C.sub.i) where x(x b C 1 ) is the x-coordinate of x b C 1 .
Claim 11
Independent Claim 273 words
A method of applying a public key encryption network system to users from a provider by using an elliptic curve, comprising the steps of: initializing the network by having: (1) the provider (a) determine a positive integer d (b) generate a prime number p, from d (c) find a solution modulo p for a class polynomial H d (x) (d) determine an elliptic curve whose j-invariant is a solution of H d (X) modulo p and whose base point P is fixed to an arbitrary element other than a zero element; and (e) communicate information on the elliptic curve and the base point P to all the users; (2) each user, (f) selects an individual arbitrary integer x and maintains it in confidence; (g) calculates a public key, Y, from the arbitrary integer and the base point P; and (h) communicates the public key to the other users; enciphering a message, M, for broadcast over the network by the sending user selecting a random integer, r a , and enciphering the message using r a and the public key Y b of the receiving user, such that the enciphered message includes C 1 and C 2 , where: C.sub.1 =r.sub.a P C.sub.2 =M+x(r.sub.a Y.sub.b) where x(r a Y b ) is the x-coordinate of r a Y b and r a is the random integer selected by the sending user; sending the enciphered message M over the network; and deciphering the message M by the receiving user using the arbitrary integer x b , where: M=C.sub.2 -x(x.sub.b C.sub.i) where x(x b C 1 ) is the x-coordinate of x b C 1 .
Claim 12
Independent Claim 149 words
A method of applying a public key encryption network system to users from a provider by using an elliptic curve, comprising the steps of: supplying data on an elliptic curve E(GF(p)) and base point thereof on the network system to each of the users, including constructing a group of elements, E(GF(p)) on the elliptic curve, E, where GF is a Galois Field and p is a prime number, and the number of elements are exactly p, and where base point is an element other than the zero element of E(GF(p)), and providing each user with the data E(GF(p)) and the base point; selecting a privacy key at each user; ciphering a message to be transmitted by a user with the privacy key, base point, and a random number; transmitting the ciphered message over the network system; and deciphering the ciphered message using the privacy key and the random number.
Claim 13
Independent Claim 149 words
A method of applying a public key encryption network system to users from a provider by using an elliptic curve, comprising the steps of: supplying data on an elliptic curve E(GF(p)) and base point thereof on the network system to each of the users, including constructing a group of elements, E(GF(p)) on the elliptic curve, E, where GF is a Galois Field and p is a prime number, and the number of elements are exactly p, and where base point is an element other than the zero element of E(GF(p)), and providing each user with the data E(GF(p)) and the base point; selecting a privacy key at each user; ciphering a message to be transmitted by a user with the privacy key, base point, and a random number; transmitting the ciphered message over the network system; and deciphering the ciphered message using the privacy key and the random number.
Claim 14
Dependent Claim 102 words
The method of claim 15 herein E(GF(p)) is constructed by: choosing d as a positive integer such that it gives an imaginary quadratic field Q((-d) 1/2 ) with a small class number; choosing p as a prime number such that 4·p-1=d·square number, so that an elliptic curve E having GF(p) as a field of definition will have a j-invariant as a solution modulo p for a class polynomial H d (x)=0 which is determined by d; choosing an elliptic curve E over GF(p) having exact p elements; and choosing an element other than the zero element of E(GF(p)) as a base point.
Claim 15
Dependent Claim 13 words
The method of claim 9, further comprising selecting 1 as the class number.
Claim 16
Independent Claim 267 words
A method of applying a public key encryption network system to users from a provider by using an elliptic curve, comprising the steps of: initializing the network by having: (1) the provider (a) determine a positive integer, d; (b) generate a prime number, p, from d; (c) find a solution modulo, p, for a class polynomial H d (x); (d) determine an elliptic curve whose j-invariant is modulo p and whose base point P is fixed to an arbitrary element other than a zero element; and (e) communicate information on the elliptic curve and the base point P to all the users; (2) each user (f) selects an individual arbitrary integer x and maintains it in confidence; (g) calculates a public key, Y, from the arbitrary integer and the base point P; and (h) communicates the public key to the other users; enciphering a message, M, for broadcast over the network by the sending user selecting a random integer, r a , and enciphering the message using r a and the public key Y b of the receiving user, such that the enciphered message includes C 1 and C 2 , where: C.sub.1 =r.sub.a P C.sub.2 =M+y(r.sub.a Y.sub.b) where y(r a Y b ) is the y-coordinate of r a y b and r a is the random integer selected by the sending user; sending the enciphered message M over the network; and deciphering the message M by the receiving user using the arbitrary integer x b , where: M=C.sub.2 -y(x.sub.b C.sub.1) where y(x b C 1 ) is the y-coordinate of x b C 1 .
Claim 17
Independent Claim 267 words
A method of applying a public key encryption network system to users from a provider by using an elliptic curve, comprising the steps of: initializing the network by having: (1) the provider (a) determine a positive integer, d; (b) generate a prime number, p, from d; (c) find a solution modulo, p, for a class polynomial H d (x); (d) determine an elliptic curve whose j-invariant is modulo p and whose base point P is fixed to an arbitrary element other than a zero element; and (e) communicate information on the elliptic curve and the base point P to all the users; (2) each user (f) selects an individual arbitrary integer x and maintains it in confidence; (g) calculates a public key, Y, from the arbitrary integer and the base point P; and (h) communicates the public key to the other users; enciphering a message, M, for broadcast over the network by the sending user selecting a random integer, r a , and enciphering the message using r a and the public key Y b of the receiving user, such that the enciphered message includes C 1 and C 2 , where: C.sub.1 =r.sub.a P C.sub.2 =M+y(r.sub.a Y.sub.b) where y(r a Y b ) is the y-coordinate of r a y b and r a is the random integer selected by the sending user; sending the enciphered message M over the network; and deciphering the message M by the receiving user using the arbitrary integer x b , where: M=C.sub.2 -y(x.sub.b C.sub.1) where y(x b C 1 ) is the y-coordinate of x b C 1 .
Claim 18
Independent Claim 275 words
A method of applying a public key encryption network system to users from a provider by using an elliptic curve, comprising the steps of: initializing the network by having: (1) the provider (a) determining a positive integer, d; (b) generate a prime number, p, from d; (c) find a solution modulo, p, for a class polynomial H d (x); (d) determine an elliptic curve whose j-invariant is modulo p and whose base point P is fixed to an arbitrary element other than a zero element; and (e) communicate information on the elliptic curve and the base point P to all the users; (2) each user (f) selects an individual arbitrary integer x and maintains it in confidence; (g) calculates a public key, Y, from the arbitrary integer and the base point P; and (h) communicates the public key to the other users; enciphering a message, M, for broadcast over the network by the sending user selecting a random integer, r a , and enciphering the message using r a and the public key Y b of the receiving user, such that the enciphered message includes C 1 and C 2 , where: C.sub.1 =r.sub.a P C.sub.2 M+f(r.sub.a Y.sub.b) where f(r a Y b ) is the function for the linear data of r a Y b and r a is the random integer selected by the sending user; sending the enciphered message, M, over the network; and deciphering the message, M, by the receiver user using the arbitrary integer x b , where: M=C.sub.2 -f(x.sub.b C.sub.1) where f(x b C 1 ) is the function of the linear data of x b C 1 .
Claim 19
Independent Claim 275 words
A method of applying a public key encryption network system to users from a provider by using an elliptic curve, comprising the steps of: initializing the network by having: (1) the provider (a) determining a positive integer, d; (b) generate a prime number, p, from d; (c) find a solution modulo, p, for a class polynomial H d (x); (d) determine an elliptic curve whose j-invariant is modulo p and whose base point P is fixed to an arbitrary element other than a zero element; and (e) communicate information on the elliptic curve and the base point P to all the users; (2) each user (f) selects an individual arbitrary integer x and maintains it in confidence; (g) calculates a public key, Y, from the arbitrary integer and the base point P; and (h) communicates the public key to the other users; enciphering a message, M, for broadcast over the network by the sending user selecting a random integer, r a , and enciphering the message using r a and the public key Y b of the receiving user, such that the enciphered message includes C 1 and C 2 , where: C.sub.1 =r.sub.a P C.sub.2 M+f(r.sub.a Y.sub.b) where f(r a Y b ) is the function for the linear data of r a Y b and r a is the random integer selected by the sending user; sending the enciphered message, M, over the network; and deciphering the message, M, by the receiver user using the arbitrary integer x b , where: M=C.sub.2 -f(x.sub.b C.sub.1) where f(x b C 1 ) is the function of the linear data of x b C 1 .

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-09-26 1998-03-28 1998-09-27 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-09-26 2002-03-28 2002-09-27 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-09-26 2006-03-28 2006-09-27 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag