> For the complete documentation index, see [llms.txt](https://encryptum.gitbook.io/encryptum/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://encryptum.gitbook.io/encryptum/storage-and-retrieval-process/generating-content-identifiers.md).

# Generating Content Identifiers

After the data is encrypted on the client side, the next step is generating a Content Identifier, or CID. The CID acts as a unique cryptographic fingerprint representing the encrypted data within the decentralized storage network.

To create the CID, the encrypted data is processed through a cryptographic hash function, such as SHA-256. This function produces a fixed-length hash value that is directly linked to the exact content of the encrypted file. Any modification to the encrypted data, even a single bit, results in a completely different CID. This characteristic provides a tamper-evident mechanism that allows users and the system to verify the integrity of the stored data with certainty.

The CID serves as a content-based address used within the IPFS network to locate and retrieve the corresponding encrypted file. Unlike traditional address systems that point to a specific physical location, content addressing locates data based on its content. This allows the network to retrieve files from any node storing the correct encrypted data, improving data availability and resilience against failures or censorship.

The use of CIDs also supports deduplication. When identical encrypted files are uploaded by multiple users, the hashing process produces the same CID for each copy. This allows the network to store a single instance of the data instead of multiple duplicates, saving storage space and reducing bandwidth consumption.

In addition, CIDs enable efficient caching by storage nodes, which can quickly verify the requested content by matching its CID. This makes data delivery faster and more reliable across the distributed storage network.

Generating CIDs is a crucial step that links encryption with decentralized storage, providing a secure, verifiable, and efficient method to identify and retrieve encrypted data within the Encryptum protocol.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://encryptum.gitbook.io/encryptum/storage-and-retrieval-process/generating-content-identifiers.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
