4.1 Preliminary

The trusted authority determines three polynomials C(x),D(x) and E(x) over prime finite field Fq for the readers, where

C(x) = c1x + c0 (1)
D(x) = d1x + d0 (2)
E(x) = e2x2 + e 1x + e0 (3)
Then, the trusted authority chooses universal polynomials A(x,y) and B(x,y) over the same prime finite field Fq for every tags, where
A(x,y) = a1,1xy + a1,0x + a0,1y + a0,0 (4)
B(x,y) = b1,1xy + b1,0x + b0,1y + b0,0 (5)
, such that
A(x,y) C(x) + B(x,y) D(x) = E(x) (6)

In order to satisfy the previous equation 6, the equalities in the following linear system need to hold:

a1,1c1 + b1,1d1 = 0 (7)
a1,1c0 + a0,1c1 + b1,1d0 + b0,1d1 = 0 (8)
a0,1c0 + b0,1d0 = 0 (9)
a1,0c1 + b1,0d1 - e2 = 0 (10)
a1,0c0 + a0,0c1 + b1,0d0 + b0,0d1 - e1 = 0 (11)
a0,0c0 + b0,0d0 - e0 = 0 (12)
C(x),D(x) and E(x) are remains the same value when they are preloaded on to a reader, i.e., c1,c0,d1,d0,e2,e1,e0 have been predetermined. Therefore, the authority can always find A(x,y) and B(x,y) to satisfy equation 6, since equations 7 through 12 become a linear equation system regarding unknown coefficients of A(x,y) and B(x,y). The number of unknowns, i.e., 8 unknown variables, is greater than the number of equations, i.e., 6 equations. Thus, it is infeasible for a naive attacker to break this linear equation system.

4.1.1 Hash

A hash function h is an one-way function that maps an arbitrary length input to a k-bit output, i.e. h : {0,1}*→{0,1}k. The typical requirement for this cryptographic checksum functions are

4.1.2 Symbols and Notations

The bolded symbols are distinctly chosen in random for each session, e.g., γ2,λ. The specifically underlined parameter are transmitted from the user side, for instance, A(x,u). A good example of combination would be A(γ2,u), which represents a user function that need to feed an input at different session.

A function with a hat means it is a elliptic curve point multiplied with output of the function. An example of this would be Ĉ(x) = α×C(x), where α is an elliptic curve point.