cisco/libacvp

Validation errors with SHA3-512

Closed this issue · 4 comments

Hi,

I updated the libacvp code to the latest and after enabling capability for SHA3-512, I find the following error:

***ACVP [INFO][log_network_status:1219]--> POST Registration...
Status: 400
Url: https://demo.acvts.nist.gov:443/acvp/v1/testSessions
Resp: Recieved

***ACVP [ERR][log_network_status:1247]--> 400 error received from server. Message:
***ACVP [ERR][log_network_status:1248]--> [
{
"acvVersion": "1.0"
},
{
"error": "Validation error(s) on JSON payload.",
"context": [
"SHA3-512-2.0: min must be less than max"
]
}
]

Can you please help in resolving this issue?

Regards,
Sathya.

Hi Sathya,

Have you changed your application registration from the default?
What this error message means is that the message length domain that is being set for sha3-512 (default shown here):

rv = acvp_cap_hash_set_domain(ctx, ACVP_HASH_SHA3_512, ACVP_HASH_MESSAGE_LEN, 0, 65536, 8);

has invalid bounds. The min must be less than the max, and the increment must not be 0.

Thanks,
Andrew

Thanks @abkarcher ! I did this change and was able to run the SHA3-512 on my environment. However, I find that one test case among the 175 for SHA3-512 reports "Digests do not match", though I found that the tests are giving the right output. Do you have any solution/correction that you have in mind for this?

