## 3 MuReQua Decentralized Storage and Security Engine (MuReQua DeSSE)
### Main Features of Downloading Component  
Let us consider the download model with its conceptual steps, as in Figure 4.  
1. The client makes a request for the download of a file, and it sends the file identifier to the server through a GET parameter pre-encrypted in AES-256. 2. The server receives from the client user the user identifier and the file identifier through the GET parameters, also pre-encrypted in AES-256. Then, the server verifies whether the user identifier, once decrypted, matches the user identifier stored in the session parameters. If the verification is successful, the server retrieves from its local database the information necessary for the retrieval of the file. This information includes the domain-path pair of the fragment, the name, type, and size of the file. 3. The domain-path pair (already encrypted in the database) is then sent to local server 1, which further encrypts this data and transmits it to local server 2. 4. This last server is tasked with recreating the tree structure of the file fragments. It starts by taking the first fragment and proceeds with decrypting it, thus making the information contained in the fragment accessible. In particular, the domain-path pairs of the contiguous fragments, both preceding and following the initial one, are retrieved, which are also used to recover the adjacent fragments. Here, we recall that the first fragment does not correspond to the beginning of the file, which was encrypted and stored after fragmentation and all the procedures described during the uploading phase. Instead, it is the fragment that was randomly chosen to be indexed in the database on the local machine, meaning it is excluded from visibility on the external network. 5. With the progressive recovery of the fragments, the system proceeds with the decryption of their content, overcoming the proprietary encryption, and concatenates them in sequential order. 6. The content of the fragments is forwarded directly to the client so that it can be downloaded. 7. The entire file is never saved on any server in the system but is directly provided to the client. With reference to point 1 of downloading, when the client clicks the download button, an automated procedure is initiated. This procedure retrieves the necessary parameters, encrypts them using the advanced AES-256 encryption algorithm to ensure maximum security, and sends them via a GET request to server 1. The parameters include the unique user identifier and the specific identifier of the requested file, both of which are crucial for  
Figure 4: Conceptual download architecture. This figure illustrates the system flow during the download process, highlighting key components and operations involved. obtaining all the necessary information to initiate the download process. These details are then processed and subsequently forwarded to server 2, which manages the final phase of the download, ensuring that the file requested by the client is downloaded correctly and securely. With reference to points 2 and 3 of the downloading scheme, server 2 conducts a thorough check to verify the legitimacy of the requested download. If the check is positive, server 2 proceeds to retrieve additional critical information. This includes references to one of the file fragments, specifically the IP address of the server/storage and the specific allocation within the server/storage. Along with these details, other essential metadata are retrieved to facilitate the initiation of the process to recover all the fragments that make up the file. All this information is then encrypted using the AES-256 algorithm, ensuring maximum security during transmission. Subsequently, the encrypted information is forwarded to server 3, which manages the final phase of the process, ensuring that the retrieval and assembly of the file occur correctly and securely. With reference to points 4 and 5 of the downloading scheme, the reverse procedure described in points 5 and 6 of the uploading scheme are executed.