Re-run the key-length attack sweep and emphasize the main-configuration row

stage_F was missed in the structured-family regeneration, so sec_brute.csv
and sec_sens.csv still carried learned-family results. Re-running it moves
the L=16 brute-force point from 0.7495 to 0.5916, which now agrees with
sec_brute_cmp.csv rather than contradicting it.

make_tables.py bolds the Walsh-Hadamard row the way it already bolds the
proposed and invariant rows, since that family is the main configuration.
This commit is contained in:
KiHoLee
2026-08-18 08:48:41 +09:00
parent 3d5a7fc6f3
commit 3cf3b6c3a7
3 changed files with 58 additions and 52 deletions
+8 -2
View File
@@ -67,9 +67,15 @@ def compare_table():
def maskfam_table():
print("% Table: key families (from sec_maskfam.csv)")
for r in csv.DictReader(open(DATA / "sec_maskfam.csv")):
cells = [cell(r[k], False) for k in
# the structured family is the main configuration, so its row is
# emphasized the same way the proposed row is in the comparison
b = r["family"] == "hadamard"
cells = [cell(r[k], b) for k in
("legit_ser", "eve_ser", "eve_ones_ser", "mask_xcorr")]
print(f"{NAME[r['family']]} & " + " & ".join(cells) + r" \\")
name = NAME[r["family"]]
if b:
name = r"\textbf{" + name + "}"
print(f"{name} & " + " & ".join(cells) + r" \\")
def real_table():