[
{
"acvVersion": "1.0"
},
{
"vsId": 1055543,
"disposition": "failed",
"tests": [
{
"tcId": 1,
"result": "passed"
},
{
"tcId": 2,
"result": "passed"
},
{
"tcId": 3,
"result": "passed"
},
{
"tcId": 4,
"result": "passed"
},
{
"tcId": 5,
"result": "passed"
},
{
"tcId": 6,
"result": "passed"
},
{
"tcId": 7,
"result": "passed"
},
{
"tcId": 8,
"result": "passed"
},
{
"tcId": 9,
"result": "passed"
},
{
"tcId": 10,
"result": "passed"
},
{
"tcId": 11,
"result": "passed"
},
{
"tcId": 12,
"result": "passed"
},
{
"tcId": 13,
"result": "passed"
},
{
"tcId": 14,
"result": "passed"
},
{
"tcId": 15,
"result": "passed"
},
{
"tcId": 16,
"result": "passed"
},
{
"tcId": 17,
"result": "passed"
},
{
"tcId": 18,
"result": "passed"
},
{
"tcId": 19,
"result": "passed"
},
{
"tcId": 20,
"result": "passed"
},
{
"tcId": 21,
"result": "passed"
},
{
"tcId": 22,
"result": "passed"
},
{
"tcId": 23,
"result": "passed"
},
{
"tcId": 24,
"result": "passed"
},
{
"tcId": 25,
"result": "passed"
},
{
"tcId": 26,
"result": "passed"
},
{
"tcId": 27,
"result": "passed"
},
{
"tcId": 28,
"result": "passed"
},
{
"tcId": 29,
"result": "passed"
},
{
"tcId": 30,
"result": "passed"
},
{
"tcId": 31,
"result": "passed"
},
{
"tcId": 32,
"result": "passed"
},
{
"tcId": 33,
"result": "passed"
},
{
"tcId": 34,
"result": "passed"
},
{
"tcId": 35,
"result": "passed"
},
{
"tcId": 36,
"result": "passed"
},
{
"tcId": 37,
"result": "passed"
},
{
"tcId": 38,
"result": "passed"
},
{
"tcId": 39,
"result": "passed"
},
{
"tcId": 40,
"result": "passed"
},
{
"tcId": 41,
"result": "passed"
},
{
"tcId": 42,
"result": "passed"
},
{
"tcId": 43,
"result": "passed"
},
{
"tcId": 44,
"result": "passed"
},
{
"tcId": 45,
"result": "passed"
},
{
"tcId": 46,
"result": "passed"
},
{
"tcId": 47,
"result": "passed"
},
{
"tcId": 48,
"result": "passed"
},
{
"tcId": 49,
"result": "passed"
},
{
"tcId": 50,
"result": "passed"
},
{
"tcId": 51,
"result": "passed"
},
{
"tcId": 52,
"result": "passed"
},
{
"tcId": 53,
"result": "passed"
},
{
"tcId": 54,
"result": "passed"
},
{
"tcId": 55,
"result": "passed"
},
{
"tcId": 56,
"result": "passed"
},
{
"tcId": 57,
"result": "passed"
},
{
"tcId": 58,
"result": "passed"
},
{
"tcId": 59,
"result": "passed"
},
{
"tcId": 60,
"result": "passed"
},
{
"tcId": 61,
"result": "passed"
},
{
"tcId": 62,
"result": "passed"
},
{
"tcId": 63,
"result": "passed"
},
{
"tcId": 64,
"result": "passed"
},
{
"tcId": 65,
"result": "passed"
},
{
"tcId": 66,
"result": "passed"
},
{
"tcId": 67,
"result": "passed"
},
{
"tcId": 68,
"result": "passed"
},
{
"tcId": 69,
"result": "passed"
},
{
"tcId": 70,
"result": "passed"
},
{
"tcId": 71,
"result": "passed"
},
{
"tcId": 72,
"result": "passed"
},
{
"tcId": 73,
"result": "passed"
},
{
"tcId": 74,
"result": "passed"
},
{
"tcId": 75,
"result": "passed"
},
{
"tcId": 76,
"result": "passed"
},
{
"tcId": 77,
"result": "passed"
},
{
"tcId": 78,
"result": "passed"
},
{
"tcId": 79,
"result": "passed"
},
{
"tcId": 80,
"result": "passed"
},
{
"tcId": 81,
"result": "passed"
},
{
"tcId": 82,
"result": "passed"
},
{
"tcId": 83,
"result": "passed"
},
{
"tcId": 84,
"result": "passed"
},
{
"tcId": 85,
"result": "passed"
},
{
"tcId": 86,
"result": "passed"
},
{
"tcId": 87,
"result": "passed"
},
{
"tcId": 88,
"result": "passed"
},
{
"tcId": 89,
"result": "passed"
},
{
"tcId": 90,
"result": "passed"
},
{
"tcId": 91,
"result": "passed"
},
{
"tcId": 92,
"result": "passed"
},
{
"tcId": 93,
"result": "passed"
},
{
"tcId": 94,
"result": "passed"
},
{
"tcId": 95,
"result": "passed"
},
{
"tcId": 96,
"result": "passed"
},
{
"tcId": 97,
"result": "passed"
},
{
"tcId": 98,
"result": "passed"
},
{
"tcId": 99,
"result": "passed"
},
{
"tcId": 100,
"result": "passed"
},
{
"tcId": 101,
"result": "passed"
},
{
"tcId": 102,
"result": "passed"
},
{
"tcId": 103,
"result": "passed"
},
{
"tcId": 104,
"result": "passed"
},
{
"tcId": 105,
"result": "passed"
},
{
"tcId": 106,
"result": "passed"
},
{
"tcId": 107,
"result": "passed"
},
{
"tcId": 108,
"result": "passed"
},
{
"tcId": 109,
"result": "passed"
},
{
"tcId": 110,
"result": "passed"
},
{
"tcId": 111,
"result": "passed"
},
{
"tcId": 112,
"result": "passed"
},
{
"tcId": 113,
"result": "passed"
},
{
"tcId": 114,
"result": "passed"
},
{
"tcId": 115,
"result": "passed"
},
{
"tcId": 116,
"result": "passed"
},
{
"tcId": 117,
"result": "passed"
},
{
"tcId": 118,
"result": "passed"
},
{
"tcId": 119,
"result": "passed"
},
{
"tcId": 120,
"result": "passed"
},
{
"tcId": 121,
"result": "passed"
},
{
"tcId": 122,
"result": "passed"
},
{
"tcId": 123,
"result": "passed"
},
{
"tcId": 124,
"result": "passed"
},
{
"tcId": 125,
"result": "passed"
},
{
"tcId": 126,
"result": "passed"
},
{
"tcId": 127,
"result": "passed"
},
{
"tcId": 128,
"result": "passed"
},
{
"tcId": 129,
"result": "passed"
},
{
"tcId": 130,
"result": "passed"
},
{
"tcId": 131,
"result": "passed"
},
{
"tcId": 132,
"result": "passed"
},
{
"tcId": 133,
"result": "passed"
},
{
"tcId": 134,
"result": "passed"
},
{
"tcId": 135,
"result": "passed"
},
{
"tcId": 136,
"result": "passed"
},
{
"tcId": 137,
"result": "passed"
},
{
"tcId": 138,
"result": "passed"
},
{
"tcId": 139,
"result": "passed"
},
{
"tcId": 140,
"result": "passed"
},
{
"tcId": 141,
"result": "passed"
},
{
"tcId": 142,
"result": "passed"
},
{
"tcId": 143,
"result": "passed"
},
{
"tcId": 144,
"result": "passed"
},
{
"tcId": 145,
"result": "passed"
},
{
"tcId": 146,
"result": "passed"
},
{
"tcId": 147,
"result": "passed"
},
{
"tcId": 148,
"result": "failed",
"reason": "Digests do not match"
},
{
"tcId": 149,
"result": "passed"
},
{
"tcId": 150,
"result": "passed"
},
{
"tcId": 151,
"result": "passed"
},
{
"tcId": 152,
"result": "passed"
},
{
"tcId": 153,
"result": "passed"
},
{
"tcId": 154,
"result": "passed"
},
{
"tcId": 155,
"result": "passed"
},
{
"tcId": 156,
"result": "passed"
},
{
"tcId": 157,
"result": "passed"
},
{
"tcId": 158,
"result": "passed"
},
{
"tcId": 159,
"result": "passed"
},
{
"tcId": 160,
"result": "passed"
},
{
"tcId": 161,
"result": "passed"
},
{
"tcId": 162,
"result": "passed"
},
{
"tcId": 163,
"result": "passed"
},
{
"tcId": 164,
"result": "passed"
},
{
"tcId": 165,
"result": "passed"
},
{
"tcId": 166,
"result": "passed"
},
{
"tcId": 167,
"result": "passed"
},
{
"tcId": 168,
"result": "passed"
},
{
"tcId": 169,
"result": "passed"
},
{
"tcId": 170,
"result": "passed"
},
{
"tcId": 171,
"result": "passed"
},
{
"tcId": 172,
"result": "passed"
},
{
"tcId": 173,
"result": "passed"
},
{
"tcId": 174,
"result": "passed"
},
{
"tcId": 175,
"result": "passed"
}
]
}
]

Hello,

That is a bit odd for sure. I think this might be more a question for NIST. I have not run into issues testing SHA3 myself.

It might be helpful to try running several test sessions to see if the issue is reproducible. You can also run a test session with --sample to get a smaller, sample test session, and see the "expected" results for sample sessions using
--get_expected_results [testSession file].

Thanks,
Andrew

Hello,

I am closing this issue due to inactivity - if you have any other questions related to this issue pop up, please feel free to reopen. Thanks!

Andrew