# Coupling Secret Sharing with Decentralized Server-Aided Encryption in Encrypted Deduplication
## 5 Evaluation
### Experiments  
**Experiment #1 (MLE key/matrix generation time):** We first evaluate the key/matrix generation time of different encryption schemes on four fixed-size (e.g., 1 GB, 2 GB, 4 GB, 8 GB and 16 GB) datasets sampled from GCC dataset in Table 1. Figure 7a compares the key/matrix generation time for ECDedup, centralized server-aided encryption, and GDH-Dedup. ECDedup (pipeline) demonstrates the best performance in key/matrix generation time. Compared to centralized server-aided encryption, ECDedup (pipeline) reduces the key/matrix generation time by 14.4%, 26.9%, 33.7%, 32.1% and 32.8% for the 1 GB, 2 GB, 4 GB, 8 GB and 16 GB dataset, respectively, with a maximum reduction of 33.7%. From Figure 7a, we can also see that our pipeline schemes can effectively accelerate the matrix generation. ECDedup (pipeline) is almost twice as fast as ECDedup (vanilla). Compared to ECDedup (vanilla), ECDedup (pipeline) reduces the key/matrix generation time by up to 53.9% at 16 GB dataset, where \((n,k)\) is set to \((4,3)\) by default [14]. **Experiment #2 (Encryption and encoding time)**: We then evaluate the encryption and encoding time of different encryption schemes under the same setup as in Experiment #1. Figure 7b shows the encryption and encoding time of ECDedup (vanilla) and ECDedup (pipeline). We can see that the encoding time of ECDedup (pipeline) is faster than all other encryption schemes. Compared to centralized server-aided encryption, ECDedup (pipeline) reduces the encryption and encoding time by up to 69.27% for the 2 GB dataset. ECDedup (pipeline) can also reduce the encoding time by up to 51.19% compared with ECDedup (vanilla). This is because the pipeline scheme can leverage the built-in acceleration strategy of the encoding library by reusing element sequences \(x_{i}\) and \(y_{i}\) during encoding. \begin{table}
\begin{tabular}{p{56.9 pt} p{34.1 pt} p{34.1 pt}} \hline \hline
**Name** & **Size** & **Workload Descriptions** \\ \hline Webs & 347 GB & 129 days’ snapshots of the website: news.sina.com.cn [30] \\ \hline Linux & 109 GB & 253 versions of Linux kernel source code [31]. Each version is packaged as a tar file. \\ \hline RDB & 11 GB & 10 backups of the Redis key-value store database [32]. \\ \hline GCC & 28 GB & 89 backups of the GNU compiler collection source code files [32]. \\ \hline \hline \end{tabular}
\end{table} 
Table 1: The workload characteristics of the tested datasets. **Experiment #3 (Impact of \((n,k)\) for ECDedup)**: We evaluate the impact of \((n,k)\) on both the matrix generation time and encoding time of ECDedup (vanilla) and ECDedup (pipeline). We set \((n,k)\) to the commonly used parameters of RS codes (e.g., \((6,4)\), \((9,6)\), \((12,8)\), and \((14,10)\)). Figure 7(a) shows the matrix generation time of ECDedup (vanilla) and ECDedup (pipeline) with different \((n,k)\) settings. We can see that ECDedup (pipeline) is always faster than ECDedup (vanilla) in all cases. Both the matrix generation time and the encoding time of ECDedup (vanilla) and ECDedup (pipeline) increase with the increase in \(k\), and the time of ECDedup (vanilla) increases much faster than ECDedup (pipeline). For example, when \((n,k)\) increases from \((6,4)\) to \((14,10)\), the matrix generation time of ECDedup (pipeline) increases from 8.06 s to 14.45 s, while the matrix generation time of ECDedup (vanilla) increases from 17.96 s to 205.42 s, which shows that ECDedup (pipeline) is 14 times faster than ECDedup (vanilla) when \((n,k)=(14,10)\). **Experiment #4 (Client throughput)**: We also evaluate the client throughput of different encryption schemes under the same setup as in Experiment #1. Figure 9 shows the client throughput of different encryption schemes. We can see that ECDedup (pipeline) achieves the highest client throughput among all encryption schemes. The throughput of all encryption schemes increases with the size of the dataset and eventually stabilizes.