Use fewer bits for block_size

Signed-off-by: Dave Rodgman <dave.rodgman@arm.com>
diff --git a/include/mbedtls/cipher.h b/include/mbedtls/cipher.h
index 0eb0803..02bca32 100644
--- a/include/mbedtls/cipher.h
+++ b/include/mbedtls/cipher.h
@@ -305,15 +305,15 @@
     uint8_t MBEDTLS_PRIVATE(flags) : 2;
 
     /** The block size, in bytes. */
-    uint8_t MBEDTLS_PRIVATE(block_size) : 5;
+    uint8_t MBEDTLS_PRIVATE(block_size2) : 2;
 
 } mbedtls_cipher_info_t;
 
 /* For internal use only.
- * These are used to more compactly represent the key_bitlen and iv_size fields above. */
-#define MBEDTLS_KEY_BITLEN_SHIFT 6
-#define MBEDTLS_IV_SIZE_SHIFT    2
-
+ * These are used to more compactly represent the fields above. */
+#define MBEDTLS_KEY_BITLEN_SHIFT  6
+#define MBEDTLS_IV_SIZE_SHIFT     2
+#define MBEDTLS_CIPHER_BLOCK_SIZE_UNPACK(n) (n == 0 ? 1 : (n == 1 ? 8 : 16))
 /**
  * Generic cipher context.
  */
@@ -546,7 +546,8 @@
         return 0;
     }
 
-    return (size_t) info->MBEDTLS_PRIVATE(block_size);
+    int packed = info->MBEDTLS_PRIVATE(block_size2);
+    return (size_t) (MBEDTLS_CIPHER_BLOCK_SIZE_UNPACK(packed));
 }
 
 /**
@@ -687,7 +688,8 @@
         return 0;
     }
 
-    return ctx->MBEDTLS_PRIVATE(cipher_info)->MBEDTLS_PRIVATE(block_size);
+    int packed = ctx->MBEDTLS_PRIVATE(cipher_info)->MBEDTLS_PRIVATE(block_size2);
+    return (unsigned int) MBEDTLS_CIPHER_BLOCK_SIZE_UNPACK(packed);
 }
 
 /**
diff --git a/library/ccm.c b/library/ccm.c
index 36c999e..cd689c8 100644
--- a/library/ccm.c
+++ b/library/ccm.c
@@ -70,7 +70,7 @@
         return MBEDTLS_ERR_CCM_BAD_INPUT;
     }
 
-    if (cipher_info->block_size != 16) {
+    if (mbedtls_cipher_info_get_block_size(cipher_info) != 16) {
         return MBEDTLS_ERR_CCM_BAD_INPUT;
     }
 
diff --git a/library/cipher_wrap.c b/library/cipher_wrap.c
index 7c6c9d3..a7b1f90 100644
--- a/library/cipher_wrap.c
+++ b/library/cipher_wrap.c
@@ -70,6 +70,8 @@
 
 #include "mbedtls/platform.h"
 
+#define MBEDTLS_CIPHER_BLOCK_SIZE_PACK(n)   (n == 1 ? 0 : (n == 8 ? 1 : 2))
+
 #define MBEDTLS_CIPHER_BASE_INDEX_AES 0
 #define MBEDTLS_CIPHER_BASE_INDEX_ARIA 1
 #define MBEDTLS_CIPHER_BASE_INDEX_CAMELLIA 2
@@ -266,7 +268,7 @@
     128 >> MBEDTLS_KEY_BITLEN_SHIFT,
     0 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aes_192_ecb_info = {
@@ -277,7 +279,7 @@
     192 >> MBEDTLS_KEY_BITLEN_SHIFT,
     0 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aes_256_ecb_info = {
@@ -288,7 +290,7 @@
     256 >> MBEDTLS_KEY_BITLEN_SHIFT,
     0 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 #if defined(MBEDTLS_CIPHER_MODE_CBC)
@@ -300,7 +302,7 @@
     128 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aes_192_cbc_info = {
@@ -311,7 +313,7 @@
     192 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aes_256_cbc_info = {
@@ -322,7 +324,7 @@
     256 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 #endif /* MBEDTLS_CIPHER_MODE_CBC */
 
