Learned-key sensitivity, brute-force and real-token stages; legend order

exp_learned.py completes the learned side of the result stages, so every
figure can carry both realizations of keyed masking. real() holds the
structured artifacts aside and restores them, since exp_real_sec writes
fixed file names.

replot_security.py ranks legend handles from one declared order at all
three ax.legend call sites, so entries no longer follow plot-call order
and drift between figures.
This commit is contained in:
KiHoLee
2026-08-28 20:31:50 +09:00
parent c00e8ab666
commit 669737e83d
16 changed files with 210 additions and 26 deletions
+3 -3
View File
@@ -11,8 +11,8 @@ from pathlib import Path
DATA = Path(__file__).resolve().parents[1] / "data"
NAME = {
"proposed": r"\textbf{KM (structured)}",
"proposed_learned": r"\textbf{KM (learned)}",
"proposed": r"\textbf{KM (str.)}",
"proposed_learned": r"\textbf{KM (lrn.)}",
"public_mask": "Public masks",
"perm_key": r"Permutation key~\cite{chen2025shufflingtifs}",
"index_cipher": "Index cipher",
@@ -21,7 +21,7 @@ NAME = {
"hadamard": "Structured",
"learned": "Learned, plain",
"learned_reg": r"Learned, regularized~\eqref{eq:regloss}",
"invariant_learned": r"\textbf{Invariant, learned keys}",
"invariant_learned": r"\textbf{Invariant, KM (lrn.)}",
}
RECEIVER = {
"legit": "Legitimate", "oma": "OMA",