We depict an (n, N, q; d)-code C as an N × n matrix M (C) on q symbols, where each row of the matrix corresponds to one of the codewords of C. For
any a ∈ Q, define
mj(a) = |{i | M (C)ij = a}|,
i.e.,mj(a) is the frequency of a on the j-th column of M (C). Define
m(C) = max1≤j≤n,a∈Q(mj(a)).
Example 7.1. Set
M (C) =
1 0 1 0 1 1 0 0 1
,
then m1(0) = 2, m2(0) = 2, m3(0) = 0 and m1(1) = 1, m2(1) = 1, m3(1) = 3.
So m(C) = 3.
Definition 7.2. Let C be an (n, N, q; d)-code.We say that C has an σ-resolution if the codewords of C can be partitioned into s subsets A1,. . . ,As, where |Ai| = σ, for i = 1, . . . , s, in such a way that each Ai is a code of minimum distance equal to n, i.e., any two codewords of Ai agree in no position.
We see an example.
Example 7.3. Set
C = {123, 132, 213, 231, 312, 321}
be a (3, 6, 3; 2)-code. Set
A1 = {123, 231, 312}, A2 = {132, 321, 213}.
Since C can be partitioned into 2-subsets A1, A2, and the minimum distance of A1 and A2 are equal to n = 3, we say C has a 3-resolution.
Theorem 7.4. (Tran and Sosina, 2004 )[16]. Let C1 be an (n1, N1, q1; d1 )-code over Q1 and let C2 be an (n2, N2, q2; d2)-code over Q2 with a σ-resolution A1, . . . , As such that s ≥ m(C1). Then the following hold.
(i) there exist an (n1n2, σN1, q1q2; n1n2− (n1− d1)(n2− d2)) code C.
(ii) Further, if q1q2 ≥ N1, then C can be extended to a code C∗ having parameters (n1n2 + 1, σN1, q1q2; d), where d = min{n1n2; n1n2 + 1 − (n1 − d1)(n2− d2)}.
Proof. Let C1 be an (n1, N1, q1; d1)-code over Q1. Let C2 be an (n2, N2, q2; d2) code over Q2 with a σ-resolution A1, . . . , As. Suppose s ≥ m(C1). For each a ∈ Q1 denote by C2(a) a copy of C2 defined over Q(a) such that
Q(a1) ∩ Q(a2) = ∅ if a1, a2 ∈ Q1 and a1 6= a2. Denote by A1(a), . . . , As(a) a σ-resolution of C2(a).
Let colj = (a1,j, a2,j, . . . , ab1,j)T be the j-th column of M (C1), 1 ≤ j ≤ n1. Let a(1), . . . , a(t), say, be t positions of colj at which symbol a ∈ Q1 appears.
Note that t ≤ m(C1). Now replace a at position a(1) by A1(a), a at position a(2) by A1(a), etc., and a at position a(t) by At(a). Perform this process for every symbol of Q1 and for every column of M (C1). The resulting code C obtained by this replacement has parameters (n1n2, σN1, q1q2; n1n2 − (n1− d1)(n2− d2)).
Obviously, the length and the number of codewords of C is n1n2 and σN1 respectively. Further, any two codewords c1, c2 ∈ C1 agree in at most
(n1− d2) positions. After replacement c1 and c2 correspond to two subsets R1 and R2 of σ codewords each. Any two codewords in R1 (resp. R2) agree in no position, whereas a codeword from R1 and a codeword from R2 agree in at most (n1− d1)(n2− d2) positions. Hence the minimum distance of C is n1n2− (n1− d1)(n2− d2) , as stated.
Further, if q1q2 ≥ N1then C can be extended to a code C∗having parame-ters (n1n2+1, σN1, q1q2; d), where d = min{n1n2, n1n2+1−(n1−d1)(n2−d2)}.
Let Q = {a1, a2, . . . , aq1q2} be the alphabet of C and let C1 = {c1, c2, . . . , cN1}.
By construction, any codeword ci ∈ C1 corresponds to a subset Ri of σ code-words. For any i = 1, . . . , N1, we add symbol ai to the (n1n2+ 1)-th column because their components at the (n1n2 + 1)-th column are distinct.
We illustrate the construction in Theorem 7.4 by the following example.
Example 7.5. Let C1 be a (3, 4, 2; 2)-code over Q1 = {0, 1} given by
A2(0):
M (C) =
M (C∗) =
We describe a simple construction for q-ary codes which has been pre-sented by Bush (1952)[3] for orthogonal arrays.
Theorem 7.6. (Bush,1952 )[3]. Let C1 be an (n, N1, q1; d1)-code over Q1
Then it is easy to verify that
C = {c(a, b) | a ∈ C1, b ∈ C2} ⊆ Qn is an (n, N1N2, q1q2; d)-code, where d = min{d1, d2}.
Definition 7.7. A code C ⊆ Fqn is a [n, k, d]-linear code if C is a subspace of Fqn with dimension k and minimum distance d.
Definition 7.8. A [n, k, d]-linear code with d = n−k+1 is called a maximum distance separable code, denoted M DS codes.
Theorem 7.6 can be used to construct q-ary codes achieving M DS codes, for which q is not a prime power, in the language of orthogonal arrays an (n, N, q; d) M DS code is an OA1(n − d + 1, n, q); here we have N = qn−d+1.
We record this special case of the Bush construction in the following theorem.
Theorem 7.9. (Bush, 1952)[3] The existence of (n, q1k, q1; d) and (n, q2k, q2; d) MDS codes having the same d = n − k + 1 implies the existence of an (n, (q1q2)k, q1q2; d) MDS code.
As a consequence of Theorem 7.9 , we have the following corollary.
Corollary 7.10. For any integer n ≥ 2 and s with a prime factorization s = pe11...perr such that n ≤ peii, i = 1, 2, ..., r, there is an (n, sk, s) MDS codes, for all 2 ≤ k ≤ n.
Proof. The corollary follows from the existence of (n, (peii)k, (peii)) MDS codes for i = 1, ..., r.
By combining Corollary 7.10 and Corollary 3.6 we obtain the following theorem.
Theorem 7.11. Let w ≥ 2 be any given integer. For any integer n > w2 and s having s = pe11...pekk as its prime factorization with n ≤ peii for all i = 1, ..., k there exists an w-IPP (n, N, s)-code, where N = sdw2ne. Definition 7.12. Let C1 be an (n2, N2, q2)-code over Q2 and let C2 be an (n1, q2, q1)-code over Q1. We define the concatenated code of C1 and C2 as following: Let Q2 = {a1, ..., aq2} and let C2 = {b1, ..., bq2}. Let θ : Q2 → C2 be the one-to-one mapping defined by
θ(ai) = bi
for 1 ≤ i ≤ q2. For any codeword a = (a1, ..., an2) ∈ C1 we denote by
˜a = (θ(a1), ..., θ(an2)) = (b1, ..., bn2)
the q1-ary sequence of length n1n2 obtained from a by using θ. The set C = {˜a = (b1, ..., bn2) | a = (a1, ..., an2) ∈ C1}
is an (n1n2, N2, q1)-code, called the concatenated code of C1 and C2. Example 7.13. Set
C1 = {12, 13, 23}
be a (2,3,3)-code over {a1 = 1, a2 = 2, a3 = 3}. Set C2 = {b1 = 445, b2 = 455, b3 = 555}
be a (3, 3, 2)-code over {4, 5}. Define θ be the one to one mapping by θ(ai) = bi for i = 1, 2, 3. Then the concatenated code C of C1 and C2 presented
C = {(445, 455), (445, 555), (455, 555)}
be a (6, 3, 2)-code.
Next important theorem shows that the concatenation technique works for IPP codes.
Theorem 7.14. (Tran and Sosina, 2005 )[17]. Let C1 be an w-IPP (n2, N2, q2 )-code over Q2 and let C2 be an w-IPP (n1, q2, q1)-code over Q1. Then the concatenated code C of C1 and C2 is an w-IPP (n1n2, N2, q1)-code.
Proof. Let x = (x1, ..., xn1n2) ∈ Qn11n2. We partition x into n2blocks x1, ..., xn2 with xi = (x(i−1)n1+1, ..., xin1) ∈ Qn11, 1 ≤ i ≤ n2. We will write x = (x1, ..., xn2). Specially, if x = c = (b1, ..., bn2) ∈ C, then b0is are them-selves blocks of the partition of c.
Suppose x ∈ desc(Ci), 1 ≤ i ≤ r, where Ci ⊆ C with |Ci| = αi ≤ w. We prove that T
1≤i≤r(Ci) 6= ∅, i.e. C is a w-IPP code.
Let Ci = {c(i)1 , ..., c(i)αi} ⊆ C, where c(i)j = (b(i)j1, ..., b(i)jn
2). For any 1 ≤ i ≤ r and any 1 ≤ ` ≤ n2 define D`(i) = {b(i)1`, ..., b(i)α
i`}, i.e. D`(i) is the collection of all `th blocks of the codewords of Ci. In other words, D(i)` ⊆ C2 is a subset of αi codewords. As x ∈ desc(Ci) by the assumption, we have x` ∈ desc(D(i)` ) for 1 ≤ i ≤ r and 1 ≤ ` ≤ n2. Since C2 is a w-IPP code, we have
\
1≤i≤r
D`(i) 6= ∅.
Let b` ∈ T
1≤i≤rD`(i) be an arbitrary but fixed codeword, i.e. b` is a guilty user for x` in code C2. Set y = (b1, ..., bn2). Let ¯y = (a1, ..., an2) ∈ Qn2 be
the corresponding sequence obtained from y using θ, i.e. ai = θ−1(bi). In the same way let ¯Ci = {¯c(i)1 , ..., ¯c(i)αi} ⊆ C1 denote the corresponding subset of Ci. Since y ∈ desc(Ci) by the construction, we have ¯y ∈ desc( ¯Ci). for 1 ≤ i ≤ r. Hence
¯ y ∈ \
1≤i≤r
desc( ¯Ci).
Since C1 is a w-IPP code, we have
\
1≤i≤r
C¯i 6= ∅.
Let ¯z0 = (a01, ..., a0n2) ∈ T
1≤i≤r( ¯Ci) be a guilty user for ¯y in C1. Then z0 = (b01, ..., b0n2) ∈ Ci for 1 ≤ i ≤ r, where z0 the codeword of C corresponding to ¯z0. Therefore
\
1≤i≤r
Ci 6= ∅.
Thus C is an w-IPP code.
References
[1] Biehl, I., Meyer, B., Protocols for collusion-secure asymmetric finger-printing. 14th Symposium on Theoretical Aspects of Computing, Lec-ture Notes in Computer Science, Vol. 1200 (1997). Springer, Berlin, pp.
399-412.
[2] Boneh, D., Shaw, J., Collusion-secure fingerprinting for digital data, Advances in Cryptology-Crypto ’95. Lecture Notes in Computer Science, Vol. 963. Springer, Berlin, (1995) pp. 452-465.
[3] Bush, K.A., Federer, W.T., Pesotan, H., Raghavarao, D., New combina-torial designs and their application to group testing, J. Statist. Plann.
Inference 10, (1984) 335-343.
[4] Chee, Y.M., Tur´an-type problems in group testing, coding theory and cryptography, Ph.D. Thesis, University of Waterloo. (1996)
[5] Chor, B., Fiat, A., Naor, M., Tracing traitors. Advances in Cryptology-Crypto ’94, Lecture Notes in Computer Science, Vol. 839. Springer, Berlin, (1994) pp. 257-270.
[6] Du, D.-Z., Hwang, F.K., Pooling designs and nonadaptive group testing, World Scientific, Singapore. (2006)
[7] A. J. Macula. A simple construction of d-disjunct matrices with certain constant weights, Discrete Math. (1996) 162:311–312.
[8] A. J. Macula,. Error-correcting nonadaptive group testing with de -disjunct matrices, Discrete Appl. Math. (1997) 80:217-222.
[9] Marcel Fernandez and Miguel Soriano, Intellectual property protection of e-learing contents, International conference on network universities and e-Learing. 8-9 May (2003), Valencia. Spain.
[10] Pfitzmann, B., Trials of traced traitors, Workshop on Information Hiding, Lecture Notes in Computer Science, Vol. 1174. Springer, Berlin, (1996) pp. 49-64.
[11] Pfitzmann, B., Waidner, M., Asymmetric fingerprinting for larger col-lusions, Fourth ACM Conference on Computer and Communications Security. (1997a)
[12] Pfitzmann, B., Waidner, M., Anonymous fingerprinting. Advances in Cryptology-Eurocrypt ’97, Lecture Notes in Computer Science, Vol.
1233. Springer, Berlin, (1997b) pp. 88-102.
[13] J. N. Staddon, D. R. Stinson and R. Wei, Combinatorial properties of frameproof and traceability codes, IEEE Trans. Inform. Theory, Vol.
47 (2001) pp. 1042-1049.
[14] D. R. Stinson, Tran van Trung and R. Wei, Secure frameproof codes, key distribution patterns, group testing algorithms and related structures, Journal of Statistical Planning and Inference 86 (2000) 595-617.
[15] Stinson, D.R., Wei, R., Combinatorial properties and constructions of traceability schemes and frameproof codes, SIAM J. Discrete Math. 11, (1998)41-53.
[16] Tran van Trung and Sosina Martirosyan, On a class of traceability codes, Design, Codes and Cryptography, 31, (2004) 125-132.
[17] Tran van Trung and Sosina Martirosyan, New constructions for IPP codes, Design, Codes and Cryptography, 35, (2005) 227-239.