# Elliptic Curve Signcryption-Based Mutual Authentication Protocol for Smart Cards
## 4 Proposed Elliptic Curve Signcryption Based Security Protocol for Smart Card (ECSSP-SC)
### Signcryption Based Mutual Authentication Phase in ECSSP-SC  
In the signcryption-based mutual authentication phase of the proposed ECSSP-SC, both _USR_ and _SVR_ authenticate each other. It has been assumed that this process of mutual authentication occurs over the open communication channel. The _USR_ ensures that the user is utilizing the services of a genuine server, while the _SVR_ checks that it is interacting with a valid user. This phase has been implemented by utilizing the security and performance benefits of elliptic curve-based signcryption. The algorithm of the elliptic curve signcryption-based mutual authentication phase in the proposed ECSSP-SC has been shown in Figure 6 and the steps executed in this phase are explained below.  
* The _USR_ having the private public key pair \(\{x,P_{U}\}\) first randomly chooses an integer \(v\) and inserts the smart card into the card reader/device to start the authentication process. After entering its identity \(I_{U}\) and the password _PWD_, the user _USR_ does the following computations: Calculate: \[V=vP_{S}\] (22) Generate the key: \[K=(V\oplus A_{RU}\oplus R_{U})\] (23) Create the ciphertext: \[c=E_{K}(S_{U})\] (24) Compute: \[r=Hash(c\oplus K)\] (25) Compute: \[w=v/r\] (26) Calculate: \[T=rG\] (27)  
Figure 5: Registration of _USR_ with _RGC_ in ECSSP-SC.  
The user \(USR\) records the timestamp \(T_{U}\) and transmits the message \(\{c,T,w,T_{U}\}\) to the \(SVR\). The components \(\{c,T,w\}\) produced in this step implement the functionality of signcryption. Here, the component \(c\) fulfills the functionality of confidentiality by encrypting the \(P_{U}\), the component \(T\) is used to carry out the authentication functionality, and the component \(w\) facilitates the masking of secret values.  
* Upon receiving the message \(\{c,T,w,T_{U}\}\) from the \(USR\), the \(SVR\) performs the calculations given below: Confirm whether: \[T_{C}-T_{U}\leq t\] (28) where \(T_{C}\) is the present time and \(t\) is the average delay in transmission. If \(T_{C}-T_{U}>t\), then the \(SVR\) terminates the session. Otherwise, for the \(SVR\): Retrieve the key as: \[K^{\prime}=(I_{S}wT\oplus K_{RS}\oplus I_{S})\] (29) Compute: \[r^{\prime}=Hash(c\oplus K^{\prime})\] (30) Compute: \[T^{\prime}=r^{\prime}G\] (31) If \(T^{\prime}=T\), then the \(SVR\) successfully authenticates the \(USR\). In this way, the functionality of un-signcryption is fulfilled in which \(T^{\prime}\) is generated by the \(SVR\) and matched with the received \(T\). Moreover, \(SVR\) computes: \[A_{s}=E_{K^{\prime}}(I_{S}wT),\] (32) which then records timestamp \(T_{S}\) and transmits the message \(\{A_{s},\ T_{S}\}\) to the \(USR\).  
Figure 6: Signcryption-based Mutual Authentication Phase in ECSSP-SC.  
* On receipt of the message \(\{A_{s},\ T_{S}\}\) from the \(SVR\), the \(USR\) does the following: Verify whether: \[T_{C}-T_{S}\leq t\] (33) If \(T_{C}-T_{S}>t\), then the session is dismissed. Otherwise, the \(USR\) computes: \[{A_{s}}^{\prime}=E_{K}(V)\] (34) If \(A_{s}=A_{s}\)', then the \(USR\) successfully authenticates the \(SVR\).