"KDF1_SP800_108",
"ECC"
);
-ENUM_NEXT(tpm_alg_id_names, TPM2_ALG_SYMCIPHER, TPM2_ALG_CAMELLIA, TPM2_ALG_ECC,
+ENUM_NEXT(tpm_alg_id_names, TPM2_ALG_SYMCIPHER, TPM2_ALG_SHA3_512, TPM2_ALG_ECC,
"SYMCIPHER",
- "CAMELLIA"
+ "CAMELLIA",
+ "SHA3_256",
+ "SHA3_384",
+ "SHA3_512"
);
-ENUM_NEXT(tpm_alg_id_names, TPM2_ALG_CTR, TPM2_ALG_ECB, TPM2_ALG_CAMELLIA,
+ENUM_NEXT(tpm_alg_id_names, TPM2_ALG_CMAC, TPM2_ALG_ECB, TPM2_ALG_SHA3_512,
+ "CMAC",
"CTR",
"OFB",
"CBC",
return TPM2_ALG_SHA384;
case HASH_SHA512:
return TPM2_ALG_SHA512;
+ case HASH_SHA3_256:
+ return TPM2_ALG_SHA3_256;
+ case HASH_SHA3_384:
+ return TPM2_ALG_SHA3_384;
+ case HASH_SHA3_512:
+ return TPM2_ALG_SHA3_512;
default:
return TPM2_ALG_ERROR;
}
return HASH_SHA384;
case TPM2_ALG_SHA512:
return HASH_SHA512;
+ case TPM2_ALG_SHA3_256:
+ return HASH_SHA3_256;
+ case TPM2_ALG_SHA3_384:
+ return HASH_SHA3_384;
+ case TPM2_ALG_SHA3_512:
+ return HASH_SHA3_512;
default:
return HASH_UNKNOWN;
}
HASH_SIZE_SHA1);
break;
case HASH_SHA256:
+ case HASH_SHA3_256:
if (data.len != HASH_SIZE_SHA256)
{
return FALSE;
HASH_SIZE_SHA256);
break;
case HASH_SHA384:
+ case HASH_SHA3_384:
if (data.len != HASH_SIZE_SHA384)
{
return FALSE;
HASH_SIZE_SHA384);
break;
case HASH_SHA512:
+ case HASH_SHA3_512:
if (data.len != HASH_SIZE_SHA512)
{
return FALSE;