## 2 Literature Review
### CRYSTALS-Dilithium
**Require:**\(\zeta\in\{0,1\}^{256}\)  
**Ensure:**\((\rho,\rho^{\prime},K)\in\{0,1\}^{256}\times\{0,1\}^{512}\times\{0,1\}^{256}:=H(\zeta)\)  
\(A\in\mathbb{R}^{k\times\ell}:=\text{ExpandA}(\rho)\)  
\((s_{1},s_{2})\in S^{\ell}\times S^{k}:=\text{ExpandS}(\rho^{\prime})\)  
\(t:=As_{1}+s_{2}\)  
\((t_{1},t_{0}):=\text{Power2 Round}_{q}(t,d)\)  
\(tr\in\{0,1\}^{256}:=H(\rho\|t_{1})\)  
**return**\((pk=(\rho,t_{1}),sk=(\rho,K,tr,s_{1},s_{2},t_{0}))\)  
**Algorithm 4** Dilithium key generation [(43)]. **Signature generation:** The cryptographic signature generation process begins by extracting seeds and values from \(sk\), laying the foundation for crafting a robust signature. These elements, extracted with precision, play a pivotal role in shaping the ensuing signature. Alongside this extraction, the input message seamlessly integrates into the signature creation process, ensuring that the resulting signature faithfully represents the original message. In tandem with this integration, a collision-resistant hash function, \(\mu\), undergoes computation, leveraging the message and additional inputs to fortify the integrity of the signature generation process. This hash serves as a critical component, adding an extra layer of security to the cryptographic framework. Furthermore, the expansion of matrix \(A\) marks a significant step in enhancing the security posture of the algorithm. The subsequent application of forward number theoretic transform (NTT) to pertinent vectors reinforces the cryptographic resilience of the system, contributing to the overall robustness of the signature generation process. As the execution unfolds, an infinite loop orchestrates the generation of an intermediate vector \(y\), which undergoes meticulous scrutiny through matrix multiplication and various validation functions. This iterative process \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Parameters** & **2** & **3** & **5** \\ \hline \(q\) & 8,380,417 & 8,380,417 & 8,380,417 \\ \(\gamma_{1}\) & 2 & 17 & 19 \\ \(\gamma_{2}\) & \((q-1)/88\) & \((q-1)/32\) & \((q-1)/32\) \\ \((k,\ell)\) & \((4,4)\) & \((6,5)\) & \((8,7)\) \\ \(\eta\) & 2 & 4 & 2 \\ \(\beta\) & 78 & 196 & 120 \\ \(\omega\) & 80 & 55 & 75 \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Parameter sets for CRYSTALS-Dilithium. ensures that the signature meets stringent criteria, affirming its validity and reliability in cryptographic applications. ```
0:\(sk=(\rho,K,tr,s_{1},s_{2},t_{0}),M\in\{0,1\}^{*}\)
0:\(\sigma=(\mathcal{c},z,h)\) \(A\leftarrow\mathrm{ExpandA}(\rho)\quad\mu\gets H(tr\|M)\quad\rho^{\prime} \gets H(K\|\mu)\) \(k\gets 0\quad\text{abort}\gets 1\) whileabortdo \(\text{abort}\gets 0\) \(y\leftarrow\mathrm{ExpandMask}(\rho^{\prime},k)\) \(w\gets A\cdot y\) \(w_{1}\leftarrow\text{HighBits}\) \(\mathcal{c}\gets H(\mu\|\omega_{1})\) \(c\leftarrow\mathrm{SampleBall}(\mathcal{c})\) \(z\gets y+c\cdot\gamma_{1}\) \(r_{0}\leftarrow\mathrm{LowBits}(\omega-\mathrm{c}\cdot s_{2},2\gamma_{2})\) if\(\|z\|_{\infty}\geq\gamma_{1}-\beta\) or \(\|r_{0}\|_{\infty}\geq\gamma_{2}-\beta\)then  abort\(\gets 1\) else \(h\leftarrow\mathrm{MakeHint}(-c\cdot t_{0},\omega-c\cdot s_{2}+c\cdot t_{0},2 \gamma_{2})\) if\(\|c\cdot t_{0}\|_{\infty}\geq\gamma_{2}\) or \(\sum h_{i}>\omega\)then  abort\(\gets 1\) endif \(k\gets k+\ell\) endif endwhilereturn\(\sigma=(\mathcal{c},z,h)\)
```  
**Algorithm 5** Dilithium signature generation [43]. **Signature verification:** The algorithm verifies the authenticity of a signature against its corresponding \(pk\), ensuring secure communication. It begins by extracting the signature and \(pk\) components. If the signature meets predefined conditions, indicating authenticity, the algorithm accepts it and copies the message. Otherwise, it promptly rejects the signature, safeguarding against potential tampering or unauthorized access.