For any PPT prover ($p$) and verifier ($v$), imagine I have a low entropy witness, say smaller than $2^8$. Now, let us say I have a dlog statement in the form of $y = g^w$. Theory says I could use a sigma protocol such that $p$ can prove to $v$ that it knows $w$. I could also make use of the fiat shamir transform to make it non-interactive.
This is not the case when the entropy of the witness is low as in this example. In both cases I could simply enumerate the $256$ possible witness and use the response and commitment to check to which one it might correspond i.e:
For a commitment:
$t = g^v$
A challenge $c$ and a response:
$r = t + c \times x$
It is obvious to see that if I have $r, \space c$ and $t$ I can recover $x$. The same happens if we were to use Pedersen commitments instead.
I assume this is a common problem for all dlog based ZKPoK, but I am not sure, nor I do not know what should I use instead.
The one liner in this case is: How can I prove Knowledge when the witness entropy is that low?