IP Library Granted Patent US 10,277,403
Granted Patent B2
US 10,277,403 · App. 15/530,762 · Granted Apr 30, 2019

Digital signature method and apparatus

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 10,277,403
App. No.
15/530,762
Granted
Apr 30, 2019
Kind
B2
Abstract

A method for signing and subsequently verifying a digital message, including the following steps: generating an irreducible monic polynomial f(x) of degree n in a ring F q [x]; generating an irreducible monic polynomial F(y) of degree n in a ring F q [y]; producing first and second finite fields as F q [x]/(f(x)) and F q [y]/(F(y)), respectively; producing a secret isomorphism from the first finite field to the second finite field; producing and publishing a public key that depends on F(y); producing a private key that depends on the secret isomorphism; producing a message digest by applying a hash function to the digital message and the public key; producing a digital signature using the message digest and the private key; and performing a verification procedure utilizing the digital signature and the public key.

Claims (46)

1. A method for signing and subsequently verifying a digital message, comprising the following steps implemented using at least one processor-based subsystem:

generating an irreducible monic polynomial f(x) of degree n in a ring F q [x];

generating an irreducible monic polynomial F(y) of degree n in a ring F q [y];

producing first and second finite fields as F q [x]/(f(x)) and F q [y]/(F(y)), respectively;

producing a secret isomorphism from the first finite field to the second finite field;

producing and publishing a public key that depends on F(y);

producing a private key that depends on said secret isomorphism;

producing a message digest by applying a hash function to the digital message;

producing a digital signature using the message digest and the private key; and

performing a verification procedure utilizing the digital signature and the public key to determine whether the signature is valid.

2. The method as defined by claim 1 , wherein said first and second finite fields are designated, respectively, as x-space and y-space, and further comprising generating a specified lattice in x-space and using said isomorphism to generate a corresponding lattice in y-space, and wherein said step of producing said digital signature includes initially producing a signature in the x-space lattice and then producing the digital signature in the corresponding y-space lattice.

3. The method as defined by claim 1 , wherein said secret isomorphism comprises a polynomial.

4. The method as defined by claim 1 , further comprising transmitting the digital signature, and wherein said step of performing a verification procedure includes receiving the transmitted digital signature and performing the verification procedure on the received digital signature.

5. The method as defined by claim 2 , further comprising transmitting the digital signature, and wherein said step of performing a verification procedure includes receiving the transmitted digital signature and performing the verification procedure on the received digital signature.

6. The method as defined by claim 1 , wherein said digital message comprises a challenge communication from a verifier entity, and wherein said digital signature is transmitted to said verifier entity.

7. The method as defined by claim 2 , wherein said digital message comprises a challenge communication from a verifier entity, and wherein said digital signature is transmitted to said verifier entity.

8. A method for signing and sending a digital message, comprising the following steps implemented using at least one processor-based subsystem:

generating an irreducible monic polynomial f(x) of degree n in a ring F q [x];

generating an irreducible monic polynomial F(y) of degree n in a ring F q [y];

producing first and second finite fields as F q [x]/(f(x)) and F q [y]/(F(y)), respectively;

producing a secret isomorphism from the first finite field to the second finite field;

producing and publishing a public key that depends on F(y);

producing a private key that depends on said secret isomorphism;

producing a message digest by applying a hash function to the digital message;

producing a digital signature using the message digest and the private key; and

transmitting the digital signature.

9. The method as defined by claim 8 , wherein said first and second finite fields are designated, respectively, as x-space and y-space, and further comprising generating a specified lattice in x-space and using said isomorphism to generate a corresponding lattice in y-space, and wherein said step of producing said digital signature includes initially producing a signature in the x-space lattice and then producing the digital signature in the corresponding y-space lattice.

10. The method as defined by claim 8 , wherein said secret isomorphism comprises a polynomial.

11. The method as defined by claim 8 , further comprising receiving the digital signature, and employing a further process-based subsystem for performing a verification procedure on the received digital signature.

12. The method as defined by claim 9 , further comprising receiving the digital signature, and employing a further process-based subsystem for performing a verification procedure on the received digital signature.

13. A system for signing and subsequently verifying a digital message, comprising:

at least one processor-based subsystem that is programmed with instructions that cause the at least one processor subsystem to implement the following steps:

generating an irreducible monic polynomial f(x) of degree n in a ring F q [x];

generating an irreducible monic polynomial F(y) of degree n in a ring F q [y];

producing first and second finite fields as F q [x]/(f(x)) and F q [y]/(F(y)), respectively;

producing a secret isomorphism from the first finite field to the second finite field;

producing and publishing a public key that depends on F(y);

producing a private key that depends on said secret isomorphism;

producing a message digest by applying a hash function to the digital message;

producing a digital signature using the message digest and the private key; and

performing a verification procedure utilizing the digital signature and the public key to determine whether the signature is valid.

14. The system as defined by claim 13 , wherein said encoded digital signature is transmitted to a further processor-based subsystem, and said further processor-based system is programmed with instructions that cause the further processor-based system to implement said step of performing said verification procedure utilizing the encoded digital signature and the public key to determine whether the signature is valid.

15. The system as defined by claim 13 , wherein said first and second finite fields are designated, respectively, as x-space and y-space, and further comprising said at least one processor-based subsystem being programmed with instructions to implement: generating a specified lattice in x-space and using said isomorphism to generate a corresponding lattice in y-space, and wherein said step of producing said digital signature includes initially producing a signature in the x-space lattice and then producing the digital signature in the corresponding y-space lattice.

16. The system as defined by claim 14 , wherein said first and second finite fields are designated, respectively, as x-space and y-space, and further comprising said at least one processor-based subsystem being programmed with instructions to implement: generating a specified lattice in x-space and using said isomorphism to generate a corresponding lattice in y-space, and wherein said step of producing said digital signature includes initially producing a signature in the x-space lattice and then producing the digital signature in the corresponding y-space lattice.

17. The method as defined by claim 1 , wherein said step of producing a message digest comprises applying a hash function to the digital message and the public key.

18. The method as defined by claim 8 , wherein said step of producing a message digest comprises applying a hash function to the digital message and the public key.

Assignments (3)
MERGER Recorded Mar 22, 2019
From: OAK ACQUISITION CORP.
To: ONBOARD SECURITY, INC.
Reel/Frame 048677/0396 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2018
From: SECURITY INNOVATION, INC.
To: ONBOARD SECURITY, INC.
Reel/Frame 044860/0741 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2017
From: HOFFSTEIN, JEFFREY; PIPHER, JILL; ZHANG, ZHENFEI; SILVERMAN, JOSEPH H.; WHYTE, WILLIAM J.
To: SECURITY INNOVATION INC.
Reel/Frame 041972/0008 →