The
serialized large-blob array is handled by the authenticator at three different levels of abstraction depending on the operation.
Firstly, for storage purposes and when the platform is reading it, it's an opaque bytestring. That's the level at which to interpret the initial value: it's just a magic sequence of 136 bits that you set it to after reset.
When the platform has just finished writing the serialized large-blob array, the authenticator considers it with one more level of structure: it's an opaque bytestring followed by 16 bytes of checksum. The checksum is a truncated SHA-256 hash and you can calculate most the initial value from that:
>>> contents_hex = '80'
>>> contents_hex + hashlib.sha256(bytes.fromhex(contents_hex)).hexdigest()[:32]
'8076be8b528d0075f7aae98d6fa57a6d3c'
Lastly, the authenticator can
optionally understand it at the same level that the platform does: as a CBOR array followed by the checksum. That explains the initial value fully: 0x80 is an empty CBOR array.
I hope that helps.
AGL