@@ -336,11 +338,12 @@ inversely (the `MSKcols2bundle` module). These only consist in wiring modificati

-A `MSKspook_sbox_dual` instance is implemented using dedicated logic for the Sbox operation. The inverse Sbox
-operation is performed by reusing the Sbox logic with two additional linear layers (`MSKpre_inv_sbox` before
-the sbox logic and `MSKpost_inv_sbox` after). In particular, the input of the Sbox logic comes either
-from `MSKpre_inv_sbox` or from the instance input depending on the value of the `inverse` control signal.
-Similarly, the output of the instance comes either from `MSKpost_inv_sbox` or from the output of the sbox.
+A`MSKspook_sbox_dual` instance is mainly composed by the logic dedicated to perform the Sbox operation
+(i.e., `MSKspook_spook`). The inverse Sbox operation is performed by reusing the Sbox logic with two
+additional linear layers (`MSKpre_inv_sbox` before the sbox logic and `MSKpost_inv_sbox` after). In
+particular, the input of the Sbox logic comes either from `MSKpre_inv_sbox` or from the instance
+input depending on the value of the `inverse` control signal. Similarly, the output of the instance
+comes either from `MSKpost_inv_sbox` or from the output of the sbox.
@@ -367,6 +370,19 @@ The different configurations are summed up in the following table:

+The specific (and quite difficult) architure of a `MSKspook_sbox` instance is shown next. The labels used
+directly reflect the related HDL code. Each color used represent a level in the pipeline.
+A specificity is to be noted for the AND gates: these are implemented with one pipeline level and two
+different latencies for the inputs. More especially, the inputs are expected to enter the
+core at two successive clock cycles. Denoting these cycles c
+
+![MSKspook_sbox](/spook_msk/schematics/MSKspook_sbox.jpg)
+
+

+
### Simulations Script (unix-like)
As mentionned above, the [simu](spook_msk/simu) contains the simulation script