## 3 Chain Communication Model
### Message Hash Chain Communication Model  
The MHC method is not only for a specific layer in the TCP/IP network model but also for each message in the data flow, which can be applied to any logical layer. The structure diagram of the chain communication model is shown in Figure 1. The MHC method adds the message sequence number (Sequence) and the node value of the message hash chain fields. The sequence is used to provide the reliability of the transmission process, and the node value of the message hash chain is used to verify the message. Its construction process is described in detail in Section 4. The chain communication model mainly includes the sender constructing the message hash chain and the receiver verifying the message hash chain during the interaction between the two communicating parties. The specific processing procedures of the sender and receiver are as follows. 1. The sender first determines the \(src\)(source address), \(dst\)(destination address), and \(other\)(other fields of the header) of the sent message, and then the header information \(hdr_{i}=(src,dst,other)\) can be obtained. The expression of the message \(m_{i}\) that the sender needs to send in the MHC method is \[m_{i}=(hdr_{i},payload_{i}).\] (1) where \(payload_{i}\) is the payload of \(m_{i}\). The sender needs to obtain the message hash chain from \(src\) to \(dst\) locally and record the message hash chain as \(HC(src,dst)\). According to the \(m_{i}\) and the tail node \(HC(src,dst)_{i-1}\) of the message hash chain, the latest node \(HC(src,dst)_{i-1}\) of the message hash chain is constructed, i.e., the node value \(HC(src,dst)_{i}=h(h(m_{i})||HC(src,dst)_{i}-1)\) of message hash chain corresponding to the message \(m_{i}\). At the same time, \(HC_{i-1}\) is updated to the intermediate node of this message hash chain, and \(HC_{i}\) is updated to the tail node of the chain of this message hash chain. The sender sends the message \(p_{i}=(m_{i},seq_{i},HC_{i})\) to the receiver according to \(dst\), where \(seq_{i}\) is the sequence. \begin{table}
\begin{tabular}{c l} \hline \hline
**Notation** & **Meaning** \\ \hline \(h(\cdot)\) & Cryptographic hash functions, \(h:\{0,1\}^{*}\to Z_{q}^{*}\). \\ \(A||B\) & Concatenate string \(A\) with string \(B\). \\ \(p_{i}\) & The \(i\)th message of message transmission sequence. \\ \(HC_{i}\) & The \(i\)th node value of the message hash chain constructed by the sender is sent to the communication peer together with the payload and needs to be verified. \\ \(HC_{i}^{\prime}\) & The \(i\)th node value of the message hash chain constructed by the receiver is used to compare with the received message hash chain. \\ \(m_{i}\) & The content of the \(i\)th message sent by the sender. \\ \(s_{i}\) & The digital signature of \(p_{i}\). \\ \((ek,dk)\) & Key pair in the asymmetric digital signature. \\ \(Sig(ek,HC_{i})\) & Based on its \(ek\), the sender uses an asymmetric encryption algorithm to calculate the signature \(s_{i}\) of \(HC_{i}\). \\  & The receiver verifies the signature \(s_{i}\) against the sender’s \(publickey\). If the value \\ \(Ver(dk,s_{i})\) & is 1, it means that the verification can be successful; otherwise, it means that the verification cannot be passed. \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Notation and meaning. Figure 1: Message hash chain communication model. After receiving the \(p_{i}\), the receiver verifies the node value of the message hash chain. Record the receiver's message hash chain as \(HC^{\prime}(src,dst)\). The receiver calculates a node value \(HC^{\prime}(src,dst)_{i}=h(h(m_{i})||HC^{\prime}(src,dst)_{i-1})\) to be verified in the message hash chain between \(src\) and \(dst\) through the construction method of the message hash chain, where \(HC^{\prime}(src,dst)_{i-1}\) is the tail node of the message hash chain constructed by the receiver. Next, the receiver verifies whether \(HC(src,dst)_{i}=HC^{\prime}(src,dst)_{i}\) holds.