# Cancelable Multimodal Biometrics Based on Chaotic Maps
## 3 Proposed Approach
### Cancelable Fingerprint Features  
Fingerprint recognition can be categorized as either minutia-based and pattern-based. Three basic schemes can be employed to protect the minutia points: (1) directly protecting the minutia points; (2) protecting unordered sets generated from the minutia points (e.g., the distance between a pair of minutia points); and finally (3) protecting a fixed-length feature vector generated from the minutia points. Pattern-based approaches employ a fixed-length feature vector to protect the pattern of the fingerprint [18].  
In the proposed approach, we used the first category (i.e., minutia-based) to provide user authentication. However, designing a cancelable technique for an unordered set of features (i.e., minutia points) is still challenging. To overcome this issue, we suggest transforming the minutia points using Torus Automorphism, which is a type of spatial transformation that can be applied to plane region to increase chaos [19; 20]. Torus Automorphism has been proven to be beneficial in the context of the encryption of images. To protect the extracted minutia points, we use the following steps:  
* First, Torus Automorphism is utilized to generate a chaotic sequence using the following definition [19; 20]: \[\begin{bmatrix}x^{\prime}\\ y^{\prime}\end{bmatrix}=\begin{bmatrix}1&a\\ b&ab+1\end{bmatrix}\begin{bmatrix}x\\ y\end{bmatrix}mod\ N\] (1) It uses a \(2\times 2\) matrix with fixed elements (\(a\), \(b\) and \(N\)) to transform a point \((x,y)\) to a new position \((x^{\prime},y^{\prime})\) in a space domain or to transform a state \(S_{t}\) to \(S_{t+1}\). In the context of Torus Automorphism, there is a value \(R\) that is referred to the recurrence time such that \(X_{0}=X_{R}\)[19; 20]. Therefore, at time \(t_{R}\), the value of a state returns to the initial value at time \(t_{0}\).  
The values of states in a dynamic system change over time \(t\) in accordance with the implementation of a specific rule. In a discrete domain, \(t\) refers to the number of iterations of a function \(f\). This means that the state value at a time \(t+1\) is defined in the following way [21]: \[S_{t+1}=f(S_{t})\] (2) where \(S_{t}\) and \(S_{t+1}\) are the states at time \(t\) and \(t+1\), respectively;
* Second, the generated chaotic sequence is sorted in an ascending order and rotated using a predefined angle (e.g., \(\theta=90^{\circ}\)) based on the following: \[\begin{bmatrix}x^{\prime\prime}\\ y^{\prime\prime}\end{bmatrix}=\begin{bmatrix}x^{\prime}\\ y^{\prime}\end{bmatrix}\begin{bmatrix}0&-1\\ 1&0\end{bmatrix}\] (3)
* The final step is the shifting and scaling of the modified minutia points coordinates as the following: \[\begin{bmatrix}x_{trsf}\\ y_{trsf}\end{bmatrix}=S_{f}\bigg{(}\begin{bmatrix}x_{o}\\ y_{o}\end{bmatrix}+\begin{bmatrix}x^{\prime\prime}\\ y^{\prime\prime}\end{bmatrix}\bigg{)}\] (4) where \(x_{o}\) and \(y_{o}\) are the original coordinate values and \(S_{f}\) is a predefined scaling factor. \(x_{trsf}\) and \(y_{trsf}\) are the transformed coordinate values.  
The aim of using the Torus Automorphism technique was to randomly distribute the extracted fingerprint minutia points. In this way, the coordinate positions of each minutia point are transformed to a newly assigned position. The same parameter values were applied to all users in each session to preserve the inter-class and intra-class variations. In the instance that the template is disclosed, a new transformed template will be assigned in order to protect the minutia points.