Efficient signature schemes based on birational permutations.
Abstract
A birational permutation is a function f which is a one-to-one and onto mapping over k-tuples of numbers, where both f and its inverse are low degree rational functions. This patent application describes novel digital signature schemes which are based on new classes of birational permutations which have small keys and require few arithmetic operations and which are used to encrypt messages, establish public keys and create uniquely verifiable signatures.

Term
Term ended
Projected expiry passed 11 November 2013, 12.9 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
16 claims: 7 independent, 9 dependent
- 1A method of generating and verifying digital signatures comprising the steps of:a) selecting a birational mapping (v₁,...,vk)=f(x₁,...,xk) comprising k>1 rational functions v₁=fi(x₁,...,vk);b) selecting first s(1≦s<k) of fi functions and using them as a public key;c) maintaining inverse of f as a private key;d) generating a digital message M;e) computing v₁=h(M,i) for i=1,...,s where h is a publicly known cryptographic hash function;f) selecting v₁=ri for i=s+1,...,k where ri is a randomly chosen value;g) computing signature {x₁,...,xk} using inverse of f to satisfy (v₁,...,vk) = f(x₁,...,xk);h) transmitting to a verifier the digital message M, and the signature of step f);andi) verifying the signature of step f) of message M by computing v₁=h(M,i) FDR i=1,...,s and checking that v₁=fi(x₁,...,xk), where f₁,...,fs is the signer's public key.
- 4A method of generating and verifying digital signatures comprising the steps of:a) selecting a set F of rational functions in k>1 variables;b) selecting an algebraic basis G of F with the property that the representation of any f in F can be easily computed in terms of generators gi in G;c) selecting invertible algebraic transformations and maintaining them as a private key;d) transforming the easy basis G into a hard basis G'';e) selecting a proper subset of 1≦ss a random number vi=ri;h) expressing each gi in the easy basis G in terms of generators g''j in the hard basis using private key of step d);i) selecting the values xi of the easy generators of step i) as the signature X of M;andj) verifying the signature X by assigning the values xi from the signature to the easy generators gi, computing values v₁,...,vs of the s hard generators g''j of step f), evaluating the s hashed forms of M using h of step h) and checking that v₁=h(M,i) for all i=1,...,s.
- 9The method of generating and verifying digital signatures comprising the steps of:a) selecting a modulus n,b) selecting k secret polynomials Fi of degree d (k>1, d>1) where Fi contains variables y₁,....,yi-1 in arbitrary form and yi in linear form,c) selecting two secret kxk matrices A and B with entries in [O,n),d) defining a linear transformation Y=AX (mod n),e) replacing each yi in each Fi by the linear combination of xt variables defined by A and simplifying the resulting polynomials Ei,f) mixing the k Ei polynomials by the linear transformation B,g) selecting the coefficients of a proper subset of s<k Ei polynomials and using them as a public key,h) generating a message M, and computing the hashed form Hi(M) for the selected indices i, and applying to them the inverse linear transformation B⁻¹,i) selecting arbitrary values for the yi's,j) sequentially solving the linear equations in yi derived from Fi (y₁,......,yi) = Hi(M)(mod n) for the selected indices i,k) computing X=A⁻¹Y (mod n) to derive a signature X of message M,l) transmitting to a verifier the modulus n of step a, the public key of step g, the message M of step h and the signature X of step k, andm) verifying the signature X of the message M by computing the hashed form Hi(M) for all the selected indices i, and verifying that equations Ei(x₁,....,xm) = Hi(M)(mod n) are satisfied.
- 10Apparatus for generating and verifying digital signatures comprising a) means for selecting a birational mapping (v₁,...,vk)=f(x₁,...,xk) comprising k>1 rational functions v₁=fi (x₁,...,vk) ;b) means for selecting first 1=≦s<k of fi functions and using them as a public key;c) means for generating a digital message M;d) means for computing v₁=h(M,i) for i=1,...,s where h is a publicly known cryptographic hash function;e) means for selecting v₁=ri for i=s+1,...,k;f) means for computing signature (x₁,...,xk) using inverse of f to satisfy (v₁,...,vk)=f(x₁,...,xk) ;g) means for transmitting to a verifier the digital message M, the public key of b) and the signature of f);andh) means for verifying the signature of f) of message M by computing v₁=h(M,i) for i=1,...,s and checking that v₁=fi (x₁,...,xk).
- 11The apparatus of claim to wherein the fi functions of a) are non-linear.
- 13Apparatus for generating and verifying digital signatures comprising:a) means for selecting a set F of rational functions in k>1 variables;b) means for selecting an algebraic basis G of F with the property that the representation of any f in F can be easily computed in terms of generators gi in G;c) means for selecting invertible algebraic transformation and maintaining them as a private key;d) means for transforming the easy basis G into a hard basis G'';e) means for selecting a proper subset of 5 generators g''i in G as a public key;f) means for generating a digital message M;g) means for assigning to each g''i with i≦s the hashed value vi=h(M,i) of M wherein h is a publicly known cryptographic hash function, and to each g''i with i>s a random number vi=ni;h) means for expressing each gi in the easy basis G in terms of generators g''j in the hard basis using the private key of d) ;i) means for selecting the values xi of the easy generators of i) as signature X of M;andj) means for verifying the signature X by assigning the values xi from the signature to the easy generators gi, computing v₁,...,vs of the S hard generators g''j of f), evaluating the S hashed forms of M using h of step h) and checking that v₁=h(M,i) for all i=1,...,s.
- 16Apparatus for generating and verifying digital signatures comprising:i) means for establishing a modulus n, a public key, a message M and a signature X through encryption to enable signature X to be uniquely verifiable including a) selecting a modulus n,b) selecting k secret polynomials Fi of degree d (k>1,d>1) where Fi contains variables y₁,....,yi+1 in arbitrary form and yi in linear form,c) selecting two secret kxk matrices A and B with entries in [O,n),d) defining a linear transformation Y=AX (mod n),e) replacing each yi in each Fi by the linear combination of xt variables defined by A and simplifying the resulting polynomials Ei,f) mixing the k Ei polynomials by the linear transformation B,g) selecting the coefficients of a proper subset of s<k Ei polynomials and using them as a public key,h) generating a message M, and computing the hashed form Hi(M) for the selected indices i, and applying to them the inverse linear transformation B⁻¹,i) selecting arbitrary values for the yi's,j) sequentially solving the linear equations in yi derived from Fi (y₁,......,yi) = Hi(M)(mod n) for the selected indices i,k) computing X=A⁻¹Y (mod n) to derive a signature X of message M,ii) means for transmitting to a verifier the modulus n, the public key, the message M, and the signature X to submit same for verification of the signature X, andiii) means for receiving and verifying the signature X of the message M by computing the hashed form Hi(M) for all the selected indices i, and verifying that equations Ei(x₁,....,xm) = Hi(M)(mod n) are satisfied to prove the verification of signature X.
Independent claims7
71 paragraphs in 6 sections, as filed
Field of Invention
The present invention relates to efficient signature schemes based on birational permutations and more particularly, relates to apparatus and method for carrying out same.
Background of Invention
The original proposal for public key cryptography (Diffie and Hellman [1976]) was based on the notion of trapdoor permutations, i.e., invertible functions which are easy to compute but apparently difficult to invert, unless some trapdoor information (which makes the inversion easy) is known. The best known implementation of this idea is the RSA scheme (Rivest, Shamir and Adleman [1978]), which can solve in a unified way the problems of key management, secure transmission, user identification, message authentication, and digital signatures. In one of the variants of this scheme, the encryption function is the low degree polynomial f(x)=x³ (mod n) where n is the public product of two secret primes p and q. This function can be efficiently computed with two modular multiplications. Unfortunately, the inverse function f⁻¹(x)=x<sup>d</sup> (mod n) is a very high degree polynomial, and thus its evaluation is quite slow (especially in software implementations).
In spite of extensive research in the last 16 years, there had been no fundamentally new constructions of trapdoor permutations. To overcome this difficulty, researchers have developed specialized solutions to various cryptographic needs which are not based on this unifying notion. For example, Diffie and Hellman [1976] proposed a key management scheme which is based on the one way permutation of exponentiation modulo a prime. Since this function cannot be efficiently inverted, it is neither an encryption nor a signature scheme. The cryptosystem of Merkle and Hellman [1978] is invertible, but its mapping is not onto and thus it can not generate digital signatures. The Fiat-Shamir [1986] and DSS [1991] signature schemes are not one-to-one mappings, and thus they can not be used as cryptosystems.
A natural approach to the construction of efficient trapdoor permutations is to find low degree algebraic mappings (polynomials or rational functions) whose inverses are also low degree algebraic mappings. Such mappings are called birational functions. We are particularly interested in multivariate mappings f(x₁,...,x<sub>k</sub>)=(v₁,...,v<sub>k</sub>) in which the x<sub>i</sub> and the v<sub>i</sub> are numbers modulo a large n=pq, since the solution of general algebraic equations of this type is at least as hard as the factorization of the modulus. In this context, we say that a polynomial is low degree if its degree is a constant which does not grow with n, and a rational function is low degree if it is the ratio of two low degree polynomials. For example, in the case of cubic RSA, the function is considered low degree, but its inverse is not. General algebraic mappings do not usually have unique inverses, when they do have inverses they usually cannot be written in closed form, and when the closed forms exist they are usually based on root extractions (radicals) or exponentiations whose computation modulo a large n is very slow. The construction of good birational mappings is thus a non-trivial task.
One attempt to construct birational permutations was reported in Fell and Diffie [1985]. It used the following DES-like idea: Let (x₁,x₂,...,x<sub>k</sub>) be an initial k-vector of variables, and let g(x₂,...,x<sub>k</sub>) be a secret multivariate polynomial. Alternately replace the current k-vector of multivariate polynomials (p₁,p₂,...,p<sub>k</sub>) by (p₁+g(p₂,...p<sub>k</sub>),p₂,...,p<sub>k</sub>), and rotate the k-vector to the right. After sufficiently many iterations, expand and publish the resultant k-vector of multivariate polynomials as your public key. The function f is evaluated on input (a₁,a₂,...,a<sub>k</sub>) by substituting the a<sub>i</sub>'s into the x<sub>i</sub>'s in the k published multivariate polynomials, and computing their values (b₁,b₂,...,b<sub>k</sub>). When the trapdoor information g is known, the inverse of f can be computed by undoing the transformations (i.e., by alternately subtracting g(p₂,...,p<sub>k</sub>) from p₁ and rotating the k-vector to the left). Unfortunately, even when g is a quadratic function, the number of terms can be squared in each iteration, and thus the size of the public key can grow double exponentially with the number of iterations, which cannot be too small for security reasons. As the authors themselves conclude, "there seems to be no way to build such a system that is both secure and has a public key of practical size".
Birational permutations cannot be used in a direct way as public key cryptosystems due to the following generic attack: If f is known, the cryptanalyst can prepare a large number of input-output pairs for this function. Since f is invertible, these pairs (in reverse order) can be used to interpolate the unknown low-degree function f⁻¹ by solving a small number of linear equations relating its coefficients. This attack discouraged the serious study of cryptographic birational permutations in the literature.
Summary of Invention
The invention describes a novel method and apparatus for using a birational permutation as a public key signature scheme and more particularly two novel families of public key signature schemes based on birational permutations. These and other objects of the present invention will become evident from the following description of preferred embodiments of the invention when taken in conjunction with the drawings.
Description of Drawings
Figures 1, 2 and 3 of the drawings are schematic showings, in block diagram form, of the signature schemes of the present invention, in particular, showing key generation, signature generation and signature verification illustrating the method and apparatus of the general public key signature scheme and two particular implementations using algebraic bases and sequentially linearized equations.
Detailed Description of a First Preferred Embodiment
Referring now to the drawing, the basic steps and structure of the method and apparatus of the present invention implementing the efficient signature scheme based on birational permutations will now be described in detail. The description will be by reference to the various steps of the novel method, however, the apparatus employed to effect the various step and to carry out the invention, will be evident as a means to carry out the prescribed function. Known data processing equipment and the manner of programming same to carry out the method, will be evident from the algorithms given and otherwise, to give effect to the present invention will be readily apparent to those of ordinary skill in this art from the following detailed elaboration of the invention.
With reference to Fig. 1 the key generation, signature generation and signature verification are carried out as follows:
KEY GENERATION:
<ul id="ul0001" list-style="none"><li>1. Each user chooses a birational mapping (v₁,...,v<sub>k</sub>)=f(x₁,...,x<sub>k</sub>) consisting of k>1 rational functions v<sub>i</sub>=f<sub>i</sub>(x₁,...,x<sub>k</sub>).</li><li>2. Each user describes the first s (1≦s<k) of these fi functions in his public key, and keeps the inverse of f as his private key.</li></ul>
SIGNATURE GENERATION:
<ul id="ul0002" list-style="none"><li>1. Given a digital message M, the signer computes v<sub>i</sub>=h(M,i) for i=1,...,s and chooses v<sub>i</sub>=r<sub>i</sub> for i=s+1,...,k, where h is a publicly known cryptographic hash function and r<sub>i</sub> are newly chosen secret random values.</li><li>2. The signer uses his knowledge of the secret f⁻¹ to compute a signature (x₁,...,x<sub>k</sub>) satisfying (v<sub>i</sub>,...,v<sub>k</sub>)=f(x₁,...,x<sub>k</sub>). This signature is either stored or transmitted to the verifier along with M.</li></ul>
SIGNATURE VERIFICATION:
1. The verifier computes v<sub>i</sub>=h(M,i) for i=1,...,s and checks that each v<sub>i</sub> satisfies v<sub>i</sub>=f<sub>i</sub>(x₁,...,x<sub>k</sub>) where the f<sub>i</sub>'s are taken from the signer's public key.
The above scheme cannot be used as a public key cryptosystem, since the clear text (x₁,...,x<sub>k</sub>) cannot be uniquely recovered from the shorter ciphertext (v₁,...,v<sub>s</sub>).
The scheme can be used as a signature scheme, since there is no requirement that each message should have only one signature. The recommended choice of s is k-1, which makes the verification condition hardest to satisfy.
The cryptanalyst cannot interpolate f⁻¹ since it is not uniquely defined by the public key. He cannot generate by himself complete input-output pairs, and cannot use input-output pairs generated by the legitimate signer since each one of them is based on new unknown values r<sub>i</sub>.
The security of this scheme depends on the choice of birational permutations. For example, linear birational permutations are insecure since the s simultaneous equations v₁=f<sub>i</sub>(x₁,...,x<sub>k</sub>) for i=1,...,s can be easily solved even when the other k-s functions f<sub>s+1</sub>,...,f<sub>k</sub> are not specified. When the f<sub>i</sub> functions are non-linear, there are no general techniques for solving s equations in k unknowns, and the problem becomes particularly difficult when the equations are modulo a large public n with secret factorization n=pq.
In addition to this general scheme, two novel constructions of birational permutations are proposed.
The theory behind the first construction will now be explained. Let F<sub>d</sub>[y₁,y₂,...,y<sub>k</sub>] denote the set of all the homogeneous polynomials of degree d in the k variables y₁,y₂,...,y<sub>k</sub>. In particular consider the case of quadratic polynomials (d=2) whose general form is:<maths id="math0001" num=""><math display="block"><mrow><msub><mrow><mtext>Σi=1,...k Σj=i,...,k a</mtext></mrow><mrow><mtext>ij</mtext></mrow></msub><msub><mrow><mtext> y</mtext></mrow><mrow><mtext>i</mtext></mrow></msub><msub><mrow><mtext> y</mtext></mrow><mrow><mtext>j</mtext></mrow></msub></mrow></math><img file="EP0597481A2_D0001.tif" /></maths>
Any such polynomial can be viewed as a linear combination of the k(k+1)/2 elementary quadratics y<sub>i</sub>y<sub>j</sub> for i≦j with the coefficient vector (a₁₁, a₁₂,..., a<sub>kk</sub>). Any set of quadratics with this property is called a linear basis of F₂[y₁,...,y<sub>k</sub>].
By allowing the additional operations of multiplication and (remainder-free) division of polynomials, we can express some of the elementary quadratics by other elementary quadratics. For example, the standard linear basis of F₂[y₁,y₂,y₃] is {y₁²,y₂²,y₃²,y₁y₂,y₁y₃,y₂y₃}.However, the first three elementary quadratics can be expressed by the last three in the following way: Y₁²= (y₁y₂) (y₁y₃) / (y₂y₃) , Y₂²= (y₁y₂) (y₂y₃) / (y₁y₃) , y₃²=(y₁y₃) (y₂y₃)/(y₁y₂).
We can thus reduce the six linear generators {y₁²,y₂²,y₃²,y₁y₂,y₁y₃,y₂y₃} into the three algebraic generators {y₁y₂,y₁y₃,y₂y₃}. Another triplet of algebraic generators is {y₁², y₁y₂, y₂y₃}. However, {y₁², y₂², y₂y₃} does not algebraically generate F₂[y₁,y₂,y₃] since it cannot express y₁y₂.
To formalize this notion, consider an arbitrary set G of polynomials over a ring R. The algebraic closure [G] of G is defined in the following way: <ul id="ul0003" list-style="none"><li>1. R and G belong to [G].</li><li>2. If f and g belong to [G], then f+g, f-g, fg also belong to [G].</li><li>3. If f and g=0 belong to [G] and g divides f (without remainder) then f/g also belongs to [G].</li></ul>
Note that [G] is not necessarily an ideal in the ring of polynomials over R, since arbitrary polynomials are not allowed as coefficients of the generators. For example, when G={y²}, [G] is the set of all the polynomials in y whose monomials have even degrees. Note further that root extractions (radicals) are not allowed as basic operations, since they cannot be carried out efficiently in some rings R.
A set G is called redundant if some g<sub>i</sub> in G belongs to [G-{g<sub>i</sub>}]. A non-redundant set G is called an algebraic basis of F if F is contained in [G]. Note that [G] can contain additional polynomials. One can easily prove:
Theorem: 1. The set {y₁², y₁y₂, y₂y₃, ..., y<sub>k-1</sub>y<sub>k</sub>} is an algebraic basis of F2[y₁,y₂,...,y<sub>k</sub>] for any k. 2. the set {y₁y₂, y₂y₃, y₃y₄, ..., y<sub>k</sub>y₁} is an algebraic basis of F2[y₁,y₂,...y<sub>k</sub>] for any odd k>1.
Proof: It can be shown that the specified sets can generate all the other elementary quadratics y<sub>i</sub>y<sub>j</sub> for i≦j. Assume first that j-i is an odd number. Then one can use the telescoping formula:<maths id="math0002" num=""><math display="block"><mrow><msub><mrow><mtext>y</mtext></mrow><mrow><mtext>i</mtext></mrow></msub><msub><mrow><mtext>y</mtext></mrow><mrow><mtext>j</mtext></mrow></msub><msub><mrow><mtext>=(y</mtext></mrow><mrow><mtext>i</mtext></mrow></msub><msub><mrow><mtext>y</mtext></mrow><mrow><mtext>i+1</mtext></mrow></msub><msub><mrow><mtext>)(y</mtext></mrow><mrow><mtext>i+2</mtext></mrow></msub><msub><mrow><mtext>y</mtext></mrow><mrow><mtext>i+3</mtext></mrow></msub><msub><mrow><mtext>)...(y</mtext></mrow><mrow><mtext>j-1</mtext></mrow></msub><msub><mrow><mtext>y</mtext></mrow><mrow><mtext>j</mtext></mrow></msub><msub><mrow><mtext>)/(y</mtext></mrow><mrow><mtext>i+1</mtext></mrow></msub><msub><mrow><mtext>y</mtext></mrow><mrow><mtext>i+2</mtext></mrow></msub><msub><mrow><mtext>)...(y</mtext></mrow><mrow><mtext>j-2</mtext></mrow></msub><msub><mrow><mtext>y</mtext></mrow><mrow><mtext>j-1</mtext></mrow></msub><mtext>).</mtext></mrow></math><img file="EP0597481A2_D0002.tif" /></maths>
If j-i is an even number, this approach will yield y<sub>i</sub>/y<sub>j</sub> instead of y<sub>i</sub>y<sub>j</sub>. To turn the former into the later, we have to multiply it by y<sub>j</sub>². In case 1, y₁² is given as a generator, and one can turn each y<sub>t</sub>² into y<sub>t+1</sub>² by using the formula:<maths id="math0003" num=""><math display="block"><mrow><msub><mrow><mtext>y</mtext></mrow><mrow><mtext>t+1</mtext></mrow></msub><msub><mrow><mtext>²=(y</mtext></mrow><mrow><mtext>t</mtext></mrow></msub><msub><mrow><mtext>y</mtext></mrow><mrow><mtext>t+1</mtext></mrow></msub><msub><mrow><mtext>)²/y</mtext></mrow><mrow><mtext>t</mtext></mrow></msub><mtext>².</mtext></mrow></math><img file="EP0597481A2_D0003.tif" /></maths>
In case 2, the fact is used that k is odd, and therefore the distance from j to j via the cyclic order y<sub>j</sub>, y<sub>j+1</sub>,...,y<sub>k</sub>,y₁,...,y<sub>j</sub> is odd. The telescoping formula will thus yield the desired y<sub>j</sub>² if we cycle through all the variables y<sub>t</sub>. Q.E.D.
The theorem gives two types of algebraic bases of size k for F₂[y₁,y₂,...y<sub>k</sub>]. To get other bases, we can use the following transformations:
Theorem: Let G={g₁,...,g<sub>k</sub>} be an algebraic basis for F<sub>d</sub>{y₁,...,y<sub>k</sub>], and let A and B be two kxk invertible linear transformations. Let G' be the result of applying A to the variables in G (i.e., replacing each y<sub>i</sub> by a linear combination of y<sub>j</sub>'s), and let G'' be the result of applying B to the generators in G' (i.e., replacing each g'<sub>i</sub> in G' by a linear combination of g'<sub>j</sub>'s). Then G'' is also an algebraic basis of Fd[y₁,...,y<sub>k</sub>].
Proof: Due to the invertible and algebraic nature of these transformations, it is easy to translate the representation of each f in the original basis G into a representation of f in the new bases G' and G''. Q.E.D.
Example: Consider the algebraic basis G={y₁y₂, y₂y₃, y₃y₁} of F2[y₁,y₂,y₃], and the randomly chosen linear transformations:<maths id="math0004" num=""><img file="EP0597481A2_D0004.tif" /></maths>
Then the linear change of variables y←Ay (mod 101) changes the generators g<sub>i</sub> in G into:<maths id="math0005" num=""><img file="EP0597481A2_D0005.tif" /></maths><maths id="math0006" num=""><img file="EP0597481A2_D0006.tif" /></maths><maths id="math0007" num=""><img file="EP0597481A2_D0007.tif" /></maths> and the linear transformation G''←BG' (mod 101) changes the generators g'<sub>i</sub> in G' into:<maths id="math0008" num=""><img file="EP0597481A2_D0008.tif" /></maths><maths id="math0009" num=""><img file="EP0597481A2_D0009.tif" /></maths><maths id="math0010" num=""><img file="EP0597481A2_D0010.tif" /></maths>
In the original basis G it was easy to find the representation of any given quadratic polynomial f as an algebraic expression in the g<sub>i</sub>'s. In a transformed basis G'' it is less obvious how to find such a representation, even though its existence is guaranteed.
To simplify notation, assume without loss of generality that k is odd and G is always the symmetric basis (y<sub>i</sub>y<sub>i+1</sub>) (where i+1 is computed mod k). Given the invertible linear transformation Y←AY, we define A&A as the k x k(k+1)/2 matrix whose i-th row represents the quadratic polynomial y<sub>i</sub>y<sub>i+1</sub> after the change of variables. The coefficients of the final basis G'' can thus be compactly represented by the k x k(k+1)/2 matrix B*(A&A).
Assume now that one is given an arbitrary assignment of values x₁,...,x<sub>k</sub> to the elementary quadratics y₁y₂, y₂y₃,..., y<sub>k</sub>y₁ in the standard basis of F₂[y₂,...,y<sub>k</sub>] (one can use the algebraic independence of these generators to make any such assignment consistent, without actually finding the values of the individual y<sub>i</sub>'s). One can use the telescoping formulas to compute the values of all the k(k+1)/2 elementary quadratics y<sub>i</sub>y<sub>j</sub> for i≦j. Denote this extended version of X by E(X), and note that it increases the height of the column vector from k to k(k+1)/2. The values of the k generators in G'' for this assignment X can be computed by the matrix-vector product V=[B*(A&A)] [E(X)]. Note again the non-linearity of this transformation, which is due to the quadratic computation of the coefficients of A&A from the coefficients of A, and the multiplications and divisions required to extend X into E(X).
This function maps the k-vector X into the k-vector V. The goal of the invention now is to invert this function and recover the original values in X when A and B are known. First, one can undo the effect of B by computing W=CV where C=B⁻¹, and obtain the relationship W=[A&A](E(X)]. By definition, the values w<sub>i</sub> in W are the values of the generators g'<sub>i</sub> in the intermediate G'.
Since G' is an algebraic basis, it can represent any quadratic polynomial in F₂[y₁,...,y<sub>k</sub>] as an algebraic expression in the generators g'<sub>i</sub>. In particular, it can represent the k elementary quadratics y<sub>i</sub>y<sub>i+1</sub>, and thus it can be recovered by evaluating an appropriate algebraic expression in the values w₁, w₂,...,w<sub>k</sub>. It is easy to check that these algebraic expressions can be compactly represented as X=[A⁻¹&A⁻¹][E(W)].
Example (continued): Consider the algebraic bases G, G' and G'' of the previous example. Let x<sub>i</sub> denote the value of y<sub>i</sub>y<sub>i+1</sub>, i.e.:<maths id="math0011" num=""><math display="block"><mrow><mtext>y₁y₂=x₁ y₂y₃=x₂ y₃y₁=x₃ (mod 101).</mtext></mrow></math><img file="EP0597481A2_D0011.tif" /></maths>
The values of the other three elementary quadratics can be expressed as:<maths id="math0012" num=""><math display="block"><mrow><mtext>y₁²=x₃x₁/x₂ y₂²=x₁x₂/x₃ y₃²=x₂x₃/x₁ (mod 101).</mtext></mrow></math><img file="EP0597481A2_D0012.tif" /></maths>
The values v₁ of the generators g''<sub>i</sub> can now be computed as [B*(A&A)][E(X)], i.e.:<maths id="math0013" num=""><math display="block"><mrow><mtext>v₁=63x₁+78x₂+41x₂+26x₃3x₁/x₂+72x₁x₂/x₃+89x₁x₂/x₁ (mod 101)</mtext></mrow></math><img file="EP0597481A2_D0013.tif" /></maths><maths id="math0014" num=""><math display="block"><mrow><mtext>v₂=92x₁+44x₂+74x₃+48x₃x₁/x₂+55x₁x₂/x₃+32x₂x₃/x₁ (mod 101)</mtext></mrow></math><img file="EP0597481A2_D0014.tif" /></maths><maths id="math0015" num=""><math display="block"><mrow><mtext>v₃= 9x₁+51x₂+43x₃+96x₃x₁/x₂+34x₁x₂/x₃+53x₂x₃/x₁ (mod 101).</mtext></mrow></math><img file="EP0597481A2_D0015.tif" /></maths>
In particular, when the input is x₁=1, x₂=2, x₃=3, the output is v₁=54, v₂=63, v₃=85.
Consider now the problem of inverting this transformation: Given these values v₁, v₂, v₃, find x₁, x₂, x₃. First compute the matrix inverses:<maths id="math0016" num=""><img file="EP0597481A2_D0016.tif" /></maths>
Next, reverse the transformation G''←BG' (mod 101) by computing W=[B⁻¹]V (mod 101). When v₁=54, v₂=63, v₃=85, this matrix-vector product yields w₁=94, w₂=69, w₃=1, which are the values of the intermediate generators g'₁, g'₂, g'₃. We then extend this W into E(W)=(w₁, w₂, w₃, w₃w₁/w₂, w₁w₂/w₃, w₂w₃/w₁), and compute X=[A⁻¹ &A⁻¹][E(W)] (mod n), i.e.:<maths id="math0017" num=""><math display="block"><mrow><mtext>x₁=29w₁+75w₂+45w₃+74w₃w₁/w₂+42w₁w₂/w₃+45w₂w₃/w₁ (mod 101)</mtext></mrow></math><img file="EP0597481A2_D0017.tif" /></maths><maths id="math0018" num=""><math display="block"><mrow><mtext>x₂=46w₁+72w₂+14w₃+99w₃w₁/w₂+61w₁w₂/w₃+58w₂w₃/w₁ (mod 101)</mtext></mrow></math><img file="EP0597481A2_D0018.tif" /></maths><maths id="math0019" num=""><math display="block"><mrow><mtext>x₃= 1w₁+58w₂+46w₃+87w₃w₁/w₂+31w₁w₂/w₃+77w₂w₃/w₁ (mod 101).</mtext></mrow></math><img file="EP0597481A2_D0019.tif" /></maths>
For w₁=94, w₂=69, w₃=1, the extension of W to E(W) yields (94,69,1,16,22,19). When these values are substituted into the expressions above, one gets the original inputs x₁=1, x₂=2, x₃=3.
A simple optimization technique can substantially improve the performance of this scheme. If B is chosen as the inverse of some kxk submatrix of A&A, then B*(A&A) contains a kxk identity submatrix and there is no need to specify these k² numbers.
Example (continued): Assume that the same is used but choose a new B:<maths id="math0020" num=""><img file="EP0597481A2_D0020.tif" /></maths>
The birational permutation is now simplified to:<maths id="math0021" num=""><math display="block"><mrow><mtext>v₁=37x₁+25x₂+27x₃+x₃x₁/x₂ (mod 101)</mtext></mrow></math><img file="EP0597481A2_D0021.tif" /></maths><maths id="math0022" num=""><math display="block"><mrow><mtext>v₂=32x₁+ 7x₂+ 4x₃+x₁x₂/x₃ (mod 101)</mtext></mrow></math><img file="EP0597481A2_D0022.tif" /></maths><maths id="math0023" num=""><math display="block"><mrow><mtext>v₃= 6x₁+56x₂+37x₃+x₂x₃/x₁ (mod 101),</mtext></mrow></math><img file="EP0597481A2_D0023.tif" /></maths> which has a shorter description and requires fewer arithmetic operations.
The formalization of the new implementation is described as follows with reference to Fig. 2:
KEY GENERATION:
<ul id="ul0004" list-style="none"><li>1. Pick a set F of rational functions in k variables, and a standard algebraic basis G of F with the property that the representation of any f in F as an algebraic expression in terms of the generators g<sub>i</sub> in G can be easily computed.</li><li>2. Transform the easy basis G into a hard basis G'' by using randomly chosen invertible algebraic transformations.</li><li>3. Publish a proper subset of s generators g''<sub>i</sub> in G'' as the public key, and keep the algebraic transformations as the private key.</li></ul>
SIGNATURE GENERATION:
<ul id="ul0005" list-style="none"><li>1. To sign a given message M, assign to each g''i with i≦s the hashed value v₁=H(M,i) of M, and to each g''<sub>i</sub> with i>s a newly chosen random number r<sub>i</sub>.</li><li>2. Use the secret algebraic transformations to express each g<sub>i</sub> in the easy basis G in terms of the generators g''<sub>j</sub> in the hard basis G''. The values x<sub>i</sub> of the easy g''<sub>j</sub> form the signature X of M.</li></ul>
SIGNATURE VERIFICATION:
<ul id="ul0006" list-style="none"><li>1. Assign the values x<sub>i</sub> from the signature X to the easy generators g<sub>i</sub>, and compute the values v₁,...,v<sub>s</sub> of the s hard generators g''<sub>i</sub> which appear in the signer's public key.</li><li>2. Evaluate the s hashed forms of M under the publicly available hash function h.</li><li>3. Accept the validity of the signature if v₁=H(M,i) for all i=1,...,s.</li></ul>
The recommended choice for F is the set F<sub>d</sub>[y₁,...,y<sub>k</sub>] of all the homogeneous polynomials of degree d over the ring Z<sub>n</sub>. The modulus n can be chosen either universally by a trusted center, or individually by each signer (this eliminates the center, but increases the complexity of the key generation process). It is recommended to choose n as the product of two large primes p and q, but the factorization can be destroyed as soon as n is chosen and published. The recommended choice for G is some set of monomials y₁<sup>e1</sup>y₂<sup>e2</sup>...y<sub>k</sub><sup>ek</sup> with e₁+e₂+...+e<sub>k</sub>=d such that any other monomial in F<sub>d</sub>[y₁,...,y<sub>k</sub>] can be generated by a sequence of multiplications and divisions. It is not difficult to show that for any d and k, F<sub>d</sub>[y₁,...,y<sub>k</sub>] has an algebraic basis of this type which consists of exactly k monomials of degree d (for example, G={y₁³, y₂²y₃, y₁y₂y₃} is an algebraic basis for F₃[y₁,y₂,y₃]). The problem with large choices of k and d is that the number of coefficients in the published generators G'' grows as O(k<sup>(d+1)</sup>). However, for fixed d this key size grows only polynomially in k. The recommended bases for d=2 are the standard bases G={y₁y₂,..., y<sub>k-1</sub>y<sub>k</sub>, y<sub>k</sub>y₁} for odd k and G={y₁², y₁y₂,..., y<sub>k-1</sub>y<sub>k</sub>} for arbitrary k, and the recommended choice of invertible algebraic transformations is a pair of randomly chosen kxk matrices A (which linearly transforms the variables) and B (which linearly transforms the equations).
A second novel signature scheme according to the present invention is based on sequentially linearized equations. According to the invention a system of k polynomial equations E<sub>i</sub>(x₁,...,x<sub>k</sub>)=H<sub>i</sub>(M) (mod n) is changed by a linear transformation Y=AX (mod n) (where X is the vector of k original x<sub>j</sub> variables, Y is a vector of k new variables y<sub>j</sub>, and A is some invertible kxk matrix) into a system of polynomial equations of the form F<sub>i</sub>(y₁,...,y<sub>i</sub>) in which y<sub>i</sub> occurs only linearly. Due to the triangular form of the resultant equations (in which the i-th equation contains only the first i variables), the user can sequentially solve them by substituting the already computed values of y₁,...,y<sub>i-1</sub> into F<sub>i</sub>, and solving the resultant equation F<sub>i</sub>=H<sub>i</sub>(M) (mod n) which is linear in the single remaining variable y<sub>i</sub>. The computed Y solution can be translated back into the desired X solution via the inverse linear transformation X=A⁻¹Y (mod n).
The actual key generation process is carried out in reverse order: The user first chooses the triangular polynomials F<sub>i</sub>(y₁,...,y<sub>i</sub>) and the matrix A, and then transforms each F<sub>i</sub> into E<sub>i</sub> by replacing each y<sub>j</sub> variable with the linear combination of x<sub>j</sub> variables indicated by the A transformation.
To further complicate the task of the cryptanalyst, the user applies a secret kxk linear transformation B to the k polynomials E<sub>i</sub> (i.e., to their vectors of coefficients) in order to mix them and to hide their structure. This preserves the easy solvability of the modified system of equations E'<sub>i</sub>(x₁,...,x<sub>k</sub>)=H<sub>i</sub>(M) (mod n). Other and further objects and advantages of the present invention will be evident from the following detailed description taken in conjunction with the drawing.
<b>Detailed Description of a Second Preferred Embodiment</b>
Figure 3 of the drawing illustrates a schematic showing of the second novel implementation of the signature scheme. Referring now to Figure 3, the basic structure of the method and apparatus of the present invention implementing the novel fast signature scheme based on sequentially linearized equations will now be described in detail. The description will be by reference to the various steps of the novel method, however, the apparatus employed to effect the various steps, will be evident as a means to carry out the prescribed function and known data processing equipment for these purposes will be readily apparent to those of ordinary skill in this art from the following elaboration of the invention.
The first part involves the generation of a public key. The first step is to select a public composite modulus n, and destroy its factorization as noted in block 10. Next, the user selects k secret polynomials F<sub>i</sub> of degree d (k>1, d>1, i=1,...,m), where F<sub>i</sub> contains the i-1 variables y₁,...,y<sub>i-1</sub> in an arbitrary form and the variable y<sub>i</sub> in a linear form as shown in block 12. The user then selects a secret kxk matrix A with entries in [O,n), block 14 and defines the linear transformation Y=AX (mod n), block 16. The user now replaces each y<sub>j</sub> in each F<sub>i</sub> by the linear combination of x<sub>t</sub> variables defined by A, and simplifies the resultant polynomials E<sub>i</sub>, block 18. Finally, the user extracts the coefficients of all the E<sub>i</sub> polynomials for i=2,..., k and defines (publishes) them as the public key, block 20.
Signature generation is carried out in the following manner. Given the message M, block 30, the user computes its hashed forms H<sub>i</sub> (M) for i=2,...,k, block 22. The user chooses a value for y₁ in [O,n), block 24 and sequentially solves the linear equations in y<sub>i</sub> derived from F<sub>i</sub>(y₁,...,y<sub>i</sub>)=H<sub>i</sub>(M) (mod n) for i=2,...,k, block 26. The user, then computes X=A⁻¹Y (mod n), and sends X as the signature of M, block 28.
Signature verification is carried out in the following manner. The message M, block 30, is transferred to block 32 where its hashed forms H<sub>i</sub>(M) for i=2,...k are computed. The signature X is transferred from block 28 and the public key is transferred from block 20 to block 34 where, the equations E<sub>i</sub>(x₁,...x<sub>m</sub>)=H<sub>i</sub> (M) (mod n) are verified as satisfied for i=2,...,k in decision 36. If YES, the signature is accepted in block 38; if NO, the signature is rejected in block 40.
The implementation outlined above can be demonstrated with the (totally insecure) modulus n=77: The secret polynomials F₁, F₂ and F₃ are chosen as:<maths id="math0024" num=""><math display="block"><mrow><mtext>F₁(y₁)=y₁</mtext></mrow></math><img file="EP0597481A2_D0024.tif" /></maths><maths id="math0025" num=""><math display="block"><mrow><mtext>F₂(y₁,y₂) = y₁*y₂</mtext></mrow></math><img file="EP0597481A2_D0025.tif" /></maths><maths id="math0026" num=""><math display="block"><mrow><mtext>F₃(y₁,y₂,y₃) = (4*y₁ + 3*y₂)*y₃ + (9*y₁*y₁ + 21*y₁*y₂ + 4*y₂*y₂)</mtext></mrow></math><img file="EP0597481A2_D0026.tif" /></maths> The secret linear transformation A is chosen as:<maths id="math0027" num=""><math display="block"><mrow><mtext>y₁ = x₁ + x₂ + 3*x₃</mtext></mrow></math><img file="EP0597481A2_D0027.tif" /></maths><maths id="math0028" num=""><math display="block"><mrow><mtext>y₂ = x₁ + 2*x₂ + x₃</mtext></mrow></math><img file="EP0597481A2_D0028.tif" /></maths><maths id="math0029" num=""><math display="block"><mrow><mtext>y₃ = x₁ + x₂ + 4*x₃</mtext></mrow></math><img file="EP0597481A2_D0029.tif" /></maths> By substituting these linear expressions into the Fi's and simplifying, the two quadratic expressions result:<maths id="math0030" num=""><math display="block"><mrow><mtext>E₁(x₁,x₂,x₃)= x₁ + x₂ + 3x₃</mtext></mrow></math><img file="EP0597481A2_D0030.tif" /></maths><maths id="math0031" num=""><math display="block"><mrow><mtext>E₂(x₁,x₂,x₃) = 1*x₁ *x₁+ 3*x₁*x₂+ 4*x₁*x₃+ 2*x₂*x₂+ 7*x₂*x₃+ 3*x₃*x₃ (mod 77)</mtext></mrow></math><img file="EP0597481A2_D0031.tif" /></maths><maths id="math0032" num=""><math display="block"><mrow><mtext>E₃(x₁,x₂,x₃)=41*x₁*x₁+37*x₁*x₂+35*x₁*x₃+0*x₂*x₂+41*x₂*x₃+ 54*x₃*x₃ (mod 77)</mtext></mrow></math><img file="EP0597481A2_D0032.tif" /></maths>
Expression E₂ and E₃ are then mixed by<maths id="math0033" num=""><math display="block"><mrow><mtext>E'₂=2E₂ + 3E₃= 48*x₁*x₁ + 40*x₁*x₂ + 36*x₁*x₃ + 4x₂*x₂+ 60*x₂*x₃ + 91*x₃*x₃ (mod 77)</mtext></mrow></math><img file="EP0597481A2_D0033.tif" /></maths><maths id="math0034" num=""><math display="block"><mrow><mtext>E'₂=2E₂ + 3E₃= 6*x₁*x₁ + 0*x₁*x₂ + 74*x₁*x₃ + 2*x₂*x₂ + 12*x₂*x₃ + 34*x₃*x₃ (mod 77).</mtext></mrow></math><img file="EP0597481A2_D0034.tif" /></maths>
These expressions are then published as the public key.
Although the invention has been shown and described in terms of specific preferred embodiments and variants, changes and modifications are possible which do not depart from the spirit, scope or contemplation of the inventive concepts disclosed and taught herein. Such are deemed to fall within the purview of the invention as claimed.
Contents6
37 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24 Sheet 25 Sheet 26 Sheet 27 Sheet 28 Sheet 29 Sheet 30 Sheet 31 Sheet 32 Sheet 33 Sheet 34 Sheet 35 Sheet 36 Sheet 37
10 members in 5 offices
Priority claims10
| Document | Office | Kind | Date |
|---|---|---|---|
| 974751 | United States of America | – | |
| 97475192 | United States of America | A | |
| 97475192 | United States of America | A | |
| 47420 | United States of America | – | |
| 4742093 | United States of America | A | |
| 4742093 | United States of America | A | |
| 47420 | – | – | – |
| 974751 | – | – | – |
| US19920974751 | – | – | – |
| US19930047420 | – | – | – |
Members10
| Document | Office | Kind | |
|---|---|---|---|
| US5263085A | United States of America | A | |
| EP0597481A2This record | European Patent Office (EPO) | A2 | |
| US5375170A | United States of America | A | |
| JPH075808A | Japan | A | |
| EP0597481A3 | European Patent Office (EPO) | A3 | |
| EP0597481B1 | European Patent Office (EPO) | B1 | |
| AT207267T | Austria | T | |
| ATE207267T1 | Austria | T1 | |
| DE69330934D1 | Germany | D1 | |
| DE69330934T2 | Germany | T2 |
49 legal events, as 6 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Patent expired after termination of 20 yearsExpiredPE20 | PE20 | GB | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Notification of lapseLapsedST | ST | FR | |
| Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal feeWithdrawnR119 | R119 | DE | |
| Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal feeWithdrawnR119 | R119 | DE | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| No opposition filedOpposition26N | 26N | EP | |
| Patent lapsedLapsedMM4A | MM4A | IE | |
| No opposition filed within time limitOppositionORIGINAL CODE: 0009261PLBE | PLBE | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: NO OPPOSITION FILED WITHIN TIME LIMITSTAA | STAA | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Patent ceasedCeasedPL | PL | CH | |
| Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents actLapsedNLV1 | NLV1 | EP | |
| Fr: translation filedET | ET | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| European patent in force as of 2002-01-01IF02 | IF02 | GB | |
| Corresponds to:REF | REF | EP | |
| European patents granted designating irelandGrantedFG4D | FG4D | IE | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| European patent takes effect as a national patent in ch/liEP | EP | CH | |
| Designated contracting statesAK | AK | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Corresponds to:REF | REF | EP | |
| (expected) grantORIGINAL CODE: 0009210GRAA | GRAA | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOS IGRAGRAH | GRAH | EP | |
| First examination report despatched17Q | 17Q | EP | |
| Despatch of communication of intention to grantORIGINAL CODE: EPIDOS AGRAGRAG | GRAG | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOS IGRAGRAH | GRAH | EP | |
| Despatch of communication of intention to grantORIGINAL CODE: EPIDOS AGRAGRAG | GRAG | EP | |
| Request for examination filed17P | 17P | EP | |
| Designated contracting statesAK | AK | EP | |
| Search report despatchedORIGINAL CODE: 0009013PUAL | PUAL | EP | |
| Designated contracting statesAK | AK | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP |
Numbers
- Publication
- 0597481
- Publication, DOCDB
- 0597481
- Publication, EPODOC
- EP0597481
- Application
- 93118309
- Application, DOCDB
- 93118309
- Application, EPODOC
- EP19930118309
Titles3
- German
- Auf birationalen Permutationen beruhende leistungsfähige Unterschriftverfahren
- English
- Efficient signature schemes based on birational permutations
- French
- Schéma efficaces de signature basés sur des permutations birationelles
Classification
- CPC, 2
- H04L9/3073
- H04L9/3247
- IPC, 3
- G06F1 02
- G09C1 00
- H04L9 32
Designated states17
- Contracting states, 17
- Austria
- Belgium
- Switzerland
- Germany
- Denmark
- Spain
- France
- United Kingdom
- Greece
- Ireland
- Italy
- Liechtenstein
- Luxembourg
- Monaco
- Netherlands (Kingdom of the)
- Portugal
- Sweden