WO2001001625A9 - Secure user identification based on ring homomorphisms - Google Patents

Secure user identification based on ring homomorphisms

Info

Publication number
WO2001001625A9
WO2001001625A9 PCT/US2000/012025 US0012025W WO0101625A9 WO 2001001625 A9 WO2001001625 A9 WO 2001001625A9 US 0012025 W US0012025 W US 0012025W WO 0101625 A9 WO0101625 A9 WO 0101625A9
Authority
WO
WIPO (PCT)
Prior art keywords
user
ring
polynomial
tuple
coefficients
Prior art date
Application number
PCT/US2000/012025
Other languages
French (fr)
Other versions
WO2001001625A1 (en
Inventor
Jeffrey Hoffstein
Joseph H Silverman
Daniel Lieman
Original Assignee
Ntru Cryptosystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ntru Cryptosystems Inc filed Critical Ntru Cryptosystems Inc
Priority to IL14635000A priority Critical patent/IL146350A0/en
Priority to CA002369141A priority patent/CA2369141A1/en
Priority to AU68891/00A priority patent/AU6889100A/en
Priority to EP00957240A priority patent/EP1190523A4/en
Publication of WO2001001625A1 publication Critical patent/WO2001001625A1/en
Publication of WO2001001625A9 publication Critical patent/WO2001001625A9/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures

Definitions

  • the present invention relates generally to secure communication and document identification over computer networks or other types of communication systems and, more particularly, to secure user identification and digital signature techniques based on ring homomorphisms.
  • the invention also has application to communication between a card, such as a "smart card", or other media, and a user terminal.
  • User identification techniques provide data security in a computer network or other communications system by allowing a given user to prove its identity to one or more other system users before communicating with those users. The other system users are thereby assured that they are in fact communicating with the given user.
  • the users may represent individual computers or other types of terminals in the system.
  • a typical user identification process of the challenge-response type is initiated when one system user, referred to as the Prover, sends certain information in the form of a commitment to another system user, referred to as the Verifier.
  • the verifier Upon receipt of the commitment, the verifier sends a challenge to the Prover.
  • the Prover uses the commitment, the challenge, and its private key to generate a response, which is sent to the Verifier.
  • the Verifier uses the commitment, the response and a public key to verify that the response was generated by a legitimate prover.
  • the information passed between the Prover and the Verifier is generated in accordance with cryptographic techniques which insure that eavesdroppers or other attackers cannot interfere with or forge the identification process.
  • a challenge-response user identification technique can be converted to a digital signature technique by the Prover utilizing a one-way hash function to simulate a challenge from a Verifier.
  • a Prover generates a commitment and applies the one-way hash function to it and a message to generate the simulated challenge.
  • the Prover then utilizes the simulated challenge, the commitment and a private key to generate a digital signature, which is sent along with the message to the Verifier.
  • the Verifier applies the same one-way hash function to the commitment and the message to recover the simulated challenge and uses the challenge, the commitment, and a public key to validate the digital signature.
  • One type of user identification technique relies on the one-way property of the exponentiation function in the multiplicative group of a finite field or in the group of points on an elliptic curve defined over a finite field.
  • This technique is described in U.S. Patent No. 4,995,082 and in C.P. Schnorr, "Efficient Identification and Signatures for Smart Cards," in G. Brassard, ed., Advances in Cryptology - Crypto '89, Lecture Notes in Computer Science 435, Springer- Verlag, 1990, pp. 239-252.
  • This technique involves the Prover exponentiating a fixed base element g of the group to some randomly selected power k and sending it to the verifier.
  • An instance of the Schnorr technique uses two prime numbers p and q chosen at random such that q divides p-1, and a number g of order q modulo p is selected.
  • the numbers p, q, and g are made available to all users.
  • the private key of the Prover is x modulo q and the public key y of the Prover is g ⁇ x modulo p.
  • the Prover initiates the identification process by selecting a random non-zero number z modulo q.
  • the Prover computes the quantity g z modulo p and sends it as a commitment to the Verifier.
  • the Verifies selects a random number w from the set of integers ⁇ 1,2,..
  • the Verifier sends w as a challenge to the Prover.
  • the Prover computes a quantity u that is equal to the quantity z+xw modulo q as a response and sends it to the Verifier.
  • the Verifier accepts the Prover as securely identified if g z is found to be congruent modulo p to the quantity g u y z .
  • Another type of user identification technique relies on the difficulty of factoring a product of two large prime numbers. A user identification technique of this type is described in L.C. Guillou and J.J.
  • the private key of the Prover is x modulo n and the public key y of the Prover is x "b modulo n.
  • the Prover initiates the identification process by randomly selecting the number g from the set of non-zero numbers modulo n.
  • the Prover computes the quantity g b modulo n and sends it as a commitment to the Verifier.
  • the Verifier randomly selects a number c from the set of non-zero numbers modulo b and sends c as a challenge to the Prover.
  • the Prover computes the number h that is equal to the quantity gx c modulo n as a response and sends it to the Verifier.
  • the Verifier accepts the Prover as securely identified if g b is found to be congruent modulo n to h y c .
  • the present invention provides a method, system and apparatus for performing user identification, digital signatures and other secure communication functions based on ring homomorphisms.
  • the ring homomorphism in accordance with the invention may utilize two rings R and B, a ring homomorphism ⁇ :R-> B, and four subsets R f , R g , R ⁇ rent and R. of R.
  • One element fin the set f serves as a private key for a given user.
  • the result ⁇ (f) of evaluating the homomorphism ⁇ at the element f serves as the public key of the given user.
  • a secure user identification technique in which one of the system users, referred to as a Prover, randomly selects an element g from the set R g .
  • the Prover evaluates the homomorphism ⁇ at the element g and transmits the result ⁇ (g) to another user referred to as the Verifier.
  • the Verifier randomly selects a challenge element c from the set Re.
  • the Verifier transmits c to the Prover.
  • the Prover generates a response element h using the private key f and the elements c and g.
  • the element h may be generated in the form g*(f+c*g) using addition + and multiplication * in the ring R; or more generally by choosing a set of elements gi, receiving a set of challenge elements c;, creating modified challenge elements d; from the challenge elements c;, transmitting the modified challenge elements d; to the Verifier, and generating the response element h as a polynomial function of the secret key f and the selected elements g;, Cj, and d;.
  • the Verifier checks that the element h is in the set Ri,.
  • the Verifier also evaluates the homomorphism ⁇ at the element h and compares the result ⁇ (h) to a function of ⁇ (g), ⁇ (c), and the public key ⁇ (f) of the Prover. For example, if the element h is generated in the form g*(f+c*g), then the verifier may check if the value ⁇ (h) is equal to the value 0 (g)*( ⁇ (f) + ⁇ (c)* ⁇ (g)) using addition + and multiplication * in the ring B.
  • the Verifier accepts the identity of the Prover.
  • the Verifier may use the above-noted comparison for secure identification of the Prover, for authentication of data transmitted by the Prover, or for other secure communication functions.
  • a secure user identification technique in which one of the system users, referred to as a Verifier, randomly selects a challenge element c from the set Re.
  • the Verifier transmits c to another user referred to as the Prover.
  • the Prover randomly chooses an element g from the set R g and generates a response element h using the private key f and the elements c and g.
  • the element h may be generated in the form g*(f+c*g) using addition + and multiplication * in the ring R; or more generally by generating the response element h as a polynomial function P(f,c,g) of the secret key f and the selected elements g and c.
  • the Verifier checks that the element h is in the set R h .
  • the Verifier accepts the identity of the Prover.
  • the Verifier may use the above-noted comparison for secure identification of the Prover, for authentication of data transmitted by the Prover, or for other secure communication functions.
  • a digital signature technique is provided.
  • a Prover randomly selects an element g from the set R g .
  • the Prover utilizes g, c, and the private key f to generate an element h.
  • the Prover than transmits m, ⁇ (g) and h to the Verifier.
  • the Verifier checks that the element h is in the set R h .
  • the Verifier accepts the signature of the Prover on the message m.
  • a digital signature technique is provided.
  • a Prover randomly selects an element g from the set Rg.
  • the Prover utilizes g, c, and the private key f to generate an element h.
  • the element h may be generated in the form g*(f+c*g) using addition + and multiplication * in the ring R; or more generally by generating the response element h as a polynomial function P(f,c,g) of the secret key f and the selected elements g and c.
  • the Prover transmits m and h to the Verifier.
  • the Verifier checks that the element h is in the set R .
  • the present invention provides a method, system and apparatus for performing user identification, digital signatures and other secure communication functions based more particularly on ring homomorphisms given by partial evaluation of constrained polynomials over a finite field.
  • the ring R in accordance with the invention may utilize polynomials of degree less than N with coefficients in the field F q of q elements, where N divides q-1 and q is a power of a prime number.
  • An exemplary predetermined condition on the subsets Rf, R g and Re of R may specify that the coefficients are chosen from a predetermined set of values such as, for example, the values 0, 1 , and -1 in the field F q , and an exemplary predetermined condition on the subset Ri, may specify that the coefficients are small, as for example the number q is a prime number, the coefficients of h are chosen between -q/2 and q/2, and the sum of the squares of the coefficients of h is smaller than q 2 .
  • a number of other conditions on the subsets R f , R g and Re may be used in conjunction with or in place of these exemplary conditions.
  • a number of other conditions on the ring R and on the set S may be used in conjunction with or in place of these exemplary conditions.
  • ring homomorphisms and more particularly ring homomorphisms given by partial evaluation of constrained polynomials over a finite field, in accordance with the invention provides user identification and digital signature techniques which are computationally more efficient than prior art techniques.
  • the security of the techniques of the present invention depend on the fact that recovering an element of a ring from its value by a homomorphism, and more particularly recovering a polynomial from its partial evaluation, can, in certain circumstances, be a particularly difficult task.
  • Figure 1 is a block diagram of a type of system that can be used in practicing embodiments of the invention, for example when the processors thereof are suitably programmed in accordance with the flow diagrams hereof.
  • Figure 2 is a flow diagram which illustrates a key creation technique in accordance with an exemplary embodiment of the present invention.
  • Figure 3 is a flow diagram which illustrates a user identification technique in accordance with an exemplary embodiment of the present invention.
  • Figure 4 is a flow diagram which illustrates a further user identification technique in accordance with another exemplary embodiment of the present invention.
  • Figure 5 is a flow diagram which illustrates a digital signature technique in accordance with an exemplary embodiment of the present invention.
  • Figure 6 is a flow diagram which illustrates a further digital signature technique in accordance with another exemplary embodiment of the present invention.
  • FIG. 1 is a block diagram of a system that can be used in practicing embodiments of the invention.
  • a number of processor-based subsystems represented at 105, 155, 185, and 195, are shown as being in communication over an insecure channel or network 50, which may be, for example, any wired, optical, and/or wireless communication channel such as a telephone or internet communication channel or network.
  • the subsystem 105 includes processor 110 and the subsystem 155 includes processor 160.
  • the processors 110 and 160 When programmed in the manner to be described, the processors 110 and 160 and their associated circuits can be used to practice embodiments of the invention.
  • the processors 110 and 160 may each be any suitable processor, for example an electronic digital processor or microprocessor.
  • the processors may be, for example, Intel Pentium processors.
  • the subsystem 105 may typically include memories 123, clock and timing circuitry 121, input/output functions 118, and monitor 125, which may all be of conventional types. Inputs can include a keyboard input as represented at 103 and any other suitable input. Communication is via transceiver 135, which may comprise a modem, high speed coupler, or any suitable device for communicating signals.
  • the subsystem 155 in this illustrative system can have a similar configuration to that of subsystem 105.
  • the processor 160 has associated input/output circuitry 164, memories 168, clock and timing circuitry 173, and a monitor 176. Inputs include a keyboard 163 and any other suitable input. Communication of subsystem 155 with the outside world is via transceiver 162 which, again, may comprise a modem, high speed coupler, or any suitable device for communicating signals. As represented in the subsystem 155, a terminal 181 can be provided for receiving a smart card 182 or other media. A "user” can also be a person's or entity's "smart card", the card and its owner typically communicating with a terminal in which the card is inserted. The terminal can be an intelligent terminal, or can communicate with an intelligent terminal. It will be understood that the processing and communications media that are described are exemplary, and that the invention can have application in many other settings. The blocks 185 and 195 represent further subsystems on the channel or network.
  • the present invention will be illustrated below in conjunction with exemplary user identification and digital signature techniques carried out by a Prover and a Verifier in a communication network such as that of Figure 1 in which, for example, for a particular communication or transaction, any of the subsystems can serve either role. It should be understood, however, that the present invention is not limited to any particular type of application. For example, the invention may be applied to a variety of other user and data authentication applications.
  • the term "user” may refer to both a user terminal as well as an individual using that terminal, and, as indicated above, the terminal maybe any type of computer or other digital data processor suitable for directing data communication operations.
  • the term “Prover” as used herein is intended to include any user which initiates an identification, digital signature or other secure communication process.
  • the term “Verifier” is intended to include any user which makes a determination as to whether a particular communication is legitimate.
  • the term "user identification” is intended to include identification techniques of the challenge-response type as well as other types of identification, authentication and verification techniques
  • the user identification and digital signature techniques in accordance with the present invention are based on evaluation of ring homomorphisms.
  • An exemplary embodiment of the present invention is based on the partial evaluation homomorphism of constrained polynomials over a finite field.
  • An exemplary ring R F q [X]/(X C
  • ⁇ 1 ⁇ l) is a ring of polynomials with coefficients in the finite field F q modulo the ideal generated by the polynomial X q ⁇ x -1.
  • Ci A 0 Bi+A ⁇ Bi_ ⁇ +...+AiBo+A i+ ⁇ B q - 2 +Ai, 2 B q _ 3 +.. ,+A q _ 2 B i+ ⁇ (modulo q).
  • All reference to multiplication of polynomials in the remaining description should be understood to refer to the above-described exemplary multiplication in R. It should also be noted that the above-described multiplication rule is not a requirement of the invention, and alternative embodiments may use other types of multiplication rules.
  • Figure. 2 illustrates the creation of a public/private key pair. After establishment of parameters (block 220) a Prover randomly chooses a secret polynomial f(X) in Rf as its private key (block 230).
  • Figure 3 illustrates an exemplary identification process.
  • the identification process is initiated in the Commitment Phase (block 310) by the Prover generating a polynomial g(X) with bounded coefficients.
  • the polynomial g(X) may be selected at random from a set R g that is restricted in a manner to be described below.
  • the Verifier initiates the Challenge Phase (block 330) by generating a challenge polynomial c(X) with bounded coefficients and sending it to the Prover.
  • the polynomial c(X) may be generated by random selection from a set of polynomials R c that is restricted in a manner to be described below.
  • the Verifier in the Verification Phase also checks whether or not the coefficients of h(X) are appropriately bounded, given that a legitimate h(X) will have bounded coefficients and will belong to a restricted set R h of polynomials.
  • the restrictions on the set R depend on the choice of the above noted sets Rf,R g and R c .
  • the Verifier accepts the Prover as legitimate if the response polynomial h(X) transmitted by the Prover passes the checks of steps (A) and (B) of the Verification Phase.
  • the Verifier may perform a number of other checks as part of the identification process. For example, prior to performing steps (A) and (B) of the Verification Phase, the Verifier may check that g(l), provided by the Prover as an element of the commitment ⁇ (g), has a particular expected value.
  • the prime number q is selected as 769
  • the set S is constructed such that if a is an element of S, then a -1 is also an element of S. It should be noted that a given implementation may utilize only a subset of the t elements of S.
  • the set Rf is the set of all polynomials f(X) of degree less than 768 constructed with 51 coefficients of value 1, with 51 coefficients of value -1, and all other coefficients set to zero.
  • the set R g is the set of all polynomials g(X) of degree less than 768 constructed with 51 coefficients of value 1, with 51 coefficients of value -1, and all other coefficients set to zero.
  • the set Rc is the set of all polynomials c(X) of degree less than 768 constructed with 5 coefficients of value 1, with 5 coefficients of value -1, and all other coefficients set to zero.
  • the set Rh is the set of polynomials of degree less than 768 whose coefficients are between -384 and 384 and which satisfy the inequality 591361.
  • Alternative embodiments of the invention may utilize several private key polynomials fi,...,f dock, several commitment polynomials g ]; ...,g r and several challenge polynomials Ci,...,c s and may fiirther utilize other functions of the key polynomials, commitment polynomials, and challenge polynomials to generate several response polynomials h l5 ...,h u .
  • a second exemplary identification technique in accordance with the invention uses the same systems parameters and public/private key pairs as described above.
  • Figure 4 illustrates the second exemplary identification process.
  • the identification process is initiated in the Challenge Phase (block 430) by the Verifier generating a challenge polynomial c(X) with bounded coefficients and sending it to the Prover.
  • the polynomial c(X) may be generated by random selection from a set of polynomials Re as described above.
  • the Prover initiates the Response Phase (block 450) by verifying that the challenge polynomial c(X) is in the restricted set of polynomials Rc and then generating a polynomial g(X) with bounded coefficients, where the polynomial g(X) may be selected at random from a set Rg as described above.
  • the Verifier in the Verification Phase also checks whether or not the coefficients of h(X) are appropriately bounded, given that a legitimate h(X) will have bounded coefficients and will belong to a restricted set Ri, of polynomials.
  • the restrictions on the set R h depend on the choice of the above noted sets Rf,R g and Rc.
  • the Verifier accepts the Prover as legitimate if the response polynomial h(X) transmitted by the Prover passes the checks of steps (A) and (B) of the Verification Phase.
  • the prime number q is selected as 641
  • the set S is constructed such that if a is an element of S, then a ""1 is also an element of S. It should be noted that a given implementation may utilize only a subset of the t elements of S.
  • the set R f is the set of all polynomials f(X) of degree less than 640 constructed with 214 coefficients of value 1, with 214 coefficients of value -1, and all other coefficients set to zero.
  • the set R g is the set of all polynomials g(X) of degree less than 640 constructed with 43 coefficients of value 1, with 43 coefficients of value -1, and all other coefficients set to zero.
  • the set Rc is the set of all polynomials c(X) of degree less than 640 constructed with 5 coefficients of value 1, with 5 coefficients of value -1, and all other coefficients set to zero.
  • the user identification technique described in conjunction with Figure 4 above is then implemented using polynomials selected from the sets R f ,R g ,Rc and Rh.
  • Figure 5 illustrates the operation of an exemplary digital signature technique implemented using the above-described ring homomorphism method.
  • the Prover generates a simulated challenge polynomial by applying a one-way hash function to a message m and a commitment ⁇ (g).
  • the one-way hash function is also available to the Verifier and will be used to validate the digital signature.
  • the Prover in the Message and Commitment Phase (block 505), the Prover generates a polynomial g(X) in the set R g as previously described and uses g(X) to generate the commitment ⁇ (g).
  • the Prover also selects a message m to be signed.
  • the Prover computes a challenge polynomial c(X) by applying a hash function Hash(v) such that c(X) is generated as Hash(m, ⁇ (g)).
  • the message m and commitment ⁇ (g) are suitably formatted as an input to the function Hash(v) and the output c(X) of Hash(v) maps uniformly onto the set Re.
  • the Prover computes a response polynomial as in the above-described user identification embodiments.
  • h(X) may be computed as g(X)(f(X)+c(X)g(X)).
  • the Prover then sends the message m to the Verifier, along with the pair ( ⁇ (g),h(X)) as a digital signature on the message m.
  • the Verifier accepts the signature as valid if h(X) is within in the set Rh and if ⁇ (h) is equal to ⁇ (g)( ⁇ (f)+ ⁇ (c) ⁇ (g)).
  • alternative embodiments may use several private keys, several commitments, several challenges, and different functions to generate the response.
  • Figure 6 illustrates the operation of a second exemplary digital signature technique implemented using the above-described ring homomorphism method.
  • the Prover generates a simulated challenge polynomial by applying a one-way hash function to a message m.
  • the one-way hash function is also available to the Verifier and will be used to validate the digital signature.
  • the Prover selects a message m to be signed.
  • the Prover computes a challenge polynomial c(X) by applying a hash function Hash( » ) such that c(X) is generated as Hash(m).
  • the message m is suitably formatted as an input to the function Hash( » ) and the output c(X) of Hash( « ) maps uniformly onto the set Rc.
  • the Prover randomly selects a polynomial g(X) from the set R g and computes a response polynomial as in the above-described user identification embodiments. For example, h(X) may be computed as g(X)(f(X)+c(X)g(X)).
  • the Prover then sends the message m to the Verifier, along with the polynomial h(X) as a digital signature on the message m.
  • the Verifier accepts the signature as valid if h(X) is within in the set R h and if the quantity ⁇ (f) 2 +4 ⁇ (c) ⁇ (h) is a square in B.
  • alternative embodiments may use several private keys, several commitments, several challenges, and different functions to generate the response. Examples of operation of embodiments hereof will be provided below using very small numbers. These examples are not cryptographically secure and are meant only to illustrate the process. For further detail, see Appendix I (published as J. Hofffstem, D. Lieman, J.H.
  • the objects used by PASS are polynomials of degree N-l
  • PASS uses a special kind of multiplication where x N is replaced by 1, and x N+1 is replaced by x, and x N+2 is replaced by x 2 , and so on (In mathematical terms, this version of PASS uses the ring of polynomials with mod q coefficients modulo the ideal consisting of all multiples of the polynomial x N -l.
  • the PASS2 authentication scheme is next described, using a small numerical example.
  • the first step in the PASS2 authentication process is for Bob to make a Commitment and send it to Alice. He does this by choosing a binary polynomial g ⁇ (x) and computing the set of values g ⁇ (S), in much the same way that he chose f(x) and computed the values of f(x). He keeps the polynomial g ⁇ (x) secret, but he sends the set of values g t (S) to Alice as his Commitment.
  • the second step in the PASS2 authentication process is for Alice to send a Challenge to Bob.
  • Alice's challenge consists of two binary polynomials C ⁇ (x) and c 2 (x), possibly satisfying some additional conditions.
  • the principal extra condition is that the polynomials c ⁇ (x) should not vanish modulo q for all nonzero values of x not in the set S.
  • Alice sends the two challenge polynomials ci and c 2 to Bob.
  • Bob sends the polynomial h(x) to Alice as his Response. He does not reveal the polynomial g (x), and indeed he may discard it as soon as he has computed h(x).
  • &(x) 1 + x + x 5 .
  • the fourth and final step in the PASS2 authentication process is for Alice to use Bob's public key f(S), Bob's commitment g(S), and her challenge polynomials d(x) and c 2 (x) to verify that Bob's response is a valid response.
  • This Verification consists of two parts.
  • Commitment/Challenge/Response/Verification can be turned into a digital signature scheme.
  • the basic idea is to use a hash function (see below) to create the challenge from the commitment and the digital document to be signed.
  • the steps that go into a PASS2 Digital Signature are as follows.
  • Bob publishes the D, g ⁇ (S), and h(x).
  • the quantities g](S) and h(x) are his digital signature for the digital document D.
  • Hash functions which are well known in the art, are used herein. The purpose of a hash function is to take an arbitrary amount of data as input and produce as output a small amount of data (typically between 80 and 160 bits) in such a way that it is very hard to predict from the input exactly what the output will be. For example, it should be extremely difficult to find two different sets of inputs that produce the exact same output. Hash functions are used for a variety of purposes in cryptography and other areas of computer science.
  • Typical hash function such as SHAl and RD5 proceed by taking a chunk of the input, breaking it into pieces, and doing various simple logical operations (e.g., and, or, shift) with the pieces. This is generally done many times. For example, SHAl takes as input 512 bits of data, it does 80 rounds of breaking apart and recombining, and it returns 160 bits to the user. This process can be repeated for longer messages.
  • PASS2 scheme described above is a variation of an earlier version of PASS. Both schemes have the same level of security, but the operating characteristics (key sizes, communication requirements, etc.) of PASS are not as good as those of PASS2.
  • PASS is demonstrated with a small numerical example, to illustrate the similarities and differences between the two systems. The fundamental similarity is that the security depends on the difficulty of reproducing a binary polynomial from a partial set of its values. • PASS Parameters
  • N 6
  • S ⁇ 2, 4, 6 ⁇
  • a h 5
  • B h 9. • PASS Key Creation
  • Bob chooses two binary polynomials f ⁇ (x) and f 2 ( ⁇ ) as his private key.
  • the partial sets of values f ⁇ (S) and f 2 (S) form his public key.
  • Bob chooses two binary polynomials g ⁇ (x) and g 2 (x). He computes and sends to Alice the partial sets of values g ⁇ (S) and g 2 (S) as his commitment.
  • Alice choose four binary polynomials c ⁇ (x), c (x), c 3 (x), and c (x) (possibly satisfying some other constraints) and sends them to Bob as her challenge.
  • h(x) f ⁇ (x)g ⁇ (x)c ⁇ (x) + f ⁇ (x)g 2 (x)c 2 (x) + f 2 (x)g ⁇ (x)c 3 (x) + f 2 (x)g 2 (x)c (x). and sends h(x) to Alice as his response.
  • Example: h(x) (x 4 + 1)( x 5 + x 4 )(x 3 + x) + (x 4 + 1)( x + l)(x 5 + x 4 )
  • Verification consists of two steps. First Alice writes the polynomial h(x) as h 0 +h ⁇ x+h 2 x 2 +... +h N - ⁇ N"1 with coefficients h 0 ,h ⁇ ,...hN- ⁇ modulo q taken as close as possible to Ah and she computes the quantity
  • the polynomial h(x) is 5x 4 + 5x° + 5x 2 +4x + 6 and the number A is equal to 5.
  • the user identification and digital signature techniques of the present invention provide significantly improved computational efficiency relative to prior art techniques at equivalent security levels, while also reducing the amount of information which must be stored by the Prover and Verifier and communicated between the Prover and Verifier. It should be emphasized that the techniques described above are exemplary and should not be construed as limiting the present invention to a particular group of illustrative embodiments. Alternative embodiments within the scope of the appended claims will be readily apparent to those skilled in the art.
  • NTRU neuronalde-to-resistance unit
  • q and N moderately sized relatively prime integers.
  • the "hard problem" that NTRU is based upon is related to the difficulty of finding particularly small vectors in certain lattices of high dimension.
  • Lattice reduction attacks are the general name for techniques for finding short vectors in lattices.
  • the use of lattice attacks in cryptography was pioneered by Shamir, [17], who used it to break the original knapsack based public key cryptosystem proposed by [12].
  • Shamir, [17] who used it to break the original knapsack based public key cryptosystem proposed by [12].
  • Lenstra, Lenstra and Lovasz [9] introduced what has since been called the LLL lattice reduction method.
  • going from a lattice of dimension 300 to a lattice of dimension 700 is the difference between an attackable problem and a problem that is likely to remain unsolvable for the forseeable future.
  • the reason for re-examining the use of lattice based cryptosystems has to do with some of the apparently fundamental limitations of lattice reduction attacks and the nature of the cryptosystems that were successfully attacked in the past.
  • the LLL method or its various improvements, will find a relatively short vector in a lattice L of dimension n in a surprisingly small amount of time. But one can ask just how short that vector is, and how its length compares to that of either the actual shortest vector in L or the probabilistic expected length of the shortest vector if L were a random lattice.
  • Section 4 gives key lengths and communication requirements for some specific parameter values, and in the final section we discuss the use of FFT's to make computations faster and to decrease the number of bits transmitted.
  • FFT's FFT's to make computations faster and to decrease the number of bits transmitted.
  • four appendices we: (1) show how to apply PASS to digital signatures; (2) describe a hash function based on constrained polynomial evaluation; (3) explain why the PASS scheme is related to the uncertainty principle for (discrete) Fourier transforms and how this leads to possible non-commutative extensions of the PASS ideas; and (4) give results of our timing experiments.
  • R be as defined above in (1), with q a prime and JV a divisor of q — 1. Note that R is then isomorphic to a direct sum of N copies of Z/qZ. This is equivalent to the fact that by Fermat's Little Theorem, for any ⁇ ⁇ O mod q, the homomorphism from R to Z/ ⁇ Z given by g(x) ⁇ ⁇ ( ⁇ f ⁇ -1) / ⁇ ) is well defined.
  • a typical element g of R will have a representative of the form with coefficients ⁇ 6 Z/qli.
  • ⁇ g ⁇ Ja% + ⁇ ⁇ ⁇ + ffltf_ ⁇ .
  • Moo max j - min ⁇ *.
  • polynomials are called short if their coefficients are sufficiently small with respect to q that no reduction mod q occurs when two of them are multiplied together.
  • the two norms above are related by the rough inequality
  • h corresponds to a square of an algebraic integer.
  • the polynomial h can be viewed as a square in a product of 4 or 5 finite fields. The square root can be taken quickly in each of these fields and the resulting 16 or 32 possibilities can be searched for a solution with small coefficients. For this reason, we will always take / and g to be distinct randomly chosen polynomials.
  • Vinnie chooses a challenge c o € C c at random and sends c o to Pearl. This is hashed with the commitment to produce polynomials: c ⁇ , C 2 , C 3 , c € C c .
  • S consists of t distinct elements a mod q. As they are nonzero, each has the property that a N ⁇ 1 mod q. Also, by its definition, S is closed under the taking of multiplicative inverses mod
  • Lattice reduction methods can be used by Irving to attempt a recovery of the private key (/, /'), or an equally useful false key, from the public key. These methods can also be used in an off line attempt to construct a valid response h to a given commitment and challenge. This aspect of security is relevant for both authentication and digital signatures. In this section we will discuss and quantify the difficulty of recovering a short / (respectively /') from the collection of values (f(oc)) 6S , or a short response h from the collection of values (h(a)) s .
  • the correlation coefficient is 0.979.
  • the conversion factor from seconds to MlPS-years is 400/31557600, because our experiments were run on 400 MHz Celeron computers.
  • the second homomorphism is quite different.
  • the image consists of the non-zero elements in the subfield of K of order p k l 2 , so the kernel has p k l 2 ⁇ - 1 elements.
  • a cheating verifier is in a potentially powerful position. He can pass specially constructed challenges with given expected values to Pearl and extract information from the responses as outlined above. In this scheme, however, a challenge CQ is hashed with the commitment. This seems to eliminate any chance of a cheating verifier obtaining an advantage.
  • step (A) of the verification that is, he verifies that this h(X) is in the set C h - If it is, he accepts Pearl's identity.
  • Vinnie does not need to perform step (B), because the construction assures that h(X) has the correct values for £ S.
  • Vinnie computes c from g(S), g' ⁇ S) and M, and then uses Pearl's public key f(S) to verify that the response h was generated by someone with knowledge of the private key /, /', i.e., by Pearl.
  • the function is defined as follows. Take a message m of length N bits, and use it to define the coefficients of a polynomial P of degree N — 1 with coefficients chosen from ⁇ 0, 1 ⁇ . Thus P(x) — ao + where ⁇ j_ ⁇ is 0 or 1 according to whether the i th bit of m is 0 or 1. Thus the bits of m are strung out as the coefficients of P.
  • the polynomial P is then evaluated at the t values of a and reduced mod q.
  • the foundation of the PASS scheme is the evaluation homomorphism from the polynomial ring R to the product (Z/gZ)'. This can be interpreted in another way that clarifies the underpinnings of the schemes a bit and makes clear a direction to look for possible generalizations.
  • PASS if one concentrates in a certain area of R and then looks at the image of this area in (Z/ ⁇ Z)*, the image is uniformly dispersed throughout the space.
  • this is an example of the uncertainty principle for Fourier transforms. This generally states that one can not simultaneously concentrate the values of a function and the values of its Fourier coefficients.
  • the time needed to create a public/private key pair was 2.06 milliseconds.
  • the time needed to perform a complete authentication sequence consisting of the four steps Commit, Challenge, Respond, and Verify was 6.438 milliseconds. This equals approximately 155 authentications/signatures per second.
  • the first verification step (A) asks that ⁇ h ⁇ ⁇ ⁇ Q-
  • j 2.2.
  • Table 4 gives the distribution of ⁇ h ⁇ /q for 10 5 trials. There were no values greater than 2.2, indicating that the probability of Pearl's response failing the verification step (A) is smaller than 10 ⁇ 5 .
  • R (Z/qZ)[x]/(x N - l), (1) where q and N are moderately sized relatively prime integers.
  • Pearl the prover, wishes to prove her identity to Vinnie, the verifier.
  • Pearl has a secret key (/, /') consisting of a pair of "short" polynomials in R, i.e., having coefficients 1, -1, and 0.
  • Pearl's public key is the collection of values ⁇ /( ⁇ ), /'( ⁇ ) ⁇ ⁇ 6S , where a varies over a set S consisting of half the numbers modulo q.
  • Pearl randomly picks a pair ⁇ g, g') of short polynomials in R. She keeps (g,g') secret, but as her commitment, Pearl reveals ⁇ g(a),g' ⁇ a) ⁇ s , the collection of values of g and g' at the points in S.
  • the polynomial response h in PASS2 will take a somewhat different form. It is constructed using a pair of challenge polynomials (c ⁇ ,C 2 ), and the check by Vinnie changes to a verification that h is short, followed by a verification that a certain combination of the values f( ⁇ a), c(a),g(a), h( ⁇ x) are squares modulo q for all a € S.
  • a polynomial f will he called "short” if its norm
  • polynomials arc called short if their coefficients are sufficiently small with respect to q that no reduction mod q occurs when two of them are multiplied together.
  • C(d) denote the set of polynomials in R that have exactly d coefficients equal to each of 1 and -1, with all other coefficients equal to 0.
  • t N/2 randomly chosen distinct non-zero elements € Z/qZ.
  • the set S is a system-wide parameter. For technical reasons, we assume that S is chosen so that if € S, then ⁇ " 1 6 S, i.e., S is closed under taking inverses.
  • Vinnie chooses an 80 bit challenge Co at random and sends CQ to Pearl.
  • Pearl hashes co with ⁇ ? ⁇ ( ⁇ ) ⁇ a ⁇ S to obtain c ⁇ , c 2 € C c .
  • Pearl checks that c ⁇ (a) ⁇ 0 (mod q) for all 2 ⁇ a ⁇ q — 2 with $ S. If this is not the case Pearl rechooses c ⁇ in a predefined way until c ⁇ has this property.
  • Remark 1 One can check that the probability that the ci chosen through a hashing process as above will have the desired non-vanishing property is greater than 50%. Thus it will not take long for Pearl to locate a satisfactory c ⁇ .
  • the square root can then be taken, as described in [3], recovering g 2 .
  • the short polynomial c 2 g 2 can then be subtracted from ft, yielding a short polynomial Fg 2 + C ⁇ g ⁇ g 2 .
  • Performing this operation with j and 1 + cj (while still keeping g x ,g 2 fixed) Irving could obtain the short polynomial E ⁇ 7 2 .
  • This now has the same values at S as fg 2 , an actual product of short polynomials. If wc know that Fg 2 fg 2 then Irving could divide by g 2 , recovering /. This however, can be soon to be true with high probability, by using the gaussian heuristic as follows.
  • Lattice reduction methods can be used by Irving to search for the private key /, or an equally useful false key /'. These methods can also be used in an off line attempt to construct a valid response ft to a given challenge. Finally, they can be used in an attempt to recover g ⁇ from a given commitment and hence / from the corresponding response ft. (In fact about 15 different # ⁇ recoveries would be necessary to recover /.) In this section we will discuss and quantify the difficulty of these questions. First we will discuss an attack on / using the public key ⁇ /( ⁇ l ⁇ g s
  • Table 1 gives the results of experiments to recover the private key / from ⁇ /(#) ⁇ ⁇ €S -
  • the regression line for the average time (in seconds), as a function of N, is log(7') ⁇ 0.0803N - 3.1923.
  • the correlation coefficient is 0.9866.
  • the regression line for the average time (in seconds), as a function of N, is log(T) w 0.0574N - 1.6850.
  • the correlation coefficient is 0.9978.
  • Table 5 gives the time required to produce an /' with the property that f ⁇ f mod q for all a € S and
  • the regression line for the average time (in seconds), as a function of N, is log(T) « 0.0487N - 3.9606.
  • the correlation coefficient is 0.9876.
  • Ay 3 ' denotes the expected value of g,g * ⁇ g,g j ). The average of h ⁇ h) will approach this limit as the cross terms of the product will have expected value zero.
  • a cheating verifier can pass specially constructed challenges with given expected values to Pearl and extract information from the responses as outlined above. (For example, choosing challenges equal to 0, or those where ci has roots consistently in specific places.) In this scheme, however, a challenge c 0 is hashed with the commitment. This seems to eliminate any chance of a cheating verifier obtaining an advantage.
  • the private key can be stored as, or generated from, any random string of 80 bits, as long as a non-linear uniform mapping is provided into the space Cf.
  • the number of bits in the response is an upper bound, based on the fact that most coefficients of ft will have a rather small absolute value and hence can be recorded using 5,6 or 7 bits. On average, one finds that with these parameter choices, about 34% of the coefficients can be recorded with 5 bits, 29.14% with 6 bits, 29.64% with 7 bits.
  • the length of a digital signature attached to a message will be the total number of bits transmitted as recorded below, minus the 80 bits required for the challenge. This is because, as usual when constructing a digital signature, the message is hashed with the commitment to produce the challenge. The signature is then the commitment, followed by the response.
  • Vinnie checks that the quadratic condition is fulfilled, he need only do this for a randomly chosen subset of 80 values in S. It will probably be most efficient for Vinnie to use a precomputed table of quadratic residues mod q, but if space is at a premium, then quadratic reciprocity could be used for this test.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

A method and system is disclosed for performing user identification, digital signatures and other secure communication functions based on ring homomorphisms (220). In one embodiment, a secure user identification technique is disclosed in which one of the system users, referred to as a Prover, randomly selects an element g from the set Rg. The Prover (230) evaluates the homomorphism O(g) (220) to another user referred to as the Verifier. The Verifier randomly selects a challenge element c from the set Rc. The Verifier transmits c to the Prover (230). The Prover (230) generates a response element h using the private key f and the elements c and g. The element h may be generated in the form g*(f+c*g) using addition + and multiplication * in the ring R; or more generally by choosing a set of elements gi, receiving a set of challenge elements ci, creating modified challenge elements dj from the challenge elements ci, transmitting the modified challenge elements di to the Verifier, and generating the response element h as a polynomial function of the secret key f and the selected elements gi, ci, and dj. The Verifier checks that the element h is in the set Rh. The Verifier also evaluates the homomorphism O (220) at the element h and compares the result O(h) to a function of O(g), O(c), and the public key O(f) (240) of the power.

Description

SECURE USER IDENTIFICATION BASED ON RING HOMOMORPHISMS
FIELD OF THE INVENTION
The present invention relates generally to secure communication and document identification over computer networks or other types of communication systems and, more particularly, to secure user identification and digital signature techniques based on ring homomorphisms. The invention also has application to communication between a card, such as a "smart card", or other media, and a user terminal.
BACKGROUND OF THE INVENTION
User identification techniques provide data security in a computer network or other communications system by allowing a given user to prove its identity to one or more other system users before communicating with those users. The other system users are thereby assured that they are in fact communicating with the given user. The users may represent individual computers or other types of terminals in the system. A typical user identification process of the challenge-response type is initiated when one system user, referred to as the Prover, sends certain information in the form of a commitment to another system user, referred to as the Verifier. Upon receipt of the commitment, the verifier sends a challenge to the Prover. The Prover uses the commitment, the challenge, and its private key to generate a response, which is sent to the Verifier. The Verifier uses the commitment, the response and a public key to verify that the response was generated by a legitimate prover. The information passed between the Prover and the Verifier is generated in accordance with cryptographic techniques which insure that eavesdroppers or other attackers cannot interfere with or forge the identification process. It is well known that a challenge-response user identification technique can be converted to a digital signature technique by the Prover utilizing a one-way hash function to simulate a challenge from a Verifier. In such a digital signature technique, a Prover generates a commitment and applies the one-way hash function to it and a message to generate the simulated challenge. The Prover then utilizes the simulated challenge, the commitment and a private key to generate a digital signature, which is sent along with the message to the Verifier. The Verifier applies the same one-way hash function to the commitment and the message to recover the simulated challenge and uses the challenge, the commitment, and a public key to validate the digital signature.
One type of user identification technique relies on the one-way property of the exponentiation function in the multiplicative group of a finite field or in the group of points on an elliptic curve defined over a finite field. This technique is described in U.S. Patent No. 4,995,082 and in C.P. Schnorr, "Efficient Identification and Signatures for Smart Cards," in G. Brassard, ed., Advances in Cryptology - Crypto '89, Lecture Notes in Computer Science 435, Springer- Verlag, 1990, pp. 239-252. This technique involves the Prover exponentiating a fixed base element g of the group to some randomly selected power k and sending it to the verifier. An instance of the Schnorr technique uses two prime numbers p and q chosen at random such that q divides p-1, and a number g of order q modulo p is selected. The numbers p, q, and g are made available to all users. The private key of the Prover is x modulo q and the public key y of the Prover is g~x modulo p. The Prover initiates the identification process by selecting a random non-zero number z modulo q. The Prover computes the quantity gz modulo p and sends it as a commitment to the Verifier. The Verifies selects a random number w from the set of integers {1,2,.. ,,21} where t is a security number which depends on the application and in the above-cited article is selected as 72. The Verifier sends w as a challenge to the Prover. The Prover computes a quantity u that is equal to the quantity z+xw modulo q as a response and sends it to the Verifier. The Verifier accepts the Prover as securely identified if gz is found to be congruent modulo p to the quantity guyz. Another type of user identification technique relies on the difficulty of factoring a product of two large prime numbers. A user identification technique of this type is described in L.C. Guillou and J.J. Quisquater, "A Practical Zero-Knowledge Protocol Fitted to Security Microprocessor Minimizing Both Transmission and Memory," in C.G. Gunther, Ed. Advances in Cryptology - Eurocrypt '88, Lecture Notes in Computer Science 330, Springer- Verlag, 1988, pp. 123-128. This technique involves a Prover raising a randomly selected argument g to a power b modulo n and sending it to a Verifier. An instance of the Guillou- Quisquater technique uses two prime numbers p and q selected at random, a number n generated as the product of p and q, and a large prime number b also selected at random. The numbers n and b are made available to all users. The private key of the Prover is x modulo n and the public key y of the Prover is x"b modulo n. The Prover initiates the identification process by randomly selecting the number g from the set of non-zero numbers modulo n. The Prover computes the quantity gb modulo n and sends it as a commitment to the Verifier. The Verifier randomly selects a number c from the set of non-zero numbers modulo b and sends c as a challenge to the Prover. The Prover computes the number h that is equal to the quantity gxc modulo n as a response and sends it to the Verifier. The Verifier accepts the Prover as securely identified if gb is found to be congruent modulo n to h yc.
Although the above-described Schnorr and Guillou-Quisquater techniques can provide acceptable performance in many applications, there is a need for an improved technique which can provide greater computational efficiency than these and other prior art techniques, and which relies for security on features other than discrete logarithms and integer factorization.
SUMMARY OF THE INVENTION
The present invention provides a method, system and apparatus for performing user identification, digital signatures and other secure communication functions based on ring homomorphisms. The ring homomorphism in accordance with the invention may utilize two rings R and B, a ring homomorphism ø:R-> B, and four subsets Rf, Rg, Rι„ and R. of R. One element fin the set f serves as a private key for a given user. The result ø(f) of evaluating the homomorphism ø at the element f serves as the public key of the given user.
Copending U.S. Patent Application Serial No. 08/954,712, filed October 20, 1997, and assigned, in joint ownership, to the same assignee as the present Application, discloses a user identification technique and digital signature technique based on partial evaluation of constrained polynomials over a finite field, and describes use of a response signal (such as in a commitment/challenge/response type of technique) that is generated by computing a polynomial as the product of a commitment polynomial with the sum of a private key and a challenge polynomial. The techniques hereof provide substantial improvements in computational efficiencies and lowering of processing requirements at equivalent security levels.
In accordance with one aspect of the invention, a secure user identification technique is provided in which one of the system users, referred to as a Prover, randomly selects an element g from the set Rg. The Prover evaluates the homomorphism ø at the element g and transmits the result ø(g) to another user referred to as the Verifier. The Verifier randomly selects a challenge element c from the set Re. The Verifier transmits c to the Prover. The Prover generates a response element h using the private key f and the elements c and g. The element h may be generated in the form g*(f+c*g) using addition + and multiplication * in the ring R; or more generally by choosing a set of elements gi, receiving a set of challenge elements c;, creating modified challenge elements d; from the challenge elements c;, transmitting the modified challenge elements d; to the Verifier, and generating the response element h as a polynomial function of the secret key f and the selected elements g;, Cj, and d;. The Verifier checks that the element h is in the set Ri,. The Verifier also evaluates the homomorphism ø at the element h and compares the result ø(h) to a function of ø(g), ø(c), and the public key ø(f) of the Prover. For example, if the element h is generated in the form g*(f+c*g), then the verifier may check if the value ø(h) is equal to the value 0(g)*(ø(f)+ø(c)*ø(g)) using addition + and multiplication * in the ring B. If the element h is in the set Rh and if the comparison of ø(h) to the function of ø(g), ø(c), and the public key ø(f) is correct, then the Verifier accepts the identity of the Prover. The Verifier may use the above-noted comparison for secure identification of the Prover, for authentication of data transmitted by the Prover, or for other secure communication functions.
In accordance with another aspect of the invention, a secure user identification technique is provided in which one of the system users, referred to as a Verifier, randomly selects a challenge element c from the set Re. The Verifier transmits c to another user referred to as the Prover. The Prover randomly chooses an element g from the set Rg and generates a response element h using the private key f and the elements c and g. The element h may be generated in the form g*(f+c*g) using addition + and multiplication * in the ring R; or more generally by generating the response element h as a polynomial function P(f,c,g) of the secret key f and the selected elements g and c. The Verifier checks that the element h is in the set Rh. The Verifier also evaluates the homomorphism ø at the element h and verifies that the polynomial equation P(ø(f),ø(c),X)-ø(h)=0 has a solution X in the ring B. For example, if the element h is generated in the form g*(f+c*g), then the verifier may check if the polynomial ø(c)X2+ø(f)X-ø(h) =0 has a solution in B by checking if the element ø(f)2+4ø(c)ø(h) is the square of an element in B. If the element h is in the set Rh and if the polynomial equation P(ø(f),ø(c),X)-ø(h)=0 has a solution X in the ring B, then the Verifier accepts the identity of the Prover. The Verifier may use the above-noted comparison for secure identification of the Prover, for authentication of data transmitted by the Prover, or for other secure communication functions.
In accordance with another aspect of the invention, a digital signature technique is provided. A Prover randomly selects an element g from the set Rg. The Prover then computes ø(g) and applies a hash function to the element ø(g) and a message m to generate a challenge element c=Hash(ø(g),m) in the set Re. The Prover utilizes g, c, and the private key f to generate an element h. The element h may be generated in the form g*(f+c*g) using addition + and multiplication * in the ring R, or more generally by choosing a set of polynomials g;, generating a corresponding set of elements using the hash function, and generating the response element h as a polynomial function h=P(f,c;,gi). The Prover than transmits m, ø(g) and h to the Verifier. The Verifier checks that the element h is in the set Rh. The Verifier computes c=Hash(ø(g),m), evaluates ø(c) and ø(h), and compares the values of ø(g), ø(c), and ø(h) with the public key ø(f) of the Prover. For example, if the element h is generated in the form g*(f c*g), then the verifier may check if the value ø(h) is equal to the value ø(g)*(ø(f)+ø(c)*ø(g)) using addition + and multiplication * in the ring B. If the element h is in the set Rh and if the comparison of ø(h) to the function of ø(g), ø(c), and the public key ø(f) is correct, then the Verifier accepts the signature of the Prover on the message m.
In accordance with another aspect of the invention, a digital signature technique is provided. A Prover randomly selects an element g from the set Rg. The Prover then applies a hash function to a message m to generate a challenge element c=Ηash(m) in the set e. The Prover utilizes g, c, and the private key f to generate an element h. The element h may be generated in the form g*(f+c*g) using addition + and multiplication * in the ring R; or more generally by generating the response element h as a polynomial function P(f,c,g) of the secret key f and the selected elements g and c. The Prover than transmits m and h to the Verifier. The Verifier checks that the element h is in the set R . The Verifier computes c=Hash(m), evaluates ø(c) and ø(h), and verifies that the polynomial equation ø(P)(ø(f),ø(c),X)-ø(h)=0 has a solution X in the ring B, where ø(P) is the polynomial P with the homomorphism ø applied to its coefficients. For example, if the element h is generated in the form g*(f+c*g), then the verifier may check if the polynomial ø(c)X2+ø(f)X-ø(h)=0 has a solution in B by checking if the element ø(f)2+4ø(c)ø(h) is the square of an element in B. If the element h is in the set Rh and if the polynomial equation ø(P)(ø(f),ø(c),X)-ø(h):=:0 has a solution X in the ring B, then the Verifier accepts the signature of the Prover on the message m.
The present invention provides a method, system and apparatus for performing user identification, digital signatures and other secure communication functions based more particularly on ring homomorphisms given by partial evaluation of constrained polynomials over a finite field. The ring R in accordance with the invention may utilize polynomials of degree less than N with coefficients in the field Fq of q elements, where N divides q-1 and q is a power of a prime number. An exemplary predetermined condition on the subsets Rf, Rg and Re of R may specify that the coefficients are chosen from a predetermined set of values such as, for example, the values 0, 1 , and -1 in the field Fq, and an exemplary predetermined condition on the subset Ri, may specify that the coefficients are small, as for example the number q is a prime number, the coefficients of h are chosen between -q/2 and q/2, and the sum of the squares of the coefficients of h is smaller than q2. A number of other conditions on the subsets Rf, Rg and Re may be used in conjunction with or in place of these exemplary conditions. The partial evaluation ring homomorphism in accordance with the invention may consist of a ring B=Fq s and a set of elements aι,...,as in a public subset S of Fq and a homomorphism ø:R- B corresponding to evaluation of a polynomial at the values in S according to the formula ø(p(X))=(p(aι),p(a2),...,p(as)). An exemplary condition on the ring R may specify that R is the ring of polynomials modulo the relation XN-1 and an exemplary condition on the set of elements S may specify that each element a,- in the set S satisfies the formula aiN=l. A number of other conditions on the ring R and on the set S may be used in conjunction with or in place of these exemplary conditions.
The use of ring homomorphisms, and more particularly ring homomorphisms given by partial evaluation of constrained polynomials over a finite field, in accordance with the invention provides user identification and digital signature techniques which are computationally more efficient than prior art techniques. The security of the techniques of the present invention depend on the fact that recovering an element of a ring from its value by a homomorphism, and more particularly recovering a polynomial from its partial evaluation, can, in certain circumstances, be a particularly difficult task.
Further features and advantages of the invention will become more readily apparent from the following detailed description when taken in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a block diagram of a type of system that can be used in practicing embodiments of the invention, for example when the processors thereof are suitably programmed in accordance with the flow diagrams hereof.
Figure 2 is a flow diagram which illustrates a key creation technique in accordance with an exemplary embodiment of the present invention.
Figure 3 is a flow diagram which illustrates a user identification technique in accordance with an exemplary embodiment of the present invention.
Figure 4 is a flow diagram which illustrates a further user identification technique in accordance with another exemplary embodiment of the present invention.
Figure 5 is a flow diagram which illustrates a digital signature technique in accordance with an exemplary embodiment of the present invention.
Figure 6 is a flow diagram which illustrates a further digital signature technique in accordance with another exemplary embodiment of the present invention.
DETAILED DESCRIPTION
Figure 1 is a block diagram of a system that can be used in practicing embodiments of the invention. A number of processor-based subsystems, represented at 105, 155, 185, and 195, are shown as being in communication over an insecure channel or network 50, which may be, for example, any wired, optical, and/or wireless communication channel such as a telephone or internet communication channel or network. The subsystem 105 includes processor 110 and the subsystem 155 includes processor 160. When programmed in the manner to be described, the processors 110 and 160 and their associated circuits can be used to practice embodiments of the invention. The processors 110 and 160 may each be any suitable processor, for example an electronic digital processor or microprocessor. It will be understood that any general purpose or special purpose processor, or other machine or circuitry that can perform the functions described herein, electronically, optically, or by other means, can be utilized. The processors may be, for example, Intel Pentium processors. The subsystem 105 may typically include memories 123, clock and timing circuitry 121, input/output functions 118, and monitor 125, which may all be of conventional types. Inputs can include a keyboard input as represented at 103 and any other suitable input. Communication is via transceiver 135, which may comprise a modem, high speed coupler, or any suitable device for communicating signals. The subsystem 155 in this illustrative system can have a similar configuration to that of subsystem 105. The processor 160 has associated input/output circuitry 164, memories 168, clock and timing circuitry 173, and a monitor 176. Inputs include a keyboard 163 and any other suitable input. Communication of subsystem 155 with the outside world is via transceiver 162 which, again, may comprise a modem, high speed coupler, or any suitable device for communicating signals. As represented in the subsystem 155, a terminal 181 can be provided for receiving a smart card 182 or other media. A "user" can also be a person's or entity's "smart card", the card and its owner typically communicating with a terminal in which the card is inserted. The terminal can be an intelligent terminal, or can communicate with an intelligent terminal. It will be understood that the processing and communications media that are described are exemplary, and that the invention can have application in many other settings. The blocks 185 and 195 represent further subsystems on the channel or network.
The present invention will be illustrated below in conjunction with exemplary user identification and digital signature techniques carried out by a Prover and a Verifier in a communication network such as that of Figure 1 in which, for example, for a particular communication or transaction, any of the subsystems can serve either role. It should be understood, however, that the present invention is not limited to any particular type of application. For example, the invention may be applied to a variety of other user and data authentication applications. The term "user" may refer to both a user terminal as well as an individual using that terminal, and, as indicated above, the terminal maybe any type of computer or other digital data processor suitable for directing data communication operations. The term "Prover" as used herein is intended to include any user which initiates an identification, digital signature or other secure communication process. The term "Verifier" is intended to include any user which makes a determination as to whether a particular communication is legitimate. The term "user identification" is intended to include identification techniques of the challenge-response type as well as other types of identification, authentication and verification techniques.
The user identification and digital signature techniques in accordance with the present invention are based on evaluation of ring homomorphisms. An exemplary embodiment of the present invention is based on the partial evaluation homomorphism of constrained polynomials over a finite field. An exemplary finite field Fq=Z/qZ is defined for a prime number q. An exemplary ring R=Fq[X]/(XC|~1~l) is a ring of polynomials with coefficients in the finite field Fq modulo the ideal generated by the polynomial Xq~x-1. An exemplary homomorphism ø:R- Fq s is a homomorphism ø(f(X))=(f(aι), ... ,f(at)) for an ordered set S={aι,...,at} of non-zero integers modulo q. An additional exemplary condition is that if a is in S, then a-1 is also in S. With suitable restrictions on f(X) and a suitable choice of set S, it is infeasible to recover f(X) when given only ø(f(X)). As will be described in greater detail below, this provides a one-way function which is particularly well-suited to use in implementing efficient user identification and digital signatures.
The identification and digital signature techniques make use of the multiplication rule in the ring R. Given a polynomial
Figure imgf000013_0001
in R and a polynomial B(X)=Bo+B1X+...+Bq_2Xq"2 in R, an exemplary product may be given by:
C(X)=A(X)B(X)=C0+CiX+...+Cq.2Xq-2 where Co,. • .,Cq.2 are given by:
Ci=A0Bi+AιBi_ι+...+AiBo+Ai+ιBq-2+Ai,2Bq_3+.. ,+Aq_2Bi+ι (modulo q). All reference to multiplication of polynomials in the remaining description should be understood to refer to the above-described exemplary multiplication in R. It should also be noted that the above-described multiplication rule is not a requirement of the invention, and alternative embodiments may use other types of multiplication rules.
An exemplary set of constrained polynomials Rf is the set of polynomials in R with bounded coefficients. Given the prime number q and the polynomial f(X), it is relatively easy to generate ø(f)=(f(a1),...,f(at)). However, appropriately selected restrictions on the polynomials in R can make it extremely difficult to invert this function to determine a polynomial F(X) in Rf such that ø(F)=ø(f). The difficulty of the inversion is generally dependent on the type of restrictions placed on the polynomials in Rf. For example, if easily satisfied restrictions are placed on the polynomials, basic interpolation techniques could be used to find some polynomial F(X) in Rf such that ø(F)=ø(f). It will be shown in greater detail below that establishing appropriate restrictions on the polynomials in Rf can provide adequate levels of security.
An exemplary identification technique in accordance with the invention uses a number of system parameters which are established by a central authority and made public to all users. These system parameters include the above-noted prime number q and set S={aι, ... ,at} oft non-zero elements of the finite field Fq and appropriate sets of bounded coefficient polynomials Rf,Rg,Rc. Figure. 2 illustrates the creation of a public/private key pair. After establishment of parameters (block 220) a Prover randomly chooses a secret polynomial f(X) in Rf as its private key (block 230). The public key of the Prover is then generated as ø(f)=(f(aι),...,f(at)) which represents the ordered evaluation of the secret polynomial f(X) at the t elements of S, and the public key can be published (block 240).
Figure 3 illustrates an exemplary identification process. The identification process is initiated in the Commitment Phase (block 310) by the Prover generating a polynomial g(X) with bounded coefficients. The polynomial g(X) may be selected at random from a set Rg that is restricted in a manner to be described below. The Prover uses the polynomial g(X) and the public set of values S={aι,...,at} to compute a commitment
Figure imgf000014_0001
, ,g(at)) and sends the commitment to the Verifier.
The Verifier initiates the Challenge Phase (block 330) by generating a challenge polynomial c(X) with bounded coefficients and sending it to the Prover. The polynomial c(X) may be generated by random selection from a set of polynomials Rc that is restricted in a manner to be described below. The Prover initiates the Response Phase (block 350) by verifying that the challenge polynomial c(X) is in the restricted set of polynomials Re and then using the polynomials c(X),g(X) and the secret polynomial f(X) to generate the response polynomial h(X) given by h(X) = g(X)(f X)+c(X)g(X)) and sending the response polynomial h(X) to the Verifier. The Verifier initiates the Verification Phase (block 360) by using its knowledge of ø(g), c(X), and the public key ø(f) to check that the response polynomial h(X) was generated using the private key f(X) of the Prover by comparing: h(a;) to g(ai)(f(ai)+c(a g(ai)) for i=l,2,...,t. This check may be expressed as comparing whether ø(h) is equal to ø(g)(ø(f)+ø(c)ø(g)). The Verifier in the Verification Phase also checks whether or not the coefficients of h(X) are appropriately bounded, given that a legitimate h(X) will have bounded coefficients and will belong to a restricted set Rh of polynomials. The restrictions on the set R depend on the choice of the above noted sets Rf,Rg and Rc. The Verifier accepts the Prover as legitimate if the response polynomial h(X) transmitted by the Prover passes the checks of steps (A) and (B) of the Verification Phase. The Verifier may perform a number of other checks as part of the identification process. For example, prior to performing steps (A) and (B) of the Verification Phase, the Verifier may check that g(l), provided by the Prover as an element of the commitment ø(g), has a particular expected value.
A first exemplary set of system parameters suitable for use with the above-described identification technique will now be described. It should be emphasized that these and other exemplary parameters described herein are illustrative only and that numerous alternative sets of parameters could also be used. In the first exemplary set of parameters, the prime number q is selected as 769, and the set S includes t=384 non-zero integers modulo q. The set S is constructed such that if a is an element of S, then a-1 is also an element of S. It should be noted that a given implementation may utilize only a subset of the t elements of S. The set Rf is the set of all polynomials f(X) of degree less than 768 constructed with 51 coefficients of value 1, with 51 coefficients of value -1, and all other coefficients set to zero. The set Rg is the set of all polynomials g(X) of degree less than 768 constructed with 51 coefficients of value 1, with 51 coefficients of value -1, and all other coefficients set to zero. The set Rc is the set of all polynomials c(X) of degree less than 768 constructed with 5 coefficients of value 1, with 5 coefficients of value -1, and all other coefficients set to zero. Finally, the set Rh is the set of polynomials
Figure imgf000015_0001
of degree less than 768 whose coefficients are between -384 and 384 and which satisfy the inequality
Figure imgf000015_0002
591361. The user identification technique described in conjunction with Figure 3 above is then implemented using polynomials selected from the sets Rf,Rg,Rc
Alternative embodiments of the invention may utilize several private key polynomials fi,...,f„, several commitment polynomials g];...,gr and several challenge polynomials Ci,...,cs and may fiirther utilize other functions of the key polynomials, commitment polynomials, and challenge polynomials to generate several response polynomials hl5...,hu. For example, hi, could be generated as the value hi = Pj(fι, ... ,fn, g] , ... ,gr, ci, ... ,cs) for polynomials Pi(Uι, ... ,Un,Nι, ... , Vr,Wι, ... ,WB) with coefficients in R. The Verification Phase then consists of the two verification steps: (A) verify that h is in the set Rh; and (B) verify that the value ø(h;) is equal to the value ø(Pi)(ø(fι), ... ,ø(fn),ø(gt), • • • ,0(gr),0(ci), ... ,0(cs)) for i=l ,2, ... ,u, where ø(Pi) is the polynomial Pi with the homomorphism ø applied to its coefficients.
A second exemplary identification technique in accordance with the invention uses the same systems parameters and public/private key pairs as described above. Figure 4 illustrates the second exemplary identification process. The identification process is initiated in the Challenge Phase (block 430) by the Verifier generating a challenge polynomial c(X) with bounded coefficients and sending it to the Prover. The polynomial c(X) may be generated by random selection from a set of polynomials Re as described above. The Prover initiates the Response Phase (block 450) by verifying that the challenge polynomial c(X) is in the restricted set of polynomials Rc and then generating a polynomial g(X) with bounded coefficients, where the polynomial g(X) may be selected at random from a set Rg as described above. The Prover uses the polynomials c(X),g(X) and the secret polynomial f(X) to generate the response polynomial h(X) given by h(X) = g(X)(f(X)+c(X)g(X)) and sending the response polynomial h(X) to the Verifier. The Verifier initiates the Verification Phase (block 460) by using its knowledge of c(X), and the public key ø(f) to check that the response polynomial h(X) was generated using the private key f(X) of the Prover by verifying that: f(ai)2+4c(a h(a;) equals a square modulo q for i=l,2,...,t. This check my be expressed as verifying that ø(f)2+4ø(c)ø(h) is equal to a square in the ring B. The Verifier in the Verification Phase also checks whether or not the coefficients of h(X) are appropriately bounded, given that a legitimate h(X) will have bounded coefficients and will belong to a restricted set Ri, of polynomials. The restrictions on the set Rh depend on the choice of the above noted sets Rf,Rg and Rc. The Verifier accepts the Prover as legitimate if the response polynomial h(X) transmitted by the Prover passes the checks of steps (A) and (B) of the Verification Phase.
A second exemplary set of system parameters suitable for use with the above- described identification technique will now be described. In the second exemplary set of parameters, the prime number q is selected as 641, and the set S includes t=320 non-zero integers modulo q. The set S is constructed such that if a is an element of S, then a""1 is also an element of S. It should be noted that a given implementation may utilize only a subset of the t elements of S. The set Rf is the set of all polynomials f(X) of degree less than 640 constructed with 214 coefficients of value 1, with 214 coefficients of value -1, and all other coefficients set to zero. The set Rg is the set of all polynomials g(X) of degree less than 640 constructed with 43 coefficients of value 1, with 43 coefficients of value -1, and all other coefficients set to zero. The set Rc is the set of all polynomials c(X) of degree less than 640 constructed with 5 coefficients of value 1, with 5 coefficients of value -1, and all other coefficients set to zero. Finally, the set R is the set of polynomials h(X)=ho+h1X+...+h767X7δ7 of degree less than 640 whose coefficients are between -320 and 320 and which satisfy the inequality h0 +hι2+.. +h767 2<6412= 410881. The user identification technique described in conjunction with Figure 4 above is then implemented using polynomials selected from the sets Rf,Rg,Rc and Rh.
Figure 5 illustrates the operation of an exemplary digital signature technique implemented using the above-described ring homomorphism method. In a digital signature technique, the Prover generates a simulated challenge polynomial by applying a one-way hash function to a message m and a commitment ø(g). The one-way hash function is also available to the Verifier and will be used to validate the digital signature. As shown in Figure 5, in the Message and Commitment Phase (block 505), the Prover generates a polynomial g(X) in the set Rg as previously described and uses g(X) to generate the commitment ø(g). The Prover also selects a message m to be signed. In the Challenge Phase (block 530) the Prover computes a challenge polynomial c(X) by applying a hash function Hash(v) such that c(X) is generated as Hash(m,ø(g)). The message m and commitment ø(g) are suitably formatted as an input to the function Hash(v) and the output c(X) of Hash(v) maps uniformly onto the set Re. In the Digital Signature Phase (block 545) the Prover computes a response polynomial as in the above-described user identification embodiments. For example, h(X) may be computed as g(X)(f(X)+c(X)g(X)). The Prover then sends the message m to the Verifier, along with the pair (ø(g),h(X)) as a digital signature on the message m. In the Verification Phase of (block 560), the Verifier uses the one-way hash function to compute c(X)=Hash(m,ø(g)). The Verifier accepts the signature as valid if h(X) is within in the set Rh and if ø(h) is equal to ø(g)(ø(f)+ø(c)ø(g)). As in the identification embodiments, alternative embodiments may use several private keys, several commitments, several challenges, and different functions to generate the response.
Figure 6 illustrates the operation of a second exemplary digital signature technique implemented using the above-described ring homomorphism method. In a digital signature technique, the Prover generates a simulated challenge polynomial by applying a one-way hash function to a message m. The one-way hash function is also available to the Verifier and will be used to validate the digital signature. As shown in the Message Phase (block 610), the Prover selects a message m to be signed. In the Challenge Phase (block 630), the Prover computes a challenge polynomial c(X) by applying a hash function Hash(») such that c(X) is generated as Hash(m). The message m is suitably formatted as an input to the function Hash(») and the output c(X) of Hash(«) maps uniformly onto the set Rc. In the Digital Signature Phase (block 654), the Prover randomly selects a polynomial g(X) from the set Rg and computes a response polynomial as in the above-described user identification embodiments. For example, h(X) may be computed as g(X)(f(X)+c(X)g(X)). The Prover then sends the message m to the Verifier, along with the polynomial h(X) as a digital signature on the message m. In the Verification Phase (block 660), the Verifier uses the oneway hash function to compute c(X)=Hash(m). The Verifier accepts the signature as valid if h(X) is within in the set Rh and if the quantity ø(f)2+4ø(c)ø(h) is a square in B. As in the identification embodiments, alternative embodiments may use several private keys, several commitments, several challenges, and different functions to generate the response. Examples of operation of embodiments hereof will be provided below using very small numbers. These examples are not cryptographically secure and are meant only to illustrate the process. For further detail, see Appendix I (published as J. Hofffstem, D. Lieman, J.H. Silverman, Polynomial Rings and Effect Public Key Authentication, in Proceeding of the International Workshop on Cryptographic Techniques and E-Commerce (CrypTEC '99),Hong Kong, (M. Blum and C.H. Lee, eds.), City University of Hong Kong Press) and Appendix II (J. Hoffstein, J.H. Slverman, Polynomial Rings and Efficient Public Key Authentication II, CCNT '99 Proceedings, to appear.) The technique is called "PASS" (for Polynomial Authentication And Signature Scheme), and has a variation called PASS2.
The numbers used by PASS are integers modulo q. This means that each integer is divided by q and replaced by its remainder. For example, if q=7, then the number 39 would be replaced by 4, since
39 divided by 7 equals 5 with a remainder of 4.
The objects used by PASS are polynomials of degree N-l
a0 + aix + a2x2 + ... + aN-ι N \
where the coefficients ao, ... ,aN-ι are integers modulo q. (It is sometimes more convenient to represent a polynomial by an N-tuple of numbers [a ,aι,...,aN-ι]. In this situation the star product becomes a convolution product. Convolution products can be computed very efficiently using Fast Fourier Transforms.) PASS uses a special kind of multiplication where xN is replaced by 1, and xN+1 is replaced by x, and xN+2 is replaced by x2, and so on (In mathematical terms, this version of PASS uses the ring of polynomials with mod q coefficients modulo the ideal consisting of all multiples of the polynomial xN-l. More generally, one could use polynomials modulo a different ideal; and even more generally, one could use some other ring. The basic definitions and properties of rings and ideals can be found, for example, in Topics in Algebra, I.N. Herstein, Xerox College Publishing, Lexington, MA, 2nd edition, 1975.) A* will be used to indicate this special polynomial multiplication. Here is a sample multiplication using N=6:
(5+χ+2x +x4+3x5)*(3+x +2x3+4x4+x5)
- 15+3x+5x2+l 7x3+25x4+20x5+6x6+l 3x7+l 2x8+ 13x9+3x10
(use the rule x6=l, x7=x, x8=x2, x9=x3, x10=x4) = 21+16x+l 7x2+30x +28x4+20x5
(reduce the coefficients modulo 7) = 2x+3x2+2x3+6x5
Polynomials whose coefficients consist entirely of O's and 1 's play a special role in PASS. (In some versions, one also allows coefficients to equal -I.) These polynomials with only O's and l 's as coefficients are called binary polynomials. For example,
1 + x2 + x3 + x5 is a binary polynomial. In practice one may also want to specify how many l's are allowed.
The PASS2 authentication scheme is next described, using a small numerical example. PASS2 Parameters The first step is to choose a prime number q and to take N=q-1. For this example, take q=7 and N=6. One also needs to choose a set S consisting of half of the numbers between 1 and q-1, so for our example, half of the numbers between 1 and 6. Take the set
S = { 2, 4, 6 }.
(There is one other condition on the set S. This condition says that if b is in S, then S must also contain the number c that satisfies the equation be = 1 (modulo q). In our example, 2*4 = 1 (modulo 7) and 6*6 = 1 (modulo 7), so the set S={2,4,6} has the required property.) Finally, one needs to specify two numbers Ah and Bh that will be used in the verification process. For this example, take
A, = 5 and Bh = 22. PASS2 Key Creation The key creator Bob chooses a binary polynomial f(x) of degree less than N. This means that f(x) has only O's and 1 's as its coefficients. For example, Bob might choose the polynomial f(x) = 1 + x2 + x3 + x5. The polynomial f(x) is his private key, so he must keep it secret.
Next Bob computes the values of f(x) modulo q for the numbers in S. In this example the set S is S = { 2, 4, 6 }, so Bob computes f(2) = 1+4+8+32 - 45 = 3 (modulo 7) f(4) = 1+16+64+1024 = 1105 = 6 (modulo 7) f(6) = 1+36+216+7776 = 8029 = 0 (modulo 7). This set of values f(S) = { 3, 6, 0 } is Bob's public key. He publishes it so that people can use it to verify his identity.
PASS2 Commitment Step
The first step in the PASS2 authentication process is for Bob to make a Commitment and send it to Alice. He does this by choosing a binary polynomial gι(x) and computing the set of values gι(S), in much the same way that he chose f(x) and computed the values of f(x). He keeps the polynomial gι(x) secret, but he sends the set of values gt(S) to Alice as his Commitment.
For our example we will suppose that Bob chooses the polynomial gι(x) = x + x3 + x4 + x5. He computes the values gι(2) = 58 = 2 (modulo 7) gι(4) = 1348 = 4 (modulo 7) gι(6) = 9294 = 5 (modulo 7) and sends the set of values
Figure imgf000022_0001
to Alice as his Commitment.
PASS2 Challenge Step
The second step in the PASS2 authentication process is for Alice to send a Challenge to Bob. Alice's challenge consists of two binary polynomials Cι(x) and c2(x), possibly satisfying some additional conditions. (The principal extra condition is that the polynomials cχ(x) should not vanish modulo q for all nonzero values of x not in the set S. In this example, we have Cι(x) = x5+x and the values of Ct(x) at nonzero numbers not in S are Cι(l)=2 (modulo 7), Cι(3)=4 (modulo 7), and ct(5)=2 (modulo 7).) For our example we suppose that Alice chooses the polynomials cι(x) = x3 + x5 and c2(x) = x + x2.
Alice sends the two challenge polynomials ci and c2 to Bob.
PASS2 Response Step
The third step in the PASS2 authentication process is for Bob to use his private key f(x), his commitment polynomial gι(x), and Alice's challenge polynomials cχ(x) and c2(x) to create his Response. He does this by choosing another binary polynomial g2(x) and computing the polynomial h(x) = ( f(x) + Cl(x)*gι(x) + c2(x)*g2(x) ) * g2(x). Note that this computation is done using star multiplication (i.e., with xN=l) and that the coefficients are always computed modulo q. Bob sends the polynomial h(x) to Alice as his Response. He does not reveal the polynomial g (x), and indeed he may discard it as soon as he has computed h(x).
Suppose that in our example Bob chooses the polynomial
&(x) = 1 + x + x5. Then h(x) = ( (l+x2+x3+x5) + (x3+x5)*( x+x +x4+x5) + (x+x2)*(l+x+x5) ) * (1+x+x5) = 1 + 5x + 4x2 + 3x3 + 6x4 (modulo 7, with the rule x6=l).
PASS2 Verification Step
The fourth and final step in the PASS2 authentication process is for Alice to use Bob's public key f(S), Bob's commitment g(S), and her challenge polynomials d(x) and c2(x) to verify that Bob's response is a valid response. This Verification consists of two parts.
[A] Recall that the PASS2 parameters included two numbers A and Bh. Alice writes the polynomial h(x) as ho+hιx+h2x2+...+hN.]xN"1 with coefficients ho,hl3... -ι taken modulo q and lying as close as possible to the number A,. She then computes the quantity
C = (ho-Ah)2 + (hj-A,,)2 + (h2-A„)2 + ... + (1IN-I-AH)2. She compares the number C to the number Bh. If C is smaller than B , then Bob's response passes the first test. If C is larger than Bι„ then Bob's response fails the first test.
[B] For each number b in the set S, Alice computes the number
( f(b) + cι(b)gι(b) )2 + 4c2(b)h(b) modulo q. (Note that Alice possesses enough information to compute this number, since she knows the polynomials C].(x), c2(x), and h(x) and she knows the values of f(b) and gt(b) for every number b in the set S.) Alice checks if this number is equal to the square of a number modulo q. If it is equal to a square modulo q for every number b in the set S, then Bob's response passes the second test. If it fails to be a square for even a single number in the set S, then Bob's response fails the second test.
In the present example, this works as follows. The example quantities are Ah = 5 and Bh = 22, and the response polynomial is h(x)=l+5x+4x2+3x3+6x4. For the first verification test, which is test [A], Alice writes h(x) using coefficients modulo 7 that are as close as possible to 5; in other words, she uses the numbers 2,3,4,5,6,7,8 as coefficients of h(x), which means she writes h(x) as h(x) = 8 + 5x + 4x2 + 3x3 + 6x4 + 7xs. Alice then computes
(8-5)2 + (5-5)2 + (4-5)2 + (3-5)2 + (6-5)2 + (7-5)2 = 19. This value is smaller than 22 (i.e., it is smaller than Bh), so Bob's response passes the first verification test.
For the second verification test, which is test [B], Alice uses the known quantities
{ f(2), f(4), f(6) } = { 4, 3, 0 }
{ gl(2), gl(4), gl(6) } = { 4, 2, 4 } cι(x) = x3+x5, so { Cl(2), Cl(4), cι(6) } = { 2, 5, 4 } c2(x) = x+x2, so { c2(2), c2(4), 02(6) } = {2, 6, 5 } h(x) = l+5x+4x2+3x3+6x4, so { h(2), h(4), h(6) } = (5, 0, 3 } These values let her compute
( f(2) + cι(2)gχ(2) f + 4c2(2)h(2) = 2 (modulo 7)
( f(4) + cι(4)gl(4) f + 4c2(4)h(4) = 1 (modulo 7)
( f(6) + cι(6)gι(6) f + 4c2(6)h(6) = 1 (modulo 7) Each of these numbers is a square modulo 7, since
1 = 12 and 2 = 32 (modulo 7). (The numbers 0, 1, 2, and 4 are squares modulo 7, and the numbers 3, 5, and 6 are not squares modulo 7.) Bob's response passes the second verification test. Since it has now passed both tests [A] and [B], Alice accepts that Bob has proven his identity.
Any authentication scheme involving the steps of
Commitment/Challenge/Response/Verification can be turned into a digital signature scheme. The basic idea is to use a hash function (see below) to create the challenge from the commitment and the digital document to be signed. The steps that go into a PASS2 Digital Signature are as follows.
• PASS2 Key Creation (Digital Signature)
Same as for PASS2 Authentication: Bob creates his private key f(x) and his public key consisting of the partial set of values f(S).
• PASS2 Commitment Step (Digital Signature)
Same as for PASS2 Authentication: Bob chooses a polynomial gι(x) and computes the partial set of values gι(S) to serve as his commitment.
• PASS2 Challenge Step (Digital Signature)
Bob takes his commitment gι(S) and the digital document D that he wants to sign and runs them through a hash function H (see below) to produce challenge polynomials Cι(x) and c2(x).
• PASS2 Response Step (Digital Signature)
Same as for PASS2 Authentication: Bob uses his private key f(x), the polynomial gi(x),another polynomial g2(x), and the challenge polynomials cι(x) and c2(x) to compute the response polynomial h(x)=(f(x)+cι(x)*g](x)+c2(x)*g2(x))*g2(x). Bob publishes the D, gι(S), and h(x). The quantities g](S) and h(x) are his digital signature for the digital document D.
• PASS2 Verification Step (Digital Signature)
When Alice wants to check Bob's digital signature on the digital document D, she begins by running gχ(S) and D through the hash function H to reproduce the challenge polynomials Ci(x) and c2(x). She now has all of the information needed to verify that h(x) is a valid response for the public key f(S), the commitment gι(S), and the challenge cι(x) and c2(x). If h(x) is a valid response, she accepts Bob's signature on the document D.
Notice how Bob's signature is inextricably tied to the digital document D. If even one bit of D is changed or if one bit of the commitment gt(S) is changed, then the hash function will produce different challenge polynomials d(x) and c2(x), so the verification step will fail and the signature will be rejected. Hash functions, which are well known in the art, are used herein. The purpose of a hash function is to take an arbitrary amount of data as input and produce as output a small amount of data (typically between 80 and 160 bits) in such a way that it is very hard to predict from the input exactly what the output will be. For example, it should be extremely difficult to find two different sets of inputs that produce the exact same output. Hash functions are used for a variety of purposes in cryptography and other areas of computer science.
It is a nontrivial problem to construct good hash functions. Typical hash function such as SHAl and RD5 proceed by taking a chunk of the input, breaking it into pieces, and doing various simple logical operations (e.g., and, or, shift) with the pieces. This is generally done many times. For example, SHAl takes as input 512 bits of data, it does 80 rounds of breaking apart and recombining, and it returns 160 bits to the user. This process can be repeated for longer messages.
The PASS2 scheme described above is a variation of an earlier version of PASS. Both schemes have the same level of security, but the operating characteristics (key sizes, communication requirements, etc.) of PASS are not as good as those of PASS2. Next, PASS is demonstrated with a small numerical example, to illustrate the similarities and differences between the two systems. The fundamental similarity is that the security depends on the difficulty of reproducing a binary polynomial from a partial set of its values. • PASS Parameters
PASS and PASS2 use the same parameters q, N (withN=q-l), a set of numbers S, and two quantities Ah and Bh, although the actual values of these parameters may differ. Example: q = 7, N = 6, S = {2, 4, 6}, Ah = 5, Bh = 9. • PASS Key Creation
Bob chooses two binary polynomials fι(x) and f2(χ) as his private key. The partial sets of values fι(S) and f2(S) form his public key.
Example: fι(x) = x4 + 1 fi(S) = {f1(2),f1(4),f1(6)} = {3,5,2} f2(x) = x5 + x f2(S) = (f2(2),f2(4),f2(6)} = {6,6,5}
• PASS Commitment Step
Bob chooses two binary polynomials gι(x) and g2(x). He computes and sends to Alice the partial sets of values gχ(S) and g2(S) as his commitment.
Example: g,(x) = x5 + x4 gl(S) = {gι(2),g,(4),gl(6)} = {6,6,0} g2(x) = x + 1 g2(S) = {g2(2),g2(4),g2(6)} = {3,5,0}
• PASS Challenge Step
Alice choose four binary polynomials cι(x), c (x), c3(x), and c (x) (possibly satisfying some other constraints) and sends them to Bob as her challenge.
Example: cι(x) = x3 + x Cl(S) = {cι(2),Cι(4),Cl(6)} = {3,5,5} c2(x) = x5 + x4 c2(S) = {c2(2),c2(4),c2(6)} = {6,6,0} c3(x) = x5 + x2 c3(S) = {c3(2),c3(4),c3(6)} = { 1 ,4,0} c4(x) = x5 + x c4(S) = {c4(2),c4(4),c4(6)} = {6,6,5 }
• PASS Response Step
Bob computes the polynomial h(x) = fι(x)gι(x)cι(x) + fι(x)g2(x)c2(x) + f2(x)gι(x)c3(x) + f2(x)g2(x)c (x). and sends h(x) to Alice as his response. (Remember that h(x) is computed using the rule xN=l and that the coefficients are computed modulo q.) Example: h(x) = (x4 + 1)( x5 + x4)(x3 + x) + (x4 + 1)( x + l)(x5 + x4)
+ (x5 + x)( x5 + x4)(x5 + x2) + (x5 + x)( x + l)(x5 + x) = 5x4 + 5x3 + 5x2 +4x + 6 • PASS Verification Step
Verification consists of two steps. First Alice writes the polynomial h(x) as h0+hιx+h2x2+... +hNN"1 with coefficients h0,hι,...hN-ι modulo q taken as close as possible to Ah and she computes the quantity
C = (ho-Ah)2 + (hj-A 2 + (h2-Ah)2 + ... + (h^-Aπ)2 She compares the number C to the number Bι,. If C is smaller than Bh, then Bob's response passes the first test. If C is larger than Bh, then Bob's response fails the first test. Second, for each number b in the set S, Alice computes the two numbers h(b) (modulo q) and fι(b)gι(b)Cl(b) + f1(b)g2(b)c2(b) + f2(b)gl(b)c3(b) + f2(b)g2(b)c4(b) (modulo q). If they are the same for every number b in the set S, then Bob's response passes the second test; otherwise his response fails the second test.
Note that Alice has enough information to compute these quantities, because she knows the polynomials h(x), Cι(x), c2(x), c3(x) and c4(x) and she knows the values of fι(b), f2(b), gι(b), and g2(b) for every number b in the set S. Example:
For the example, the polynomial h(x) is 5x4 + 5x° + 5x2 +4x + 6 and the number A is equal to 5. This means that Alice should write h(x) as h(x) = 7x5 + 5x4 + 5x3 + 5x2 +4x + 6 since she wants the coefficients, which are numbers modulo 7, to be as close to 5 as possible. Then she computes
C = (7-5)2+(5-5)2+(5-5)2+(5-5)2+(4-5)2+(6-5)2 = 6. This is smaller than the bound B = 9, so Bob's response passes the first test. Next Alice computes the values h(2) = 0 (modulo 7), h(4) = 1 (modulo 7), h(6) = 0 (modulo 7). and f1(2)g](2)c1(2) + f1(2)g2(2)c2(2) + f2(2)gl(2)c3(2) + f2(2)g2(2)c4(2) = 0 (modulo 7), fι(4)gl(4)cι(4) + f1(4)g2(4)c2(4) + f2(4)gl(4)c3(4) + f2(4)g2(4)c4(4) = 1 (modulo 7), fι(6)gι(6)c,(6) + f1(6)g2(6)c2(6) + f2(6)gl(6)c3(6) + f2(6)g2(6)c4(6) = 0 (modulo 7).
Since these values match the values of h, Bob's response passes the second test, so Alice accepts that Bob is really who he says he is.
The user identification and digital signature techniques of the present invention provide significantly improved computational efficiency relative to prior art techniques at equivalent security levels, while also reducing the amount of information which must be stored by the Prover and Verifier and communicated between the Prover and Verifier. It should be emphasized that the techniques described above are exemplary and should not be construed as limiting the present invention to a particular group of illustrative embodiments. Alternative embodiments within the scope of the appended claims will be readily apparent to those skilled in the art.
Appendix I Polynomial Rings and Efficient Public Key Authentication
Jeffrey Hoffstein, Daniel Lieman and Joseph H. Silverman NTRU Cryptosy stems, Inc. (www.ntru. com)
Abstract
A new "hard problem" in number theory, based on partial evaluation of certain classes of constrained polynomials, was proposed in [5]. In this paper we present a highly efficient public key authentication scheme based on a combination of this problem and a more traditional factorization problem. We call this scheme PASS for Polynomial Authentication and Signature Scheme. In addition to quantifying the time required to solve the "hard problem" of [5], we give a detailed security analysis at certain specific parameters. The scheme we propose is not zero- knowledge. In return for computational efficiency and low processing requirements far beyond any competing schemes, we accept a quantifiable leakage of information from a sufficiently long transcript of authentications. Conservative estimates suggest that the parameters proposed provide high levels of security for transcripts of 500 authentications with a single key pair. We briefly discuss a generalization using non-commutative rings and Fourier transforms. As with other interactive authentication schemes, our scheme may be combined with a hash function to give a non-interactive signature scheme.
1 Introduction
In a recent paper [6], some new ideas were introduced into public key cryptography. These involve the use of a combination of algebraic and analytic techniques in the context of a commutative ring. The ring of truncated polynomials
R = (Z/qZ)[x}/(xN - 1) (1)
is used, where q and N are moderately sized relatively prime integers. A public key cryptosystem called NTRU is described, with a typical parameter choice being q = 256 and N = 503. The "hard problem" that NTRU is based upon is related to the difficulty of finding particularly small vectors in certain lattices of high dimension.
In a recent patent application, [5], a new "hard problem" in number theory is proposed, also involving the ring R. Here q is taken to be a small prime, such as 503, and N = q — 1. The "hard problem" involves the difficulty of recovering a polynomial in R whose coefficients satisfy certain constraints, if one is given the value of the polynomial at a certain subset of the points of Z/gZ.
In both papers the fundamental hard problems are based on properties of short polynomials, i.e., polynomials whose coefficients are small (in absolute value) relative to q. The surprising thing is that this concept can be meaningful and useful even in the context of R, where coefficients are reduced modulo q and exponents are reduced modulo JV.
1-1 In this paper we present a new authentication scheme, PASS, based partly on the hard problem of [5] and partly on a more traditional factorization problem. The scheme features extremely light computational requirements for both the prover and the verifier. To illustrate the speed and efficiency of PASS we wrote a straightforward non-optimized test program in C. We ran this on a 330 MHz Macintosh G3, compiled using Metroworks Codewarrior compiler. At a security level far greater than that provided by an RSA 1024 bit key, our program required 2.060 milliseconds to generate a public/private key pair and 6.438 milliseconds to complete a Commit, Challenge, Respond, verify sequence. Further details on the test are given in Appendix 4. Details on key lengths and bit transmissions are given in Table 3.
With public key encryption systems there is a private key and a public key. The only piece of information revealed by the holder of the private key is the public key. Consequently the creator of a public key encryption system must insure that the task of determining information about the private key, or of reading a message without the private key, is extremely difficult.
The situation with public key authentication and digital signatures is more challenging. There is again a public key and a private key, but every authentication or digital signature performed with a public key risks revealing some information about the private key. Some schemes, for example the identification schemes due to Schnorr and to Guillou-Quisquater , can be shown to be sound. (See, for example, [22, chapter 9].) The security of such schemes is comforting, but the computational requirements are considerable.
In this paper we propose an approach to authentication and digital signatures which is different from the traditional approach, but is perhaps better suited for applications involving low powered processors such as smart cards and the authentication or certification of millions of micro transactions. The public keys we propose will be at least as secure from attack as RSA 1024 bit keys. To keep the transcripts at a similar security level, we will require that the transcript lengths be restricted to about 500. (This is a very conservative estimate.) However the ease and speed of key pair generation will make it easy to leverage this, by a short tree of validations, to millions of transactions descended from a single key.
As mentioned above, the hard problem underlying the security of the public key in our scheme is related to properties of short polynomials. Since short polynomials can be made to correspond to short vectors in a lattice, it is vital that any security analysis of these schemes carefully consider the possibility of attack by lattice reduction methods. Lattice reduction attacks are the general name for techniques for finding short vectors in lattices. The use of lattice attacks in cryptography was pioneered by Shamir, [17], who used it to break the original knapsack based public key cryptosystem proposed by [12]. In the mid 80's Lenstra, Lenstra and Lovasz [9] introduced what has since been called the LLL lattice reduction method. This, and further improvements on LLL by Schnorr, Euchner and others [14, 15] led eventually to the breaking of all known cryptosystems based on the difficulty of finding small vectors in lattices. This includes the recent system proposed by Ajtai and Dwork [1] and by Goldreich, Goldwasser, and Halevy [3].
1-2 The success of LLL and later improvements in attacking lattice based cryptosystems has led to a general belief among cryptographers that any cryptosystem based upon the difficulty of finding small vectors in a lattice must inevitably be doomed. Why then, do we seem to be doing just that in NTRU, and in the PASS authentication scheme being proposed in this paper? The short answer is that the lattices underlying NTRU and PASS have dimensions several times greater than the lattices needed to break cryptosystems based on knapsack problems. And just as going from a 512 bit RSA modulus to a 1024 bit RSA modulus changes a solvable problem into an intractable problem, going from a lattice of dimension 300 to a lattice of dimension 700 is the difference between an attackable problem and a problem that is likely to remain unsolvable for the forseeable future.
This leads to an obvious question: Why don't people use knapsack based systems whose underlying lattices have dimension 700. The answer is that the key size for a knapsack based cryptosystem grows like the square of the dimension of the lattice. (The same is true of the lattice-based cryptosystems proposed in [1] and [3].) In contrast, the keys used by NTRU and by PASS, the authentication scheme in this paper, grow only linearly with the dimension of the lattice, so they remain very practical even for lattices of dimension between 500 and 1000.
More generally, the reason for re-examining the use of lattice based cryptosystems has to do with some of the apparently fundamental limitations of lattice reduction attacks and the nature of the cryptosystems that were successfully attacked in the past. In the most general terms, the LLL method, or its various improvements, will find a relatively short vector in a lattice L of dimension n in a surprisingly small amount of time. But one can ask just how short that vector is, and how its length compares to that of either the actual shortest vector in L or the probabilistic expected length of the shortest vector if L were a random lattice. What seems to happen is that a first approximation by LLL or its improvements will find a reasonably short vector in a lattice of dimension n in time which grows polynomially in n. Further refinements of LLL will find successively shorter vectors with lengths that are still greater than the actual or expected shortest length. Ultimately, LLL will always find a vector either with the actual shortest length, or at any rate with length very close to the expected smallest. However, the time required to find this vector seems to grow exponentially, or even super exponentially, with the dimension n. We can summarize this in the following very rough conjecture:
Conjecture 1 (Hard Problem 1) Let L be a "reasonably random" lattice of dimension n and discriminant d. Let s be the length of the actual shortest non-zero vector of L and suppose that
Cιd1 n < s < C2dl'nXn, where Gι, C\ > 0 are fixed constants. (The gaussian heuristic says that an inequality of this sort will be true.) Suppose farther that dL'n lies within a factor of An of n. Then the time required to find a vector of length less than C^s, for a fixed positive constant C3, grows exponentially with n.
In previous cryptosystems the above observations were not of much use. This is because until now
1-3 in lattice based systems, as mentioned above, key size has been proportional to the square of the dimension. As a result, it has not been practical to propose systems related to lattices of dimension greater than the range 200 to 300. Also, in these systems, the discovery of even a moderately short vector would stand a reasonable chance of compromising security. The ever improving work on LLL algorithms has made the discovery of moderately short vectors of dimension up to about 300 within reach. Beyond this bound, however, experiments with current LLL algorithms seem to indicate that the exponential aspect comes into play very significantly. In NTRU and in the PASS system proposed in this paper, key size is proportial to n, as opposed to n2. As a result we believe it is possible to obtain very substantial security with moderate key sizes. In Section 3 we will provide experimental evidence for this along with a precise version of the above conjecture for certain classes of lattices.
In the following sections we present the PASS public key authentication scheme. Section 2 gives an overview of our scheme. In this section a definition of short polynomials is given, along with a description of some of their properties. We also explain where the lattice based hard problem fits in, and introduce another hard problem more directly related to a traditional factoring problem. We then describe how the PASS scheme works, discuss soundness and completeness of the scheme, and give some specific parameter suggestions. Section 3 contains a complete security analysis of the PASS scheme, concentrating on a specific parameter choice. In this section we also quantify the above conjecture more precisely and calculate some extrapolated breaking times. For example, we estimate that the breaking time for N = 768 is approximately 4.73 • 1018 MlPS-years. Section 4 gives key lengths and communication requirements for some specific parameter values, and in the final section we discuss the use of FFT's to make computations faster and to decrease the number of bits transmitted. In four appendices we: (1) show how to apply PASS to digital signatures; (2) describe a hash function based on constrained polynomial evaluation; (3) explain why the PASS scheme is related to the uncertainty principle for (discrete) Fourier transforms and how this leads to possible non-commutative extensions of the PASS ideas; and (4) give results of our timing experiments.
There is a large literature devoted to both theoretical and practical aspects of digital identification, authentication, and signatures [2, 4, 11, 13, 16, 18, 20, 21, 22]. The widespread need for such applications makes the introduction of new schemes of interest to both the academic and financial community, especially schemes which are based on new hard mathematical problems and which offer significant practical advantages in terms of speed and key size over existing methods. Acknowledgements. We would like to thank Hendryk Lenstra and Bjorn Poonen for a number of helpful discussions on lattices, Burt Kaliski for many discussions on potential attacks, and Jill Pipher and Phil Hirschhorn for much help in all stages of the preparation of this paper. We also would like to extend a very warm thanks to Don Coppersmith for both pointing out weaknesses in earlier versions of this scheme and for formulating the fourth power moment attack on transcripts which is described in Section 3.3. Any remaining weaknesses in the proposed scheme are entirely
1-4 the responsibility of the authors.
2 Introduction to PASS
2.1 Properties of R
Let R be as defined above in (1), with q a prime and JV a divisor of q — 1. Note that R is then isomorphic to a direct sum of N copies of Z/qZ. This is equivalent to the fact that by Fermat's Little Theorem, for any α ^ O mod q, the homomorphism from R to Z/^Z given by g(x) → ^(αfø-1)/^) is well defined.
A typical element g of R will have a representative of the form
Figure imgf000034_0001
with coefficients α^ 6 Z/qli.
We will have reason later to refer to an automorphism σ defined by σ ; R — > R, σ{g{x)) = g{x~ l), or more explicitly, σ{g) = αo + α/v-iz + aN-2%2 -I r- aix1*'1.
If g satisfies σ{g) = g, we say g is even. If σ{g) = —g, we say g is odd
We will also find it useful to define two norms on R. Suppose that g is a polynomial whose coefficients satisfy ]α»| < q/2 and J^ α* = 0. We then define
\g\ = Ja% + ■ ■ ■ + ffltf_ι. Moo = max j - minα*.
V % %
(These are the only sorts of polynomials we will need to consider, but in general we would define
Figure imgf000034_0002
where μ — (1/N) ∑i % is the mean of the coefficients.)
A very useful concept for us will be the notion of a short polynomial. Formally, we will define:
Definition 1 A polynomial h will be called "short" if its norm \h\ is smaller than a constant times
Very roughly, polynomials are called short if their coefficients are sufficiently small with respect to q that no reduction mod q occurs when two of them are multiplied together. When polynomials are short, the two norms above are related by the rough inequality
Figure imgf000034_0003
where * denotes multiplication in R and c2 is a constant that varies between 0.3 and 0.5 for parameters in the ranges discussed here. Also we have the approximate relation (for random choices of short polynomials)
Figure imgf000034_0004
1-5 Notice that by the relations (2) and (3) with appropriate chices of constants, the product of two short polynomials will have small | • | and | • ]oo norms with respect to q.
2.2 Another hard problem
One hard problem that our scheme is based on has already been discussed in the introduction. We will return to this in the next section. The other hard problem that the our scheme is based on is more directly related to a traditional factoring problem. In particular we have the following:
Conjecture 2 (Hard Problem 2) Let f, g e R be chosen to be short. Let h = f * g. (Notice that by (2) above, \h\ and \h\ will also be small.) With appropriate choices of parameters, it is very difficult to either recover f and g from h, or to find two other polynomials /' and g' such that f and g' are short and h = f * g'.
As this is, at least on the face of it, a new type of hard problem, let us discuss some of the reasons why we claim that it is hard. One reason is that any polynomial r € R with no roots in Z/gZ will be invertible and hence divide h. As the number of such invertible r is on the order of qN, a direct approach to the problem reduces to searching among exponentially many possible factorizations of h, looking for a very small number of short solutions. Parameters can be chosen so that this is impractical.
If several different products, / * g%, f * g2, ... are given, it is possible to construct an attack by lattice methods, as will be mentioned later, but if a single product is given, the non-linear nature of the problem seems to make it hard to apply lattice reduction methods.
An alternative approach is to view Z[x]/(xN — 1) as (essentially) the ring of integers of the cyclotomic field K obtained by adjoining the Nth roots of unity to . As the coefficients of /, g and h are small, no reduction mod q will occur when the product h = f * g is computed, and consequently h may be viewed as an algebraic integer. With high probability, the fact that / and g are short implies that they will be irreducible in K, and the problem of factorizing h translates into a traditional factorization problem, with difficulties compounded by the exponentially large class number of K. In fact, if h could be factored, then the norm of h down to could be factored. But this norm is on the order of qN , and factorization of rational integers of this size is beyond the range of current technology.
There is, however, a special case of this problem that can be solved in polynomial time. If f — g, then h corresponds to a square of an algebraic integer. One can choose a rational prime p with the property that over Z/pZ, the polynomial xN — 1 has very few (say 4 or 5) factors. Then after reduction mod p, the polynomial h can be viewed as a square in a product of 4 or 5 finite fields. The square root can be taken quickly in each of these fields and the resulting 16 or 32 possibilities can be searched for a solution with small coefficients. For this reason, we will always take / and g to be distinct randomly chosen polynomials.
1-6 2.3 An outline of PASS
We begin by choosing a set S of t distinct non-zero elements a e Z/qL as a system-wide parameter. For reasons to be explained shortly, we assume that if a € S, then _ 1 e S. In other words, S is closed under taking inverses. Also public are four subsets of R, which we denote by Cf, Cg, Cc and h- It will be convenient to define these as follows. Fix a positive integer df < N/2. Define f to be the set of all polynomials / in R such that / has df coefficients equal to each of 1 and — 1, with all other coefficients equal to 0. Notice that |/| = 2df. Let Cg and Cc be defined similarly using dg and dc. Finally, we will define Ch as the set of /ι's satisfying \h\ < ηκq with ηh to be chosen later.
An authentication session proceeds as follows. Pearl, the prover, has a private key /, /', known only to her. This private key consists of two polynomials / and /' chosen by Pearl at random from C . Her public key is the associated ordered collection of values mod q: (f(a), f'(a))aζs- We claim that the following scenario allows Pearl to prove to Vinnie, the verifier, that she possesses the secret key /, /' associated to her public key, without revealing /, /' or information that could help Vinnie, or a third party Irving, observing the transaction, to discover /, /'.
• Pearl chooses g, g' € Cg and computes and reveals the collection of values (g(a), g'(a))aes- This is Pearl's commitment.
• Vinnie chooses a challenge co € Cc at random and sends co to Pearl. This is hashed with the commitment to produce polynomials: cι, C2, C3, c € Cc.
• Pearl computes and reveals the polynomial h = cifg + c fg' + c3f'g + c f'g.
• Vinnie verifies that
(A) h Ch (i.e., \h\ < Υhq).
(B) h( ) = c1{ )f(a)g(a) +c2{ )f{ )g'{ )+c3{ )f{ )g{a) +cli{a)f{a)g{ ) for all a e S.
To assess the security and usefulness of this scheme one must verify, or at least make strong arguments in favor of, several things.
First, it must be shown that if Pearl possesses the private key /, /', the probability that she will pass the test and be accepted by Vinnie as legitimate can be made arbitrarily high. This property of an authentication scheme is called completeness.
Then it must be shown that a potential impostor without knowledge of /, /' or some other false key F, F' would have a very low probability of passing the test. A particularly satisfactory way of establishing this is by proving that the scheme has the property of being sound. This means demonstrating that any procedure that fools Vinnie a single time into thinking that an impostor is really Pearl can be leveraged into a method of fooling Vinnie on future transactions with significant probability. This is often shown by demonstrating that an opponent who can
1-7 answer several distinct challenges to the same commitment can recover the secret key or at any rate fool Vinnie consistantly.
Finally, it must be shown that for a given B, large enough to be useful, if an impostor knows the public key and has access to a transcript of no more than B genuine authentication transactions using /, /', he would have a close to zero chance of recovering either the original private key /, /' or an equally useful false key F, F'.
Remark. It is also possible to use the problem of partial evaluation of short polynomials as the basis for a public key cryptosystem. This public key cryptosystem is described in [7]. A useful feature of combining this public key system with the PASS authentication scheme described in this paper is that a single key can be used for both encryption and authentication. This is analogous to the way in which an RSA key can be used for both encryption and signature/ authentication, although the analogy is not perfect, because the PASS key is used in somewhat different ways for encryption and for authentication purposes.
2.4 A specific example
In this section we will give concrete details for the general scheme described above using the parameters
q = 769, N = 768, t = N/2 = 384.
Let r be a primitive root mod q, and let J be a collection of t distinct indices j, chosen at random from the collection of integers less than N, with the condition that if j 6 J, then q — 1 — j 6 J. Define S by
S = {A mod q : j e J}. (4)
Then S consists of t distinct elements a mod q. As they are nonzero, each has the property that aN ≡ 1 mod q. Also, by its definition, S is closed under the taking of multiplicative inverses mod
We fix a set |5| as in (4) above, and we set the parameters df, dg, dc, h as follows: df = 256, dg = 256, dc = 1 ηh = 2.2. (5)
It is simple to check then that
\Cf\ > 2160, |£s| > 2160, | c| > 276, g t > 2160.
In the first section below we discuss completeness. We will show that Pearl, knowing the secret key /, /', can pass Vinnie's test with very high probability. In the next section we will give probabilistic arguments demonstrating that an imposter, Irving, using only a random search strategy will have a probability of less than 2-76 of passing Vinnie's test without knowledge of
/. /'• We will then discuss soundness, showing that for values of t slightly larger than the suggested
1-8 N/2, and large values of N the scheme is likely to be sound. Our argument here will depend on the gaussian heuristic and hence not be completely airtight, but will hopefully be convincing. Finally we will analyze the information that can be obtained from a study of long transcripts.
2.5 On completeness
Recall how the scenario works: Pearl chooses g, g' £ Cg and computes and reveals the collection of values (g(a), g'(a))aes- Then Vinnie chooses a challenge co € Cc at random and sends co to Pearl. Pearl then uses her knowledge of /, /' to compute and reveal h. The test
(B) h(a) = cι( )/(α)s(o) + c2(a)f( )g'{a) + c3(a)f'(a)g(a) + c { )f'( )g(a) for all a £ S. will be passed for every a € S because the fact that N ≡ 1 mod q for every £ S ensures that the evaluation mapping e : R -→ (Z/ςZ)*, e(ft) = (Λ(αι), . . . , h( t)), is a homomorphism.
On the other hand, consider the requirement that h £ Ch,. From (2) and (3), we see that the fact that |/|, \g\, and \c\ are small implies that \h\ and \h\ must be small. The probability that \h\ falls into a given range can be computed theoretically, but it is far easier to do an empirical computation. For the sample parameters (5), we randomly selected 105 sets of polynomials (/, /', g, g', c\, ..., c ) from Cf, Cg, Cc and computed the associated h. Every h in the experiment satisfied
1.6g < |Λ| < 2.2q.
Thus the probability that Pearl, knowing the secret /, /', will fail the test |Λ| < 2.2g is less than 10~5. Further details of our experiments are given in appendix 4.
2.6 Initial security discussion
We will now consider the chances that an imposter, Irving, can pretend to be Pearl without knowledge of the secret PASS key /, /'. It is easy to verify that with the choices of parameters given in (5), the chance of Irving locating /, /', or an equivalently useful /' by an exhaustive search or meet in the middle attack, is less than 2-80. As \CC\ > 276, the chance that a repeat of a previously observed genuine session will help Irving is less than 2_7δ.
Also, by using Sterling's formula to approximate the volume of an JV-sphere, one can check that with ft = 2.2,
\Ck\ « {2πe)N'2{2.2q)NN-N' (6)
It follows from this that for our parameters, \Ch\q~N < 2-160. This means that a random attempt by Irving to pass Vinnie's test will have a less than 2-80 chance of success, even including possible meet-in-the-middle offline attacks.
1-9 Another potential attack for Irving is to cheat on his commitment g, g' and pick a polynomial far shorter than it should be. In the most extreme case, Irving could choose g, g' to each be simply xk for some k. If Irving could find a false key F, F' with |F|, |F'| < 2.2ςr and
_F(α) _____ /(α) (mod g) and F'{a) = f'(a) (mod q)
for all £ S, then this attack would succeed. The chance of Irving finding such an F, F' through a random search is covered by (6) above and is less than 2-80. The genuine key and false keys can also be searched for via lattice reduction methods, as will be discussed below.
2.7 Soundness
One can make a reasonable argument for soundness, although as is often the case with such schemes, with an efficient choice of parameters it does not seem to be possible to construct a rigorous proof of soundness. In particular, if a value oft is chosen that is slightly larger than recommended above, then a strong probabilistic argument can be made that the scheme is sound.
The main problem that a proof of soundness faces is that it is not possible for Vinnie to test that h actually has the desired form. It is only possible for him to apply a norm test to h. Let us suppose that an impostor, Irving, could produce valid responses h and h' to the same commitment g, g' and four distinct 4-tuples of challenges c. Assume for the moment that the responses do actually have the correct form. Then the resulting system of four equations would probably be solvable for the products fg, fg', f'g, f'g'. With these four products, Irving could keep the same commitment and fool Vinnie for any future challenges.
The problem with this argument is the assumption that the h supplied by Irving actually has the correct form. In fact, all that can be ascertained is that h is small and has the correct values at a 6 S. Similarly, Vinnie can not be sure that a valid g, g' with small coefficients created the commitment, although there must exist many polynomials G £ R with the given values g(a). However, by choosing t to be larger than suggested above, but still considerably smaller than would allow an attack by lattice methods, as described below, we can achieve some guarantees. An argument can be made, using the gaussian heuristic, that with high probability any h supplied by Irving satisfying the necessary requirements must have the correct form and must thus reveal the four products in the same way, given four responses to the same commitment and different challenges.
More specifically, let us first suppose that there really does exist a pair of short polynomials g, g' with (g{a), g'{ )) s equal to Irving's commitment. Suppose Irving somehow produces a short polynomial H with the property that (H(a)) s satisfies the correct evaluations. As (/, /') is known to exist and we are assuming that (g, g') exists, there certainly exists another short polynomial h of the correct form satisfying the correct evaluations. But then h — H must also be relatively short, meaning that \h — H\ < Kq for K some absolute constant K, and also h — H
1-10 vanishes mod q at all £ S. The expected number of such polynomials is on the order of
{2-Ke)N'2N-N'2KNqNq-t.
li t = N/2 + eN for some small e > 0, then this quantity approaches zero for large N, meaning that with high probability LHL must have the required form.
We have seen that we may assume soundness if the commitment comes from a genuine short pair (<?, < )• Let us finally suppose that Irving can somehow cleverly produce a commitment (g(a), g'{a)) „ such that no short {g, g') exists with these values. If Irving can answer the challenges (ci, c2, c3, c ) and (1 + C\, c , c3, c4) for any single 4-tuple c, then he can recover a moderately short polynomial G such that G (a) ≡ f(a)g(a) mod q for all a £ S. By moderately short we mean, as before, that |C?ι| < C\q for C\ some absolute constant. Similarly, Irving can recover a moderately short polynomial G such that G2( ) ≡ f'(a)g( ) mod q for all £ S. Then assuming G2 is invertible, (while not quite true, this is a safe assumption) the pair of short polynomials {G\, G ) have the property that their ratio G /Gχ has the prescribed values (f'{a)/f(a)) for a £ S. The expected number of such pairs with small norm and prescribed values is seen by the same argument as above to be vanishingly small for large N and t slightlygreater than N/2. Thus we may assume that the chances of Irving constructing such a pair G , G2 without taking small multiples of /, /' are vanishingly small. This possibility too is therefore ruled out and we have established soundness (for large N and t slightly larger than N/2) under the assumption of the gaussian heuristic.
3 Lattice reduction techniques
Lattice reduction methods can be used by Irving to attempt a recovery of the private key (/, /'), or an equally useful false key, from the public key. These methods can also be used in an off line attempt to construct a valid response h to a given commitment and challenge. This aspect of security is relevant for both authentication and digital signatures. In this section we will discuss and quantify the difficulty of recovering a short / (respectively /') from the collection of values (f(oc)) 6S, or a short response h from the collection of values (h(a)) s.
3.1 Formulation of a lattice attack on the public key
We begin by constructing a lattice as follows. For any polynomial F £ R, associate to F the vector of coefficients ao, oi, . . . , OΛΓ_I). Similarly for any such vector or point in ZN one can take the polynomial built from these coefficients, reduce mod q, and obtain an F £ R.
Let L be the lattice of all points in ZN such the corresponding polynomial F satisfies
F(a) -≡ 0 (mod q) for each a £ S.
It is easy to check that L is indeed a lattice, and that the determinant of L is equal to qt.
1-11
Figure imgf000041_0001
Table 1. Time (sees) To Find Target Vector
Figure imgf000041_0002
Table 2. Estimated Breaking Times for PASS
As remarked above, it is not difficult to find a polynomial F' £ R such that F'(a) = f{a) mod q for all α ε 5. However the chances of such an F' having small coefficients has been noted to be quite small. Suppose, though, that we find an F' with non-small coefficients and then search for a point F £ L close to F'. If such an F is found, set I = F' — F. Then I will still have the correct valuations at mod q and if F is very close to F', then \I\ will be small.
The problem of finding an / which will give a good impersonation of / is thus reduced to that of finding a point in a lattice which is as close as possible to a given point outside the lattice. This is a non-homogeneous version of the problem of finding a short vector in a lattice. It can also be translated into a homogeneous problem in a similar lattice of one higher dimension.
Roughly speaking, an attacker's chance of success in a fixed amount of time improves as the distance of the given point to the lattice decreases. The attacker's chances also deteriorate as the dimension of the lattice increases.
Consider a sequence of primes q and N — q — 1 with df = [ /3]. When q — 769, this gives df = 256 as in (5). Table 1 gives the results of experiments to recover / from {/(a)}- Experimentally, we found that it took a somewhat shorter time to find an / with the correct evaluations mod q and \I\ < 2.2q, but for large JV the difference was not significant. Table 1 gives the time required for several experiments for each q between 101 and 197, together with the average time required for each q. The experiments were performed using version 3.1b of Victor Shoup's implementation of the Schnorr, Euchner and Hoerner improvements of the LLL algorithm, distributed in his NTL package at http: //www . cs .wisc . edu/~ shoup/ntl/.
1-12 The regression line for the average time (in seconds), as a function of N, is
log(T) « 0.0750N - 2.661.
The correlation coefficient is 0.979. We have used the regression line to extrapolate the breaking time for larger values of N. The results are listed in Table 2. Note that the running time to find a useful h, given a collection (h(a))aςs, will be greater than the time required to find / or /'. We also mention that the conversion factor from seconds to MlPS-years is 400/31557600, because our experiments were run on 400 MHz Celeron computers.
Remark. For comparison purposes, we note that the estimated time to break RSA 1024 is 3 • 10n MlPS-years, and the estimated time to break RSA 2048 is 3 • 1020 MlPS-years. So according to Table 3, PASS 640 and 768 should be considerably more secure than RSA 1024, and PASS 1152 should be considerably more secure than RSA 2048.
3.2 Zero- forced lattices
Alexander May [10] has given an improved method for searching for small vectors which have a comparatively large number of coordinates equal to 0. These ideas lead to the notion of zero-forced lattices, in which one guesses that r particular coordinates of the target are 0, forces them to be zero, and thereby reduces the dimension of the lattice. Of course, if r is large, it may take many tries before one makes a correct guess. Full details of how zero-forced lattices work and how to estimate their effectiveness is explained in [19]. For the values of N in Table 2 and choice of df w dg RJ ςι/3, the effect of using zero-forced lattices is negligible.
3.3 Attacks on a transcript of authentication sessions
First let us note that exactly the same exhaustive searches and lattice attacks apply to (g, g') as apply to (/, /'). In particular, if an attacker could discover g, from the commitment or some other information revealed in the transcripts, then he could recover /. It is for this reason that we have made the size of the search spaces the same.
We now consider the information revealed in a large collection of distinct examples of h = Cifg + c2fg' + c3f'g + c^f'g for fixed /, /' and varying c and g, g'. It is important to note that since f, f', g,g'c are small, an attacker may assume that no reduction mod q has occurred in the construction of h, and thus that the coefficients of h are given over Z.
If the g, g' varied over a space of polynomials whose expected value was an invertible element G £ Rq, and if each c, had expected value another invertible element C, then by taking an average of sufficiently many h, one would approach 2C(f+f')G. If one had a long enough transcript to pick out sub collections of challenges with different expected values, one could obtain two independent equations: CιGf+C2Gf, CsGf+C^Gf and solve for /, /'. This is not a feasable option, however, as the expected value of g equals the expected values of g' which equals 0.
1-13 The collection of all h in a transcript will generate a lattice over Z. However, because of the presence of the non-zero Cj, the full (and thus useless) lattice is generated by this collection.
An attacker might also consider the product hσ(h). This is potentially a very powerful attack, due to Burt Kaliski, as after averaging a long transcript, an attacker can hope to obtain the polynomial
2acaGaf + 2aGaGa + Kfσ{f) + Kf'σ(f), where for any polynomial F, ap denotes the even polynomial ap = F * σ{F). Also ac, aG denote the expected value of ac, ag. These will, in fact, be invertible constants.
The average of hσ(h) will approach this limit as the cross terms of the product will have expected value zero. The values a and aG may be assumed to be known, and hence it must be assumed that an attacker can obtain knowledge of this linear combination of α/, ap , fσ(f'), f'σ{f). In fact, by picking out substs of a transcript where products of challenges have different expected values, it must be assumed that an attacker has knowledge of the individual quantities a.f, af>, fσ(f'), f'σ(f). This means, in effect, that if f(a) is known, one must assume that an attacker can determine /(α-1), f'(a) and /'(α-1). This is the reason that we made the original assumption that S is closed under the taking of inverses. We remark, though, that to obtain this information requires a considerably longer transcript.
Assuming that an attacker can determine the above four products, one is left with the question of whether he can use it to determine /. This seems to be an instance of the hard problem mentioned above, as it boils down to a factorization question in an algebraic number field of high degree and large class number. Note that in the case of fσ{f), this factorization question is not completely general. It appears, though, to be as difficult to solve as the general factorization problem. In particular, solving an equation / * σ(f) -= a is far more difficult than solving an equation of the form f2 = . As previously indicated, the equation /2 = a may be solved by reducing modulo a prime p such that XN — 1 has a small number of factors modulo p, and then finding square roots in the associated finite fields. One could try to proceed similarly for the equation / * σ(f) = a, but the situation is entirely different. To explain why, suppose that XN — 1 mod p factors as a product of irreducible polynomials -Fι(-X") • • • Fn(X), and let fcj = deg( ,).
For any F = F of degree k = k we consider the associated finite field K = (Z/plL)[X]/{F(X)) of order pk. There are homomorphisms
K* -→ K* and K* — ► K*.
/ ■—* f f — f * σ(f)
The first homomorphism has kernel ±1, so for any given a, there are at most 2 solutions to the equation /2 = o. The second homomorphism is quite different. The image consists of the non-zero elements in the subfield of K of order pkl2, so the kernel has pkl2 Λ- 1 elements. Thus the equation
/ * σ(f) = a has pkl2 + 1 solutions in the finite field K.
Considering each of the factors Fi in turn, we see that if we can find all of the solutions to
1-14 f2 = a in each finite field, then we can solve f2 = a in Z[X]/(XN - 1) by checking only 2n possibilities. However, even if we can solve / * σ(f) = a in each finite field, then in order to solve / * σ(/) _____ a in Z[X]/(XN - 1), we need to check pkX2 + 1) • • • {pk™'2 + 1) possibilities. This quantity is greater than pNl2, which is large enough to preclude an exhaustive search.
Another way of extracting information from the products might be to consider the ratio af'/{fσif')) = /'/_1- This leads to lattices, similar to those studied in [6], which have considerably higher breaking times because their dimensions are doubled. One can also try to locate the small target (σ(/), σ(/')) that solves the linear equation xfσ{f) — yaf = 0. This too appears to take a longer time to solve than the lattice problem of recovering / from the public key. Finally, one could add the valuation information to any of the above lattice attacks. As this increases the lattice dimension while leaving the structure of the lattice very similar, it appears that the chances of finding a solution are not improved.
This is an appropriate point to explain why an early version of this scheme, described in [5] , does not provide secure authentication. In [5], the polynomial h = (/ + c)g was proposed. If a selection of special c's with non-zero mean values were chosen by an attacker from a long transcript, it was noted that an average of cross terms of a could reveal information about the secret key /. This possibility was avoided by making / even and c odd, eliminating crossterms. However, α/ remained potentially accessable, and if / is even, this is a square. As mentioned earlier, by reducing modulo an appropriate smaller prime p it would then be possible to view α/ as sufficiently close to a square in a finite field to make the extraction of a short square root feasable. This is why in the present scheme we avoid introducing any symmetry into either /, /' or c.
We will close this section by remarking briefly on an important observation of Coppersmith. By selecting any fixed 4-tuple of indices i,j, k, I and computing an average of the product of the i, j, k, l individual coefficients hi, hj, hk, h, information can be obtained about a combination of second and fourth power moments of / (respectively /'). (In this terminology, α/ is the second power moment of /.) It is then possible to recover / by a process which, while computationally intensive, is still feasable for the parameter choice N = 768. Coppersmith's initial calculations indicate that ignoring the need for differentiating the c's via subcollections, the transcscript needs to be on the order of several thousand. As we have not yet completed a precise analysis of the necessary length, we will make the conservative estimate that a transcript of length 500 is far too short to leak much information about /.
3.4 Cheating verifiers
A cheating verifier is in a potentially powerful position. He can pass specially constructed challenges with given expected values to Pearl and extract information from the responses as outlined above. In this scheme, however, a challenge CQ is hashed with the commitment. This seems to eliminate any chance of a cheating verifier obtaining an advantage.
1-15
Figure imgf000045_0001
Table 3. Communication requirements (bits)
4 Key length and communication requirements
The key lengths and number of bits transmitted for N = 768 are given in Table 3. It is worth noting that if desired, in the PASS scheme the private key can be stored as, and then generated from, any random string of 80 bits, as long as a non-linear uniform mapping is provided into the space Cf.
5 Final remarks
It is possible to cut the number of bits transmitted in the following way. Currently Pearl computes and sends to Vinnie the polynomial h = c\fg + c2fg' + c3f'g + c±f'g, which Vinnie then uses to complete the verification. It actually suffices for Pearl to send to Vinnie the set of values (h(a))aSs' . where S' is the complement of the set S mod q. Using these values and the information he already possesses, Vinnie can reconstruct the value of h{a) for every a £ Z/qZ, and this allows him to reconstruct h{X). He then performs step (A) of the verification, that is, he verifies that this h(X) is in the set Ch- If it is, he accepts Pearl's identity. Note that Vinnie does not need to perform step (B), because the construction assures that h(X) has the correct values for £ S.
The procedure described in the last step may seem impractical, because Vinnie needs to reconstruct h{X) from its complete set of values. However, this is simply the association between a vector over Z/qZ and its discrete Fourier transform, where a polynomial is identified with the vector of its coefficients. Naive computation of discrete Fourier transforms of vectors of dimension N only takes N2 steps. Further, if N is divisible by a large value of 2, then one can use Fast Fourier Transforms (FFT) to speed the process. Note that one can do these FFT's in Z/qZ working entirely with integers, because Z/qZ contains a primitive iVth root of unity. There is no need to use real or complex numbers. The timing estimates described in Appendix 4 use FFT's in this way. We also note that when Pearl computes and reveals the collection of values g(a))azs> it will often be more efficient for her to compute the complete set of values of g using FFT's, and then just reveal some of them to Vinnie.
1-16 References
[1] M. Ajtai, C. Dwork, A public-key cryptosystem with worst case/average case equivalence. In Proc. 29th ACM Symposium on Theory of Computing, 1997, 284-293.
[2] E.F. Brickell and K.S. McCurley. Interactive Identification and Digital Signatures. AT&T Technical Journal, November /December, 1991, 73-86.
[3] O. Goldreich, S. Goldwasser, S. Halevy, Public-key cryptography from lattice reduction problems. In Proc. CRYPTO '97, Led. Notes in Computer Science 1294, Springer- Verlag, 1997, 112-131.
[4] L.C. Guillou and J.-J. Quisquater. A practical zero-knowledge protocol fitted to security microprocessor minimizing both transmission and memory. In CG. Giinther, editor, Advances in Cryptology — Eurocrypt '88, Lecture Notes in Computer Science 330, Springer- Verlag (1988) 123-128.
[5] J. Hoffstein, B.S. Kaliski, D. Lieman, M.J.B. Robshaw, Y.L. Yin, "A New Identification Scheme Based on Polynomial Evaluation," patent application.
[6] J. Hoffstein, J. Pipher, J. Silverman, NTRU: A ring-based public key system, Proceedings of ANTS III, Portland (1998), Springer- Verlag.
[7] J. Hoffstein, J.H. Silverman. A new public key cryptosystem based on partial evaluation of polynomials, preprint, March 1999.
[8] K. Ireland, M. Rosen. A classical introduction to modern number theory, GTM 84, Springer- Verlag, New York, 1982
[9] A.K. Lenstra, H.W. Lenstra Jr., L. Lovsz, Factoring polynomials with rational coefficients, Mathematische Ann. 261 (1982), 513-634.
[10] A. May, Cryptanalysis of NTRU, preprint, February 1999
[11] A.J. Menezes and P.C. van Oorschot and S.A. Vanstone. Handbook of Applied Cryptography. CRC Press, 1996.
[12] R. Merkle, M. Hellman, Hiding information and signatures in trapdoor knapsacks, IEEE Trans. Inform. Theory, IT-24:525-530, September 1978.
[13] T. Okamoto, Provably secure and practical identification schemes and corresponding signature schemes. In E.F. Brickell, editor, Advances in Cryptology — Crypto '92, Lecture Notes in Computer Science 740, Springer- Verlag (1993) 31-53.
[14] C.-P. Schnorr, A hierarchy of polynomial time lattice basis reduction algorithms, Theoretical Computer Science 53 (1987), 201-224.
[15] C.-P. Schnorr, A more efficient algorithm for lattice basis reduction, J. Algorithms 9 (1988), 47-62.
1-17 [16] C.-P. Schnorr. Efficient identification and signatures for smart cards. In G. Brassard, editor, Advances in Cryptology — Crypto '89, Lecture Notes in Computer Science 435, Springer- Verlag (1990) 239-251.
[17] A. Shamir, A polynomial-time algorithm for breaking the basic Merkel-Hellman cryptosystem. In Proceedings of the 23rd IEEE Symposium on Foundations of Computer Science, IEEE, 1982, 145-152.
[18] A. Shamir. An efficient identification scheme based on permuted kernels. In G. Brassard, editor, Advances in Cryptology — Crypto '89, Lecture Notes in Computer Science 435, Springer- Verlag (1990) 606-609.
[19] J.H. Silverman, Dimension-Reduced Lattices, Zero-Forced Lattices, and the NTRU Public Key Cryptosystem, NTRU Technical Note 013, March 2, 1999, (www . ntru . com)
[20] J. Stern. A new identification scheme based on syndrome decoding. In D. Stinson, editor, Advances in Cryptology — Crypto '93, Lecture Notes in Computer Science 773, Springer- Verlag (1994) 13-21.
[21] J. Stern. Designing identification schemes with keys of short size. In Y.G. Desmedt, editor, Advances in Cryptology — Crypto '94, Lecture Notes in Computer Science 839, Springer- Verlag (1994) 164-173.
[22] D. Stinson. Cryptography, theory and practice. CRC Press, 1995.
Appendix 1. Application to digital signatures
It is well known that any authentication scheme of the commitment, challenge, response type can be transformed, with the addition of a hash function, into a digital signature scheme. This can also be done here in the usual way. Specifically one would proceed as follows.
Let us suppose we have a hash function H(M) which takes as input a message M of arbitrary length and outputs a stamp of length 80 bits. Suppose also that we have a formatting function LF, that takes the output of T and turns it into a 4-tuple challenge polynomial from the space Cc. Let a\\b denote the concatenation of the bit strings a and b.
Suppose Pearl wants to sign a message M, using her authentication key (/, /').
• Pearl picks a commitment polynomial pair (g, g') at random from Cg and computes her commitment g{S), g' {S) .
• Pearl constructs the 4-tuple challenge polynomial by computing c =
Figure imgf000047_0001
In other words, Pearl simulates a challenge by hashing together the commitment and the message and mapping the result to the space of challenges.
• Pearl computes the response h to the commitment g, g' and the challenge c using her private key /, /'.
1-18 • Pearl's signed message is then the message M followed by the signature (g(S) , g' (S) , h) .
• To verify that Pearl signed the message M, Vinnie computes c from g(S), g'{S) and M, and then uses Pearl's public key f(S) to verify that the response h was generated by someone with knowledge of the private key /, /', i.e., by Pearl.
The fundamental difference between the use of the scheme for authentication and for digital signatures is that an attacker is allowed to have an arbitrarily long time off line to try to compute a forged response. This has already been taken into account in the PASS authentication scheme.
Appendix 2. A hash function based on constrained polynomial evaluation
Although any efficient and secure hash function can be used in the application to digital signatures, in some circumstances it may be desireable to have a simple hash function available using only routines already programmed into an implementation of the authentication scheme. For this reason, and for its own intrinsic interest, we present the following function.
We will construct a hash function H in the context of the case N = 768 above. The input of Η will be a message of length N bits. The output of will be a bit string of length T = t log2 q.
The function is defined as follows. Take a message m of length N bits, and use it to define the coefficients of a polynomial P of degree N — 1 with coefficients chosen from {0, 1}. Thus P(x) — ao +
Figure imgf000048_0001
where αj_ι is 0 or 1 according to whether the ith bit of m is 0 or 1. Thus the bits of m are strung out as the coefficients of P.
The polynomial P is then evaluated at the t values of a and reduced mod q. The output of H is then the concatenation of the values P(a) mod q viewed as bit strings, i.e., H = P(α1)||P(α2)|| ...||P(αt).
Note, for implementation purposes, that in both this hash function computaton and in the authentication scheme, it will speed things considerably to have at least a partial table of the values of a? reduced mod q pre-computed. Certainly, at least the values for j equal to all powers of 2 less than log2 q should be included in the table.
The fact that this hash function is probabilistically collision free can be seen from the fact that two messages m, ml with equal output would correspond to a polynomial Q = P — P' which vanishes at the t distinct a values mod q, and which has coefficients chosen from {1, 0, —1}, with approximately half equal to 0. In the case N = 768 and t = N/2, a polynomial Q would have a norm about one tenth the length of the expected smallest vector in the lattice of polynomials vanishing at the α's mod q. The chance of such a pair m, m' existing is thus extremely low.
1-19 Appendix 3. Theoretical background and non-commutative generalizations
The foundation of the PASS scheme is the evaluation homomorphism from the polynomial ring R to the product (Z/gZ)'. This can be interpreted in another way that clarifies the underpinnings of the schemes a bit and makes clear a direction to look for possible generalizations.
One can view J? as a ring of functions on a cyclic group taking values in Z/qZ. In other words, the function values are the coefficients αj, and the arguments are the indices i. The Fourier transform of this function (corresponding to a polynomial /) can then be viewed as the ordered collection of values {f{a))aez/q2.- The evaluation homomorphism then can be interpreted as the well-known homomorphism from a ring of functions to the ring of Fourier transforms of the functions.
The key observation of PASS is that if one concentrates in a certain area of R and then looks at the image of this area in (Z/ςZ)*, the image is uniformly dispersed throughout the space. When viewed from the point of view just described, one can see that this is an example of the uncertainty principle for Fourier transforms. This generally states that one can not simultaneously concentrate the values of a function and the values of its Fourier coefficients.
In addition to making one feel more comfortable about the theoretical basis of the schemes, this also allows one to begin investigating generalizations in the form of Fourier analysis on non-abelian groups. Alternatively, such non-abelian Fourier analysis can also be interpreted in a different but equivalent way: evaluations of / correspond in general to higher degree representations of non- abelian groups. We hope to say more about this in future papers.
Appendix 4. Additional computational details
We implemented the PASS authentication scheme on a 330 MHz Macintosh G3 using the Metroworks Codewarrior compiler. We made no special attempts at optimization, but we did implement Fast Fourier Transform routines over the finite field with q elements to speed the computation of the values of the polynomials. The program also precomputed a list of powers rx mod g for 0 < i < # — 1, where r is a primitive root modulo q, for use by the FFT routines. The precomputation time is not included in the elapsed times listed below. However, we note that this precomputation only consists of q multiplications and reductions modulo q of numbers between 0 and q — 1, so is in any case not very time consuming.
For our experiments we used the PASS parameters
N = 768, q = 769, df = dg = 256, dc = 1.
The time needed to create a public/private key pair was 2.06 milliseconds. The time needed to perform a complete authentication sequence consisting of the four steps Commit, Challenge, Respond, and Verify was 6.438 milliseconds. This equals approximately 155 authentications/signatures per second.
1-20
Figure imgf000050_0001
Table 4. Distribution of \h\ for N = 768 (105 trials)
The first verification step (A) asks that \h\ < ^ Q- For our sample parameter set, we chose j = 2.2. Table 4 gives the distribution of \h\/q for 105 trials. There were no values greater than 2.2, indicating that the probability of Pearl's response failing the verification step (A) is smaller than 10~5.
Contact Information
J. Hoffstein: (jhoffstein@ntru. com)
D. Lieman: (dliemanQntru. com)
J.H. Silverman: (jsilvermanQntru. com)
NTRU Cryptosystems, Inc.: (www. ntru. com)
1-21 Appendix II
Polynomial Rings and Efficient Public Key Authentication II Jeffrey Hoffstein and Joseph H. Silverman
Abstract tn a recent paper [3] a highly efficient public key authentication scheme called PASS was introduced. In this paper we show how a small modification in the scheme cuts the size of the public key and the commitment in half while reducing an already minimal computational load.
Keywords. Authentication, Digital Signature, Public Key
Non-Technical Description of Work. A new public key authentication method was introduced in [3] featuring high speed, moderate key sizes, very low processing power required for both prover and verifier, and rapid generation of public-private key pairs. The efficiency and flexibility of the scheme is such that in addition to high security applications, it is also suitable for use on Smart Cards and in any other context, such as micropayments, where overhead considerations have made more traditional authentication schemes impractical. In this paper wc show how the PASS scheme can be improved still further, reducing the already minimal computations of the prover substantially and decreasing communication requirements.
§1. Introduction
In a recent paper {3], a new highly efficient scheme for public key authentication and digital signatures called PASS was introduced. The ideas underlying PASS are related to the ideas originating in [1] and [2]. Bach of these three papers used a combination of algebraic and analytic techniques in the context of a commutative ring
R = (Z/qZ)[x]/(xN - l), (1) where q and N are moderately sized relatively prime integers.
In order to avoid excessive duplication of exposition, we will assume some familiarity with the previous paper [3]. We will, however, repeat some definitions and concepts when it appears that this would be useful. Thus this paper should be readable without reference to [3].
The general idea in the earlier paper [3] is as follows. Pearl, the prover, wishes to prove her identity to Vinnie, the verifier. Pearl has a secret key (/, /') consisting of a pair of "short" polynomials in R, i.e., having coefficients 1, -1, and 0. Pearl's public key is the collection of values {/(α), /'(α)}β6S, where a varies over a set S consisting of half the numbers modulo q.
To identify herself, Pearl randomly picks a pair {g, g') of short polynomials in R. She keeps (g,g') secret, but as her commitment, Pearl reveals {g(a),g'{a)} s, the collection of values of g and g' at the points in S. The verifier Vinnie sends Pearl a challenge c0 that Pearl hashes with the commitment to produce a 4-tuple of extremely short polynomials (cι, C2, C3,c4). Pearl computes and reveals the polynomial h = C] * f * g + C2 * f * g' + C3 * f' * g + C4 * * g'.
H- l (Note all polynomial multiplications take place in the ring R.)
In order to verify Pearl's identity, Vinnie first checks that h is fairly short, and second he checks that the identity h{ ) = cι (σ)/(α 3(α) + c2(α.)/(α)< (α) + < {a)f'{a)g(a) + c4( x)f{a)g'{a) is true for all α € S. If h passes both of these tests, then Vinnie accepts Peral's proof of identity, i.e., that she has knowledge of the secret short polynomial /.
In this paper we describe a modified version of the above scheme in which the public key and the commitment each consist of a single short polynomial, rather than a pair of short polynomials. This will improve the operating characteristics of the scheme. We call this variation on the PASS scheme PASS2.
The polynomial response h in PASS2 will take a somewhat different form. It is constructed using a pair of challenge polynomials (cι,C2), and the check by Vinnie changes to a verification that h is short, followed by a verification that a certain combination of the values f(<a), c(a),g(a), h(<x) are squares modulo q for all a € S.
In the following sections we give a precise description of PASS2, propose some specific parameters, and provide security analyses in these cases.
§1.1. An outline of the PASS2 authentication scheme
We first review some of the PASS notation. Let q be a prime and let N = q— 1. A typical element g of R has a representative of the form g = oo -
Figure imgf000052_0001
+ a,2X2 + . . . + a,N-ιxN~l with coefficients α,- € Z/gZ. It is useful to define two norms on R. Let g be a polynomial whose coefficients satisfy
Figure imgf000052_0002
< q/2 and ∑- aι — 0. We then define
Figure imgf000052_0003
= Ma αi — Minαi.
We recall the notion of a short polynomial:
Definition. A polynomial f will he called "short" if its norm |/|2 is smaller than a specified constant multiple ol
Figure imgf000052_0004
Very roughly, polynomials arc called short if their coefficients are sufficiently small with respect to q that no reduction mod q occurs when two of them are multiplied together. We will occasionally find it useful to call a polynomial "moderately" short if its norm is less than a constant times q.
When polynomials arc short, the two norms above are related by the rough inequality
Figure imgf000052_0005
where c2 is a constant that varies between 0.3 and 0.5 for parameters in the ranges discussed here. Also we have the approximate relation (for random choices of short polynomials)
Figure imgf000052_0006
π-2 The estimate (3) with appropriate choices of constants shows that the product of two short polynomials will have small | • |2 and | • \ norms with respect to q.
For any integer d, we lot C(d) denote the set of polynomials in R that have exactly d coefficients equal to each of 1 and -1, with all other coefficients equal to 0. We fix a set 5 consisting of t = N/2 randomly chosen distinct non-zero elements € Z/qZ. The set S is a system-wide parameter. For technical reasons, we assume that S is chosen so that if € S, then α"1 6 S, i.e., S is closed under taking inverses.
We further fix four system parameters df,dg)dC) . These are used to define four sets of polynomials:
Cf - C(df), Cg = C(dg), Cc = C(dc), Ch = {h e R : \h\2 < ?}-
We now describe how an authentication session proceeds in PASS2. Pearl, the prover, has a private key /, known only to her. This private key is chosen by Pearl at random from Cf. Her public key is the associated ordered collection of values mod q: {f(<x)}acS' We claim that the following scenario allows Pearl to prove to Vinnie, the verifier, that she possesses the secret key / associated to her public key, without revealing / or information that could help Vinnie, or a third party Irving observing the transaction, to discover /.
• Pearl randomly chooses a commitment g\ G Cg and sends the set of values {gι (o)}0 e to Vinnie.
• Vinnie chooses an 80 bit challenge Co at random and sends CQ to Pearl. Pearl hashes co with {<?ι(α) }aζS to obtain cι, c2 € Cc. Pearl checks that c\ (a) φ 0 (mod q) for all 2 < a < q — 2 with $ S. If this is not the case Pearl rechooses c\ in a predefined way until c\ has this property.
• Pearl chooses 2 € Cg and computes and reveals
h = {f + cι * gι + c2 * gi) * g2.
• Vinnie verifies that:
(A) h € Ch.
(B) The quantity (f( ) + cι(a)gι(ά))2 + 4c2(a)h(a) is a quadratic residue modulo q for every € S.
If Pearl passes the two tests, then Vinnie accepts her claim of identity.
Remark 1. One can check that the probability that the ci chosen through a hashing process as above will have the desired non-vanishing property is greater than 50%. Thus it will not take long for Pearl to locate a satisfactory c\.
As with PASS, or any public key authentication scheme, one must verify, or at least make strong arguments in favor of, several things. First, it must be shown that if Pearl possesses the private key /, the probability that she will pass the test and be accepted by Vinnie as legitimate can be made arbitrarily high. Second, it must be shown that a potential impostor without knowledge of / or some other false key /' will have a very low probability of passing the lost. Finally, it must be shown that even if an impostor knows the public key and has access to an arbitrarily long transcript of genuine authentication
LT-3 transactions using , he will have a close to zero chance of recovering either the original private key / or an equally useful false key /'.
In the following, we will generally suppress the * in the notation when multiplying polynomials in R.
§1.2. Specific parameter choices
In this section we give concrete details for the PASS2 scheme described above. Let q be a small prime, for example q = 769 or q - 929, and let N = q - 1. We will establish below tha the level of security for q = 769 is considerably greater than that of RSA 512, while that of q = 929 is greater than RSA 1024.
Let r be a primitive root modulo q, let i = N/2, and let J be a collection of t distinct indices j, chosen at random from the collection of integers less than N, with the condition that if j € J, then q - l — j e J. Define S by
S = {rj mod q : j e J}. (4)
Then S consists of t distinct elements mod q. As they are non-zero, each has the property that aN = I mod q. Also, by its definition, S is closed under the taking of multiplicative inverses mod q.
Fix t and a set S with jS| = t as in (4) above. Set the parameters df , dg, dc,η as follows: rf = {l/2 + g/3l, <*„ = [l/2 + g/6], = 2, = 1.8. (5)
It is simple to check then that for any q > 769
|£/| > 2160, |£5| > 2160, |£c| > 236, g* > 2160. (6)
In fact these bounds are far exceeded for all spaces except for Cc. Note that the space of challenges is the space of pairs of elements of Cc and thus has size 272.
Let us first discuss completeness. We will show that Pearl, knowing the secret key /, can pass Vinnie's test with very high probability.
§1.3. On Completeness
Recall how the srcnario works: Pearl chooses € Cg and reveals the commitment {9ii®)}a<zS- Λ challenge is sent to Pearl, which she uses to create the pair cι, c2 e Cc. Pearl chooses g2 € Cu, then uses her knowledge of / to compute and reveal
h = (/ + c\ * g\ + c2 * g2) * g2.
The test h e h will be passed for the following reason. From (2) and (3), we see that the fact that |/|2, |<7|2, jcι|2, and |c2|2 are small implies that \h\2 and |/ι|oo must be small. As with PASS, the probability that |Λ|2 falls into a given range, or that individual coefficients of h fell into given ranges, can be computed theoretically, but it is far easier to do an
II-4 empirical computation. For example, in the case (5) above with q = 769, we found that in 5 • 10β tests of randomly chosen triples {f,g,cι,c ) from Cf, Cg, Cc,
600250 < |/ι|2 2 < 1916009 for all but one ft, for which the value was 1972192. From this we conclude that the probability that \h\2 < l.Bq is roughly 2 • 10""7 (and even for the exception this inequality held with 1.8 replaced by 1.83). Thus we claim that the probability of a false alarm, i.e., that Pearl will fail test (A) despite knowing the secret /, is less than 10~~6. If this occurs, the test can simply be repeated, and similarly with a digital signature. Remark 2. If desired the test can be strengthened by lowering 1.8 to, say, 1.6. Then the chances of a false alarm are somewhat increased, but the security level at a given parameter setting increases dramatically. Next consider the test
(B) (/(a-) + cι{α)gι( ))2 + Ac2(α)h(<x) is a quadratic residue mod q for every α € S. This is will be true because (f{α) + C\ ( )gι ( ))2 + 4c2( )h( ) will be a square if and only if the quadratic equation c2(cv)a:2 + (f(α) + ci (α)gι (α))x ~ h( ) = 0 (mod q) has a solution. But the construction of ft guarantees the existence of a solution, namely x == g2(α). Thus Pearl will pass this test also and her proof of identity will be accepted by Vinnie.
§1.4. Security discussion
We will now consider the chances that an impσster, Irving, can pretend to be Pearl without knowledge of the secret PΛSS2 key / . The first few arguments are identical to those in [3]. With the size of the spaces given in (6), the chances of Irving locating /, or an equivalently useful /' by an exhaustive search or meet-in-the-middle attack are, as in PASS, less than 2"~80. Since |£c) = 272, the chances that a repeat of a previously observed genuine session will help Irving arc minimal.
In order to impersonate Pearl, Irving can either choose his ft at random satisfying the quadratic constraints and hope that \h\2 < 1.8g, or Irving can choose ft with |ft|2 < 1.8? and hope that ft satisfies the quadratic constraints. In the first case, as in PASS, by using Sterling's formula to approximate the volume of an N-sphere one can check that
\Ch I « (2πe)N/2(1.8q N-N/2. (7)
An ft chosen to satisfy the quadratic constraints will be uniformly distributed inside a space of volume qN. Thus by (7) we see that for our parameters, \Ch\q~N < 2~m. This means that this approach will have a less than 2~80 chance of success, even including possible meet-in-the-middle off line attacks.
On the other han , an ft picked at random from Ch will have a 50% chance of satisfying each quadratic constraint, and thus a 2~Nl probability of satisfying all of them. For JV > 320 this is also less than 2- 100.
II-5 Another potential attack for Irving is to cheat on his choice of g1 }g2 and pick polynomials far shorter than they should be. In the most extreme case, Irving could choose gι , g2 to be simply xk, xl for some k, l. If Irving could find a false key /' with |/'|3 < 1.8g and /'(α) ≡= f(σ) mod q for all € 5, then this attack would succeed. The chances of Irving finding such an /' through a random search are covered by (7) above and are less than 2~80. Keys / and /' can also be searched for via lattice reduction methods, which will be discussed below.
§1.5. Soundness
We will give a probablistic argument here that for t a bit larger than N/2, if Irving can produce a sequence of responses to a single commitment {ϋι(cή}aes and a sequence of challenge pairs c\, c then lie must have knowledge of the secret key /. As in [3], our argument will not be airtight. But we hope it will be convincing.
Suppose that, given {gι (®)}aeS ι when confronted by a random challenge pair Cι, c Irving can produce a moderately snort polynomial h with the property that
(/(α) + eι (α;)#ι(α:))2 + 4c2(α)ft(α:) is a quadratic residue mod q for every € S. It may be the case that Irving does not really have short polynomials g\,g% on hand but has simply selected the collection of values {#ι (»)}„£# uv some method. If so, the multiplication by the random c\ and the inclusion of the random c2 in the constraint seem to reduce Irving's situation to the general one of finding a moderately short polynomial satisfying a collection of t quadratic constraints. This problem is analyzed below in the section on lattice reduction attacks. With high probability there will exist a large number of potential responses ft satisfying these constraints. However, the only method available for finding them seems to be lattice reduction methods, and the time estimates for Irving to find a response by this method are quite long.
Let us assume therefore that Irving's response actually has the form
Figure imgf000056_0001
for any challenges c , c2 , with g\ , g2 fixed, but not necessarily short. We also assume that F has the correct values at S but is not necessarily short. Then by taking the two responses H and H' hallenge pairs cχ , c2 and Cι, l + c2, Irving can obtain the the difference H' - H ~ Unless Irving has solved the problem previously mentioned, of finding general sho olynomials whose values are quadratic residues, it is highly probable that H' - H =
Figure imgf000056_0002
s a, square of a short polynomial, i.e. that g2 really must be short. The square root can then be taken, as described in [3], recovering g2. The short polynomial c2g2 can then be subtracted from ft, yielding a short polynomial Fg2 + C\gχg2. Performing this operation with j and 1 + cj (while still keeping gx,g2 fixed) Irving could obtain the short polynomial E<72. This now has the same values at S as fg2, an actual product of short polynomials. If wc know that Fg2 = fg2 then Irving could divide by g2, recovering /. This however, can be soon to be true with high probability, by using the gaussian heuristic as follows.
II-6 The difference of the polynomials H = Fg2 - fg2 satisfies H{ ) = 0 mod q for all a £ S. H is also moderately short, meaning that |Hj2 < Kq for an absolute constant q. The probable existence of a non-zero H satisfying these constraints for large N can be calculated by aprroximating the volume of an N-sphere using Sterlings formula, as in [3], and applying the gaussian heuristic to a lattice of determinant <j*, described in the next section. One sees that for N large the expected number of such polynomials is on the order
{2πe)N/ N~N'2KNqNq-t. li t, ~ N/2 + (N for some small e > 0, then this quantity approaches zero for large N, meaning that with high probability II = 0 and Fg2 — fg2-
§2. Lattice reduction techniques
Lattice reduction methods can be used by Irving to search for the private key /, or an equally useful false key /'. These methods can also be used in an off line attempt to construct a valid response ft to a given challenge. Finally, they can be used in an attempt to recover g\ from a given commitment and hence / from the corresponding response ft. (In fact about 15 different #ι recoveries would be necessary to recover /.) In this section we will discuss and quantify the difficulty of these questions. First we will discuss an attack on / using the public key {/(α lαgs
§2.1. Formulation of a lattice attack on the public key.
This is approached exactly as in [3]. For convenience we will remind the reader of the outline. We begin by constructing a lattice as follows. For any polynomial F ζ R, associate to F the vector of coefficients (oo, ι, .. . , o^r_i). Similarly for any such vector or point in Zw, one can take the polynomial built from these coefficients, reduce mod q, and obtain an F € R.
Let L be the lattice of all points in ZN such the corresponding polynomial F satisfies
F{ ) = 0 (mod q) for each α € S.
It is easy to check that L is indeed a lattice, and that the determinant of L is equal to q1.
It is not difficult to find a polynomial F' € R such that F'{α) ≡ /(α) mod q for all α ζ S. However it is very unlikely that such an F' will have small coefficients. Suppose, instead, that we find an F' with non-small coefficients and then search for a point F € L close to F'. If such an F is found, set /' = F' - F. Then /' will still have the correct valuations at o mod q, and if F is very close to F', then |/'j2 will be small.
The problem of finding an /' which will give a good impersonation of / is thus reduced to that of finding a point in a lattice which is as close as possible to a given point outside the lattice. This is a non-homogeneous version of the problem of finding a short vector in a lattice. It can also be translated into a homogeneous problem in a similar lattice of one higher dimension. Roughly speaking, an attacker's chance of success in a fixed amount of time improves as the distance of the given point to the lattice decreases. The attacker's chances also deteriorate as the dimension of the lattice increases.
II- 7 §2.2. Some lattice reduction experiments
Consider a list of primes q and N = q - 1 with df = [1/2 + g/3] as in (5). When q - 769, this gives df - 256. Our experiments used the lattice reduction package provided in version 3.1b of Victor Shoup's implementation of the Schnorr, Euchner and Hoerner improvements of the LLL algorithm. This is distributed in his NTL package, located at http://www. cs.wisc. edu/~ shoup/ntl/. Our approach was to obtain results for an increasing sequence of primes q, and JV = q - 1, and plot the log of the time it took to break a key or find an alternative key against N. We found in all cases that the log time increased linearly with N. We then extrapolated theline we obtained to obtain estimated breaking times for high N.
Table 1 gives the results of experiments to recover the private key / from {/(#)}α€S-
Figure imgf000058_0001
Table 1. Time (sees) To Find Original Key /
The regression line for the average time (in seconds), as a function of N, is log(7') ∞ 0.0803N - 3.1923.
The correlation coefficient is 0.9866. We have used the regression line to extrapolate the breaking time for larger values of N. The results are listed in Table 2. Note that the conversion factor from seconds to MlPS-years is 400/31557600, because our experiments were run on 400 MHz Celeron computers.
Figure imgf000058_0002
Table 2. Estimated Breaking Times For Original / Key
II-8 Now consider a list of primes q and N = q - 1 with dg - [1/2 + g/6] as in (5). When q = 769, this gives dg = 128. Table 3 gives the results of experiments to recover g\ from {g {σ)} . Note that an attempt could be made to recover g2 from values given by the solutionαo tho quadratic equation involving ,#i ,ci,c2 that g2 satisfies. However, as the values of / and g\ are only known in S and each g2{a) has two possible solutions, this procedure is far more difficult than the problem of recovering g\.
Figure imgf000059_0001
Table 3. Time (sees) To Recover gy
The regression line for the average time (in seconds), as a function of N, is log(T) w 0.0574N - 1.6850.
The correlation coefficient is 0.9978. We have used the regression line to extrapolate the breaking time for larger values of N. The results are listed in Table 4.
Figure imgf000059_0002
Table 4. Estimated Breaking Times For g Recovery
Table 5 gives the time required to produce an /' with the property that f ≡ f mod q for all a € S and |/'|2 < 1.8<j. Such an /' would not equal the original /, but would be sufficient, once discovered, for Irving to have a reasonably good chance of impersonating
II- 9
Figure imgf000060_0001
Table 5. Time (sees) To Find False Key /'
Pearl. To flo this he would cheat on his commitment by choosing g\ , g to be simple powers of x. We give the results of several experiments for each q between 193 and 307, together with the average time required for each q.
The regression line for the average time (in seconds), as a function of N, is log(T) « 0.0487N - 3.9606.
The correlation coefficient is 0.9876. We have used the regression line to extrapolate the breaking time for larger values of N. The results are listed in Table 6.
Figure imgf000060_0002
Table 6. Estimated Breaking Times for false PASS2 key /'
Remark 3. Table 6, the estimated time for recovery of a false key /', gives the smallest breaking times, hence should be regarded as providing a lower bound for the security of the PASS2 scheme. π- io For comparison purposes, we note that the estimated time to break RSA 512 is 3 • 10'1 MlPS-years, and the estimated time to break RSA 1024 is 3 1011 MlPS-years. So according to Table 6, the the PASS2 scheme with N - 640 should be considerably more secure than RSA 512, while for N = 928 security is greater than RSA 1024 and N = 728 lies in between.
§2.3. Zero-Forced Lattices
Alexander May [4] has given an improved method for searching for small vectors when the small vectors have a. comparatively large number of coordinates equal to 0. These ideas lead to the notion of zero- forced lattices, in which one guesses that r particular coordinates of the target are 0, forces them to be zero, and thereby reduces the dimension of the lattice. Of course, if r is largo, it may take many tries before one makes a correct guess. Full details of how zero-forced lattices work and how to estimate their effectiveness are given in [5]. However, since the polynomials have only 1/3 of their coefficients equal to 0, in the case of /, and 2/3 equal to 0, in the case of <ftit is very difficult to correctly guess many zeros. As it would be necessary to guess considerably more than 100 zero locations correctly in order to reduce the key breaking time for g\ or / down to even the time estimate for finding a false /', one sees that the use of zero-forced lattices has a negligible effect on security estimates for PASS2.
§2.4. Lattice based creation of a response without the private key
Irving faces the following problem. Given a challenge c, he must find a polynomial ft with [ft|2 < 1.8g such that (/(α) + ci(ai)#i(a_))2 + 4c2(α;)ft(α;) is a quadratic residue mod q for every a € S. There are several different approaches that Irving can take, but none seem to have any chance of success in time less than that estimated in Table 6 for recovery of a false key '.
Figure imgf000061_0001
Gι(α) = /(c yatø), G2(α) = 9i{<x)92[at), G3{ ) = g2{a)2.
11- 11 This problem seems to be just as hard as that mentioned in the first two possibilities, but the dimension is tripled, leading to considerably greater breaking times.
§2.5. Attacks on a transcript of authentication sessions.
Consider the information revealed in a large collection of distinct examples of
Figure imgf000062_0001
for fixed / and varying n , r2 mil g\, g2. It is important to note that since /, gι,g , c\, c2 are small, an attacker may assume that no reduction modulo q has occurred in the construction of ft, and thus that the coefficients of ft are given over Z. Significant reduction, however, has occurred modulo xN — 1.
First, fix some β not in S and let us consider the information revealed from a collection of responses ft for which i vanishes at β, i.e., cχ{β) — 0 (mod g). Let QR denote the set of quadratic residues mod q. Since g2{β) is the solution of a quadratic equation, it must be true that
(/(/?) + c, (β)gι {β)f + Ac2{β)h{β) e QR.
Since we are assuming that c\ {β) vanishes, it follows that f{β)2 + Ac2{β)h{β) € QR. This constrains f{β)2 to lie in the translated set f{β)2 e Qli - Ac2{β)h{β) = {u2 - Ac2{β)h{β) : u mod q}.
Each response ft for which cι {β) = 0 will cut the possibilities for f{β)2 by approximately 50%, so after little more than log2 g such responses, an attacker can determine f(β)2.
If this attack is carried out for every β not in S, then the polynomial f{x)2 can be determined, since the values f{ ) for oc € S a e already public knowledge. It is then easy to extract the small square root and recover /(cc) itself, see [3] for details. The attack we have just described is the reason for the requirement in the protocol that Cχ{β) φ 0 for all β S (other than β = 0, ±J , which are not important). This requirement means that the above attack cannot oven get started. We are indebted to Don Coppersmith for informing us of this potential attack.
One might ask if the attacker could apply the same approach using an irreducible quadratic factor of cj and thus a root of ci in a quadratic extension of Z/gZ. This will not work, because the polynomial ft is only given modulo xN - 1, and it is only elements of Z/gZ that have the properly that N = 1; elements in extension fields do not have this property. In other words, the evaluation map at a element of an extension field is not a homomorphism from R to that extension field, so the attack using extension fields is not possible.
The collection of all ft in a transcript will generate a lattice over Z. However, because of the presence of the non-zero Q, the full (and thus useless) lattice is generated by this collection.
One can consider the average of many different responses ft. As in [3] this does not provide useful information because the expected values of the coefficients of g , g2 are 0, π- i2 The expected value, incidentally, of the polynomial
Figure imgf000063_0001
is {xN - l)/{x2 - 1). This is not quite zero, but highly non-invertible.
An attacker might also consider the product ftσ(ft), the autocorrelation polynomial corresponding to ft. This is potentially a very powerful attack, due to Burt Kaliski, as after averaging a long transcript, an attacker can hope to obtain the polynomial
Figure imgf000063_0002
Here for any polynomial F, p denotes the even autocorrelation polynomial α^ = F*σ{F). Also A^ denotes the expected value of & *σct for i = 1, 2 and Ay3' denotes the expected value of g,g * σ{g,gj). The average of hσ{h) will approach this limit as the cross terms of the product will have expected value zero.
If gι , 2, '-ι ,c vary uniformly, the limiting autocorrelation polynomials are simple constants and hence nj can be recovered. This means in effect that /(cv)/(α_1) can be assumed to be known, arid thus that once f{a) is known mod q for any α, f{a~x) can be found. This is the reason for the original assumption that S is closed under multiplicative inverses, as an attacker gets no additional knowledge from o/. We refer also to the analysis given in [3] for the conclusion that it is very difficult to factor α as a polynomial and obtain /.
We will close this section by remarking briefly on an important observation of Coppersmith. By selecting any fixed 4-tuple of indices i,j, k,l and computing an average of the product of the i,j, /.;, individual coefficients ht, h3, hk, hi, information can be obtained about a combination of second and fourth power moments of /. (In this terminology, α is the second power moment of /.) It is then possible to recover / by a process which, while computationally intensive, is still subexponential in N and feasable for the parameter choice N == 768. We have conducted a number of computer experiments to determine lower bounds that (he length of a transcript must exceed before an attacker has a chance of determining the limiting value of the products ht, h3 , ftfc, hi. Some experimental evidence is given in the Appendix 2. The experiments show that the convergence to the limiting value is extremely slow. Even after averaging 100 million responses, i.e., examining 100 million digital signatures produced by a single private key, the variation in each product is still wide enough to allow considerably greater than 2160 choices for a sufficiently large (greater than N) limiting collection of 4-tuple products. We thus feel that it is safe to use a single key for at least 100 million authentication sessions or digital signatures.
§2.6. Cheating Verifiers
A cheating verifier can pass specially constructed challenges with given expected values to Pearl and extract information from the responses as outlined above. (For example, choosing challenges equal to 0, or those where ci has roots consistently in specific places.) In this scheme, however, a challenge c0 is hashed with the commitment. This seems to eliminate any chance of a cheating verifier obtaining an advantage.
π- 13 §3. Key length and communication requirements
The key lengths and number of bits transmitted for N = 768 and N = 928 are given in Table 7. (For N -• 928, df = 62.) It is worth noting that if desired, as in the PASS scheme, the private key can be stored as, or generated from, any random string of 80 bits, as long as a non-linear uniform mapping is provided into the space Cf. The number of bits in the response is an upper bound, based on the fact that most coefficients of ft will have a rather small absolute value and hence can be recorded using 5,6 or 7 bits. On average, one finds that with these parameter choices, about 34% of the coefficients can be recorded with 5 bits, 29.14% with 6 bits, 29.64% with 7 bits. Only about 0.03% will require 8 bits and one or two rare exceptions require 9. Note that the length of a digital signature attached to a message will be the total number of bits transmitted as recorded below, minus the 80 bits required for the challenge. This is because, as usual when constructing a digital signature, the message is hashed with the commitment to produce the challenge. The signature is then the commitment, followed by the response.
Figure imgf000064_0001
Table 7. Key Length and Communication Requirements in Bits
§4. Final Remarks
Recall that we established above that the security level of PASS2 with q = 769 is considerably greater than that of RSA 512, while the security level of PASS2 with q = 929 is greater to RSA 1024.
When Vinnie checks that the quadratic condition is fulfilled, he need only do this for a randomly chosen subset of 80 values in S. It will probably be most efficient for Vinnie to use a precomputed table of quadratic residues mod q, but if space is at a premium, then quadratic reciprocity could be used for this test.
Finally, we remark that the evaluation of polynomials by Pearl and Vinnie can be done most efficiently by means of the FFT. This is because the evaluation of a polynomial is simply the association between a vector over Z/gZ and its discrete Fourier transform, where a polynomial is identified with the vector of its coefficients. Naive computation of discrete Fourier transforms of vectors of dimension N only takes N2 steps, so is not an onerous t.ask. However, the suggested parameter values were selected so that N is divisible by a reasonably large value of 2, which means that one can use Fast Fourier Transforms π-14 (FFT) to speed the process. Note that one can do these FFT's in Z/gZ working entirely with integers, because Z/gZ contains a primitive IVth root of unity. There is no need to use real or complex numbers.
References
[1] J. Hoffstein, B.S. Kaliski, D. Lieman, M.J.B. Robshaw, Y.L. Yin, "A New Identification Scheme Based on Polynomial Evaluation," patent application.
[2] J. Hoffstein, J. Pipher, J. Silverman, "NTRU: A ring-based public key system," Proceedings of ANTS I1T, Portland (1998), Springer-Verlag.
[3] J. Hoffstein, D. Lieman, J. Silverman, "Polynomial Rings and Efficient Public Key Authentication," Proceeding of the International Workshop on Cryptographic Techniques and E-Commcrcc (CrypTEC '99), M. Blum and CH. Lee, eds., City University of Hong Kong Press, to appear.
[4] A. May, Cryptanalysis of NTRU, preprint, February 1999
[5] J.H. Silverman, Dimension-Reduced Lattices, Zero-Forced Lattices, and the NTRU Public Key Cryptosystem, NTRU Technical Note 013, March 2, 1999, (www . tru . com)
Appendix 1. Timing Comparisons
In this section we compare digital signature and verification times for various cryptosystems. We note that the PΛSS2 times are based on a preliminary non-optimized implementation by Tao Group, Inc. We also note that the extremely fast RSA verification times are due to the use of the very small value k = 17 as decryption exponent.
Figure imgf000065_0001
Table 8. Timing Estimates (Milliseconds Per Operation)
The timing data for the RSA, DSA, and ECC signature schemes in Table 8 are taken from the Crypto++ 3.1 Benchmarks page, which may be found at
<http: //ww . eskimo . com/"weidai/benchmarks . html> . All were coded in C++ or ported to C++ from C implementations, compiled with Microsoft Visual C++ 6.0 SP2 (optimized for speed, Pentium Pro code generation), and run on
π- 15 a Celeron 450MIIz machine under Windows 2000 beta 3. No assembly language was used. The RSA compulations were done using the small verification exponent 17. The DSA and ECC values can be improved somewhat (up to a factor of 2 in some cases) by storing precomputed values. The PASS2 times are for the preliminary implementation by Tao Group (run on a 30 MHz machine and extrapolated to 450MHz). The reason that PASS2 1152 is faster than PΛSS2 928 is because 1152 is more highly divisible by 2 than is 928, which allows greater efficiency in the FFT routines.
Appendix 2. Transcript Experiments
We fixed PASS2 parameters
N = 768, d = 256, ^ = 128, dc = 2,
For each experiment we fixed a random polynomial /, and four random indices i,j', fc, We randomly chose 100 million 4-tuples of polynomials gι,g2, cι, c2 according to these parameters. For each of these choices we computed
h = (/ + 9\ * ci + g2 * c2) * g2. We then took the four random indices and computed the product hihjhkhi of the corresponding four coefficients of ft. We kept a running average of these quadruple products. Results from a typical experiment are given in Table 9. Other experiments gave similar behavior, so we have selected a few pieces of one run to give a feel for the rate of convergence. In this table, the four indices fixed were 55, 105, 537, and 551 and we have recorded the running average, denoted Avgft, rounded to the nearest integer, for various numbers of trials. As is dear from the table, even after 108 trials, the value of the product has not fully settled down, so it would be difficult to guess the correct value. Note that even if the value of each quadruple product is known to within 2 or 3, say, the number of possible values for all or the products hihjhkhi would be far greater than 2768, so it would not be possible to perform an exhaustive search.
H- 16
Figure imgf000067_0001

Claims

CLAIMS:
1. A method of communicating information between users of a communication system, the method comprising the steps of: transmitting from a first user to a second user a result ø(g) of evaluating an element g in a ring R by a ring homomorphism ø:R->B, wherein the element g satisfies a first set of predetermined conditions; generating an element h in the ring R as a function of an element c in the ring R satisfying a second set of predetermined conditions, a private key element f of the first user in the ring R, wherein the element f satisfies a third set of predetermined conditions; and transmitting the element h from the first user to the second user, such that the second user can authenticate the communication from the first user by verifying that the element h satisfies a fourth set of predetermined conditions and by comparing the result ø(h) of evaluating the element h by the ring homomorphism ø to a function of ø(g), ø(c), and a public key ø(f) of the first user.
2. The method of claim 1 wherein the element c is generated by the second user as a challenge to the first user in response to receipt of the result ø(g).
3. The method of claim 2 wherein the second user authenticates the identity of the first user based on the result of the step of comparing ø(h) to a function of ø(g), ø(c) and ø(f).
4. The method of claim 1 wherein the element c is generated by the first user applying a hash function to the result ø(g) and a message m, and the method further includes the step of transmitting the message m from the first user to the second user.
5. The method of claim.4 wherein the second user authenticates a digital signature of the first user based on the result of the step of applying a hash function to the result ø(g) and the message m to generate an element c, and the method further includes the step of comparing ø(h) to a function of ø(g), ø(c) and ø(f).
6. The method of claim 1 wherein the ring R is a ring of functions.
7. The method of claim 6 wherein the homomorphism ø is the evaluation homomorphism at a set of values aι,a2,...,as.
8. The method of claim 1 wherein the element h generated as a function of the element c, a private key f, and the first element g, is generated as the value of a polynomial P(f,c,g), wherein P(X,Y,Z) is a polynomial with coefficients in R.
9. The method of claim 8 wherein the second user authenticates the communication from the first user by comparing the result ø(h) of evaluating the element h by the ring homomorphism ø to the result of evaluating ø(P)(ø(f),ø(c),ø(g)), wherein ø(P) is the polynomial obtained by evaluating the coefficients of the polynomial P by the ring homomorphism ø.
10. The method of claim 8 wherein the polynomial P(X,Y,Z) is the polynomial ZX+Z2Y.
11. The method of claim 8 wherein f is a n^-tuple, c is an n0-tuple, and g is an ng-tuple and P is a polynomial in nf+nc+ng variables.
12. The method of claim 11 wherein nc is equal to nfng and the polynomial P is equal to the summation of XNyZj as i ranges from 1 to nf and j ranges from 1 to ng.
13. The method of claim 1 wherein the ring R is the ring Fq[X]/(XN-l) of polynomials over the field Fq of q elements modulo the ideal generated by the polynomial XN-1 and wherein N is a divisor of q-1.
14. The method of claim 13 wherein the first set of predetermined conditions on the element g are that the coefficients of g are small compared to q.
15. The method of claim 13 wherein the second set of predetermined conditions on the element c are that the coefficients of c are small compared to q.
16. The method of claim 13 wherein the third set of predetermined conditions on the element f are that the coefficients of f are small compared to q.
61
17. The method of claim 13 wherein the fourth set of predetermined conditions on the element h are that the coefficients of h are small compared to q.
18. A method of communicating information between users of a communication system, the method comprising the steps of: generating an element h in a ring R as a function of an element g in the ring R satisfying a first set of predetermined conditions, an element c in the ring R satisfying a second set of predetermined conditions, and a private key element f of the first user in the ring R satisfying a third set of predetermined conditions; transmitting the element h from the first user to the second user, such that the second user can authenticate the communication from the first user by verifying that the element h satisfies a fourth set of predetermined conditions and by using a ring homomorphism ø:R- B and verifying that the quantity ø(h), the quantity ø(c), and a public key ø(f) of the first user satisfy a fifth set of predetermined conditions.
19. The method of claim 16 wherein h is also a function of an element gx in the ring R, and wherein the element φ(gι) is transmitted from the first user to the second user and wherein the second user also uses φ(gt) to authenticate the communication.
20. The method of claim 18 wherein the element c is generated by the second user as a challenge to the first user.
21. The method of claim 20 wherein the second user authenticates the identity of the first user based on the result of the step of verifying that the element h satisfies the fourth set of predetermined conditions and that the quantities ø(h), ø(c), and ø(f) satisfy the fifth set of predetermined conditions.
22. The method of claim 18 wherein the element c is generated by the first user applying a hash function to the message m, and the method further includes the step of transmitting the message m from the first user to the second user.
23. The method of claim 22 wherein the second user authenticates a digital signature of the first user based on the result of the step of applying a hash function to the message m to generate an element c, and the method further includes the step verifying that the element h satisfies the fourth set of predetermined conditions and that the quantities ø(h), ø(c), and ø(f) satisfy the fifth set of predetermined conditions.
24. The method of claim 18 wherein the ring R is a ring of functions.
25. The method of claim 24 wherein the homomorphism ø is the evaluation homomorphism at a set of values al5a2,...,as.
26. The method of claim 18 wherein the element h generated as a function of the element c, a private key f, and the first element g, is generated as the value of a polynomial P(f,c,g), wherein P(X,Y,Z) is a polynomial with coefficients in R.
27. The method of claim 26 wherein the fifth set of predetermined conditions by which the second user authenticates the communication from the first user are that the equation ø(P)(ø(f),ø(c),Z)=0 has a solution Z in the ring R, wherein ø(P) is the polynomial obtained by evaluating the coefficients of the polynomial P by the ring homomorphism ø.
28. The method of claim 26 wherein the polynomial P(X,Y,Z) is the polynomial ZX+Z2Y.
29. The method of claim 26 wherein f is a nrtuple, c is an nc-tuple, and g is an ng- tuple and P is a polynomial in Uf+nc+ng variables.
30. The method of claim 29 wherein the polynomial P is equal to XZ2+YιZ1Z2+ Y2Z2 2.
31. The method of claim 30 wherein the fifth set of predetermined conditions is that (φ(f)+φ(c1)φ(gι))2+4φ(c2)φ(h) is the square of an element of the ring B.
32. The method of claim 28 wherein the fifth set of predetermined conditions by which the second user authenticates the communication from the first user are that the quantity ø(f)2+4ø(c)ø(h) is the square of an element of the ring B.
33. The method of claim 18 wherein the ring R is the ring Fq[X]/(XN-l ) of polynomials over the field Fq of q elements modulo the ideal generated by the polynomial XN- 1 and wherein N is a divisor of q-1.
34. The method of claim 33 wherein the first set of predetermined conditions on the element g are that the coefficients of g are small compared to q.
35. The method of claim 33 wherein the second set of predetermined conditions on the element c are that the coefficients of c are small compared to q.
36. The method of claim 33 wherein the third set of predetermined conditions on the element fare that the coefficients of fare small compared to q.
37. The method of claim 33 wherein the fourth set of predetermined conditions on the element h are that the coefficients of h are small compared to q.
38. A method for authenticating, by a second user, the identity of a first user, that includes 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, comprising the steps of: selection by the first user of a private key fin a ring R and a public key that includes φ(f) in a ring B that is mapped from fusing the ring homomorphism φ : R -AB , and publication by the first user of the public key; generation of the challenge communication by the second user that includes selection of a challenge c in the ring R; generation of the response communication by the first user that includes computation of a response comprising h in the ring R, where h is a function of c and f; and performing of a verification by the second user that includes determination of φ(c) from c, φ(h) from h, and an evaluation that depends on φ(h), φ(c) and φ(f).
39. The method as defined by claim 38, wherein said generation of the response communication by the first user includes selection by the first user of an element g in the ring R, and wherein h is also a function of g.
40. The method as defined by claim 39, wherein φ(g) is also communicated to the second user, and wherein said performing of a verification includes an evaluation that also depends on φ(g).
41. The method as defined by claim 39, wherein said authentication includes an initial commitment communication from said first user to said second user, and wherein said commitment communication includes φ(g).
42. The method as defined by claim 39, wherein said first user further selects an element gi in the ring R and determines φ(gι) therefrom, and further comprising communicating φ(gι) to the second user.
43. The method as defined by claim 42, wherein said authentication includes an initial commitment communication from said first user to said second user, and wherein said commitment communication includes φ(gι).
44. The method as defined by claim 39, wherein f, c, and g are elements in respective subsets of the ring R.
45. The method as defined by claim 42, wherein f, c, g, and gi are elements in respective subsets of the ring R.
46. The method as defined by claim 39, wherein f, c, g, and h are polynomials, and wherein φ(f), φ(c), φ(g) and φ(h) each represent one or more values of the respective polynomials from which they are mapped.
47. The method as defined by claim 43, wherein f, c, g, gt and h are polynomials, and wherein φ(f), φ(c), φ(g), φ(gι) and φ(h) each represent one or more values of the respective polynomials from which they are mapped.
48. The method as defined by claim 39, wherein said step of generation of the response includes computation of h in the form h = (f+cg)g.
49. The method as defined by claim 39, wherein at least one of the elements f, c, and g is an n-tuple with n greater than 1, and φ evaluated at an n-tuple of elements (ri, r2, rn) of R is equal to the n-tuple of respective values (φ(rι),φ(r2) φ(rn)) of φ.
50. The method as defined by claim 40, wherein at least one of the elements f, c, and g is an n-tuple with n greater than 1, and φ evaluated at an n-tuple of elements {r r2, rn) of R is equal to the n-tuple of respective values (φ(rι),φ(r2) φ(r„)) of φ.
51. The method as defined by claim 41, wherein at least one of the elements f, c, and g is an n-tuple with n greater than 1, and φ evaluated at an n-tuple of elements (ri, r2, rn) of R is equal to the n-tuple of respective values (φ(rι),φ(r2) φ(rn)) of φ.
52. The method as defined by claim 42, wherein at least one of the elements f, c, and g is an n-tuple with n greater than 1, and φ evaluated at an n-tuple of elements (rls r2, rn) of R is equal to the n-tuple of respective values (φ(rι),φ(r2) φ(rn)) of φ.
53. The method as defined by claim 43, wherein at least one of the elements f, c, and g is an n-tuple with n greater than 1, and φ evaluated at an n-tuple of elements (r1; r2, rn) of R is equal to the n-tuple of respective values (φ(ri),φ(r2) φ(rn)) of φ.
54. The method as defined by claim 52, wherein element c includes the pair ci, c2 and elements gi, g correspond respectively to the pair gu g2, and wherein h is of the form h = (f+c1g1+c2g2) g2.
55. The method as defined by claim 53, wherein element c includes the pair ci, c2 and elements gi, g correspond respectively to the pair gi, g2, and wherein h is of the form h = (f+cιgι+c2g2) z.
56. The method as defined by claim 50, wherein element f includes the pair f f2, element g includes the pair g g2, and element c includes the 4-tuple cn, C12, c12, c2ι, c22, and wherein h is of the form h = fιgιcu+fιgtcι2+f2g_c21+f2g2c22.
57. The method as defined by claim 51, wherein element f includes the pair fj, f2, element g includes the pair gi, g2, and element c includes the 4-tuple Cn, cι2, Cι2, c2ι, c22, and wherein h is of the form h = fιgιcu+f1g1c12+f2g1c21+f2g2c22.
58. The method as defined by claim 42, wherein said verification includes a determination of whether certain values of functions of φ(f), φ(c), φ(gι), φ(h) are squares modulo q, where q is a certain integer modulus used in key creation by the first user.
59. The method as defined by claim 43, wherein said verification includes a determination of whether certain values of functions of φ(f), φ(c), φ(gι), φ(h) are squares modulo q, where q is a certain integer modulus used in key creation by the first user.
60. The method as defined by claim 53, wherein said verification includes a determination of whether certain values of functions of φ(f), φ{c), fy{gι), φ(h) are squares modulo q, where q is a certain integer modulus used in key creation by the first user.
61. The method as defined by claim 55, wherein said verification includes a determination of whether certain values of functions of φ(f), φ(c), φ(gι), φ(h) are squares modulo q, where q is a certain integer modulus used in key creation by the first user.
62. An authentication method that includes authenticating, by a second user, of a signed digital message of a first user communicated from said first user to said second user, comprising the steps of: selecting by the first user, of a private key fin a ring R and a public key that includes φ(f) in a ring B that is mapped from fusing the ring homomorphism φ : R — _>B , and publication by the first user of the public key; selecting, by the first user, of an element gj. in the ring R, determining φ(g , and applying a hash function to at least a message m to produce an element c; generating, by the first user, an element h which is a function of c and f; communicating, from the first user to the second user, the message m and a digital signature comprising φ(gι) and h; determining, by the second user, of the element c, by applying a hash function to at least the message m, and determining, by the second user of φ(c) from c and φ(h) from h ; and authenticating, by the second user, of the digital signature, said authenticating including an evaluation that depends on φ(h), φ(f) and φ(c).
63. The method as defined by claim 62, wherein said steps, by the first user and the second user, of applying a hash function to at least the message m, comprise applying a hash function to the message .
64. The method as defined by claim 62, wherein said steps, by the first user and the second user, of applying a hash function to at least the message m, comprise applying a hash function to a combination of the message m and φ(gι).
65. The method as defined by claim 62, wherein f, c, and gi are elements in respective subsets of the ring R.
66. The method as defined by claim 62, wherein f, c, gi, and h are polynomials, and wherein φ(f), φ(c), φ(g and φ(h) each represent one or more values of the respective polynomials from which they are mapped.
67. The method as defined by claim 54, wherein f, c, gi, and h are polynomials, and wherein φ(f), φ(c), φ(gι) and φ(h) each represent one or more values of the respective polynomials from which they are mapped.
68. The method as defined by claim 62, wherein h is of the form h = (f+cg gi.
69. The method as defined by claim 66, wherein at least one of the elements f, c, and gi is an n-tuple with n greater than 1.
70. The method as defined by claim 67, wherein at least one of the elements f, c, and g1 is an n-tuple with n greater than 1.
71. The method as defined by claim 70, wherein element c includes the pair ci, c2 and element gi is part of the pair gi, g2, and wherein h is of the form
Figure imgf000076_0001
72. The method as defined by claim 69, wherein element f includes the pair ft, f2, element gi is part of the pair gj, g2, and element c includes the 4-tuple cn, cι2, Cι2, c2ι, c 2, and wherein h is of the form h = flglCi!+fιglCl2+f2glC2ι+f2g2C22.
73. The method as defined by claim 58, wherein said verification includes a determination of whether certain values of functions of φ(f), φ(c), φ(gι), φ(h) are squares modulo q, where q is a certain integer modulus used in key creation by the first user.
74. A method for use by a first user to prove its identity to a second user who sends a challenge to the first user and wishes to authenticate the identity of the first user, comprising the steps of: selecting a private key fin a ring R and a public key that includes φ(f) in a ring B that is mapped from fusing the ring homomorphism φ : R — > , and publication by the first user of the public key; receiving the challenge communication from the second user that includes selection of a challenge element c in the ring R ; and generation of the response communication that includes computation of a response comprising h in the ring R, where h is a function of c and f; whereby the second user can perform a verification that includes determination of φ(c) from c, φ(h) from h, and an evaluation that depends on φ(h), φ(c) and φ(f).
75. A method for producing and sending a signed digital message comprising the steps of: selecting a private key fin a ring R and a public key that includes φ(f) in a ring B that is mapped from fusing the ring homomorphism φ : R - B , and publication by the first user of the public key; selecting an element gi in the ring R, determining φ(gι), and applying a hash fiinction to at least a message m to produce an element c; generating an element h which is a function of c and f; and communicating the message m and a digital signature comprising φ(gt) and h.
PCT/US2000/012025 1999-05-03 2000-05-03 Secure user identification based on ring homomorphisms WO2001001625A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
IL14635000A IL146350A0 (en) 1999-05-03 2000-05-03 Secure user identification based on ring homomorphisms
CA002369141A CA2369141A1 (en) 1999-05-03 2000-05-03 Secure user identification based on ring homomorphisms
AU68891/00A AU6889100A (en) 1999-05-03 2000-05-03 Secure user identification based on ring homomorphisms
EP00957240A EP1190523A4 (en) 1999-05-03 2000-05-03 Secure user identification based on ring homomorphisms

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13219999P 1999-05-03 1999-05-03
US60/132,199 1999-05-03

Publications (2)

Publication Number Publication Date
WO2001001625A1 WO2001001625A1 (en) 2001-01-04
WO2001001625A9 true WO2001001625A9 (en) 2002-06-13

Family

ID=22452933

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/012025 WO2001001625A1 (en) 1999-05-03 2000-05-03 Secure user identification based on ring homomorphisms

Country Status (4)

Country Link
EP (1) EP1190523A4 (en)
AU (1) AU6889100A (en)
IL (1) IL146350A0 (en)
WO (1) WO2001001625A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL156606A (en) * 2003-06-23 2011-07-31 Aviad Kipnis Digital certificates
CN112003707A (en) * 2020-08-25 2020-11-27 湖南宸瀚信息科技有限责任公司 Quantum computation attack resistant block chain digital signature encryption method and system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5220606A (en) * 1992-02-10 1993-06-15 Harold Greenberg Cryptographic system and method
TW242206B (en) * 1993-08-27 1995-03-01 At & T Corp
EP2110732A3 (en) * 1995-02-13 2009-12-09 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
FR2737370B1 (en) * 1995-07-27 1997-08-22 Bull Cp8 CRYPTOGRAPHIC COMMUNICATION METHOD
US5740250A (en) * 1995-12-15 1998-04-14 Moh; Tzuong-Tsieng Tame automorphism public key system

Also Published As

Publication number Publication date
WO2001001625A1 (en) 2001-01-04
EP1190523A4 (en) 2004-08-04
AU6889100A (en) 2001-01-31
EP1190523A1 (en) 2002-03-27
IL146350A0 (en) 2002-07-25

Similar Documents

Publication Publication Date Title
EP0503119B1 (en) Public key cryptographic system using elliptic curves over rings
US5600725A (en) Digital signature method and key agreement method
MacKenzie et al. Two-party generation of DSA signatures
US6411715B1 (en) Methods and apparatus for verifying the cryptographic security of a selected private and public key pair without knowing the private key
CA2469198C (en) Digital signature and authentication method and apparatus
Koblitz et al. A survey of public-key cryptosystems
Brakerski et al. A framework for efficient signatures, ring signatures and identity based encryption in the standard model
US6122742A (en) Auto-recoverable and auto-certifiable cryptosystem with unescrowed signing keys
WO1998007253A9 (en) Accelerating public-key cryptography by precomputing randomly generated pairs
Mao Timed-release cryptography
US20020136401A1 (en) Digital signature and authentication method and apparatus
US6959085B1 (en) Secure user identification based on ring homomorphisms
Paulus et al. A new public-key cryptosystem over a quadratic order with quadratic decryption time
Ateniese et al. A provably secure Nyberg-Rueppel signature variant with applications
Verheul Certificates of recoverability with scalable recovery agent security
WO2008022158A2 (en) System for non-interactive zero-knowledge proofs
Wu et al. Efficient partially blind signatures with provable security
Schnorr et al. Security of discrete log cryptosystems in the random oracle and the generic model
Nishioka et al. Design and analysis of fast provably secure public-key cryptosystems based on a modular squaring
WO2001001625A9 (en) Secure user identification based on ring homomorphisms
Zhu Survey of computational assumptions used in cryptography broken or not by Shor's algorithm
Yu et al. An online/offline signature scheme based on the strong rsa assumption
Catalano et al. Cramer-Damgård signatures revisited: Efficient flat-tree signatures based on factoring
Cryptosystems Polynomial Rings and E cient Public Key Authentication
Popescu A modification of the Cramer-Shoup digital signature scheme

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU CA CN IL JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref document number: 2369141

Country of ref document: CA

Ref country code: CA

Ref document number: 2369141

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 2000957240

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2000957240

Country of ref document: EP

AK Designated states

Kind code of ref document: C2

Designated state(s): AU CA CN IL JP

AL Designated countries for regional patents

Kind code of ref document: C2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

COP Corrected version of pamphlet

Free format text: PAGES 1-26, DESCRIPTION, AND PAGES 1-12, APPENDIX I, REPLACED BY NEW PAGES 1-48; PAGES 1-17, APPENDIX II, RENUMBERED AS 49-65; PAGES 27-39, CLAIMS, REPLACED BY NEW PAGES 66-75; PAGES 1/6-6/6, DRAWINGS, REPLACED BY NEW PAGES 1/6-6/6; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Ref document number: 2000957240

Country of ref document: EP