## 7 Implementation and Evaluation
### Times Taken for Key Enrollment and Authentication
#### 7.2.2 Authentication Overhead  
We also evaluated the performance of the user authentication procedure in the proposed system. For the user authentication, the user device, \(d\), tries to obtain the salt value either from the salt server, \(s\), or mobile device, \(m\), depending on the connectivity to the salt server.  
We first assumed that the user device has Internet connectivity so that it can be connected to the salt server. Under this assumption, we measured the execution time of the authentication procedure using the salt server described in Figure 3. The 'P with S' column of _Authentication_ in Table 1 summarizes the results of 100 measurements. The average execution times of the proposed system were 0.422 s and 0.392 s with a standard deviation of 0.051 s and 0.038 s, respectively, for RSA-3072 and ECDSA-256. As shown in Table 1, the execution time of the user authentication procedure in the proposed method was slower than that of the user authentication procedure in the conventional system, without requiring any extra communication to obtain a salt (see Figure 1). However, the execution time overhead incurred by the user authentication procedure for the proposed system was comparable to that of the conventional system, indicating that most casual users cannot recognize such a time difference.  
Next, we assumed that the user device, \(d\), has no connectivity to the salt server. In this case, the user device provides the user with a notification that the connection to the salt server has failed, and then tries to retrieve the salt value \(salt^{2}\) from the mobile device, \(m\), via the Bluetooth connection. The authentication procedure using the mobile device instead of the salt server in Figure 3 corresponds to this case. In this case, \(d\) performs the steps from 2a to 5b with the mobile device in Figure 3. Again, we measured the execution time of this procedure 100 times. The 'P with M' column of _Authentication_ in Table 1 summarizes the measurement results. The execution times of the proposed system were 0.634 s for RSA-3072 and 0.437 s for ECDSA-256 on average, which are slower than the execution times of the conventional system. In fact, this extra overhead mainly came from the Bluetooth connection setup time. In addition, this overhead is incurred only when the user device had no connectivity to the salt server, and we claim that this is a rare case in practice.  
Again, for the user authentication procedure, we compared the execution times of both implementations using RSA-3072 and ECDSA-256. For the proposed system, the ECDSA-256 based  
\begin{table}
\begin{tabular}{c c c c c c c c c c} \hline \hline
**Procedure** & \multicolumn{4}{c}{**Key Enrollment**} & \multicolumn{4}{c}{**Authentication**} \\ \cline{2-10}
**Method** & \multicolumn{2}{c}{**C**} & \multicolumn{2}{c}{**P**} & \multicolumn{2}{c}{**C**} & \multicolumn{2}{c}{**P with S**} & \multicolumn{2}{c}{**P with M**} \\
**Algorithm** & **RSA** & **ECDSA** & **RSA** & **ECDSA** & **RSA** & **ECDSA** & **RSA** & **ECDSA** \\ \hline Avg. & 0.326 & 0.014 & 0.658 & 0.279 & 0.383 & 0.319 & 0.422 & 0.392 & 0.634 & 0.437 \\ Std. & 0.209 & 0.002 & 0.295 & 0.038 & 0.140 & 0.030 & 0.051 & 0.038 & 0.344 & 0.222 \\ Min. & 0.086 & 0.011 & 0.324 & 0.235 & 0.294 & 0.270 & 0.355 & 0.331 & 0.303 & 0.266 \\ Max. & 1.133 & 0.025 & 1.849 & 0.469 & 1.646 & 0.400 & 0.688 & 0.530 & 1.624 & 1.278 \\ Med. & 0.282 & 0.013 & 0.597 & 0.262 & 0.359 & 0.320 & 0.416 & 0.393 & 0.506 & 0.344 \\ \hline \hline \end{tabular}
\end{table}
Table 1: Times (seconds) for key enrollment and authentication (C: Conventional System, P: Proposed System, S: Salt Server, M: Mobile Device).  
implementation (0.392 s for the salt server case and 0.437 s for the mobile device case) showed a slightly better performance than the RSA-3072 based implementation (0.422 s for the salt server case and 0.634 s for the mobile device case). According to these evaluation results, ECDSA-256 would be a more preferable recommendation for our system.