Lines Matching refs:alg

74  * PSA_##flag(alg) is true.
83 #define TEST_CLASSIFICATION_MACRO(cond, flag, alg, flags) \
89 TEST_ASSERT(PSA_##flag(alg)); \
91 TEST_ASSERT(!PSA_##flag(alg)); \
119 static void algorithm_classification(psa_algorithm_t alg, unsigned flags)
122 TEST_CLASSIFICATION_MACRO(1, ALG_IS_VENDOR_DEFINED, alg, flags);
123 TEST_CLASSIFICATION_MACRO(1, ALG_IS_HMAC, alg, flags);
124 TEST_CLASSIFICATION_MACRO(1, ALG_IS_BLOCK_CIPHER_MAC, alg, flags);
125 TEST_CLASSIFICATION_MACRO(1, ALG_IS_STREAM_CIPHER, alg, flags);
126 TEST_CLASSIFICATION_MACRO(1, ALG_IS_RSA_PKCS1V15_SIGN, alg, flags);
127 TEST_CLASSIFICATION_MACRO(1, ALG_IS_RSA_PSS, alg, flags);
128 TEST_CLASSIFICATION_MACRO(1, ALG_IS_RSA_PSS_ANY_SALT, alg, flags);
129 TEST_CLASSIFICATION_MACRO(1, ALG_IS_RSA_PSS_STANDARD_SALT, alg, flags);
130 TEST_CLASSIFICATION_MACRO(1, ALG_IS_DSA, alg, flags);
131 TEST_CLASSIFICATION_MACRO(PSA_ALG_IS_DSA(alg),
132 ALG_DSA_IS_DETERMINISTIC, alg, flags);
133 TEST_CLASSIFICATION_MACRO(1, ALG_IS_DETERMINISTIC_DSA, alg, flags);
134 TEST_CLASSIFICATION_MACRO(1, ALG_IS_RANDOMIZED_DSA, alg, flags);
135 TEST_CLASSIFICATION_MACRO(1, ALG_IS_ECDSA, alg, flags);
136 TEST_CLASSIFICATION_MACRO(PSA_ALG_IS_ECDSA(alg),
137 ALG_ECDSA_IS_DETERMINISTIC, alg, flags);
138 TEST_CLASSIFICATION_MACRO(1, ALG_IS_DETERMINISTIC_ECDSA, alg, flags);
139 TEST_CLASSIFICATION_MACRO(1, ALG_IS_RANDOMIZED_ECDSA, alg, flags);
140 TEST_CLASSIFICATION_MACRO(1, ALG_IS_HASH_EDDSA, alg, flags);
141 TEST_CLASSIFICATION_MACRO(1, ALG_IS_SIGN_HASH, alg, flags);
142 TEST_CLASSIFICATION_MACRO(1, ALG_IS_HASH_AND_SIGN, alg, flags);
143 TEST_CLASSIFICATION_MACRO(1, ALG_IS_RSA_OAEP, alg, flags);
144 TEST_CLASSIFICATION_MACRO(1, ALG_IS_HKDF, alg, flags);
145 TEST_CLASSIFICATION_MACRO(1, ALG_IS_HKDF_EXTRACT, alg, flags);
146 TEST_CLASSIFICATION_MACRO(1, ALG_IS_HKDF_EXPAND, alg, flags);
147 TEST_CLASSIFICATION_MACRO(1, ALG_IS_WILDCARD, alg, flags);
148 TEST_CLASSIFICATION_MACRO(1, ALG_IS_ECDH, alg, flags);
149 TEST_CLASSIFICATION_MACRO(1, ALG_IS_FFDH, alg, flags);
150 TEST_CLASSIFICATION_MACRO(1, ALG_IS_RAW_KEY_AGREEMENT, alg, flags);
151 TEST_CLASSIFICATION_MACRO(1, ALG_IS_AEAD_ON_BLOCK_CIPHER, alg, flags);
152 TEST_CLASSIFICATION_MACRO(1, ALG_IS_TLS12_PRF, alg, flags);
153 TEST_CLASSIFICATION_MACRO(1, ALG_IS_TLS12_PSK_TO_MS, alg, flags);
195 static void mac_algorithm_core(psa_algorithm_t alg, int classification_flags,
200 TEST_ASSERT(!PSA_ALG_IS_HASH(alg));
201 TEST_ASSERT(PSA_ALG_IS_MAC(alg));
202 TEST_ASSERT(!PSA_ALG_IS_CIPHER(alg));
203 TEST_ASSERT(!PSA_ALG_IS_AEAD(alg));
204 TEST_ASSERT(!PSA_ALG_IS_SIGN(alg));
205 TEST_ASSERT(!PSA_ALG_IS_ASYMMETRIC_ENCRYPTION(alg));
206 TEST_ASSERT(!PSA_ALG_IS_KEY_AGREEMENT(alg));
207 TEST_ASSERT(!PSA_ALG_IS_KEY_DERIVATION(alg));
208 TEST_ASSERT(!PSA_ALG_IS_PAKE(alg));
209 algorithm_classification(alg, classification_flags);
212 TEST_EQUAL(length, PSA_MAC_LENGTH(key_type, key_bits, alg));
215 PSA_ASSERT(psa_mac_key_can_do(alg, key_type));
221 static void aead_algorithm_core(psa_algorithm_t alg, int classification_flags,
226 TEST_ASSERT(!PSA_ALG_IS_HASH(alg));
227 TEST_ASSERT(!PSA_ALG_IS_MAC(alg));
228 TEST_ASSERT(!PSA_ALG_IS_CIPHER(alg));
229 TEST_ASSERT(PSA_ALG_IS_AEAD(alg));
230 TEST_ASSERT(!PSA_ALG_IS_SIGN(alg));
231 TEST_ASSERT(!PSA_ALG_IS_ASYMMETRIC_ENCRYPTION(alg));
232 TEST_ASSERT(!PSA_ALG_IS_KEY_AGREEMENT(alg));
233 TEST_ASSERT(!PSA_ALG_IS_KEY_DERIVATION(alg));
234 TEST_ASSERT(!PSA_ALG_IS_PAKE(alg));
235 algorithm_classification(alg, classification_flags);
238 TEST_EQUAL(tag_length, PSA_AEAD_TAG_LENGTH(key_type, key_bits, alg));
253 psa_algorithm_t alg = alg_arg;
255 psa_algorithm_t hmac_alg = PSA_ALG_HMAC(alg);
256 psa_algorithm_t rsa_pkcs1v15_sign_alg = PSA_ALG_RSA_PKCS1V15_SIGN(alg);
257 psa_algorithm_t rsa_pss_alg = PSA_ALG_RSA_PSS(alg);
258 psa_algorithm_t dsa_alg = PSA_ALG_DSA(alg);
259 psa_algorithm_t deterministic_dsa_alg = PSA_ALG_DETERMINISTIC_DSA(alg);
260 psa_algorithm_t ecdsa_alg = PSA_ALG_ECDSA(alg);
261 psa_algorithm_t deterministic_ecdsa_alg = PSA_ALG_DETERMINISTIC_ECDSA(alg);
262 psa_algorithm_t rsa_oaep_alg = PSA_ALG_RSA_OAEP(alg);
263 psa_algorithm_t hkdf_alg = PSA_ALG_HKDF(alg);
266 TEST_ASSERT(PSA_ALG_IS_HASH(alg));
267 TEST_ASSERT(!PSA_ALG_IS_MAC(alg));
268 TEST_ASSERT(!PSA_ALG_IS_CIPHER(alg));
269 TEST_ASSERT(!PSA_ALG_IS_AEAD(alg));
270 TEST_ASSERT(!PSA_ALG_IS_SIGN(alg));
271 TEST_ASSERT(!PSA_ALG_IS_ASYMMETRIC_ENCRYPTION(alg));
272 TEST_ASSERT(!PSA_ALG_IS_KEY_AGREEMENT(alg));
273 TEST_ASSERT(!PSA_ALG_IS_KEY_DERIVATION(alg));
274 TEST_ASSERT(!PSA_ALG_IS_PAKE(alg));
275 algorithm_classification(alg, 0);
278 TEST_EQUAL(PSA_ALG_HMAC_GET_HASH(hmac_alg), alg);
279 TEST_EQUAL(PSA_ALG_SIGN_GET_HASH(rsa_pkcs1v15_sign_alg), alg);
280 TEST_EQUAL(PSA_ALG_SIGN_GET_HASH(rsa_pss_alg), alg);
281 TEST_EQUAL(PSA_ALG_SIGN_GET_HASH(dsa_alg), alg);
282 TEST_EQUAL(PSA_ALG_SIGN_GET_HASH(deterministic_dsa_alg), alg);
283 TEST_EQUAL(PSA_ALG_SIGN_GET_HASH(ecdsa_alg), alg);
284 TEST_EQUAL(PSA_ALG_SIGN_GET_HASH(deterministic_ecdsa_alg), alg);
285 TEST_EQUAL(PSA_ALG_RSA_OAEP_GET_HASH(rsa_oaep_alg), alg);
286 TEST_EQUAL(PSA_ALG_HKDF_GET_HASH(hkdf_alg), alg);
289 TEST_EQUAL(length, PSA_HASH_LENGTH(alg));
299 psa_algorithm_t alg = alg_arg;
305 mac_algorithm_core(alg, classification_flags,
307 TEST_EQUAL(PSA_ALG_FULL_LENGTH_MAC(alg), alg);
312 psa_algorithm_t truncated_alg = PSA_ALG_TRUNCATED_MAC(alg, n);
315 TEST_EQUAL(PSA_ALG_FULL_LENGTH_MAC(truncated_alg), alg);
320 PSA_ALG_TRUNCATED_MAC(alg, 1));
322 PSA_ALG_TRUNCATED_MAC(alg, length - 1));
324 PSA_ALG_TRUNCATED_MAC(alg, length));
332 PSA_ALG_TRUNCATED_MAC(alg, 1));
335 PSA_ALG_TRUNCATED_MAC(alg, length - 1));
338 PSA_ALG_TRUNCATED_MAC(alg, length));
343 psa_algorithm_t policy_alg = PSA_ALG_AT_LEAST_THIS_LENGTH_MAC(alg, n);
346 TEST_EQUAL(PSA_ALG_FULL_LENGTH_MAC(policy_alg), alg);
351 PSA_ALG_AT_LEAST_THIS_LENGTH_MAC(alg, 1));
353 PSA_ALG_AT_LEAST_THIS_LENGTH_MAC(alg, length - 1));
355 PSA_ALG_AT_LEAST_THIS_LENGTH_MAC(alg, length));
363 PSA_ALG_AT_LEAST_THIS_LENGTH_MAC(alg, 1));
366 PSA_ALG_AT_LEAST_THIS_LENGTH_MAC(alg, length - 1));
369 PSA_ALG_AT_LEAST_THIS_LENGTH_MAC(alg, length));
379 psa_algorithm_t alg = alg_arg;
380 psa_algorithm_t hash_alg = PSA_ALG_HMAC_GET_HASH(alg);
386 TEST_EQUAL(PSA_ALG_HMAC(hash_alg), alg);
388 TEST_ASSERT(block_size == PSA_HASH_BLOCK_LENGTH(alg));
395 psa_algorithm_t truncated_alg = PSA_ALG_TRUNCATED_MAC(alg, n);
404 psa_algorithm_t alg = alg_arg;
407 TEST_ASSERT(!PSA_ALG_IS_HASH(alg));
408 TEST_ASSERT(!PSA_ALG_IS_MAC(alg));
409 TEST_ASSERT(PSA_ALG_IS_CIPHER(alg));
410 TEST_ASSERT(!PSA_ALG_IS_AEAD(alg));
411 TEST_ASSERT(!PSA_ALG_IS_SIGN(alg));
412 TEST_ASSERT(!PSA_ALG_IS_ASYMMETRIC_ENCRYPTION(alg));
413 TEST_ASSERT(!PSA_ALG_IS_KEY_AGREEMENT(alg));
414 TEST_ASSERT(!PSA_ALG_IS_KEY_DERIVATION(alg));
415 TEST_ASSERT(!PSA_ALG_IS_PAKE(alg));
416 algorithm_classification(alg, classification_flags);
425 psa_algorithm_t alg = alg_arg;
431 aead_algorithm_core(alg, classification_flags,
436 psa_algorithm_t truncated_alg = PSA_ALG_AEAD_WITH_SHORTENED_TAG(alg, n);
440 alg);
445 PSA_ALG_AEAD_WITH_SHORTENED_TAG(alg, 1));
447 PSA_ALG_AEAD_WITH_SHORTENED_TAG(alg, tag_length - 1));
449 PSA_ALG_AEAD_WITH_SHORTENED_TAG(alg, tag_length));
457 PSA_ALG_AEAD_WITH_SHORTENED_TAG(alg, 1));
461 PSA_ALG_AEAD_WITH_SHORTENED_TAG(alg, tag_length - 1));
464 PSA_ALG_AEAD_WITH_SHORTENED_TAG(alg, tag_length));
469 psa_algorithm_t policy_alg = PSA_ALG_AEAD_WITH_AT_LEAST_THIS_LENGTH_TAG(alg, n);
473 alg);
478 PSA_ALG_AEAD_WITH_AT_LEAST_THIS_LENGTH_TAG(alg, 1));
480 PSA_ALG_AEAD_WITH_AT_LEAST_THIS_LENGTH_TAG(alg, tag_length - 1));
482 PSA_ALG_AEAD_WITH_AT_LEAST_THIS_LENGTH_TAG(alg, tag_length));
490 PSA_ALG_AEAD_WITH_AT_LEAST_THIS_LENGTH_TAG(alg, 1));
493 PSA_ALG_AEAD_WITH_AT_LEAST_THIS_LENGTH_TAG(alg, tag_length - 1));
496 PSA_ALG_AEAD_WITH_AT_LEAST_THIS_LENGTH_TAG(alg, tag_length));
504 psa_algorithm_t alg = alg_arg;
507 TEST_ASSERT(!PSA_ALG_IS_HASH(alg));
508 TEST_ASSERT(!PSA_ALG_IS_MAC(alg));
509 TEST_ASSERT(!PSA_ALG_IS_CIPHER(alg));
510 TEST_ASSERT(!PSA_ALG_IS_AEAD(alg));
511 TEST_ASSERT(PSA_ALG_IS_SIGN(alg));
512 TEST_ASSERT(!PSA_ALG_IS_ASYMMETRIC_ENCRYPTION(alg));
513 TEST_ASSERT(!PSA_ALG_IS_KEY_AGREEMENT(alg));
514 TEST_ASSERT(!PSA_ALG_IS_KEY_DERIVATION(alg));
515 TEST_ASSERT(!PSA_ALG_IS_PAKE(alg));
516 algorithm_classification(alg, classification_flags);
536 psa_algorithm_t alg = alg_arg;
539 TEST_ASSERT(!PSA_ALG_IS_HASH(alg));
540 TEST_ASSERT(!PSA_ALG_IS_MAC(alg));
541 TEST_ASSERT(!PSA_ALG_IS_CIPHER(alg));
542 TEST_ASSERT(!PSA_ALG_IS_AEAD(alg));
543 TEST_ASSERT(!PSA_ALG_IS_SIGN(alg));
544 TEST_ASSERT(PSA_ALG_IS_ASYMMETRIC_ENCRYPTION(alg));
545 TEST_ASSERT(!PSA_ALG_IS_KEY_AGREEMENT(alg));
546 TEST_ASSERT(!PSA_ALG_IS_KEY_DERIVATION(alg));
547 TEST_ASSERT(!PSA_ALG_IS_PAKE(alg));
548 algorithm_classification(alg, classification_flags);
555 psa_algorithm_t alg = alg_arg;
556 psa_algorithm_t ecdh_alg = PSA_ALG_KEY_AGREEMENT(PSA_ALG_ECDH, alg);
557 psa_algorithm_t ffdh_alg = PSA_ALG_KEY_AGREEMENT(PSA_ALG_FFDH, alg);
560 TEST_ASSERT(!PSA_ALG_IS_HASH(alg));
561 TEST_ASSERT(!PSA_ALG_IS_MAC(alg));
562 TEST_ASSERT(!PSA_ALG_IS_CIPHER(alg));
563 TEST_ASSERT(!PSA_ALG_IS_AEAD(alg));
564 TEST_ASSERT(!PSA_ALG_IS_SIGN(alg));
565 TEST_ASSERT(!PSA_ALG_IS_ASYMMETRIC_ENCRYPTION(alg));
566 TEST_ASSERT(!PSA_ALG_IS_KEY_AGREEMENT(alg));
567 TEST_ASSERT(PSA_ALG_IS_KEY_DERIVATION(alg));
568 TEST_ASSERT(!PSA_ALG_IS_PAKE(alg));
569 algorithm_classification(alg, classification_flags);
574 TEST_EQUAL(PSA_ALG_KEY_AGREEMENT_GET_KDF(ecdh_alg), alg);
575 TEST_EQUAL(PSA_ALG_KEY_AGREEMENT_GET_KDF(ffdh_alg), alg);
583 psa_algorithm_t alg = alg_arg;
584 psa_algorithm_t actual_ka_alg = PSA_ALG_KEY_AGREEMENT_GET_BASE(alg);
586 psa_algorithm_t actual_kdf_alg = PSA_ALG_KEY_AGREEMENT_GET_KDF(alg);
590 TEST_ASSERT(!PSA_ALG_IS_HASH(alg));
591 TEST_ASSERT(!PSA_ALG_IS_MAC(alg));
592 TEST_ASSERT(!PSA_ALG_IS_CIPHER(alg));
593 TEST_ASSERT(!PSA_ALG_IS_AEAD(alg));
594 TEST_ASSERT(!PSA_ALG_IS_SIGN(alg));
595 TEST_ASSERT(!PSA_ALG_IS_ASYMMETRIC_ENCRYPTION(alg));
596 TEST_ASSERT(PSA_ALG_IS_KEY_AGREEMENT(alg));
597 TEST_ASSERT(!PSA_ALG_IS_KEY_DERIVATION(alg));
598 TEST_ASSERT(!PSA_ALG_IS_PAKE(alg));
599 algorithm_classification(alg, classification_flags);
610 psa_algorithm_t alg = alg_arg;
613 TEST_ASSERT(!PSA_ALG_IS_HASH(alg));
614 TEST_ASSERT(!PSA_ALG_IS_MAC(alg));
615 TEST_ASSERT(!PSA_ALG_IS_CIPHER(alg));
616 TEST_ASSERT(!PSA_ALG_IS_AEAD(alg));
617 TEST_ASSERT(!PSA_ALG_IS_SIGN(alg));
618 TEST_ASSERT(!PSA_ALG_IS_ASYMMETRIC_ENCRYPTION(alg));
619 TEST_ASSERT(!PSA_ALG_IS_KEY_AGREEMENT(alg));
620 TEST_ASSERT(!PSA_ALG_IS_KEY_DERIVATION(alg));
621 TEST_ASSERT(PSA_ALG_IS_PAKE(alg));