## 3 Dependency Graph  
Within the Montgomery multiplication algorithm, the iterative section encompasses two recursive expressions, defined in Equations (10) and (12). These equations define the computational steps involved in the algorithm, highlighting its iterative nature. Although the computation structures of Equations (10) and (12) are fundamentally similar, they diverge in terms of the order in which input and output elements are processed.  
To visualize the interdependencies within the algorithm, Figures 1 and 2 present the derived dependency graphs (DGs) specifically designed for a field size of \(k=5\). These DGs provide a graphical representation of the relationships between different elements within the algorithm, displayed in a two-dimensional integer domain \(\mathbb{D}\) with indices \(i\) and \(j\). By examining these graphs, one can gain insights into the flow of computations and the connections between various nodes. The set of nodes (squares) present within the DGs execute the iterative Formulas (10) and (12). Notably, the number of these nodes is determined by the formula \(k\times(k+1)/2\). Each node performs specific calculations and contributes to the overall computation process, facilitating the execution of the Montgomery multiplication algorithm.  
The Montgomery multiplication algorithm employs a well-defined input strategy to ensure proper computation. During the initial stages, the input signals \(d_{k-i}\) and \(d_{i}\) are directed from left to right, following a consistent and orderly pattern. This left-to-right orientation facilitates the systematic entry of these signals, where \(i\) ranges from \(1\) to \((k+1)/2\). Simultaneously, at the topmost section of the dependency graphs (DGs), the input signals \(c_{k-1-j}\) and \(c_{j}\) are introduced, establishing a distinct entry point. Expanding further on the input procedure, additional signals, namely, \(f_{k-1-j}\) and \(f_{j+1}\), are sequentially incorporated from the top of the DGs. These signals join the computational flow, contributing to the iterative process of the algorithm. To distinguish specific input parameters, visual cues in the form of red slanted lines are strategically placed at the right corners of the input nodes. These lines symbolize the insertion of input signals with initial values of \(a_{k-2-j}^{0}\) and \(b_{j+1}^{0}\), both initialized to zero. Additionally, we have applied a red-coloured highlight to distinguish the intermediate partial products of the \(A\) and \(B\) signals. This visual distinction aids in easily identifying and understanding the computations involved.  
Within each node of the dependency graphs, intermediate partial products of the \(A\) and \(B\) coefficients are calculated. These intermediate results serve as crucial elements in the  
Figure 1: DG of recursive Formula (10) for \(k=5\).  
Figure 2: DG of recursive Formula (12) for \(k=5\).  
overall computation, as they are subsequently transmitted to the nodes in the subsequent row. Through this iterative progression, the algorithm systematically processes the partial products, gradually building towards the final outcome. Ultimately, the final result, denoted by \(P\), is derived by summing the last coefficients of \(A^{(k+1)/2}\) and \(B^{(k+1)/2}\) using XOR gates.