This invention relates to the field of cryptography and, more particularly, to a public key digital signature technique and system.
Public key digital signatures are important for secure exchange of information between plural parties, for example between computers or mobile devices, between a smart card and a terminal, etc.
An earlier digital signature and authentication method and apparatus was described in U.S. Pat. No. 7,308,097, assigned to the same assignee as the present Application. Reference can also be made to “NTRUSign: Digital Signatures Using the NTRU Lattice”, J. Hoffstein, N. Howgrave Graham, J. Pipher, J. Silverman, and W. Whyte, Topics In Cryptology-CT-RSA 2003, Lecture Notes in Computer Science, Vol. 2612, Springer, Berlin, 2003.
The signing technique in the '097 Patent uses a mixing system based on multiplication in a ring and reduction modulo an ideal q in that ring; while the verification technique uses special properties of products of elements whose validity depends on elementary probability theory. The security of the identification/digital signature scheme comes from the interaction of reduction modulo q and the difficulty of forming products with special properties. In an embodiment of the digital signature scheme of the '097 Patent, the security also relies on the experimentally observed fact that for most lattices, it is very difficult to find a vector whose length is only a little bit longer than the shortest vector, and it is also difficult to find a lattice vector that is quite close to a randomly chosen nonlattice vector.
An improvement over the technique of the '092 Patent, which had reduced complexity and computational requirements for key generation and signing, was disclosed in copending U.S. patent application Ser. No. 14/544,426, assigned to the same assignee as the present Application, published as U.S. Patent Application Publication No. US2015/0229478, incorporated herein by reference. In a form of that invention, sometimes referred to a “pqNTRUSign” (mark of Security Innovation, Inc.), a method is set forth for signing and subsequently verifying a digital message, comprising the following steps implemented using at least one processor-based subsystem: selecting parameters including an integer q and a relatively smaller integer p that is coprime with q; generating random polynomial f relating to p and random polynomial g relating to q; producing a public key that includes h, where h is equal to a product that can be derived using g and the inverse off mod q; producing a private key from which f and g can be derived; storing the private key and publishing the public key; producing a message digest by applying a hash function to the digital message; producing a digital signature using the message digest and the private key; and performing a verification procedure utilizing the digital signature and the public key to determine whether the signature is valid.
It is among the objectives hereof to devise a digital signature method and system that has advantages over existing digital signature techniques, including those of the type described hereinabove.
The present invention utilizes, inter alia, a secret isomorphism between two finite fields to create a signature scheme.
In accordance with an embodiment of the invention, a method is set forth for signing and subsequently verifying a digital message, comprising the following steps implemented using at least one processor-based subsystem: generating an irreducible monic polynomial f(x) of degree n in a ring Fq[x]; generating an irreducible monic polynomial F(y) of degree n in a ring Fq[y]; producing first and second finite fields as Fq[x]/(f(x)) and Fq[y]/(F(y)), respectively; producing a secret isomorphism from the first finite field to the second finite field; producing and publishing a public key that depends on F(y); producing a private key that depends on said secret isomorphism; producing a message digest by applying a hash function to the digital message and the public key; producing a digital signature using the message digest and the private key; and performing a verification procedure utilizing the digital signature and the public key to determine whether the signature is valid.
In a form of the embodiment just set forth, the first and second finite fields are designated, respectively, as x-space and y-space, and a further step comprises generating a specified lattice in x-space and using said isomorphism to generate a corresponding lattice in y-space, and the step of producing said digital signature includes initially producing a signature in the x-space lattice and then producing the digital signature in the corresponding y-space lattice.
In accordance with another embodiment of the invention, a method is set forth signing and sending a digital message, including the following steps implemented using at least one processor-based subsystem: generating an irreducible monic polynomial f(x) of degree n in a ring Fq[x]; generating an irreducible monic polynomial F(y) of degree n in a ring Fq[y]; producing first and second finite fields as Fq[x]/(f(x)) and Fq[y]/(F(y)), respectively; producing a secret isomorphism from the first finite field to the second finite field; producing and publishing a public key that depends on F(y); producing a private key that depends on said secret isomorphism; producing a message digest by applying a hash function to the digital message and the public key; producing a digital signature using the message digest and the private key; and transmitting the digital signature.
In accordance with a further form of the invention, a system is set forth for signing and subsequently verifying a digital message, including: at least one processor-based subsystem that is programmed with instructions that cause the at least one processor subsystem to implement the following steps: generating an irreducible monic polynomial f(x) of degree n in a ring Fq[x]; generating an irreducible monic polynomial F(y) of degree n in a ring Fq[y]; producing first and second finite fields as Fq[x]/(f(x)) and Fq[y]/(F(y)), respectively; producing a secret isomorphism from the first finite field to the second finite field; producing and publishing a public key that depends on F(y); producing a private key that depends on said secret isomorphism; producing a message digest by applying a hash function to the digital message and the public key; producing a digital signature using the message digest and the private key; and performing a verification procedure utilizing the digital signature and the public key to determine whether the signature is valid.
As described herein (see e.g. Appendix I), for reasons including the non-linear nature of the homomorphic encryption map, the effectiveness of attacks on the signature scheme of the invention is lessened, which enhances security and allows for smaller signatures and improved operating characteristics compared to existing signature schemes.
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.
The subsystem 155 in this illustrative embodiment 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 display 176. Inputs include a touchscreen/keyboard 155. Communication of subsystem 155 with the outside world is via transceiver 162.
Co-inventors hereof, Jeffrey Hoffstein and Joseph Silverman, are inventors of copending PCT International Application No. PCT/US2016/041598, published as PCT Publication No. WO/2017/008043, entitled “Homomorphic Encryption”, and said PCT Publication is incorporated herein by reference. The '598 Application discloses systems, methods, and computer-readable storage devices storing instructions for homomorphic encryption via finite ring isomorphisms that includes constructing an isomorphism and an inverse isomorphism and using these for encryption that is homomorphic, in that certain operations can be performed on encrypted data without the need for first decrypting the data.
Consider f=Z/qZ[x]/(f(x)), a finite field Fqn of order qn. f(x) and F(y) define two copies of fqn, and Z/qZ[x]/(f(x))≅Z/qZ[y]/(F(y)) is a finite field isomorphism under a secret mapping x→φ(y).
In the illustrative example of
As an example, the following calculations show how the index #726 (polynomial 1+0x+4x2+0x3+1x4) of the x-space finite field, maps to the index #837 (polynomial 2+2y+3y2+1y3+1y4) of the y-space finite field. Using 3+4y+4y2+4y4 for x in the expression 1+4x2+x4 gives 1+4(3+4y+4y2+4y4)2+(3+4y+4y2+4y4)4. When this is expanded and coefficients are reduced mod 5, the result is the long polynomial:
A(y)=3+3y+y2+4y3+y4+4y5+4y6+y7+y9+4y10+2y11+4y12+4y13+4y14+y16
and this can be written as:
A(y)=(1+y)2(4+2y+2y2+3y3+y4+y5)(4+4y+2y2+3y3+2y4+4y5+2y6+2y7+2y8+y9)+2+2y+3y2+y3+y5 mod 5.
This expression [A(y)] must be modded by F(y), which, in this example, is y5+y4+3y3+2y2+2y+4, so:
A(y)=(4+4y+2y2+3y3+2y4+4y5+2y6+2y7+2y8+y9)(1+y)2(F(y))+2+2y+3y2+y3+y4 mod 5.
So, in other words, when A(y) is divided by F(y) mod 5, the remainder is 2+2y+3y2+y3+y4, which, in the example of
The foregoing also demonstrates that 1+4x2+x4 maps to 1+4 (image of x)2+(image of x)4 which demonstrates the homomorphic mapping property; that is, additive and multiplicative structure is preserved under the mapping.
Also, x maps to image of x=3+4y+4y2+4y4, which means that f(x)=x5+x4+4x3+x2+4x+1 maps to F(y)=(3+4y+4y2+4y4)5+(3+4y+4y2+4y4)4+4(3+4y+4y2+4y4)3+(3+4y+4y2+4 y4)2+4(3+4y+4y2+4y4)+1.
Since f(x) is zero in x-space (since Fq[x] is modded by f(x)), it should map to zero in y-space. The following demonstrates that it does.
Expanding F(y)mod 5 gives 4+4y+y3+3y4+2y5+4y6+2y7+y8+4y9+y10+2y11+4y13+y16+4y20
and if this is factored mod 5, one gets
4(4+2y+2y2+3y3+y4+y5)(4+2y2+2y3+4y4+y5)(1+3y+2y3+y4+3y5+2y6+2y7+y8+y10).
F(y)=4+2y+2y2+3y3+y4+y5
So A(y)=4(4+2y2+2y3+4y4+y5)(1+3y+2y3+y4+3y5+2y6+2y7+y8+y10)F(y)mod 5.
Stated another way, when the polynomial that is mapped to [called A(y)] is divided by F(y), the remainder is zero, so zero maps to zero, as it should.
The tables of
In
In the
In
In the
Accordingly,
The block 550 represents a routine that can be employed (that is, in this example, by the user of processor-based subsystem 105 of
The block 570 represents a routine that can be employed (that is, in this example, by the user of processor-based subsystem 155 of
A message digest is obtained from a hash of the digital message and the public key (block 960). In this embodiment, the message digest is a 2n dimensional polynomial (d0, d1, . . . dn-1, e0, e1 . . . en-1), with coefficients chosen from the interval [−p/2, p/2]. The block 970 represents finding (s(x), t(x)) in Ln such that the 2n dimensional vector of coefficients from (s(x), t(x)) satisfies the correct bound on absolute values, and is congruent to a specified 2n dimensional vector determined by the message digest and the polynomials Ci(y). The coefficients of this linear combination are output as the digital signature. Then, as represented by the block 985, the digital signature is received and subject to a verification procedure. In this embodiment, a determination is made (decision block 995) as to whether the linear combination of Ci(y) is in LH and, also, whether the 2n dimensional vector of coefficients has absolute values in a predetermined range and is congruent to (d0, d1 . . . dn-1, e0, e1, . . . en-1)mod p. If both criteria are satisfied, the digital signature is verified. If not, it is rejected.
The invention has been described with reference to particular preferred embodiments, but variations within the spirit and scope of the invention will occur to those skilled in the art. For example, while a digital signature technique has been described, it will be understood that an authentication procedure of the challenge-response-verification type can alternatively be implemented, using the technique hereof and employing the challenge as the message to be signed. Also, it will be understood that coefficients of polynomials can alternatively be represented in other forms including, but not limited to, matrices.
There are a number of possible methods of using a secret isomorphism between two finite fields to create a signature scheme. In the following, a method we call “pqFF-Sign” is set forth.
The approach utilizes the existing transcript-secure signature scheme pq-NTRUSign and also utilizes a finite field isomorphism. The pq-NTRUSign signature scheme is employed in a finite field qn, and then the signature is homomorphically mapped to a different copy of the field qn. Verification is still possible due to the homomorphic property of the map, but various lattice attacks that may have been possible on pq-NTRUSign are blunted or eliminated due to the non-linear nature of the homomorphic encryption map.
n a dimension parameter.
q a prime (or prime power) greater than a constant times n.
p a small prime (often taken to be 2).
f(x)εq[x] a short irreducible monic polynomial of degree n.
F(y)εq[y] a random irreducible monic polynomial of degree n.
ψ(x)εF(y)εq[y]. The map xφ(y) induces an isomorphism q[x]/(f(x))→q[y]/(F(y)).
ψ(x)εq[x] the map yψ(x) induces the inverse isomorphism q[y]/(F(y))→q[x]/(f(x)).
a(x), b(x)εq[x] short irreducible monic polynomials of degree n.
h(x)εq[x]≡b(x)·(pa(x))−1 (mod q).
H(y)εq[y]≡h(φ(y)) (mod q, F(y)).
U is an n-by-n matrix, small entries, invertible mod q.
We will lift mod q polynomials to polynomials having integer coefficients in the range (−½q,½q]. Define rings and fields
And define lattices
L
h={(u,v)εf2:v≡h·u(mod q)},
L
H={(U,V)εF2:V=H·U(mod q)}.
We use U to define polynomials c1(x), . . . , cn(x)εq[x] of degree less than n by
For 1≦j≦n we let
C
j(y)=cj(φ(y))εF,q
be the corresponding polynomials in the y-field.
Security Assumption
As U ranges over matrices with small coefficients that are invertible modulo q, the coefficients of U−1 mod q are uniformly distributed.
The polynomials c1(x), c2(x), . . . , cn(x) form a basis for f,q and C1(y), C2(y), . . . , Cn(y) form a basis for F,q. Each Cj(y) is the image of the corresponding cj(x) under the isomorphism that sends xφ(y). This same isomorphism preserves the coefficients of linear combinations of the cj(x), that is,
Σαjcj(x)ΣαjCj(y).
A key property that the scheme is based on is the fact that as
and the coefficients of U are small, that each xi, for 1≦i≦n is expressible as a linear combination of the cj(x) with small coefficients. From this it follows that any polynomial in x with small coefficients, of the form t(x)=Σi=1ntixi, with the ti small, can in turn be written as a polynomial in cj(x) with small coefficients.
We will find it convenient to use polynomials reduced modulo f(x), which will necessarily have degree less than or equal to n 1, that is, of the form r(x)=Σi=0n-1rixi, with the ri short. Recall that f(x)=xn+fn-1xn-1+ . . . +f1x±1, where fiε{1, 0, −1}. Consequently
±1≡f1x− . . . −xn(mod f(x)).
and thus
where the ri′ are also short, is expressible as a short linear combination of the cj(x).
Importantly, as the product of any two short polynomials in x remains short, such a product will also be writeable as a short linear combination of the cj(x). The reverse does not hold: with high probability a random linear combination of cj(x) with small coefficients will not equal a polynomial in x with small coefficients.
It is this property, that a product of short linear combinations of the cj(x) that correspond to short polynomials in x can again be written as a short linear combination of the cj(x), that allows the signer to solve a congruential lattice problem in Lh (just as in pq-NTRUSign) and then map the corresponding solution, with the same coefficients, back to LH.
There are two main security concerns that determine parameters in pq-NTRUSign. One is the problem of recovering the private key from the public NTRU key, and the other is the problem of forgery. Of these, the one that has the biggest impact on parameter size is the public key to private key problem. This is because, to make rejection sampling efficient, the q needs to be chosen large compared to n. This makes the lattice problem somewhat easier and forces an increase in the size of n. The forgery problem requires smaller parameters to achieve the same security levels.
In this context there appear at first to be two NTRU-type problems: Recovering a(x), b(x) from h(x), and recovering the corresponding polynomials A(y), B(y) from H(y).
The h(x) is private, and only revealed if the underlying isomorphism is discovered, in which case the scheme is considered broken. So this lattice problem does not arise.
On the other hand, the H(y) is public, but the corresponding problem of recovering A(y), B(y) from H(y) is not a lattice reduction problem as A(y), B(y) are generic polynomials with coefficients mod q, and not short. And as they are not short, recovery of them would not lead to any advantage.
There is a lattice attack to recover the matrix U from the Cj(y), which would suffice to break the scheme, but the dimension of the lattice required to accomplish this is greater than n2.
For this reason, it appears that it will suffice to set parameters to avoid forgery attacks, which should allow for smaller signatures and better operating characteristics.
Private Information: f(x), a(x), b(x), h(x), c1(x), . . . , cn(x) and U.
Public Information: F(y), H(y) and C1(y), . . . , Cn(y).
Digital Document Hash: A pair of mod p vectors
Signature: A pair of vectors
δ=(δ1, . . . ,δn)ε(−½q,½q]n,
ε=(ε1, . . . ,εn)ε(−½q,½q]n,
Verification: A signature on the document hash (
S(y)=δ1C1(y)+ . . . +δnCn(y),
and
T(y)=ε1C1(y)+ . . . +εnCn(y).
Then (S,T)εLH, i.e.,
T(y)=S(y)H(y)(mod q,F(y)).
Here B is a fixed small integer used to enable rejection sampling.
Signatures are created as in pq-NTRUSign working in the ring f=[x]/(f(x)), with one change. Rather than creating polynomials with small coefficients relative to the standard basis 1, x, . . . , xn-1, we instead create polynomials with small coefficients relative to the basis c1(x), . . . , cn(x).
Step 1: Choose δj at random mod q such that q/2<δj≦q/2 and δj≡
Step 2: Define t0(x) by
t
0(x)≡s0(x)h(x)(mod q)
and write
Then (s0(x),t0(x))εLh.
Step 3: Write
for some η1, . . . , ηn.
To accomplish this, as described previously, write
as described previously, and set
(η1, . . . ,ηn)≡(t′1, . . . ,t′n)U(q),
and select representatives for the ηj in the interval (−q/2/q/2]. The ηj will appear to be randomly and uniformly distributed mod q.
Step 4: Construct (u(x), v(x))εLh such that
with δj(u), δj(v) small, δj(u)≡0 (mod p), and δj(v)+εj(mod p) for all j.
To construct the desired (u(x), v(x)), search for an appropriate r(x) which is short, and set
u(x)=pr(x)a(x) and v(x)=r(x)v(x).
Such an r(x) must satisfy
with the δj(v) small and δj(v)+ηj=εj(mod p),
and also satisfy
with the δj(u) small and δj(u)≡(mod p).
As r(x), a(x) are short, r(x)a(x) is also short, and we may write
with the di small. Then the δj(u) of
are given by
(δ1(u), . . . ,δn(u))=p(d0, . . . ,dn-1)U.
As all the di and entries of U are small there is no wraparound mod q and each δj(u)≡0 (mod p). Thus for whatever short r(x) we find, the (δj(u)=0 (mod p) condition will hold.
We turn now to finding r(x) short, such that
with δj(v) short and δj(v)≡
To accomplish this, write b(x)=Σin-1bixi, set
(b0,0,b0,1, . . . ,b0,n-1)=(b0,b1, . . . ,bn-1),
and define (bi,0, bi,1, . . . , bi,n-1) by
x
i
b(x)=bi,0+bi,1x+ . . . +bi,n-1xn-1.
Let B denote the matrix whose i, j entry is bi,j, and let
β=BU.
Note that the entries βi,j of β are small because the bi,j and the entries of U are small.
For any
we have
To solve for r(x), first define
(
and lift each
Then define δj9(v) by
(δ1(v), . . . ,δn(v))≡(r′1, . . . ,r′n)β.
This accomplishes the goal
with δj(v)=
After accomplishing Step 4, we have found a short pair of vectors (u(x), v(x))εLh with the appropriate congruential properties.
Having done so, set
s(x)=s0(x)+u(x) and t(x)=t0(x)+v(x).
By our construction, δj+δj(u) and ηj+δj(v). satisfy the required congruences mod p.
If, in addition, for an appropriate choice of , |δj+δj(u)|<q/2−, and |ηj+δj(v)|<q/2−, then we accept the signature and release it. If not, we repeat the process.
An argument very similar to that in pq-NTRUSign shows that this guarantees an information free transcript.
Why does short times short=pretty short?:
We will investigate the size of the coefficients of the remainder when a polynomial b(x) is divided by some other polynomial f(x), and in particular, how the coefficients of the remainder depend on the magnitude of the roots of f(x).
Take n=150 and choose f(x) randomly to have the form
f(x)=x150+(random trinary polynomial of degree 90).
There are roughly 2142 such f. We next choose random trinary polynoimals g1(x), g2(x) of degree 150 and compute g1(x)g2(x) mod f(x). A sequence of random trials of f, g1, g2 produced polynomials whose (maximum coefficient, minimum coefficient) were
(343,−484),(255,−235),(607,−486),(411,−441),(552,−560), . . .
The spread of the coefficient range is very dependent on the size of the largest complex root of f(x). These roots will in general be considerably smaller if there is a large gap between the leading coefficient of highest degree (150 in the Example) and the non-zero coefficient of highest degree below the leading coefficient (90 in the Example).
Fix integers m≧n>0. Fix a polynomial
be chosen with each bi satisfying some probability distribution. Different coefficients may have different distributions, but we assume that they are independent and have mean 0. (In practice, our b(x) will be a product of plaintexts, so it will be a product of t polynomials whose coefficients are independent and more-or-less uniform in some interval. This means that the coefficients of b(x) each satisfy some sort of t-fold hypergeometric distribution, but note that the middle coefficients will be much larger than the ones near the top and the bottom. That is why we allow the coefficients of our b to have different distributions.) The independence means that
E(bibj)=E(bi)E(bj)=0 if iδj,
while the numbers E(bi2) depend on the distributions satisfied by the various bi.
We perform division with remainder,
b(x)=f(x)q(x)+r(x) with 0≦deg r<n.
As usual, we view the polynomials as vectors,
b=(b0, . . . ,bm) and r=(b0, . . . ,bn)
We let V denote the vanderMonde matrix of the θi's,
and we set
Then we set
and similarly for r(θ).
We take the relation b(x)=f(x)q(x)+r(x) and substitute x=θ1, . . . , θn. Since f(θi)=0, this gives
r(θi)−b(θi) for all 1≦i≦n.
With our earlier notation, this is simply the equality of vectors
r(θ)=b(θ).
Now we observe that since r has degree at most n−1, we can write r(θ) as
r=V
−1
b(θ).
We now compute the expected value of ∥r∥2 as b(x) varies.
This last formula explains what's going on. If we assume that f(x) is fixed and that deg b(x) is large compared to n=deg f(x), then we obtain the rough, but useful, estimate
Which term dominates will depend on the relative size of E(bj2) and max |θi|j for 0≦j<m. In our scenario, we have b(x)=ai(x) . . . at(x) with deg ai≈n, so m≈nt. The coefficients of the ai are uniform and small, so most of the coefficients of b are roughly Ct. Then E(∥r∥2) is roughly Ct max |θi|nt. So in order for decryption to work, we need roughly
g>(C max|θi|n)t.
As expected, we get exponential growth in t. But this shows very clearly how the largest root of f(x) has a major influence on the required size of q. Definintion:
Let f(x)εC[x] be a monic polynomial and let θ1, . . . , θn be the roots of f. We let
Experiments clearly reveal the effect of the size of the roots of f(x). We fixed an f(x) of degree 11, chose 100 polynomials g(x) of degree 32 with random coefficients in [−2,2] and computed the largest coefficients of g(x) modulo f(x). We used the polynomials
f
1(x)=x11−x10+x9+x6−x5+x2−x−1
f
2(x)=x11+x10+x5−x4+x3−x2−x−1
f
3(x)=x11−x10+x7+x6+x5−x3−x2−1.
(ƒ)
We now consider if there is an advantage in taking the non-zero coefficients of f(x) to be in the lower degree terms. So we take f(x) to have the form
f(x)=xn+{tilde over (f)}(x),
where {tilde over (f)}(x) is random trinary of small degree. Simple estimates make it clear that such polynomials tend to have smaller roots than polynomials whose non-zero monomials have higher degree. In order to compare with our experiments, we took polynomials f(x) of degree 11 with non-zero coefficients only on monomials of degree at most 4, more precisely, we took
f(x)=x11+a4x4+a3x3+a2x2+a1x−1
with the ai randomly chosen from {±1}. The polynomial
f
4(x)=x11−x4+x3−x2++x−1
has
(f4)=1.18225,
so (f4) is comparable to (f1) for the f1(x) above.
For f4 and 100 samples, we found
Avg |g mod f4|∞=28.450 and St.Dev. |g mod f4|∞=15.658.
These may be compared with the roughly similar values 43.4 and 16.2 for f1. A likely reason for the difference is due to secondary effects due to the other roots. Thus the magnitudes of the roots of f1 are
1.18,1.18,1.15,1.15,1.08,1.08,1.00,1.00,0.890,0.890,0.578,
while the magnitudes of the roots of f4 are
1.18,1.18,1.00,1.00,1.00,1.00,1.00,0.953,0.953,0.888,0.888.
So the second largest root of f1 is significantly larger than the second largest root of f4.
As the above formula makes clear, the size of the inverse of the vanderMonde matrix Vf also has an effect. We list the sup norm and the spectral radius of Vf−1 for our two example polynomials.
We note that the remainder coefficients for division by f1 and f4 resemble one another much more closely than do the remainder coefficients for division by f2 or f4. This suggests that it is not so much the distribution of non-zero monomials that affects the remainder coefficients as it is the size of the roots of f. However, if one desires to find an f with comparatively small roots, it is definitely advantageous to select f with non-zero monomials only in the lower degree terms.
This application claims priority from U.S. Provisional Patent Application No. 62/389,390 filed Feb. 25, 2016, and said Provisional Patent Application is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
62389390 | Feb 2016 | US |