## 2 Materials and Methods
### Hardness of Decoding Disambiguation Information in Absence of Payload  
For the users, who would like to keep their data top secret by the standard encryption algorithms, applying the NPF coding scheme can still provide an advantage. In case of such a necessity, the payload is encrypted, and the disambiguation information, which simply specifies the code-word boundaries in the variable-length non-prefix-free code-words stream payload, is kept plain. Now extracting the code-word bits from the payload can be achieved since disambiguation information is plain, however, since the payload bits are encrypted, decoding the original data is not possible. Considering that larger \(d\) values create smaller disambiguation information and increase the payload size, in this case using small \(d\) will be preferred with the aim to achieve higher reduction in the to-be-encrypted data volume. On the other side, when \(d\) gets smaller, the overhead becomes more significant. For example, when \(d=4\), there appears 10% inflation in the data volume, where both payload and disambiguation information occupy 50% of the inflated data. With that 10 percent inflation it becomes possible to attain 50% decrease in the encryption. Similarly, by choosing \(d=6\), the overhead becomes more acceptable by being around 3 bits per 100 bits, and since the ratio of the payload becomes 2/3 of the final data, around 33% decrease is achieved in the encryption amount. We start analyzing how much information is leaked by making the disambiguation information public assuming that the code-word set is also public, and then investigate how much it would help to keep the code-word mapping (\(\Sigma\to W\)) secret. The number of distinct payloads that can be generated from a given disambiguation information is \(2^{n-\frac{2n}{d}+\frac{4n}{d2^{d}}}\) by assuming the code-word set \(W\), parameter \(d\), and message length \(n\) are known. Proof. : A code-word of length \(\ell=d-i\), which is representing \(2^{\ell}\) distinct symbols, appears \(\frac{r}{2^{\ell}}\) times in the disambiguation information for \(i=1\) to \(d-1\) and \(r=\frac{n}{d}\). The \(d\) bit long code-words appear \(\frac{r}{2^{d-1}}\) times, and represent two distinct symbols. Thus, the total number of distinct sequences that can be generated from a known disambiguation information can be counted by  
\[2^{\frac{r(d-1)}{2}}\cdot 2^{\frac{r(d-2)}{4}}\cdot\ldots\cdot 2^{ \frac{r}{2^{d-1}}}\cdot 2^{\frac{r}{2^{d-1}}} =2^{rd\sum_{i=1}^{d-1}2^{-i}}\cdot 2^{r\sum_{i=1}^{d-1}2^{-i}}\cdot 2^{ \frac{r}{2^{d-1}}} \tag{16}\] \[=2^{\frac{rd\sum_{i=1}^{d-1}-r(2^{d-i}-d-1)+1}{2^{d-1}}}\] (17) \[=2^{r(d-2+\frac{d}{d})}\] (18) \[=2^{n-\frac{2n}{d}+\frac{4n}{d2^{d}}} \tag{19}\]  
The result of Lemma 5 is consistent with previous Lemma 2 such that the disambiguation information is not squeezing the possible message space by more than its size. In other words, when the codeword set \(W\) is known, plain disambiguation information reduces the possible \(2^{n}\) message space to \(2^{n-\epsilon}\), where \(\epsilon=n(\frac{2}{d}-\frac{4}{d\cdot 2^{d}})\). However, when \(W\) is private, and we need to investigate whether that secrecy of \(W\) accommodates the leakage due to the plain disambiguation information. Lemma 6 shows that for an attacker using the knowledge revealed by the disambiguation information does not provide an advantage over breaking the encryption on the payload as long as the code-word set \(W\) is kept secret. The shrinkage in the possible message space due to public disambiguation information can be accommodated by keeping the code-word set \(W\) secret in the non-UD coding of \(n\leq\tau\cdot d\cdot 2^{d}\) bit long data for \(\tau=\frac{d-1.44}{2}\). Proof. : \(W\) is a secret permutation of the set \(\{0,1,2,\ldots,2^{d-1}\}\) containing \(2^{d}\) numbers. Thus, there are \(2^{d}!\) distinct possibilities, which defines \(\log 2^{d}!\) bits of information.