PROLIFIC CODES WITH THE IDENTIFIABLE PARENT PROPERTY ∗ SIMON R. BLACKBURN † , TUVI ETZION ‡ , AND SIAW-LYNN NG § Abstract. Let C be a code of length n over an alphabet of size q. A word d is a descendant of a pair of codewords x, y ∈C if d i ∈{x i ,y i } for 1 ≤ i ≤ n. A code C is an identifiable parent property (IPP) code if the following property holds. Whenever we are given C and a descendant d of a pair of codewords in C, it is possible to determine at least one of these codewords. The paper introduces the notion of a prolific IPP code. An IPP code is prolific if all q n words are descendants. It is shown that linear prolific IPP codes fall into three infinite (‘trivial’) families, together with a single sporadic example which is ternary of length 4. There are no known examples of prolific IPP codes which are not equivalent to a linear example: the paper shows that for most parameters there are no prolific IPP codes, leaving a relatively small number of parameters unsolved. In the process the paper obtains upper bounds on the size of a (not necessarily prolific) IPP code which are better than previously known bounds. Key words. error-correcting codes, identifying parent property, linear codes, MDS codes, orthogonal arrays, copyright protection. AMS subject classifications. 94B60, 94A60, 94B65 1. Introduction. Codes with the Identifiable Parent Property (IPP codes) were first introduced by Hollmann, van Lint, Linnartz and Tolhiuzen [9] in 1998, motivated by an application to prevent software piracy. IPP codes and various generalisations have since been intensively studied: see, for example, papers of Alon, Cohen, Krivele- vich and Litsyn [2], Alon, Fischer and Szegedy [3], Alon and Stav [4], Barg, Cohen, Encheva, Kabatiansky and Z´ emor [5], Barg and Kabatiansky [6], Blackburn [7], Lind- kvist, L¨ ofvenberg and Svanstr¨ om [11], L¨ ofvenberg [10], Staddon, Stinson and Wei [12], Tˆ o and Safavi-Naini [13], van Trung and Martirosyan [14] and Yemane [15]. To define IPP codes we need the notion of a descendant, which is defined as fol- lows. Let F be an alphabet of size q. Let x = x 1 x 2 ...x n ∈ F n and y = y 1 y 2 ...y n ∈ F n be q-ary words of length n. The set of descendants desc(x, y) of x and y is defined to be desc(x, y)= {d 1 d 2 ··· d n ∈ F n : d i ∈{x i ,y i } for i =1, 2,...,n}. If d ∈ desc(x, y), we say that d is a descendant of x and y, and we say that {x, y} is a set of parents of d. We say that the parent x contributes to the ith component of d if x i = d i . Clearly |desc(x, y)| =2 d(x,y) , where d(x, y) is the Hamming distance between x and y. Let C be an (n, q, M )-code (so C is a q-ary code of length n, containing M code- words). Informally, C has the Identifiable Parent Property (we say C is an IPP code, or an (n, q, M )-IPP code ) if whenever we are given a descendant d of two codewords, we are able to identify one of the parents. More formally, C is an IPP code if the * This research was supported in part by E.P.S.R.C. grant EP/E034632/1. † Department of Mathematics, Royal Holloway, University of London, Egham, Surrey TW20 0EX, United Kingdom, s.blackburn@rhul.ac.uk. ‡ Technion — Israel Institute of Technology, Department of Computer Science, Technion City, Haifa 32000, Israel, etzion@cs.technion.ac.il. § Department of Mathematics, Royal Holloway, University of London, Egham, Surrey TW20 0EX, United Kingdom, s.ng@rhul.ac.uk. 1