Use a public macro for AEAD tag length variations

Avoid depending on the encoding of algorithms inside psa_crypto.c.
diff --git a/library/psa_crypto.c b/library/psa_crypto.c
index f3a2c64..ab9ec72 100644
--- a/library/psa_crypto.c
+++ b/library/psa_crypto.c
@@ -1225,7 +1225,7 @@
     mbedtls_cipher_id_t cipher_id_tmp;
 
     if( PSA_ALG_IS_AEAD( alg ) )
-        alg &= ~PSA_ALG_AEAD_TAG_LENGTH_MASK;
+        alg = PSA_ALG_AEAD_WITH_TAG_LENGTH( alg, 0 );
 
     if( PSA_ALG_IS_CIPHER( alg ) || PSA_ALG_IS_AEAD( alg ) )
     {
@@ -1249,10 +1249,10 @@
             case PSA_ALG_CBC_PKCS7:
                 mode = MBEDTLS_MODE_CBC;
                 break;
-            case PSA_ALG_CCM & ~PSA_ALG_AEAD_TAG_LENGTH_MASK:
+            case PSA_ALG_AEAD_WITH_TAG_LENGTH( PSA_ALG_CCM, 0 ):
                 mode = MBEDTLS_MODE_CCM;
                 break;
-            case PSA_ALG_GCM & ~PSA_ALG_AEAD_TAG_LENGTH_MASK:
+            case PSA_ALG_AEAD_WITH_TAG_LENGTH( PSA_ALG_GCM, 0 ):
                 mode = MBEDTLS_MODE_GCM;
                 break;
             default: