/** * Perform SHA-1 self-test * */ static void sha1_test_exec ( void ) { struct digest_algorithm *digest = &sha1_algorithm; struct sha1_test_vector *test; unsigned long cost; unsigned int i; unsigned int j; /* Correctness test */ for ( i = 0 ; i < ( sizeof ( sha1_test_vectors ) / sizeof ( sha1_test_vectors[0] ) ) ; i++ ) { test = &sha1_test_vectors[i]; /* Test with a single pass */ digest_ok ( digest, NULL, test->data, test->len, test->digest ); /* Test with fragment lists */ for ( j = 0 ; j < ( sizeof ( sha1_test_fragments ) / sizeof ( sha1_test_fragments[0] ) ) ; j++ ) { digest_ok ( digest, &sha1_test_fragments[j], test->data, test->len, test->digest ); } } /* Speed test */ cost = digest_cost ( digest ); DBG ( "SHA1 required %ld cycles per byte\n", cost ); }
/** * Perform SHA-1 self-test * */ static void sha1_test_exec ( void ) { /* Correctness tests */ digest_ok ( &sha1_empty ); digest_ok ( &sha1_nist_abc ); digest_ok ( &sha1_nist_abc_opq ); /* Speed tests */ DBG ( "SHA1 required %ld cycles per byte\n", digest_cost ( &sha1_algorithm ) ); }