STRUCT DCP_BLOB_FMT(9)
π struct dcp_blob_fmt(9) β like, the DCP BLOB format bestie π
okay so this is a page from the Kernel API Manual and it's all about struct dcp_blob_fmt, which is literally the DCP BLOB format. no cap. let's get into it π«Ά
β¨ SYNOPSIS β¨
here's the whole struct, bestie β every single field, exactly as it is, no notes:
struct dcp_blob_fmt {
__u8 fmt_version;
__u8 blob_key[AES_KEYSIZE_128];
__u8 nonce[AES_KEYSIZE_128];
__le32 payload_len;
__u8 payload[];
};
π Members π
fmt_versionβ the format version, and rn it's1. that's the vibe. one. πblob_keyβ a random AES 128 key that's used to encrypt thepayload. plot twist tho:blob_keyitself gets encrypted with the OTP or UNIQUE device key in AES-128-ECB mode by DCP. so it's keys all the way down, iykyk π₯nonceβ a random nonce, used for thepayloadencryption. iconic behavior honestly.payload_lenβ the length of the plain text payload. just the length, she's not the payload herself, she just knows her. πpayloadβ the payload itself!! encrypted using AES-128-GCM andblob_key, and a GCM auth tag of sizeDCP_BLOB_AUTHLENis attached at the end of it. so the tag is like, right there at the tail, holding it together πΈ
π¦ Description π¦
the total size of a DCP BLOB is literally this:
sizeof(struct dcp_blob_fmt) + payload_len + DCP_BLOB_AUTHLEN
that's it, that's the math, and it ate π
π SEE ALSO π
- the Kernel file
./security/keys/trusted-keys/trusted_dcp.c dcp blob format(9)β yes that's the ref, go read it bestie π
ngl the whole thing is giving "crypto struct that knows exactly what she is" and honestly? obsessed. π
okay bye bestie, this page lives in ./security/keys/trusted-keys and it's dated October 2026 β mwah, slay, periodt π§ββοΈπ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms