Lines Matching refs:alg
72 * PSA_##flag(alg) is true.
81 #define TEST_CLASSIFICATION_MACRO( cond, flag, alg, flags ) \
87 TEST_ASSERT( PSA_##flag( alg ) ); \
89 TEST_ASSERT( ! PSA_##flag( alg ) ); \
117 void algorithm_classification( psa_algorithm_t alg, unsigned flags )
120 TEST_CLASSIFICATION_MACRO( 1, ALG_IS_VENDOR_DEFINED, alg, flags );
121 TEST_CLASSIFICATION_MACRO( 1, ALG_IS_HMAC, alg, flags );
122 TEST_CLASSIFICATION_MACRO( 1, ALG_IS_BLOCK_CIPHER_MAC, alg, flags );
123 TEST_CLASSIFICATION_MACRO( 1, ALG_IS_STREAM_CIPHER, alg, flags );
124 TEST_CLASSIFICATION_MACRO( 1, ALG_IS_RSA_PKCS1V15_SIGN, alg, flags );
125 TEST_CLASSIFICATION_MACRO( 1, ALG_IS_RSA_PSS, alg, flags );
126 TEST_CLASSIFICATION_MACRO( 1, ALG_IS_RSA_PSS_ANY_SALT, alg, flags );
127 TEST_CLASSIFICATION_MACRO( 1, ALG_IS_RSA_PSS_STANDARD_SALT, alg, flags );
128 TEST_CLASSIFICATION_MACRO( 1, ALG_IS_DSA, alg, flags );
129 TEST_CLASSIFICATION_MACRO( PSA_ALG_IS_DSA( alg ),
130 ALG_DSA_IS_DETERMINISTIC, alg, flags );
131 TEST_CLASSIFICATION_MACRO( 1, ALG_IS_DETERMINISTIC_DSA, alg, flags );
132 TEST_CLASSIFICATION_MACRO( 1, ALG_IS_RANDOMIZED_DSA, alg, flags );
133 TEST_CLASSIFICATION_MACRO( 1, ALG_IS_ECDSA, alg, flags );
134 TEST_CLASSIFICATION_MACRO( PSA_ALG_IS_ECDSA( alg ),
135 ALG_ECDSA_IS_DETERMINISTIC, alg, flags );
136 TEST_CLASSIFICATION_MACRO( 1, ALG_IS_DETERMINISTIC_ECDSA, alg, flags );
137 TEST_CLASSIFICATION_MACRO( 1, ALG_IS_RANDOMIZED_ECDSA, alg, flags );
138 TEST_CLASSIFICATION_MACRO( 1, ALG_IS_HASH_EDDSA, alg, flags );
139 TEST_CLASSIFICATION_MACRO( 1, ALG_IS_SIGN_HASH, alg, flags );
140 TEST_CLASSIFICATION_MACRO( 1, ALG_IS_HASH_AND_SIGN, alg, flags );
141 TEST_CLASSIFICATION_MACRO( 1, ALG_IS_RSA_OAEP, alg, flags );
142 TEST_CLASSIFICATION_MACRO( 1, ALG_IS_HKDF, alg, flags );
143 TEST_CLASSIFICATION_MACRO( 1, ALG_IS_WILDCARD, alg, flags );
144 TEST_CLASSIFICATION_MACRO( 1, ALG_IS_ECDH, alg, flags );
145 TEST_CLASSIFICATION_MACRO( 1, ALG_IS_FFDH, alg, flags );
146 TEST_CLASSIFICATION_MACRO( 1, ALG_IS_RAW_KEY_AGREEMENT, alg, flags );
147 TEST_CLASSIFICATION_MACRO( 1, ALG_IS_AEAD_ON_BLOCK_CIPHER, alg, flags );
148 TEST_CLASSIFICATION_MACRO( 1, ALG_IS_TLS12_PRF, alg, flags );
149 TEST_CLASSIFICATION_MACRO( 1, ALG_IS_TLS12_PSK_TO_MS, alg, flags );
191 void mac_algorithm_core( psa_algorithm_t alg, int classification_flags,
196 TEST_ASSERT( ! PSA_ALG_IS_HASH( alg ) );
197 TEST_ASSERT( PSA_ALG_IS_MAC( alg ) );
198 TEST_ASSERT( ! PSA_ALG_IS_CIPHER( alg ) );
199 TEST_ASSERT( ! PSA_ALG_IS_AEAD( alg ) );
200 TEST_ASSERT( ! PSA_ALG_IS_SIGN( alg ) );
201 TEST_ASSERT( ! PSA_ALG_IS_ASYMMETRIC_ENCRYPTION( alg ) );
202 TEST_ASSERT( ! PSA_ALG_IS_KEY_AGREEMENT( alg ) );
203 TEST_ASSERT( ! PSA_ALG_IS_KEY_DERIVATION( alg ) );
204 TEST_ASSERT( ! PSA_ALG_IS_PAKE( alg ) );
205 algorithm_classification( alg, classification_flags );
208 TEST_EQUAL( length, PSA_MAC_LENGTH( key_type, key_bits, alg ) );
211 PSA_ASSERT( psa_mac_key_can_do( alg, key_type ) );
217 void aead_algorithm_core( psa_algorithm_t alg, int classification_flags,
222 TEST_ASSERT( ! PSA_ALG_IS_HASH( alg ) );
223 TEST_ASSERT( ! PSA_ALG_IS_MAC( alg ) );
224 TEST_ASSERT( ! PSA_ALG_IS_CIPHER( alg ) );
225 TEST_ASSERT( PSA_ALG_IS_AEAD( alg ) );
226 TEST_ASSERT( ! PSA_ALG_IS_SIGN( alg ) );
227 TEST_ASSERT( ! PSA_ALG_IS_ASYMMETRIC_ENCRYPTION( alg ) );
228 TEST_ASSERT( ! PSA_ALG_IS_KEY_AGREEMENT( alg ) );
229 TEST_ASSERT( ! PSA_ALG_IS_KEY_DERIVATION( alg ) );
230 TEST_ASSERT( ! PSA_ALG_IS_PAKE( alg ) );
231 algorithm_classification( alg, classification_flags );
234 TEST_EQUAL( tag_length, PSA_AEAD_TAG_LENGTH( key_type, key_bits, alg ) );
249 psa_algorithm_t alg = alg_arg;
251 psa_algorithm_t hmac_alg = PSA_ALG_HMAC( alg );
252 psa_algorithm_t rsa_pkcs1v15_sign_alg = PSA_ALG_RSA_PKCS1V15_SIGN( alg );
253 psa_algorithm_t rsa_pss_alg = PSA_ALG_RSA_PSS( alg );
254 psa_algorithm_t dsa_alg = PSA_ALG_DSA( alg );
255 psa_algorithm_t deterministic_dsa_alg = PSA_ALG_DETERMINISTIC_DSA( alg );
256 psa_algorithm_t ecdsa_alg = PSA_ALG_ECDSA( alg );
257 psa_algorithm_t deterministic_ecdsa_alg = PSA_ALG_DETERMINISTIC_ECDSA( alg );
258 psa_algorithm_t rsa_oaep_alg = PSA_ALG_RSA_OAEP( alg );
259 psa_algorithm_t hkdf_alg = PSA_ALG_HKDF( alg );
262 TEST_ASSERT( PSA_ALG_IS_HASH( alg ) );
263 TEST_ASSERT( ! PSA_ALG_IS_MAC( alg ) );
264 TEST_ASSERT( ! PSA_ALG_IS_CIPHER( alg ) );
265 TEST_ASSERT( ! PSA_ALG_IS_AEAD( alg ) );
266 TEST_ASSERT( ! PSA_ALG_IS_SIGN( alg ) );
267 TEST_ASSERT( ! PSA_ALG_IS_ASYMMETRIC_ENCRYPTION( alg ) );
268 TEST_ASSERT( ! PSA_ALG_IS_KEY_AGREEMENT( alg ) );
269 TEST_ASSERT( ! PSA_ALG_IS_KEY_DERIVATION( alg ) );
270 TEST_ASSERT( ! PSA_ALG_IS_PAKE( alg ) );
271 algorithm_classification( alg, 0 );
274 TEST_EQUAL( PSA_ALG_HMAC_GET_HASH( hmac_alg ), alg );
275 TEST_EQUAL( PSA_ALG_SIGN_GET_HASH( rsa_pkcs1v15_sign_alg ), alg );
276 TEST_EQUAL( PSA_ALG_SIGN_GET_HASH( rsa_pss_alg ), alg );
277 TEST_EQUAL( PSA_ALG_SIGN_GET_HASH( dsa_alg ), alg );
278 TEST_EQUAL( PSA_ALG_SIGN_GET_HASH( deterministic_dsa_alg ), alg );
279 TEST_EQUAL( PSA_ALG_SIGN_GET_HASH( ecdsa_alg ), alg );
280 TEST_EQUAL( PSA_ALG_SIGN_GET_HASH( deterministic_ecdsa_alg ), alg );
281 TEST_EQUAL( PSA_ALG_RSA_OAEP_GET_HASH( rsa_oaep_alg ), alg );
282 TEST_EQUAL( PSA_ALG_HKDF_GET_HASH( hkdf_alg ), alg );
285 TEST_EQUAL( length, PSA_HASH_LENGTH( alg ) );
295 psa_algorithm_t alg = alg_arg;
301 mac_algorithm_core( alg, classification_flags,
303 TEST_EQUAL( PSA_ALG_FULL_LENGTH_MAC( alg ), alg );
309 psa_algorithm_t truncated_alg = PSA_ALG_TRUNCATED_MAC( alg, n );
312 TEST_EQUAL( PSA_ALG_FULL_LENGTH_MAC( truncated_alg ), alg );
317 PSA_ALG_TRUNCATED_MAC( alg, 1 ) );
319 PSA_ALG_TRUNCATED_MAC( alg, length - 1) );
321 PSA_ALG_TRUNCATED_MAC( alg, length ) );
329 PSA_ALG_TRUNCATED_MAC( alg, 1 ) );
332 PSA_ALG_TRUNCATED_MAC( alg, length - 1) );
335 PSA_ALG_TRUNCATED_MAC( alg, length ) );
341 psa_algorithm_t policy_alg = PSA_ALG_AT_LEAST_THIS_LENGTH_MAC( alg, n );
344 TEST_EQUAL( PSA_ALG_FULL_LENGTH_MAC( policy_alg ), alg );
349 PSA_ALG_AT_LEAST_THIS_LENGTH_MAC( alg, 1 ) );
351 PSA_ALG_AT_LEAST_THIS_LENGTH_MAC( alg, length - 1) );
353 PSA_ALG_AT_LEAST_THIS_LENGTH_MAC( alg, length ) );
361 PSA_ALG_AT_LEAST_THIS_LENGTH_MAC( alg, 1 ) );
364 PSA_ALG_AT_LEAST_THIS_LENGTH_MAC( alg, length - 1) );
367 PSA_ALG_AT_LEAST_THIS_LENGTH_MAC( alg, length ) );
377 psa_algorithm_t alg = alg_arg;
378 psa_algorithm_t hash_alg = PSA_ALG_HMAC_GET_HASH( alg );
384 TEST_EQUAL( PSA_ALG_HMAC( hash_alg ), alg );
386 TEST_ASSERT( block_size == PSA_HASH_BLOCK_LENGTH( alg ) );
394 psa_algorithm_t truncated_alg = PSA_ALG_TRUNCATED_MAC( alg, n );
403 psa_algorithm_t alg = alg_arg;
406 TEST_ASSERT( ! PSA_ALG_IS_HASH( alg ) );
407 TEST_ASSERT( ! PSA_ALG_IS_MAC( alg ) );
408 TEST_ASSERT( PSA_ALG_IS_CIPHER( alg ) );
409 TEST_ASSERT( ! PSA_ALG_IS_AEAD( alg ) );
410 TEST_ASSERT( ! PSA_ALG_IS_SIGN( alg ) );
411 TEST_ASSERT( ! PSA_ALG_IS_ASYMMETRIC_ENCRYPTION( alg ) );
412 TEST_ASSERT( ! PSA_ALG_IS_KEY_AGREEMENT( alg ) );
413 TEST_ASSERT( ! PSA_ALG_IS_KEY_DERIVATION( alg ) );
414 TEST_ASSERT( ! PSA_ALG_IS_PAKE( alg ) );
415 algorithm_classification( alg, classification_flags );
424 psa_algorithm_t alg = alg_arg;
430 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 ) );
460 PSA_ALG_AEAD_WITH_SHORTENED_TAG( alg, tag_length - 1) );
463 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 ) );