@@ -335,7 +337,7 @@
     128 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aes_192_cfb128_info = {
@@ -346,7 +348,7 @@
     192 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aes_256_cfb128_info = {
@@ -357,7 +359,7 @@
     256 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 #endif /* MBEDTLS_CIPHER_MODE_CFB */
 
@@ -370,7 +372,7 @@
     128 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aes_192_ofb_info = {
@@ -381,7 +383,7 @@
     192 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aes_256_ofb_info = {
@@ -392,7 +394,7 @@
     256 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 #endif /* MBEDTLS_CIPHER_MODE_OFB */
 
@@ -405,7 +407,7 @@
     128 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aes_192_ctr_info = {
@@ -416,7 +418,7 @@
     192 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aes_256_ctr_info = {
@@ -427,7 +429,7 @@
     256 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 #endif /* MBEDTLS_CIPHER_MODE_CTR */
 
@@ -504,7 +506,7 @@
     256 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aes_256_xts_info = {
@@ -515,7 +517,7 @@
     512 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 #endif /* MBEDTLS_CIPHER_MODE_XTS */
 
@@ -562,7 +564,7 @@
     128 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     MBEDTLS_CIPHER_VARIABLE_IV_LEN,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aes_192_gcm_info = {
@@ -573,7 +575,7 @@
     192 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     MBEDTLS_CIPHER_VARIABLE_IV_LEN,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aes_256_gcm_info = {
@@ -584,7 +586,7 @@
     256 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     MBEDTLS_CIPHER_VARIABLE_IV_LEN,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 #endif /* MBEDTLS_GCM_C */
 
@@ -631,7 +633,7 @@
     128 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     MBEDTLS_CIPHER_VARIABLE_IV_LEN,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aes_192_ccm_info = {
@@ -642,7 +644,7 @@
     192 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     MBEDTLS_CIPHER_VARIABLE_IV_LEN,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aes_256_ccm_info = {
@@ -653,7 +655,7 @@
     256 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     MBEDTLS_CIPHER_VARIABLE_IV_LEN,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aes_128_ccm_star_no_tag_info = {
@@ -664,7 +666,7 @@
     128 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     MBEDTLS_CIPHER_VARIABLE_IV_LEN,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aes_192_ccm_star_no_tag_info = {
@@ -675,7 +677,7 @@
     192 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     MBEDTLS_CIPHER_VARIABLE_IV_LEN,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aes_256_ccm_star_no_tag_info = {
@@ -686,7 +688,7 @@
     256 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     MBEDTLS_CIPHER_VARIABLE_IV_LEN,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 #endif /* MBEDTLS_CCM_C */
 
@@ -798,7 +800,7 @@
     128 >> MBEDTLS_KEY_BITLEN_SHIFT,
     0 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t camellia_192_ecb_info = {
@@ -809,7 +811,7 @@
     192 >> MBEDTLS_KEY_BITLEN_SHIFT,
     0 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t camellia_256_ecb_info = {
@@ -820,7 +822,7 @@
     256 >> MBEDTLS_KEY_BITLEN_SHIFT,
     0 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 #if defined(MBEDTLS_CIPHER_MODE_CBC)
@@ -832,7 +834,7 @@
     128 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t camellia_192_cbc_info = {
@@ -843,7 +845,7 @@
     192 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t camellia_256_cbc_info = {
@@ -854,7 +856,7 @@
     256 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 #endif /* MBEDTLS_CIPHER_MODE_CBC */
 
@@ -867,7 +869,7 @@
     128 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t camellia_192_cfb128_info = {
@@ -878,7 +880,7 @@
     192 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t camellia_256_cfb128_info = {
@@ -889,7 +891,7 @@
     256 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 #endif /* MBEDTLS_CIPHER_MODE_CFB */
 
@@ -902,7 +904,7 @@
     128 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t camellia_192_ctr_info = {
@@ -913,7 +915,7 @@
     192 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t camellia_256_ctr_info = {
@@ -924,7 +926,7 @@
     256 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 #endif /* MBEDTLS_CIPHER_MODE_CTR */
 
@@ -971,7 +973,7 @@
     128 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     MBEDTLS_CIPHER_VARIABLE_IV_LEN,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t camellia_192_gcm_info = {
@@ -982,7 +984,7 @@
     192 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     MBEDTLS_CIPHER_VARIABLE_IV_LEN,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t camellia_256_gcm_info = {
@@ -993,7 +995,7 @@
     256 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     MBEDTLS_CIPHER_VARIABLE_IV_LEN,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 #endif /* MBEDTLS_GCM_C */
 
@@ -1040,7 +1042,7 @@
     128 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     MBEDTLS_CIPHER_VARIABLE_IV_LEN,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t camellia_192_ccm_info = {
@@ -1051,7 +1053,7 @@
     192 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     MBEDTLS_CIPHER_VARIABLE_IV_LEN,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t camellia_256_ccm_info = {
@@ -1062,7 +1064,7 @@
     256 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     MBEDTLS_CIPHER_VARIABLE_IV_LEN,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t camellia_128_ccm_star_no_tag_info = {
@@ -1073,7 +1075,7 @@
     128 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     MBEDTLS_CIPHER_VARIABLE_IV_LEN,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t camellia_192_ccm_star_no_tag_info = {
@@ -1084,7 +1086,7 @@
     192 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     MBEDTLS_CIPHER_VARIABLE_IV_LEN,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t camellia_256_ccm_star_no_tag_info = {
@@ -1095,7 +1097,7 @@
     256 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     MBEDTLS_CIPHER_VARIABLE_IV_LEN,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 #endif /* MBEDTLS_CCM_C */
 
@@ -1208,7 +1210,7 @@
     128 >> MBEDTLS_KEY_BITLEN_SHIFT,
     0 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aria_192_ecb_info = {
@@ -1219,7 +1221,7 @@
     192 >> MBEDTLS_KEY_BITLEN_SHIFT,
     0 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aria_256_ecb_info = {
@@ -1230,7 +1232,7 @@
     256 >> MBEDTLS_KEY_BITLEN_SHIFT,
     0 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 #if defined(MBEDTLS_CIPHER_MODE_CBC)
@@ -1242,7 +1244,7 @@
     128 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aria_192_cbc_info = {
@@ -1253,7 +1255,7 @@
     192 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aria_256_cbc_info = {
@@ -1264,7 +1266,7 @@
     256 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 #endif /* MBEDTLS_CIPHER_MODE_CBC */
 
@@ -1277,7 +1279,7 @@
     128 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aria_192_cfb128_info = {
@@ -1288,7 +1290,7 @@
     192 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aria_256_cfb128_info = {
@@ -1299,7 +1301,7 @@
     256 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 #endif /* MBEDTLS_CIPHER_MODE_CFB */
 
@@ -1312,7 +1314,7 @@
     128 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aria_192_ctr_info = {
@@ -1323,7 +1325,7 @@
     192 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aria_256_ctr_info = {
@@ -1334,7 +1336,7 @@
     256 >> MBEDTLS_KEY_BITLEN_SHIFT,
     16 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 #endif /* MBEDTLS_CIPHER_MODE_CTR */
 
@@ -1381,7 +1383,7 @@
     128 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     MBEDTLS_CIPHER_VARIABLE_IV_LEN,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aria_192_gcm_info = {
@@ -1392,7 +1394,7 @@
     192 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     MBEDTLS_CIPHER_VARIABLE_IV_LEN,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aria_256_gcm_info = {
@@ -1403,7 +1405,7 @@
     256 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     MBEDTLS_CIPHER_VARIABLE_IV_LEN,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 #endif /* MBEDTLS_GCM_C */
 
@@ -1450,7 +1452,7 @@
     128 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     MBEDTLS_CIPHER_VARIABLE_IV_LEN,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aria_192_ccm_info = {
@@ -1461,7 +1463,7 @@
     192 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     MBEDTLS_CIPHER_VARIABLE_IV_LEN,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aria_256_ccm_info = {
@@ -1472,7 +1474,7 @@
     256 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     MBEDTLS_CIPHER_VARIABLE_IV_LEN,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aria_128_ccm_star_no_tag_info = {
@@ -1483,7 +1485,7 @@
     128 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     MBEDTLS_CIPHER_VARIABLE_IV_LEN,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aria_192_ccm_star_no_tag_info = {
@@ -1494,7 +1496,7 @@
     192 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     MBEDTLS_CIPHER_VARIABLE_IV_LEN,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aria_256_ccm_star_no_tag_info = {
@@ -1505,7 +1507,7 @@
     256 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     MBEDTLS_CIPHER_VARIABLE_IV_LEN,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 #endif /* MBEDTLS_CCM_C */
 
@@ -1667,7 +1669,7 @@
     MBEDTLS_KEY_LENGTH_DES >> MBEDTLS_KEY_BITLEN_SHIFT,
     0 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    8
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(8)
 };
 
 #if defined(MBEDTLS_CIPHER_MODE_CBC)
@@ -1679,7 +1681,7 @@
     MBEDTLS_KEY_LENGTH_DES >> MBEDTLS_KEY_BITLEN_SHIFT,
     8 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    8
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(8)
 };
 #endif /* MBEDTLS_CIPHER_MODE_CBC */
 
@@ -1718,7 +1720,7 @@
     MBEDTLS_KEY_LENGTH_DES_EDE >> MBEDTLS_KEY_BITLEN_SHIFT,
     0 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    8
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(8)
 };
 
 #if defined(MBEDTLS_CIPHER_MODE_CBC)
@@ -1730,7 +1732,7 @@
     MBEDTLS_KEY_LENGTH_DES_EDE >> MBEDTLS_KEY_BITLEN_SHIFT,
     8 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    8
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(8)
 };
 #endif /* MBEDTLS_CIPHER_MODE_CBC */
 
@@ -1769,7 +1771,7 @@
     MBEDTLS_KEY_LENGTH_DES_EDE3 >> MBEDTLS_KEY_BITLEN_SHIFT,
     0 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    8
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(8)
 };
 #if defined(MBEDTLS_CIPHER_MODE_CBC)
 static const mbedtls_cipher_info_t des_ede3_cbc_info = {
@@ -1780,7 +1782,7 @@
     MBEDTLS_KEY_LENGTH_DES_EDE3 >> MBEDTLS_KEY_BITLEN_SHIFT,
     8 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    8
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(8)
 };
 #endif /* MBEDTLS_CIPHER_MODE_CBC */
 #endif /* MBEDTLS_DES_C */
@@ -1869,7 +1871,7 @@
     256 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    1
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(1)
 };
 #endif /* MBEDTLS_CHACHA20_C */
 
@@ -1944,7 +1946,7 @@
     256 >> MBEDTLS_KEY_BITLEN_SHIFT,
     12 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    1
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(1)
 };
 #endif /* MBEDTLS_CHACHAPOLY_C */
 
@@ -2013,7 +2015,7 @@
     0 >> MBEDTLS_KEY_BITLEN_SHIFT,
     0 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    1
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(1)
 };
 #endif /* defined(MBEDTLS_CIPHER_NULL_CIPHER) */
 
@@ -2084,7 +2086,7 @@
     128 >> MBEDTLS_KEY_BITLEN_SHIFT,
     0 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aes_192_nist_kw_info = {
@@ -2095,7 +2097,7 @@
     192 >> MBEDTLS_KEY_BITLEN_SHIFT,
     0 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aes_256_nist_kw_info = {
@@ -2106,7 +2108,7 @@
     256 >> MBEDTLS_KEY_BITLEN_SHIFT,
     0 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aes_128_nist_kwp_info = {
@@ -2117,7 +2119,7 @@
     128 >> MBEDTLS_KEY_BITLEN_SHIFT,
     0 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aes_192_nist_kwp_info = {
@@ -2128,7 +2130,7 @@
     192 >> MBEDTLS_KEY_BITLEN_SHIFT,
     0 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 
 static const mbedtls_cipher_info_t aes_256_nist_kwp_info = {
@@ -2139,7 +2141,7 @@
     256 >> MBEDTLS_KEY_BITLEN_SHIFT,
     0 >> MBEDTLS_IV_SIZE_SHIFT,
     0,
-    16
+    MBEDTLS_CIPHER_BLOCK_SIZE_PACK(16)
 };
 #endif /* MBEDTLS_NIST_KW_C */
 
diff --git a/library/cmac.c b/library/cmac.c
index 48f51df..2e9c1a1 100644
--- a/library/cmac.c
+++ b/library/cmac.c
@@ -119,7 +119,7 @@
 
     mbedtls_platform_zeroize(L, sizeof(L));
 
-    block_size = ctx->cipher_info->block_size;
+    block_size = mbedtls_cipher_info_get_block_size(ctx->cipher_info);
 
     /* Calculate Ek(0) */
     if ((ret = mbedtls_cipher_update(ctx, L, block_size, L, &olen)) != 0) {
@@ -226,7 +226,7 @@
     }
 
     cmac_ctx = ctx->cmac_ctx;
-    block_size = ctx->cipher_info->block_size;
+    block_size = mbedtls_cipher_info_get_block_size(ctx->cipher_info);
     state = ctx->cmac_ctx->state;
 
     /* Is there data still to process from the last call, that's greater in
@@ -295,7 +295,7 @@
     }
 
     cmac_ctx = ctx->cmac_ctx;
-    block_size = ctx->cipher_info->block_size;
+    block_size = mbedtls_cipher_info_get_block_size(ctx->cipher_info);
     state = cmac_ctx->state;
 
     mbedtls_platform_zeroize(K1, sizeof(K1));
diff --git a/library/gcm.c b/library/gcm.c
index 35823e3..7821204 100644
--- a/library/gcm.c
+++ b/library/gcm.c
@@ -147,7 +147,7 @@
         return MBEDTLS_ERR_GCM_BAD_INPUT;
     }
 
-    if (cipher_info->block_size != 16) {
+    if (mbedtls_cipher_info_get_block_size(cipher_info) != 16) {
         return MBEDTLS_ERR_GCM_BAD_INPUT;
     }
 
diff --git a/library/nist_kw.c b/library/nist_kw.c
index d15c5c4..fbd7221 100644
--- a/library/nist_kw.c
+++ b/library/nist_kw.c
@@ -75,7 +75,7 @@
         return MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA;
     }
 
-    if (cipher_info->block_size != 16) {
+    if (mbedtls_cipher_info_get_block_size(cipher_info) != 16) {
         return MBEDTLS_ERR_CIPHER_BAD_INPUT_DATA;
     }
 
diff --git a/library/psa_crypto_cipher.c b/library/psa_crypto_cipher.c
index c501144..b997a07 100644
--- a/library/psa_crypto_cipher.c
+++ b/library/psa_crypto_cipher.c
@@ -306,7 +306,7 @@
     size_t *output_length)
 {
     psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED;
-    size_t block_size = ctx->cipher_info->block_size;
+    size_t block_size = mbedtls_cipher_info_get_block_size(ctx->cipher_info);
     size_t internal_output_length = 0;
     *output_length = 0;
 
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index 36c96f2..a4d9880 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -8397,7 +8397,7 @@
 #if defined(MBEDTLS_USE_PSA_CRYPTO)
         size_t block_size = PSA_BLOCK_CIPHER_BLOCK_LENGTH(key_type);
 #else
-        size_t block_size = cipher_info->block_size;
+        size_t block_size = mbedtls_cipher_info_get_block_size(cipher_info);
 #endif /* MBEDTLS_USE_PSA_CRYPTO */
 
 #if defined(MBEDTLS_USE_PSA_CRYPTO)