## 3 Parallel ARIA Implementation
### Parallel ARIA Implementation on GPU
\begin{table}
\begin{tabular}{c c c c c c} \hline
**Memory Type** & **Block** & **Thread** & **Duration (ms)** & **C. Throughput (\%)** & **D. Throughput (\%)** \\ \hline Global & 1024 & 32 & 0.04 & 41.60 & 73.96 \\ Global & 1024 & 64 & 0.07 & 47.45 & 82.93 \\ Global & 1024 & 128 & 0.13 & 51.34 & 88.00 \\ Global & 1024 & 256 & 0.28 & 49.24 & 85.43 \\ Global & 1024 & 512 & 0.65 & 41.70 & 71.86 \\ Global & 1024 & 1024 & 1.53 & 35.68 & 60.60 \\ Global & 1024 \(\times\) 8 & 32 & 0.25 & 54.23 & 92.05 \\ Global & 1024 \(\times\) 8 & 64 & 0.49 & 55.44 & 93.91 \\ Global & 1024 \(\times\) 8 & 128 & 0.98 & 55.98 & 94.64 \\ Global & 1024 \(\times\) 8 & 256 & 1.98 & 55.00 & 93.33 \\ Global & 1024 \(\times\) 8 & 512 & 4.62 & 47.70 & 81.90 \\ Global & 1024 \(\times\) 8 & 1024 & 11.95 & 36.60 & 62.08 \\ Global & 1024 \(\times\) 16 & 32 & 0.49 & 55.50 & 93.84 \\ Global & 1024 \(\times\) 16 & 64 & 0.98 & 56.09 & 94.76 \\ Global & 1024 \(\times\) 16 & 128 & 1.94 & 56.35 & 95.11 \\ Global & 1024 \(\times\) 16 & 256 & 3.96 & 54.68 & 92.94 \\ Global & 1024 \(\times\) 16 & 512 & 9.09 & 47.95 & 82.35 \\ Global & 1024 \(\times\) 16 & 1024 & 23.84 & 36.64 & 62.15 \\ Global & 1024 \(\times\) 32 & 32 & 0.97 & 56.21 & 94.82 \\ Global & 1024 \(\times\) 32 & 64 & 1.94 & 56.41 & 95.16 \\ Global & 1024 \(\times\) 32 & 128 & 3.87 & 56.53 & 95.39 \\ Global & 1024 \(\times\) 32 & 256 & 7.95 & 55.29 & 93.94 \\ Global & 1024 \(\times\) 32 & 512 & 17.94 & 48.55 & 83.42 \\ Global & 1024 \(\times\) 32 & 1024 & 47.65 & 36.69 & 62.24 \\ Global & 1024 \(\times\) 64 & 32 & 1.93 & 56.54 & 95.27 \\ Global & 1024 \(\times\) 64 & 64 & 3.86 & 56.60 & 95.44 \\ Global & 1024 \(\times\) 64 & 128 & 7.72 & 56.63 & 95.47 \\ Global & 1024 \(\times\) 64 & 256 & 15.83 & 55.11 & 93.46 \\ Global & 1024 \(\times\) 64 & 512 & 35.13 & 49.65 & 85.29 \\ Global & 1024 \(\times\) 64 & 1024 & 95.22 & 36.70 & 62.25 \\ \hline \end{tabular}
\end{table} 
Table 7: Performance of all the global memory implementation (C.: compute, M.: memory). \begin{table}
\begin{tabular}{c c c c c} \hline
**Memory Type** & **Block** & **Thread** & **Duration (ms)** & **C. Throughput (\%)** & **D. Throughput (\%)** \\ \hline Shared & 1024 & 32 & 0.04 & 54.83 & 76.93 \\ Shared & 1024 & 64 & 0.07 & 58.64 & 88.69 \\ Shared & 1024 & 128 & 0.12 & 59.48 & 93.58 \\ Shared & 1024 & 256 & 0.24 & 58.99 & 95.32 \\ Shared & 1024 & 512 & 0.51 & 55.27 & 90.43 \\ Shared & 1024 & 1024 & 1.06 & 52.47 & 86.10 \\ Shared & 1024 \(\times\) 8 & 32 & 0.26 & 67.74 & 95.40 \\ Shared & 1024 \(\times\) 8 & 64 & 0.48 & 64.61 & 97.96 \\ Shared & 1024 \(\times\) 8 & 128 & 0.93 & 62.88 & 98.98 \\ Shared & 1024 \(\times\) 8 & 256 & 1.84 & 61.54 & 99.34 \\ Shared & 1024 \(\times\) 8 & 512 & 3.93 & 56.80 & 92.89 \\ Shared & 1024 \(\times\) 8 & 1024 & 8.30 & 53.13 & 87.12 \\ Shared & 1024 \(\times\) 16 & 32 & 0.51 & 68.89 & 97.03 \\ Shared & 1024 \(\times\) 16 & 64 & 0.96 & 65.10 & 98.71 \\ Shared & 1024 \(\times\) 16 & 128 & 1.85 & 63.13 & 99.37 \\ Shared & 1024 \(\times\) 16 & 256 & 3.67 & 61.73 & 99.63 \\ Shared & 1024 \(\times\) 16 & 512 & 7.82 & 56.93 & 93.09 \\ Shared & 1024 \(\times\) 16 & 1024 & 16.52 & 53.53 & 87.78 \\ Shared & 1024 \(\times\) 32 & 32 & 1.01 & 69.46 & 97.85 \\ Shared & 1024 \(\times\) 32 & 64 & 1.91 & 65.27 & 98.99 \\ Shared & 1024 \(\times\) 32 & 128 & 3.70 & 63.25 & 99.56 \\ Shared & 1024 \(\times\) 32 & 256 & 7.32 & 61.81 & 99.77 \\ Shared & 1024 \(\times\) 32 & 512 & 15.64 & 56.97 & 93.15 \\ Shared & 1024 \(\times\) 32 & 1024 & 33.09 & 53.37 & 87.52 \\ Shared & 1024 \(\times\) 64 & 32 & 2. ## 5 Conclusions

In this paper, we present the parallel implementation of ARIA block cipher on both ARMv8 architectures and GPU. In ARMv8, 4 and 16 plaintext blocks are encrypted in parallel through TBL and LD4 instructions. Since this technique is also applicable to other block ciphers, it can be used for parallel implementations of other block ciphers. In GPU, optimal settings of ARIA block cipher implementation on GPU were analyzed using the Nsight Compute profiler provided by Nvidia.