LibCrypto: Implement KMAC authentication support

Add a LibCrypto::Authentication::KMAC helper over OpenSSL.
Add keygen/import/export logic into WebCrypto.
Register KMAC128/KMAC256 operations with SubtleCrypto.
This commit is contained in:
mikiubo
2026-03-15 08:09:09 +01:00
committed by Jelle Raaijmakers
parent 6cc575b8a9
commit d4cf537d58
Notes: github-actions[bot] 2026-03-19 09:47:56 +00:00
12 changed files with 1230 additions and 564 deletions

View File

@@ -2,8 +2,7 @@ Harness status: OK
Found 552 tests
360 Pass
192 Fail
552 Pass
Pass Bad algorithm: generateKey(AES, false, [decrypt])
Pass Bad algorithm: generateKey(AES, true, [decrypt])
Pass Bad algorithm: generateKey(AES, RED, [decrypt])
@@ -364,195 +363,195 @@ Pass Empty algorithm: generateKey({}, false, [decrypt, sign, deriveBits, decrypt
Pass Empty algorithm: generateKey({}, true, [decrypt, sign, deriveBits, decrypt, sign, deriveBits])
Pass Empty algorithm: generateKey({}, RED, [decrypt, sign, deriveBits, decrypt, sign, deriveBits])
Pass Empty algorithm: generateKey({}, 7, [decrypt, sign, deriveBits, decrypt, sign, deriveBits])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [encrypt])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [sign, encrypt])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [verify, sign, encrypt])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [verify, encrypt])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [sign, verify, sign, verify, encrypt])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [decrypt])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [sign, decrypt])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [verify, sign, decrypt])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [verify, decrypt])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [sign, verify, sign, verify, decrypt])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [wrapKey])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [sign, wrapKey])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [verify, sign, wrapKey])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [verify, wrapKey])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [sign, verify, sign, verify, wrapKey])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [unwrapKey])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [sign, unwrapKey])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [verify, sign, unwrapKey])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [verify, unwrapKey])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [sign, verify, sign, verify, unwrapKey])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [deriveKey])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [sign, deriveKey])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [verify, sign, deriveKey])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [verify, deriveKey])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [sign, verify, sign, verify, deriveKey])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [deriveBits])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [sign, deriveBits])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [verify, sign, deriveBits])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [verify, deriveBits])
Fail Bad usages: generateKey({length: 128, name: KMAC128}, true, [sign, verify, sign, verify, deriveBits])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [encrypt])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [sign, encrypt])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [verify, sign, encrypt])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [verify, encrypt])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [sign, verify, sign, verify, encrypt])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [decrypt])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [sign, decrypt])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [verify, sign, decrypt])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [verify, decrypt])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [sign, verify, sign, verify, decrypt])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [wrapKey])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [sign, wrapKey])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [verify, sign, wrapKey])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [verify, wrapKey])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [sign, verify, sign, verify, wrapKey])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [unwrapKey])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [sign, unwrapKey])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [verify, sign, unwrapKey])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [verify, unwrapKey])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [sign, verify, sign, verify, unwrapKey])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [deriveKey])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [sign, deriveKey])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [verify, sign, deriveKey])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [verify, deriveKey])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [sign, verify, sign, verify, deriveKey])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [deriveBits])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [sign, deriveBits])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [verify, sign, deriveBits])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [verify, deriveBits])
Fail Bad usages: generateKey({length: 160, name: KMAC128}, true, [sign, verify, sign, verify, deriveBits])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [encrypt])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [sign, encrypt])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [verify, sign, encrypt])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [verify, encrypt])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [sign, verify, sign, verify, encrypt])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [decrypt])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [sign, decrypt])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [verify, sign, decrypt])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [verify, decrypt])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [sign, verify, sign, verify, decrypt])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [wrapKey])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [sign, wrapKey])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [verify, sign, wrapKey])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [verify, wrapKey])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [sign, verify, sign, verify, wrapKey])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [unwrapKey])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [sign, unwrapKey])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [verify, sign, unwrapKey])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [verify, unwrapKey])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [sign, verify, sign, verify, unwrapKey])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [deriveKey])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [sign, deriveKey])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [verify, sign, deriveKey])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [verify, deriveKey])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [sign, verify, sign, verify, deriveKey])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [deriveBits])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [sign, deriveBits])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [verify, sign, deriveBits])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [verify, deriveBits])
Fail Bad usages: generateKey({length: 256, name: KMAC128}, true, [sign, verify, sign, verify, deriveBits])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [encrypt])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [sign, encrypt])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [verify, sign, encrypt])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [verify, encrypt])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [sign, verify, sign, verify, encrypt])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [decrypt])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [sign, decrypt])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [verify, sign, decrypt])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [verify, decrypt])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [sign, verify, sign, verify, decrypt])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [wrapKey])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [sign, wrapKey])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [verify, sign, wrapKey])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [verify, wrapKey])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [sign, verify, sign, verify, wrapKey])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [unwrapKey])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [sign, unwrapKey])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [verify, sign, unwrapKey])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [verify, unwrapKey])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [sign, verify, sign, verify, unwrapKey])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [deriveKey])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [sign, deriveKey])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [verify, sign, deriveKey])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [verify, deriveKey])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [sign, verify, sign, verify, deriveKey])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [deriveBits])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [sign, deriveBits])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [verify, sign, deriveBits])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [verify, deriveBits])
Fail Bad usages: generateKey({length: 128, name: KMAC256}, true, [sign, verify, sign, verify, deriveBits])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [encrypt])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [sign, encrypt])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [verify, sign, encrypt])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [verify, encrypt])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [sign, verify, sign, verify, encrypt])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [decrypt])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [sign, decrypt])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [verify, sign, decrypt])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [verify, decrypt])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [sign, verify, sign, verify, decrypt])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [wrapKey])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [sign, wrapKey])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [verify, sign, wrapKey])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [verify, wrapKey])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [sign, verify, sign, verify, wrapKey])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [unwrapKey])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [sign, unwrapKey])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [verify, sign, unwrapKey])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [verify, unwrapKey])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [sign, verify, sign, verify, unwrapKey])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [deriveKey])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [sign, deriveKey])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [verify, sign, deriveKey])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [verify, deriveKey])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [sign, verify, sign, verify, deriveKey])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [deriveBits])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [sign, deriveBits])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [verify, sign, deriveBits])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [verify, deriveBits])
Fail Bad usages: generateKey({length: 160, name: KMAC256}, true, [sign, verify, sign, verify, deriveBits])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [encrypt])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [sign, encrypt])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [verify, sign, encrypt])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [verify, encrypt])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [sign, verify, sign, verify, encrypt])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [decrypt])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [sign, decrypt])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [verify, sign, decrypt])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [verify, decrypt])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [sign, verify, sign, verify, decrypt])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [wrapKey])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [sign, wrapKey])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [verify, sign, wrapKey])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [verify, wrapKey])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [sign, verify, sign, verify, wrapKey])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [unwrapKey])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [sign, unwrapKey])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [verify, sign, unwrapKey])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [verify, unwrapKey])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [sign, verify, sign, verify, unwrapKey])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [deriveKey])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [sign, deriveKey])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [verify, sign, deriveKey])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [verify, deriveKey])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [sign, verify, sign, verify, deriveKey])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [deriveBits])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [sign, deriveBits])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [verify, sign, deriveBits])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [verify, deriveBits])
Fail Bad usages: generateKey({length: 256, name: KMAC256}, true, [sign, verify, sign, verify, deriveBits])
Fail Empty usages: generateKey({length: 128, name: KMAC128}, false, [])
Fail Empty usages: generateKey({length: 128, name: KMAC128}, true, [])
Fail Empty usages: generateKey({length: 160, name: KMAC128}, false, [])
Fail Empty usages: generateKey({length: 160, name: KMAC128}, true, [])
Fail Empty usages: generateKey({length: 256, name: KMAC128}, false, [])
Fail Empty usages: generateKey({length: 256, name: KMAC128}, true, [])
Fail Empty usages: generateKey({length: 128, name: KMAC256}, false, [])
Fail Empty usages: generateKey({length: 128, name: KMAC256}, true, [])
Fail Empty usages: generateKey({length: 160, name: KMAC256}, false, [])
Fail Empty usages: generateKey({length: 160, name: KMAC256}, true, [])
Fail Empty usages: generateKey({length: 256, name: KMAC256}, false, [])
Fail Empty usages: generateKey({length: 256, name: KMAC256}, true, [])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [encrypt])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [sign, encrypt])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [verify, sign, encrypt])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [verify, encrypt])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [sign, verify, sign, verify, encrypt])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [decrypt])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [sign, decrypt])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [verify, sign, decrypt])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [verify, decrypt])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [sign, verify, sign, verify, decrypt])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [wrapKey])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [sign, wrapKey])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [verify, sign, wrapKey])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [verify, wrapKey])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [sign, verify, sign, verify, wrapKey])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [unwrapKey])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [sign, unwrapKey])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [verify, sign, unwrapKey])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [verify, unwrapKey])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [sign, verify, sign, verify, unwrapKey])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [deriveKey])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [sign, deriveKey])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [verify, sign, deriveKey])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [verify, deriveKey])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [sign, verify, sign, verify, deriveKey])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [deriveBits])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [sign, deriveBits])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [verify, sign, deriveBits])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [verify, deriveBits])
Pass Bad usages: generateKey({length: 128, name: KMAC128}, true, [sign, verify, sign, verify, deriveBits])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [encrypt])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [sign, encrypt])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [verify, sign, encrypt])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [verify, encrypt])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [sign, verify, sign, verify, encrypt])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [decrypt])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [sign, decrypt])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [verify, sign, decrypt])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [verify, decrypt])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [sign, verify, sign, verify, decrypt])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [wrapKey])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [sign, wrapKey])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [verify, sign, wrapKey])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [verify, wrapKey])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [sign, verify, sign, verify, wrapKey])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [unwrapKey])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [sign, unwrapKey])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [verify, sign, unwrapKey])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [verify, unwrapKey])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [sign, verify, sign, verify, unwrapKey])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [deriveKey])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [sign, deriveKey])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [verify, sign, deriveKey])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [verify, deriveKey])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [sign, verify, sign, verify, deriveKey])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [deriveBits])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [sign, deriveBits])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [verify, sign, deriveBits])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [verify, deriveBits])
Pass Bad usages: generateKey({length: 160, name: KMAC128}, true, [sign, verify, sign, verify, deriveBits])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [encrypt])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [sign, encrypt])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [verify, sign, encrypt])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [verify, encrypt])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [sign, verify, sign, verify, encrypt])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [decrypt])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [sign, decrypt])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [verify, sign, decrypt])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [verify, decrypt])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [sign, verify, sign, verify, decrypt])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [wrapKey])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [sign, wrapKey])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [verify, sign, wrapKey])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [verify, wrapKey])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [sign, verify, sign, verify, wrapKey])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [unwrapKey])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [sign, unwrapKey])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [verify, sign, unwrapKey])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [verify, unwrapKey])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [sign, verify, sign, verify, unwrapKey])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [deriveKey])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [sign, deriveKey])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [verify, sign, deriveKey])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [verify, deriveKey])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [sign, verify, sign, verify, deriveKey])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [deriveBits])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [sign, deriveBits])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [verify, sign, deriveBits])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [verify, deriveBits])
Pass Bad usages: generateKey({length: 256, name: KMAC128}, true, [sign, verify, sign, verify, deriveBits])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [encrypt])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [sign, encrypt])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [verify, sign, encrypt])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [verify, encrypt])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [sign, verify, sign, verify, encrypt])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [decrypt])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [sign, decrypt])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [verify, sign, decrypt])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [verify, decrypt])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [sign, verify, sign, verify, decrypt])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [wrapKey])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [sign, wrapKey])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [verify, sign, wrapKey])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [verify, wrapKey])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [sign, verify, sign, verify, wrapKey])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [unwrapKey])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [sign, unwrapKey])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [verify, sign, unwrapKey])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [verify, unwrapKey])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [sign, verify, sign, verify, unwrapKey])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [deriveKey])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [sign, deriveKey])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [verify, sign, deriveKey])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [verify, deriveKey])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [sign, verify, sign, verify, deriveKey])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [deriveBits])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [sign, deriveBits])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [verify, sign, deriveBits])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [verify, deriveBits])
Pass Bad usages: generateKey({length: 128, name: KMAC256}, true, [sign, verify, sign, verify, deriveBits])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [encrypt])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [sign, encrypt])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [verify, sign, encrypt])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [verify, encrypt])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [sign, verify, sign, verify, encrypt])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [decrypt])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [sign, decrypt])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [verify, sign, decrypt])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [verify, decrypt])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [sign, verify, sign, verify, decrypt])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [wrapKey])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [sign, wrapKey])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [verify, sign, wrapKey])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [verify, wrapKey])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [sign, verify, sign, verify, wrapKey])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [unwrapKey])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [sign, unwrapKey])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [verify, sign, unwrapKey])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [verify, unwrapKey])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [sign, verify, sign, verify, unwrapKey])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [deriveKey])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [sign, deriveKey])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [verify, sign, deriveKey])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [verify, deriveKey])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [sign, verify, sign, verify, deriveKey])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [deriveBits])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [sign, deriveBits])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [verify, sign, deriveBits])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [verify, deriveBits])
Pass Bad usages: generateKey({length: 160, name: KMAC256}, true, [sign, verify, sign, verify, deriveBits])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [encrypt])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [sign, encrypt])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [verify, sign, encrypt])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [verify, encrypt])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [sign, verify, sign, verify, encrypt])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [decrypt])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [sign, decrypt])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [verify, sign, decrypt])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [verify, decrypt])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [sign, verify, sign, verify, decrypt])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [wrapKey])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [sign, wrapKey])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [verify, sign, wrapKey])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [verify, wrapKey])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [sign, verify, sign, verify, wrapKey])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [unwrapKey])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [sign, unwrapKey])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [verify, sign, unwrapKey])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [verify, unwrapKey])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [sign, verify, sign, verify, unwrapKey])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [deriveKey])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [sign, deriveKey])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [verify, sign, deriveKey])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [verify, deriveKey])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [sign, verify, sign, verify, deriveKey])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [deriveBits])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [sign, deriveBits])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [verify, sign, deriveBits])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [verify, deriveBits])
Pass Bad usages: generateKey({length: 256, name: KMAC256}, true, [sign, verify, sign, verify, deriveBits])
Pass Empty usages: generateKey({length: 128, name: KMAC128}, false, [])
Pass Empty usages: generateKey({length: 128, name: KMAC128}, true, [])
Pass Empty usages: generateKey({length: 160, name: KMAC128}, false, [])
Pass Empty usages: generateKey({length: 160, name: KMAC128}, true, [])
Pass Empty usages: generateKey({length: 256, name: KMAC128}, false, [])
Pass Empty usages: generateKey({length: 256, name: KMAC128}, true, [])
Pass Empty usages: generateKey({length: 128, name: KMAC256}, false, [])
Pass Empty usages: generateKey({length: 128, name: KMAC256}, true, [])
Pass Empty usages: generateKey({length: 160, name: KMAC256}, false, [])
Pass Empty usages: generateKey({length: 160, name: KMAC256}, true, [])
Pass Empty usages: generateKey({length: 256, name: KMAC256}, false, [])
Pass Empty usages: generateKey({length: 256, name: KMAC256}, true, [])

