minimize_probing_sets - ChairImpSec/PROLEAD GitHub Wiki
Type
String
Default
no
Description
Specifies whether PROLEAD should attempt to reduce the number of probing sets considered during the evaluation. The following three modes are supported:
no
: PROLEAD does not attempt to minimize the number of probing sets, allowing probes on every intermediate or output signal.trivial
: PROLEAD ignores probes that are fully covered by other probes, meaning it only considers probes on primary outputs and register inputs. Additionally, PROLEAD removes all duplicate probing sets from the list.aggressive
: Similar to thetrivial
mode, but PROLEAD also attempts to remove probing sets that are fully covered by other probing sets.
Impact
Each mode has specific advantages and disadvantages, as detailed below:
-
no
: In this mode, the maximum number of probing sets is evaluated, resulting in the highest evaluation overhead. However, no preprocessing is needed to remove probing sets. Evaluating even smaller probing sets can potentially detect leakages with fewer simulations compared to other modes. -
trivial
: This mode removes most covered probing sets through preprocessing steps that incur negligible runtime. As a result, the evaluation overhead is significantly reduced compared to theno
mode, while the preprocessing overhead remains minimal. -
aggressive
: Checking if a probing set is fully covered by another incurs quadratic overhead, meaning this mode applies preprocessing steps that can be time-consuming and potentially infeasible for a large number of probing sets. However, it results in the smallest number of probing sets to evaluate, leading to the most efficient evaluation.
We recommend the trivial
mode for most evaluations, particularly when aggressive is not feasible. However, if the probing sets contain a large number of probes — such as in most low-latency masked designs — we suggest using the no
to reduce the simulation effort required to detect potential leakages.
Examples
"performance": {
"minimize_probing_sets": "trivial"
}
In this example, we set the minimization mode to trivial
.