Collusion-resistant fingerprinting for multimedia Wade Trappe, Min Wu, K.J. Ray Liu Anti-collusion codes • Anti-collusion codes (ACC) are designed to be resistant to averaging, and able to exactly identify groups of colluders. ACC (1) • We shall describe codes using the binary symbols {0,1} to {-1,1} via f ( x) 2 x 1 for use in CDMA-based watermarking. We assume that when a sequence of watermarks is averaged, the effect it has is that the resulting binary is the logical AND of j the codewords c For example ,when the codes (1110) and (1101) are combined, the result is (1100). f ( x) 2 x 1 • • ACC (2) • Definition 1. A binary code C {c1 , , c n } such that the logical AND of any subset of k or fewer codevectors in non-zero and distinct from the logical AND of any other subset of k or fewer codevectors is a k-resilient anti-collusion code, or an ACC code. • For example, when n=4,C={1110,1101,1011,0111}. It is easy to see when k n 1 of these vectors are combined under AND, that this combination is unique . ACC -BIBD (1) • Definition 2: A (v, k , ) balanced incomplete block design (BIBD) is a pair ( , ) ,where is a collection of k-element subsets (blocks) of a v-element set ,such that each pair of elements of occur together in exactly blocks. ACC –BIBD (2) • A (v, k , ) -(BIBD) has b (v2 v) /(k 2 k ) blocks. Corresponding to a block design is the v b incidence matrix M (mij ) defined by 1 if theith elementbelongs to the jth block mij otherwise 0 • If we assign the codewords as the bitcomplement of the column vectors of M then we have a (k-1)-resilient ACC. ACC –BIBD (3) • Theorem 1. Let ( , ) be a (v,k,1)-BIBD, and M the corresponding incidence matrix. If the codevectors are assigned as the bit complement of the columns of M ,then the resulting scheme is a (k-1)-collusion resistant code. ACC – BIBD (4) • We now present an example. The following is the bit-complement of the incidence matrix for a (7,3,1)-BIBD: 0 0 1 M 0 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 0 1 0 1 1 1 0 0 1 0 0 1 1 0 1 1 0 1 1 0 1 0 0 1 1 1 0 0 0 1 ACC – BIBD (5) • This code requires 7 bits for 7 users and provides 2-resiliency since any two column vectors share a unique pair of 1 bits. • Each column vector c of M is mapped to {1} by f ( x) 2 x 1 . v • The CDMA watermark is then w f ( c ) s j j j1 • When two watermarks are averaged, the locations where the corresponding ACC codes agree and have a value of 1 identify the colluding users. ACC –BIBD (6) • For example, let w1 s1 s2 s3 s4 s5 s6 s7 w 2 s1 s2 s3 s4 s5 s6 s7 be the watermarks for the first two columns of the above (7,3,1) code, then (w1 w 2 ) / 2 has coefficient vector (-1,0,0,0,1,0,1). Restriction of BIBD • In general, (v, k , ) BIBDs do not necessarily exist for an arbitrary choice of v, and k. • The condition that b must be an integer restricts some possibilities for v, and k, and for a given triple there may not exist a (v, k , ) BIBD . • The Bose construction builds Steiner triple systems when v 1 (mod6) ,and the Skolem construction builds Steniner triple systems when v 3 (mod6) . Additionally,( p d , p,1) BIBD can be constructed when p is of prime power. Subgroup-based constructions • In many application, a group of users will be suspected of likely colluding, but not with others. This could be due to geographical of social variables, or based upon a pervious precedent. • Suppose the code matrix C is constructed as a block diagonal matrix C diag(C1 , C2 , , Cs ) , where the matrices C j on the diagonal correspond to matrices for smaller codes. Simulation (1) • In order to demonstrate the capabilities of using an ACC code with CDMA watermarking to fingerprint users and detect colluders, we used an additive spread spectrum watermarking scheme, where the perceptually weighted watermark was added to block DCT coefficients. • The detection of the watermark is performed without the knowledge of the host image via the Z detection statistic. • We used the 512*512 lenna as the host image for the fingerprints. Simulation(2) • We assigned the code vectors as the column vectors of the bit complement of the incidence matrix for a (15,3,1) –BIBD that was constructed using the Bose method with a symmetric idempotent quasigroup structure on Z given by the binary operation x y 5(3x 3 y)(mod5) . • Two example code vectors that were assigned to user 1 and 6 are User 1 : (-1,-1,-1, 1, 1,1,1,1,1,1, 1,1,1,1,1) User 6 : (-1,1, 1, -1, 1,1,1,1,1,1,-1,1,1,1,1) Average:(-1, 0, 0, 0, 1,1,1,1,1,1, 0,1,1,1,1) Simulation (3) • An example of the behavior of the Z statistic when two users collude is depicted in figure 1, where we depict the values of the Z statistic for the 15 different spreading sequences used when user 1 and user6 average their differently marked images and then compress using JPEG with quality factor 50%. Simulation (4) • We present a histogram containing the Z statistics form roughly 200 pairs of users in figure 2 when the watermarked images are compressed using JPEG with a quality factor of 50%.