View File

@@ -2,148 +2,148 @@ Harness status: OK
Found 144 tests
144 Fail
Fail Success: generateKey({length: 128, name: KMAC128}, false, [sign])
Fail Success: generateKey({length: 128, name: KMAC128}, true, [sign])
Fail Success: generateKey({length: 128, name: KMAC128}, false, [verify, sign])
Fail Success: generateKey({length: 128, name: KMAC128}, true, [verify, sign])
Fail Success: generateKey({length: 128, name: KMAC128}, false, [verify])
Fail Success: generateKey({length: 128, name: KMAC128}, true, [verify])
Fail Success: generateKey({length: 128, name: KMAC128}, false, [sign, verify, sign, verify])
Fail Success: generateKey({length: 128, name: KMAC128}, true, [sign, verify, sign, verify])
Fail Success: generateKey({length: 160, name: KMAC128}, false, [sign])
Fail Success: generateKey({length: 160, name: KMAC128}, true, [sign])
Fail Success: generateKey({length: 160, name: KMAC128}, false, [verify, sign])
Fail Success: generateKey({length: 160, name: KMAC128}, true, [verify, sign])
Fail Success: generateKey({length: 160, name: KMAC128}, false, [verify])
Fail Success: generateKey({length: 160, name: KMAC128}, true, [verify])
Fail Success: generateKey({length: 160, name: KMAC128}, false, [sign, verify, sign, verify])
Fail Success: generateKey({length: 160, name: KMAC128}, true, [sign, verify, sign, verify])
Fail Success: generateKey({length: 256, name: KMAC128}, false, [sign])
Fail Success: generateKey({length: 256, name: KMAC128}, true, [sign])
Fail Success: generateKey({length: 256, name: KMAC128}, false, [verify, sign])
Fail Success: generateKey({length: 256, name: KMAC128}, true, [verify, sign])
Fail Success: generateKey({length: 256, name: KMAC128}, false, [verify])
Fail Success: generateKey({length: 256, name: KMAC128}, true, [verify])
Fail Success: generateKey({length: 256, name: KMAC128}, false, [sign, verify, sign, verify])
Fail Success: generateKey({length: 256, name: KMAC128}, true, [sign, verify, sign, verify])
Fail Success: generateKey({length: 128, name: kmac128}, false, [sign])
Fail Success: generateKey({length: 128, name: kmac128}, true, [sign])
Fail Success: generateKey({length: 128, name: kmac128}, false, [verify, sign])
Fail Success: generateKey({length: 128, name: kmac128}, true, [verify, sign])
Fail Success: generateKey({length: 128, name: kmac128}, false, [verify])
Fail Success: generateKey({length: 128, name: kmac128}, true, [verify])
Fail Success: generateKey({length: 128, name: kmac128}, false, [sign, verify, sign, verify])
Fail Success: generateKey({length: 128, name: kmac128}, true, [sign, verify, sign, verify])
Fail Success: generateKey({length: 160, name: kmac128}, false, [sign])
Fail Success: generateKey({length: 160, name: kmac128}, true, [sign])
Fail Success: generateKey({length: 160, name: kmac128}, false, [verify, sign])
Fail Success: generateKey({length: 160, name: kmac128}, true, [verify, sign])
Fail Success: generateKey({length: 160, name: kmac128}, false, [verify])
Fail Success: generateKey({length: 160, name: kmac128}, true, [verify])
Fail Success: generateKey({length: 160, name: kmac128}, false, [sign, verify, sign, verify])
Fail Success: generateKey({length: 160, name: kmac128}, true, [sign, verify, sign, verify])
Fail Success: generateKey({length: 256, name: kmac128}, false, [sign])
Fail Success: generateKey({length: 256, name: kmac128}, true, [sign])
Fail Success: generateKey({length: 256, name: kmac128}, false, [verify, sign])
Fail Success: generateKey({length: 256, name: kmac128}, true, [verify, sign])
Fail Success: generateKey({length: 256, name: kmac128}, false, [verify])
Fail Success: generateKey({length: 256, name: kmac128}, true, [verify])
Fail Success: generateKey({length: 256, name: kmac128}, false, [sign, verify, sign, verify])
Fail Success: generateKey({length: 256, name: kmac128}, true, [sign, verify, sign, verify])
Fail Success: generateKey({length: 128, name: Kmac128}, false, [sign])
Fail Success: generateKey({length: 128, name: Kmac128}, true, [sign])
Fail Success: generateKey({length: 128, name: Kmac128}, false, [verify, sign])
Fail Success: generateKey({length: 128, name: Kmac128}, true, [verify, sign])
Fail Success: generateKey({length: 128, name: Kmac128}, false, [verify])
Fail Success: generateKey({length: 128, name: Kmac128}, true, [verify])
Fail Success: generateKey({length: 128, name: Kmac128}, false, [sign, verify, sign, verify])
Fail Success: generateKey({length: 128, name: Kmac128}, true, [sign, verify, sign, verify])
Fail Success: generateKey({length: 160, name: Kmac128}, false, [sign])
Fail Success: generateKey({length: 160, name: Kmac128}, true, [sign])
Fail Success: generateKey({length: 160, name: Kmac128}, false, [verify, sign])
Fail Success: generateKey({length: 160, name: Kmac128}, true, [verify, sign])
Fail Success: generateKey({length: 160, name: Kmac128}, false, [verify])
Fail Success: generateKey({length: 160, name: Kmac128}, true, [verify])
Fail Success: generateKey({length: 160, name: Kmac128}, false, [sign, verify, sign, verify])
Fail Success: generateKey({length: 160, name: Kmac128}, true, [sign, verify, sign, verify])
Fail Success: generateKey({length: 256, name: Kmac128}, false, [sign])
Fail Success: generateKey({length: 256, name: Kmac128}, true, [sign])
Fail Success: generateKey({length: 256, name: Kmac128}, false, [verify, sign])
Fail Success: generateKey({length: 256, name: Kmac128}, true, [verify, sign])
Fail Success: generateKey({length: 256, name: Kmac128}, false, [verify])
Fail Success: generateKey({length: 256, name: Kmac128}, true, [verify])
Fail Success: generateKey({length: 256, name: Kmac128}, false, [sign, verify, sign, verify])
Fail Success: generateKey({length: 256, name: Kmac128}, true, [sign, verify, sign, verify])
Fail Success: generateKey({length: 128, name: KMAC256}, false, [sign])
Fail Success: generateKey({length: 128, name: KMAC256}, true, [sign])
Fail Success: generateKey({length: 128, name: KMAC256}, false, [verify, sign])
Fail Success: generateKey({length: 128, name: KMAC256}, true, [verify, sign])
Fail Success: generateKey({length: 128, name: KMAC256}, false, [verify])
Fail Success: generateKey({length: 128, name: KMAC256}, true, [verify])
Fail Success: generateKey({length: 128, name: KMAC256}, false, [sign, verify, sign, verify])
Fail Success: generateKey({length: 128, name: KMAC256}, true, [sign, verify, sign, verify])
Fail Success: generateKey({length: 160, name: KMAC256}, false, [sign])
Fail Success: generateKey({length: 160, name: KMAC256}, true, [sign])
Fail Success: generateKey({length: 160, name: KMAC256}, false, [verify, sign])
Fail Success: generateKey({length: 160, name: KMAC256}, true, [verify, sign])
Fail Success: generateKey({length: 160, name: KMAC256}, false, [verify])
Fail Success: generateKey({length: 160, name: KMAC256}, true, [verify])
Fail Success: generateKey({length: 160, name: KMAC256}, false, [sign, verify, sign, verify])
Fail Success: generateKey({length: 160, name: KMAC256}, true, [sign, verify, sign, verify])
Fail Success: generateKey({length: 256, name: KMAC256}, false, [sign])
Fail Success: generateKey({length: 256, name: KMAC256}, true, [sign])
Fail Success: generateKey({length: 256, name: KMAC256}, false, [verify, sign])
Fail Success: generateKey({length: 256, name: KMAC256}, true, [verify, sign])
Fail Success: generateKey({length: 256, name: KMAC256}, false, [verify])
Fail Success: generateKey({length: 256, name: KMAC256}, true, [verify])
Fail Success: generateKey({length: 256, name: KMAC256}, false, [sign, verify, sign, verify])
Fail Success: generateKey({length: 256, name: KMAC256}, true, [sign, verify, sign, verify])
Fail Success: generateKey({length: 128, name: kmac256}, false, [sign])
Fail Success: generateKey({length: 128, name: kmac256}, true, [sign])
Fail Success: generateKey({length: 128, name: kmac256}, false, [verify, sign])
Fail Success: generateKey({length: 128, name: kmac256}, true, [verify, sign])
Fail Success: generateKey({length: 128, name: kmac256}, false, [verify])
Fail Success: generateKey({length: 128, name: kmac256}, true, [verify])
Fail Success: generateKey({length: 128, name: kmac256}, false, [sign, verify, sign, verify])
Fail Success: generateKey({length: 128, name: kmac256}, true, [sign, verify, sign, verify])
Fail Success: generateKey({length: 160, name: kmac256}, false, [sign])
Fail Success: generateKey({length: 160, name: kmac256}, true, [sign])
Fail Success: generateKey({length: 160, name: kmac256}, false, [verify, sign])
Fail Success: generateKey({length: 160, name: kmac256}, true, [verify, sign])
Fail Success: generateKey({length: 160, name: kmac256}, false, [verify])
Fail Success: generateKey({length: 160, name: kmac256}, true, [verify])
Fail Success: generateKey({length: 160, name: kmac256}, false, [sign, verify, sign, verify])
Fail Success: generateKey({length: 160, name: kmac256}, true, [sign, verify, sign, verify])
Fail Success: generateKey({length: 256, name: kmac256}, false, [sign])
Fail Success: generateKey({length: 256, name: kmac256}, true, [sign])
Fail Success: generateKey({length: 256, name: kmac256}, false, [verify, sign])
Fail Success: generateKey({length: 256, name: kmac256}, true, [verify, sign])
Fail Success: generateKey({length: 256, name: kmac256}, false, [verify])
Fail Success: generateKey({length: 256, name: kmac256}, true, [verify])
Fail Success: generateKey({length: 256, name: kmac256}, false, [sign, verify, sign, verify])
Fail Success: generateKey({length: 256, name: kmac256}, true, [sign, verify, sign, verify])
Fail Success: generateKey({length: 128, name: Kmac256}, false, [sign])
Fail Success: generateKey({length: 128, name: Kmac256}, true, [sign])
Fail Success: generateKey({length: 128, name: Kmac256}, false, [verify, sign])
Fail Success: generateKey({length: 128, name: Kmac256}, true, [verify, sign])
Fail Success: generateKey({length: 128, name: Kmac256}, false, [verify])
Fail Success: generateKey({length: 128, name: Kmac256}, true, [verify])
Fail Success: generateKey({length: 128, name: Kmac256}, false, [sign, verify, sign, verify])
Fail Success: generateKey({length: 128, name: Kmac256}, true, [sign, verify, sign, verify])
Fail Success: generateKey({length: 160, name: Kmac256}, false, [sign])
Fail Success: generateKey({length: 160, name: Kmac256}, true, [sign])
Fail Success: generateKey({length: 160, name: Kmac256}, false, [verify, sign])
Fail Success: generateKey({length: 160, name: Kmac256}, true, [verify, sign])
Fail Success: generateKey({length: 160, name: Kmac256}, false, [verify])
Fail Success: generateKey({length: 160, name: Kmac256}, true, [verify])
Fail Success: generateKey({length: 160, name: Kmac256}, false, [sign, verify, sign, verify])
Fail Success: generateKey({length: 160, name: Kmac256}, true, [sign, verify, sign, verify])
Fail Success: generateKey({length: 256, name: Kmac256}, false, [sign])
Fail Success: generateKey({length: 256, name: Kmac256}, true, [sign])
Fail Success: generateKey({length: 256, name: Kmac256}, false, [verify, sign])
Fail Success: generateKey({length: 256, name: Kmac256}, true, [verify, sign])
Fail Success: generateKey({length: 256, name: Kmac256}, false, [verify])
Fail Success: generateKey({length: 256, name: Kmac256}, true, [verify])
Fail Success: generateKey({length: 256, name: Kmac256}, false, [sign, verify, sign, verify])
Fail Success: generateKey({length: 256, name: Kmac256}, true, [sign, verify, sign, verify])
144 Pass
Pass Success: generateKey({length: 128, name: KMAC128}, false, [sign])
Pass Success: generateKey({length: 128, name: KMAC128}, true, [sign])
Pass Success: generateKey({length: 128, name: KMAC128}, false, [verify, sign])
Pass Success: generateKey({length: 128, name: KMAC128}, true, [verify, sign])
Pass Success: generateKey({length: 128, name: KMAC128}, false, [verify])
Pass Success: generateKey({length: 128, name: KMAC128}, true, [verify])
Pass Success: generateKey({length: 128, name: KMAC128}, false, [sign, verify, sign, verify])
Pass Success: generateKey({length: 128, name: KMAC128}, true, [sign, verify, sign, verify])
Pass Success: generateKey({length: 160, name: KMAC128}, false, [sign])
Pass Success: generateKey({length: 160, name: KMAC128}, true, [sign])
Pass Success: generateKey({length: 160, name: KMAC128}, false, [verify, sign])
Pass Success: generateKey({length: 160, name: KMAC128}, true, [verify, sign])
Pass Success: generateKey({length: 160, name: KMAC128}, false, [verify])
Pass Success: generateKey({length: 160, name: KMAC128}, true, [verify])
Pass Success: generateKey({length: 160, name: KMAC128}, false, [sign, verify, sign, verify])
Pass Success: generateKey({length: 160, name: KMAC128}, true, [sign, verify, sign, verify])
Pass Success: generateKey({length: 256, name: KMAC128}, false, [sign])
Pass Success: generateKey({length: 256, name: KMAC128}, true, [sign])
Pass Success: generateKey({length: 256, name: KMAC128}, false, [verify, sign])
Pass Success: generateKey({length: 256, name: KMAC128}, true, [verify, sign])
Pass Success: generateKey({length: 256, name: KMAC128}, false, [verify])
Pass Success: generateKey({length: 256, name: KMAC128}, true, [verify])
Pass Success: generateKey({length: 256, name: KMAC128}, false, [sign, verify, sign, verify])
Pass Success: generateKey({length: 256, name: KMAC128}, true, [sign, verify, sign, verify])
Pass Success: generateKey({length: 128, name: kmac128}, false, [sign])
Pass Success: generateKey({length: 128, name: kmac128}, true, [sign])
Pass Success: generateKey({length: 128, name: kmac128}, false, [verify, sign])
Pass Success: generateKey({length: 128, name: kmac128}, true, [verify, sign])
Pass Success: generateKey({length: 128, name: kmac128}, false, [verify])
Pass Success: generateKey({length: 128, name: kmac128}, true, [verify])
Pass Success: generateKey({length: 128, name: kmac128}, false, [sign, verify, sign, verify])
Pass Success: generateKey({length: 128, name: kmac128}, true, [sign, verify, sign, verify])
Pass Success: generateKey({length: 160, name: kmac128}, false, [sign])
Pass Success: generateKey({length: 160, name: kmac128}, true, [sign])
Pass Success: generateKey({length: 160, name: kmac128}, false, [verify, sign])
Pass Success: generateKey({length: 160, name: kmac128}, true, [verify, sign])
Pass Success: generateKey({length: 160, name: kmac128}, false, [verify])
Pass Success: generateKey({length: 160, name: kmac128}, true, [verify])
Pass Success: generateKey({length: 160, name: kmac128}, false, [sign, verify, sign, verify])
Pass Success: generateKey({length: 160, name: kmac128}, true, [sign, verify, sign, verify])
Pass Success: generateKey({length: 256, name: kmac128}, false, [sign])
Pass Success: generateKey({length: 256, name: kmac128}, true, [sign])
Pass Success: generateKey({length: 256, name: kmac128}, false, [verify, sign])
Pass Success: generateKey({length: 256, name: kmac128}, true, [verify, sign])
Pass Success: generateKey({length: 256, name: kmac128}, false, [verify])
Pass Success: generateKey({length: 256, name: kmac128}, true, [verify])
Pass Success: generateKey({length: 256, name: kmac128}, false, [sign, verify, sign, verify])
Pass Success: generateKey({length: 256, name: kmac128}, true, [sign, verify, sign, verify])
Pass Success: generateKey({length: 128, name: Kmac128}, false, [sign])
Pass Success: generateKey({length: 128, name: Kmac128}, true, [sign])
Pass Success: generateKey({length: 128, name: Kmac128}, false, [verify, sign])
Pass Success: generateKey({length: 128, name: Kmac128}, true, [verify, sign])
Pass Success: generateKey({length: 128, name: Kmac128}, false, [verify])
Pass Success: generateKey({length: 128, name: Kmac128}, true, [verify])
Pass Success: generateKey({length: 128, name: Kmac128}, false, [sign, verify, sign, verify])
Pass Success: generateKey({length: 128, name: Kmac128}, true, [sign, verify, sign, verify])
Pass Success: generateKey({length: 160, name: Kmac128}, false, [sign])
Pass Success: generateKey({length: 160, name: Kmac128}, true, [sign])
Pass Success: generateKey({length: 160, name: Kmac128}, false, [verify, sign])
Pass Success: generateKey({length: 160, name: Kmac128}, true, [verify, sign])
Pass Success: generateKey({length: 160, name: Kmac128}, false, [verify])
Pass Success: generateKey({length: 160, name: Kmac128}, true, [verify])
Pass Success: generateKey({length: 160, name: Kmac128}, false, [sign, verify, sign, verify])
Pass Success: generateKey({length: 160, name: Kmac128}, true, [sign, verify, sign, verify])
Pass Success: generateKey({length: 256, name: Kmac128}, false, [sign])
Pass Success: generateKey({length: 256, name: Kmac128}, true, [sign])
Pass Success: generateKey({length: 256, name: Kmac128}, false, [verify, sign])
Pass Success: generateKey({length: 256, name: Kmac128}, true, [verify, sign])
Pass Success: generateKey({length: 256, name: Kmac128}, false, [verify])
Pass Success: generateKey({length: 256, name: Kmac128}, true, [verify])
Pass Success: generateKey({length: 256, name: Kmac128}, false, [sign, verify, sign, verify])
Pass Success: generateKey({length: 256, name: Kmac128}, true, [sign, verify, sign, verify])
Pass Success: generateKey({length: 128, name: KMAC256}, false, [sign])
Pass Success: generateKey({length: 128, name: KMAC256}, true, [sign])
Pass Success: generateKey({length: 128, name: KMAC256}, false, [verify, sign])
Pass Success: generateKey({length: 128, name: KMAC256}, true, [verify, sign])
Pass Success: generateKey({length: 128, name: KMAC256}, false, [verify])
Pass Success: generateKey({length: 128, name: KMAC256}, true, [verify])
Pass Success: generateKey({length: 128, name: KMAC256}, false, [sign, verify, sign, verify])
Pass Success: generateKey({length: 128, name: KMAC256}, true, [sign, verify, sign, verify])
Pass Success: generateKey({length: 160, name: KMAC256}, false, [sign])
Pass Success: generateKey({length: 160, name: KMAC256}, true, [sign])
Pass Success: generateKey({length: 160, name: KMAC256}, false, [verify, sign])
Pass Success: generateKey({length: 160, name: KMAC256}, true, [verify, sign])
Pass Success: generateKey({length: 160, name: KMAC256}, false, [verify])
Pass Success: generateKey({length: 160, name: KMAC256}, true, [verify])
Pass Success: generateKey({length: 160, name: KMAC256}, false, [sign, verify, sign, verify])
Pass Success: generateKey({length: 160, name: KMAC256}, true, [sign, verify, sign, verify])
Pass Success: generateKey({length: 256, name: KMAC256}, false, [sign])
Pass Success: generateKey({length: 256, name: KMAC256}, true, [sign])
Pass Success: generateKey({length: 256, name: KMAC256}, false, [verify, sign])
Pass Success: generateKey({length: 256, name: KMAC256}, true, [verify, sign])
Pass Success: generateKey({length: 256, name: KMAC256}, false, [verify])
Pass Success: generateKey({length: 256, name: KMAC256}, true, [verify])
Pass Success: generateKey({length: 256, name: KMAC256}, false, [sign, verify, sign, verify])
Pass Success: generateKey({length: 256, name: KMAC256}, true, [sign, verify, sign, verify])
Pass Success: generateKey({length: 128, name: kmac256}, false, [sign])
Pass Success: generateKey({length: 128, name: kmac256}, true, [sign])
Pass Success: generateKey({length: 128, name: kmac256}, false, [verify, sign])
Pass Success: generateKey({length: 128, name: kmac256}, true, [verify, sign])
Pass Success: generateKey({length: 128, name: kmac256}, false, [verify])
Pass Success: generateKey({length: 128, name: kmac256}, true, [verify])
Pass Success: generateKey({length: 128, name: kmac256}, false, [sign, verify, sign, verify])
Pass Success: generateKey({length: 128, name: kmac256}, true, [sign, verify, sign, verify])
Pass Success: generateKey({length: 160, name: kmac256}, false, [sign])
Pass Success: generateKey({length: 160, name: kmac256}, true, [sign])
Pass Success: generateKey({length: 160, name: kmac256}, false, [verify, sign])
Pass Success: generateKey({length: 160, name: kmac256}, true, [verify, sign])
Pass Success: generateKey({length: 160, name: kmac256}, false, [verify])
Pass Success: generateKey({length: 160, name: kmac256}, true, [verify])
Pass Success: generateKey({length: 160, name: kmac256}, false, [sign, verify, sign, verify])
Pass Success: generateKey({length: 160, name: kmac256}, true, [sign, verify, sign, verify])
Pass Success: generateKey({length: 256, name: kmac256}, false, [sign])
Pass Success: generateKey({length: 256, name: kmac256}, true, [sign])
Pass Success: generateKey({length: 256, name: kmac256}, false, [verify, sign])
Pass Success: generateKey({length: 256, name: kmac256}, true, [verify, sign])
Pass Success: generateKey({length: 256, name: kmac256}, false, [verify])
Pass Success: generateKey({length: 256, name: kmac256}, true, [verify])
Pass Success: generateKey({length: 256, name: kmac256}, false, [sign, verify, sign, verify])
Pass Success: generateKey({length: 256, name: kmac256}, true, [sign, verify, sign, verify])
Pass Success: generateKey({length: 128, name: Kmac256}, false, [sign])
Pass Success: generateKey({length: 128, name: Kmac256}, true, [sign])
Pass Success: generateKey({length: 128, name: Kmac256}, false, [verify, sign])
Pass Success: generateKey({length: 128, name: Kmac256}, true, [verify, sign])
Pass Success: generateKey({length: 128, name: Kmac256}, false, [verify])
Pass Success: generateKey({length: 128, name: Kmac256}, true, [verify])
Pass Success: generateKey({length: 128, name: Kmac256}, false, [sign, verify, sign, verify])
Pass Success: generateKey({length: 128, name: Kmac256}, true, [sign, verify, sign, verify])
Pass Success: generateKey({length: 160, name: Kmac256}, false, [sign])
Pass Success: generateKey({length: 160, name: Kmac256}, true, [sign])
Pass Success: generateKey({length: 160, name: Kmac256}, false, [verify, sign])
Pass Success: generateKey({length: 160, name: Kmac256}, true, [verify, sign])
Pass Success: generateKey({length: 160, name: Kmac256}, false, [verify])
Pass Success: generateKey({length: 160, name: Kmac256}, true, [verify])
Pass Success: generateKey({length: 160, name: Kmac256}, false, [sign, verify, sign, verify])
Pass Success: generateKey({length: 160, name: Kmac256}, true, [sign, verify, sign, verify])
Pass Success: generateKey({length: 256, name: Kmac256}, false, [sign])
Pass Success: generateKey({length: 256, name: Kmac256}, true, [sign])
Pass Success: generateKey({length: 256, name: Kmac256}, false, [verify, sign])
Pass Success: generateKey({length: 256, name: Kmac256}, true, [verify, sign])
Pass Success: generateKey({length: 256, name: Kmac256}, false, [verify])
Pass Success: generateKey({length: 256, name: Kmac256}, true, [verify])
Pass Success: generateKey({length: 256, name: Kmac256}, false, [sign, verify, sign, verify])
Pass Success: generateKey({length: 256, name: Kmac256}, true, [sign, verify, sign, verify])