where \(n^*_k\)  and \(n^*_{k-1}\)  respectively denote the number of neurons forming the layers \(l^{k}_{n_j}\)  and \(l^{k-1}_{n_j}\) . As our goal is to maintain the privacy of the distributed system and for simplicity purposes, each fully connected layer will be computed by a single IoT participant as the shared output between such layers cannot be attacked and recovered [1]}. We emphasize that this will only be applied to fully connected layers. Accordingly, \(\lbrace P_{l^{k}_{n_j}},...,P_{l^{L}_{n_j}}\rbrace \)  are equal to 1 if \(l^{k}_{n_j}\)  is a fully connected layer. Furthermore, the memory occupation of a segment \(p_{l^{k}_{n_j}}\)  can be evaluated as the number of stored weights \(W^{k,p}_j\)  multiplied by the memory word-length (number of bits required to store each weight) [2]}; which is presented as follows:
\(\begin{aligned}m^{k,p}_j=W^{k,p}_j \times b,\end{aligned}\) 
