-Let Pc be a copyrighted package in the repository
-Let Pd be a public domain package in the repository
-Let Kc be the "key" of Pc
-Let Kd be the "key" of Pd
The keys are stored in the metadata of the packages, so we don't need to break any copyright laws to get them.
Suppose we have the following operations:
-E(Pc,Pd,Kc,Kd) = X
-D(X, Kc) = Pc
-D(X, Kd) = Pd
With this infrastructure, if we want to get Pc or Pd, we simply ask for X and then decode our desired file. This also gives plausible deniability, but I'm not sure how this will hold up in court.