I've been trying to find information about how systemd-cryptenroll performs full-drive encryption with LUKS. I understand that the LUKS header allows multiple keyslots, and that using the TPM as a decryption method is actually using the TPM to unlock one of the keyslots that can then be used to retrieve the LUKS volume key, which is actually used for encryption/decryption. However, what I am unclear on is whether the PCR values themselves are used for the TPM keyslot (since each PCR value can be 512 bits and multiple values can be hashed together) or if there is a secret sealed into the TPM device itself that is provided when the correct PCR values are present.
In a simplified example, if encryption were bound to PCRs 1+7 and the values were:
PCR1: 12345 PCR7: 67890 would the keyslot be unsealed using some combination of those values (ex. adding them to get 80235) or by retrieving the key from the TPM device when those values are present in the registers?
Thanks!