## 3 The Proposed Algorithm
### Features of Interpolating Spline Curve Encryption  
After we compute the features of the interpolating spline curve in 3D space, we can encrypt them by the encryption function \(E_{F}(.)\), which is the key value \(\mathbf{K}\). We can use conventional encryption functions such as AES, DES, or XOR for the encryption function \(E_{F}(.)\). Here, for simplicity, we encrypted features by the secret key value \(\mathbf{K}\) as described in Equations (9)-(11), where \(\mathbf{T}^{\prime}_{i}\), \(\mathbf{A}^{\prime}_{i^{\prime}}\) and \(\mathbf{C}^{\prime}_{i}\) are the encrypted interpolating vector, the encrypted curvature coefficients, and the encrypted control points, respectively.  
\[\mathbf{T}^{\prime}_{i} =E_{F}(\mathbf{K},\mathbf{T}_{i}) \tag{9}\] \[=\{(\frac{\mathbf{K}}{|\mathbf{M}|}+j)\times t_{i,j}|j\in[1,\ 3]\}\] \[=\{t^{\prime}_{i,j}\Big{|}j\in[1,\ 3]\ \}\] \[\mathbf{A}^{\prime}_{i} =E_{F}(\mathbf{K},\mathbf{A}_{i})\] (10) \[=\Big{\{}\frac{\mathbf{K}}{|\mathbf{M}|}\times a_{j,k}\Big{|}j,k \in[1,\ 3]\Big{\}}\] \[=\{a^{\prime}_{j,k}\Big{|}j,k\in[1,\ 3]\ \}\]\[\begin{array}{ll}\mathbf{C}_{i}^{\prime}&=E_{F}(\mathbf{K},\mathbf{C}_{i})\\ &=\Big{\{}\Big{(}\frac{\mathbf{K}}{|\mathbf{M}|}+j\Big{)}\times c_{ij}\Big{|}j \in[1,\,3]\Big{\}}\\ &=\ \{c_{ij}^{\prime}\Big{|}j\in[1,\,3]\Big{\}}.\end{array} \tag{11}\]  
After the feature encryption process, the encrypted curvature coefficients \(\mathbf{A}_{i}^{\prime}\) and the encrypted control points \(\mathbf{C}_{i}^{\prime}\) are used in the inverse interpolation process in order to compute three new vertices as shown in Equation (12). Three new vertices are finally altered by the geometric distortion process in order to generate the encrypted facets \(\mathbf{E}_{i}\). The geometric distortion process uses the encrypted interpolating vector \(\mathbf{T}_{i}^{\prime}\) as shown in Equation (13).  
\[\begin{array}{ll}\mathbf{F}_{i}^{\prime}=\mathbf{A}_{i}^{\prime}\mathbf{C}_ {i}^{\prime}\\ \Leftrightarrow\left[\begin{array}{c}v_{i,1}^{\prime}\\ v_{i,2}^{\prime}\\ v_{i,3}^{\prime}\end{array}\right]=\left[\begin{array}{ccc}a_{11}^{\prime} &a_{12}^{\prime}&a_{13}^{\prime}\\ a_{21}^{\prime}&a_{22}^{\prime}&a_{23}^{\prime}\\ a_{31}^{\prime}&a_{32}^{\prime}&a_{33}^{\prime}\end{array}\right].\left[ \begin{array}{c}c_{i,1}^{\prime}\\ c_{i,2}^{\prime}\\ c_{i,3}^{\prime}\end{array}\right]\\ \mathbf{E}_{i}&=G_{D}(\mathbf{T}_{i}^{\prime}\mathbf{F}_{i}^{\prime})\\ &=\{(t_{i,j}^{\prime}+1)\times v_{i,j}^{\prime}\Big{|}j\in[1,\,3]\}\\ &=\{e_{ij}|j\in[1,\,3]\}\text{ with }e_{i,j}=(ex_{i,j},ey_{i,j},ez_{i,j})\\ &\qquad\qquad\mathbf{E}_{M}=\{\mathbf{E}_{i}|i\in[1,|\mathbf{M}|]\}.\end{array} \tag{14}\]  
The encrypted 3D triangle mesh \(\mathbf{E}_{M}\) is a set of the encrypted facets as shown in Equation (14). Figure 4 show the encryption process of a facet. Three control points are encrypted by the key value \(\mathbf{K}\) and are then used to compute three new vertices \(v_{i,1}^{\prime},v_{i,2}^{\prime}\) and \(v_{i,3}^{\prime}\) by inverse interpolation (see Figure 4a). Three new vertices are formed into a new facet. Finally, this new facet is distorted by the geometric distortion to obtain the encrypted facets shown in Figure 4b.  
Figure 4: Facet encryption: (**a**) features encryption and inverse interpolation; (**b**) geometric distortion.