located is disconnected, i.e., removed from U thereby
excluding them from all succeeding rounds.
The pirate loses the game when s/he does not an-
swer. This most likely means that s/he has gone out
of business because the algorithm has located and dis-
connected all traitors. The performance of the scheme
is measured by the maximal number of variants used
in any single round (marking alphabet) and also the
number of rounds needed in the worst case (conver-
gence time). There is a trade-off between the two
measures.
A pirate does not have to decide in advance who
the p traitors are. Instead, s/he can choose the traitors
adaptively throughout the game. However, once he
decides to corrupt a user, s/he is committed to this
decision until the end of the game.
(Fiat and Tassa, 1999) present three deterministic
dynamic tracing schemes. These algorithms are re-
ferred to as the FT1, FT2 and FT3 algorithms respec-
tively. (Fiat and Tassa, 1999) establish that the theo-
retical minimum bound on the number of variants re-
quired to trace any number of traitors in the dynamic
model is p + 1. Two of the proposed algorithms use
p + 1 variants, but have an exponential convergence
time. The other algorithm has a convergence time
polynomial in p, but uses 2p + 1 variants.
(Berkman et al, 2000) propose an algorithm that
traces all p traitors in O(p
3
log n) rounds using p + 1
variants. This is referred to as the clique algorithm.
The clique algorithm is used to construct an optimal
algorithm that is able to trace all traitors in polynomial
time using the minimal number of variants. (Berkman
et al, 2000) show that by increasing the number of
variants used in the optimal algorithm, a measurable
trade-off in convergence time can be obtained.
4 RANDOMISED DYNAMIC
TRACING
All dynamic schemes created so far are determinis-
tic. This means that a pirate is able to run through the
tracing algorithm in advance and totally deduce the
marking strategy that will be used. While this does
not prevent a pirate from being caught, this situation
is undesirable, as it allows a pirate to force the al-
gorithm to run at its worst case complexity through
strategic use of feedback.
This can be best illustrated using the Quicksort al-
gorithm (Hoare, 1961). Given a set of data to sort,
the Quicksort algorithm chooses an element from the
array (referred to as the pivot). The data is partitioned
either side of the pivot such that elements less than the
pivot are below it, and those greater are above it. The
algorithm then recursively sorts the partitions. Quick-
sort is deterministic and given the same set of input,
will execute exactly the same way each time.
The performance of the Quicksort algorithm de-
pends on the pivot point chosen. On average, this al-
gorithm runs in O(n log n) steps where n is the num-
ber of items to be sorted. However, if the set of data is
already nearly sorted, performance degrades to O(n
2
)
steps.
Consider the case where an adversary of the Quick-
sort algorithm is permitted to order the array. The ad-
versary can in each instance force the Quicksort algo-
rithm to run in its worst case complexity by ensuring
that the array is reverse sorted. By doing so, the array
will always be split into two unbalanced sets, a set of
one element and a set consisting of the remainder of
the array. (Further attacks of this nature on Quicksort
are described in (McIlroy, 1999).)
To protect against this type of attack, random
choices can be introduced into the sorting process.
For example, the array is randomly re-ordered prior
to sorting, and/or the pivot point is randomly chosen.
Under these conditions, the adversary does not benefit
from pre-ordering the input data. Random decisions
ensure that the algorithm runs at its average case com-
plexity, regardless of the initial order of input data.
Dynamic traitor tracing schemes are no different
to the Quicksort algorithm. The traitor can influence
the algorithm to perform at its worst case complexity,
thereby delaying his/her tracing. Likewise random
decisions can also be used in dynamic traitor tracing
to ensure average case complexity.
This section presents several amended dynamic
schemes from literature. Each algorithm has been
altered to include random decisions during the trac-
ing process. This ultimately removes any advantage a
traitor has in terms of the aforementioned attack.
4.1 FT1 Algorithm
The FT1 Algorithm uses the optimal number of
variants (i.e., p + 1). Traitors are traced by marking
designated combinations of users based on the
current known traitor count t. Either all traitors
will be isolated when the correct combination of
users is selected, or there are more than the current
number of known traitors in the system. The latter
scenario allows us to increment the traitor count by
one and repeat the same process with an extra variant.
Convergence time is O(
n
p
+ 2×
P
p−1
t=0
n
t
).
Algorithm 4.1 - FT1
1. Set t = 0
2. Repeat forever:
(a) For all selections of t users out of U, w
1
, ..., w
t
⊂ U,
produce t + 1 distinct variants of the current segment
and transmit the ith variant to w
i
, 1 ≤ i ≤ t, and
SIGMAP 2006 - INTERNATIONAL CONFERENCE ON SIGNAL PROCESSING AND MULTIMEDIA
APPLICATIONS
326