# From Iris Image to Embedded Code: System of Methods
## 6 Selecting the Embedding Method
Generally, data transmission involves a pair of functions also called encoder and decoder. The encoder \(R=\Phi_{p}(K)\) maps the transmitted message \(K\) into a larger redundant code \(R\). Then \(R\) is passed through the transmission channel, which alters each of its symbols independently with the probability \(q\), and the altered code \(R^{\prime}\) is received at the other side. The decoder \(K=\Psi_{p}(R^{\prime})\) is able to restore \(K\) back from \(R^{\prime}\) under the condition that no more than a \(p\) share of values were altered. Call \(p\) as _tolerated error probability_. Thus, if \(q<p\) then the message is restored with a probability close to 1. Otherwise, the probability to restore \(K\) is close to 0. One can design \(\Phi\) and \(\Psi\) for a wide range of transition error probabilities \(p\in[0;0.5)\). Redundancy grows as \(p\) approaches to 0.5, for \(p=0.5\) it becomes infinite. Here ECC is used as follows. The encoder and decoder are constructed so as to have a tolerated error probability equal to the classification threshold of the biometric recognition system: \(p=\theta\). Upon registration, a password \(K_{1}\) is constructed and the user's template \(T_{1}\) is obtained. The code \(R_{1}=\Phi_{p}(K_{1})\) (it generally looks like pseudorandom numbers) is bitwise summed modulo 2 (exclusive or) to the iris template yielding the public code \(C=R_{1}\oplus T_{1}\). After \(C\) is calculated, template \(T_{1}\), message \(K_{1}\), and redundant code \(R_{1}\) are destroyed. None of them can be extracted from \(C\) alone. Thus, it is possible to expose \(C\) publicly and transmit it through unprotected channels. Upon presentation iris of a person is registered once more and a new template \(T_{2}\) is formed. Of course, it is not equal to the original one. Since \(R_{2}=C\oplus T_{2}=(R_{1}\oplus T_{1})\oplus T_{2}\), then \(R_{1}\oplus R_{2}=T_{1}\oplus T_{2}\). If the templates \(T_{1}\) and \(T_{2}\) are taken from one person, the distance is very likely to be less than the classification threshold: \(\rho(T_{1},T_{2})\leqslant\theta\), so \(\rho(R_{1},R_{2})\leqslant\theta\). By the nature of (32) it means that less than \(p\) share of bits differ in \(R_{1}\) and \(R_{2}\) and the original secret key \(K_{1}=K_{2}=\Psi_{p}(R_{2})\) will be recovered. On the other hand, if the templates are classified as belonging to different persons \(\rho(T_{1},T_{2})\geqslant\theta\), the probability of restoring the original \(K_{1}\) is close to zero. The scenario of operation is shown in Figure 4.  
Figure 4: Scenario of the method [60]. Work [60] proposes a cascade of two ECC algorithms: Reed-Solomon [62] and Hadamard [61]. Reed-Solomon coding handles an entire block of data of length \(L\), processing it as a set of \(L/s\)\(s\)-bit symbols. Any arbitrary symbols (not bits!) can be different as long as their number is not greater than \(pL\). In [60], this coding is aimed to combat group errors appearing from various occlusions (eyelashes, eyelids), which cover significant areas of the iris. Hadamard coding processes small chunks of data (few bits), and corrects no more than 25% of the errors in each chunk. For Hadamard code to be most successful in error correction, the errors (deviations of \(T^{\prime}\) from \(T\)) should be evenly scattered across the template with a density of no more than 25%. This coding is designed to deal with single pixel deviations arising from camera noise. The key \(K\) is encoded by Reed-Solomon code, the result is processed by Hadamard code. This cascade performs well if the share of altered bits in one person's templates does not exceed 25%. However, in practical databases and applications this share is bigger which leads to an unacceptably high (more than 50%) false reject probability. To overcome this difficulty, it is proposed [42] to introduce additional template masking; every fourth bit of the iris templates is set to zero. Due to this, the proportion of altering bits in the templates of one person is reduced below 20%.