diff --git a/tests/suites/test_suite_aria.function b/tests/suites/test_suite_aria.function
index d3d8ebe..38fc7e3 100644
--- a/tests/suites/test_suite_aria.function
+++ b/tests/suites/test_suite_aria.function
@@ -9,7 +9,7 @@
 
 /* BEGIN_CASE */
 void aria_encrypt_ecb( char *hex_key_string, char *hex_src_string,
-                           char *hex_dst_string, int setkey_result )
+                       char *hex_dst_string, int setkey_result )
 {
     unsigned char key_str[1000];
     unsigned char src_str[1000];
@@ -48,7 +48,7 @@
 
 /* BEGIN_CASE */
 void aria_decrypt_ecb( char *hex_key_string, char *hex_src_string,
-                           char *hex_dst_string, int setkey_result )
+                       char *hex_dst_string, int setkey_result )
 {
     unsigned char key_str[1000];
     unsigned char src_str[1000];
@@ -87,8 +87,8 @@
 
 /* BEGIN_CASE depends_on:MBEDTLS_CIPHER_MODE_CBC */
 void aria_encrypt_cbc( char *hex_key_string, char *hex_iv_string,
-                           char *hex_src_string, char *hex_dst_string,
-                           int cbc_result )
+                       char *hex_src_string, char *hex_dst_string,
+                       int cbc_result )
 {
     unsigned char key_str[1000];
     unsigned char iv_str[1000];
@@ -127,8 +127,8 @@
 
 /* BEGIN_CASE depends_on:MBEDTLS_CIPHER_MODE_CBC */
 void aria_decrypt_cbc( char *hex_key_string, char *hex_iv_string,
-                           char *hex_src_string, char *hex_dst_string,
-                           int cbc_result )
+                       char *hex_src_string, char *hex_dst_string,
+                       int cbc_result )
 {
     unsigned char key_str[1000];
     unsigned char iv_str[1000];
@@ -167,8 +167,8 @@
 
 /* BEGIN_CASE depends_on:MBEDTLS_CIPHER_MODE_CFB */
 void aria_encrypt_cfb128( char *hex_key_string, char *hex_iv_string,
-                              char *hex_src_string, char *hex_dst_string,
-                              int result )
+                          char *hex_src_string, char *hex_dst_string,
+                          int result )
 {
     unsigned char key_str[1000];
     unsigned char iv_str[1000];
@@ -205,8 +205,8 @@
 
 /* BEGIN_CASE depends_on:MBEDTLS_CIPHER_MODE_CFB */
 void aria_decrypt_cfb128( char *hex_key_string, char *hex_iv_string,
-                            char *hex_src_string, char *hex_dst_string,
-                            int result  )
+                          char *hex_src_string, char *hex_dst_string,
+                          int result  )
 {
     unsigned char key_str[1000];
     unsigned char iv_str[1000];
@@ -243,8 +243,8 @@
 
 /* BEGIN_CASE depends_on:MBEDTLS_CIPHER_MODE_CTR */
 void aria_encrypt_ctr( char *hex_key_string, char *hex_iv_string,
-                        char *hex_src_string, char *hex_dst_string,
-                        int result )
+                       char *hex_src_string, char *hex_dst_string,
+                       int result )
 {
     unsigned char key_str[1000];
     unsigned char iv_str[1000];
@@ -281,8 +281,8 @@
 
 /* BEGIN_CASE depends_on:MBEDTLS_CIPHER_MODE_CTR */
 void aria_decrypt_ctr( char *hex_key_string, char *hex_iv_string,
-                        char *hex_src_string, char *hex_dst_string,
-                        int result )
+                       char *hex_src_string, char *hex_dst_string,
+                       int result )
 {
     unsigned char key_str[1000];
     unsigned char iv_str[1000];
