  We consider the coded caching problem with an additional privacy constraint
that a user should not get any information about the demands of the other
users. We first show that a demand-private scheme for $N$ files and $K$ users
can be obtained from a non-private scheme that serves only a subset of the
demands for the $N$ files and $NK$ users problem. We further use this fact to
construct a demand-private scheme for $N$ files and $K$ users from a particular
known non-private scheme for $N$ files and $NK-K+1$ users. It is then
demonstrated that, the memory-rate pair $(M,\min \{N,K\}(1-M/N))$, which is
achievable for non-private schemes with uncoded transmissions, is also
achievable under demand privacy. We further propose a scheme that improves on
these ideas by removing some redundant transmissions. The memory-rate trade-off
achieved using our schemes is shown to be within a multiplicative factor of 3
from the optimal when $K < N$ and of 8 when $N\leq K$. Finally, we give the
exact memory-rate trade-off for demand-private coded caching problems with
$N\geq K=2$.
