Concise Binary Object Representation (CBOR) is the primary encoding format. It is designed for interoperability with JSON but offers a more compact binary footprint. This allows for faster offline transmission (via NFC or BLE) and supports complex data types like images with reduced size overhead.
6.2 Object Signing (COSE)
To ensure data is tamper-proof, UIDAI uses CBOR Object Signing and Encryption (COSE) . Every mso is signed as a COSE_Sign1 message. This process authenticates both the Issuer (UIDAI) and binds the document to the Holder's Device Key , preventing unauthorized cloning of the credential.
6.3 Hashed Salted Claims
Aadhaar mDocs use salted hashes to enhance privacy. Each claim is combined with a unique "salt" (the random hex value) before being hashed. This prevents "dictionary attacks" where a verifier could guess a birthdate by comparing hashes, ensuring that shared data remains private and unique to each transaction.