Commit Graph
7 Commits
Author SHA1 Message Date
KiHoLee 3229a25bfa Per-stage invocation and the permutation-variant measurement 2026-08-22 14:54:49 +09:00
KiHoLee 58a85c30f6 Sync with the audited manuscript
The jammed OMA model now matches the transmit chain the paper
describes, the key-length sweep averages the eavesdropper over eight
substitute-key draws, and verify_math gains the coded-OMA outage
reference, symbolic checks of the three algebraic identities, and the
cross-period remainder of Proposition 2. The README records the energy
and channel conventions.
2026-08-22 14:47:17 +09:00
KiHoLee 3529ab1918 Audit round: fair OMA reference, dense grids, covariance-attack checks
Resource-match the OMA reference in the key-length sweep (oma_ser_keylen),
which gives it the L/16 combining gain the longer frame allows. The
proposal now passes a resource-matched OMA by 1.27x at L=64 rather than
the 4.3x reported against a fixed-d reference.

Densify the JSR, sensitivity, and brute-force grids so the curves are
smooth, give the index cipher its channel floor instead of error-free
reception, and add the permutation-key known-plaintext attack
(exp_permkpa) so Fig. 7 carries a conventional linear scheme.

Add check_cov_attack.py and check_cov_ceiling.py: a referee raised a
ciphertext-only second-order attack; the exact-population test shows the
received covariance leaks only a sparse rank-deficient subset of the key
Gram and leaves the eavesdropper at the random-guess level.

Dump verify_math.csv, move the superseded V=256 pilot CSVs to data/pilot.
2026-08-16 23:48:39 +09:00
KiHoLee fbbad154b2 Match the README key-entropy wording to the manuscript
The fixed key space is 15.0 bits, counted over the L-1 non-constant
Walsh-Hadamard rows, since the design excludes the all-ones row.
2026-08-14 01:45:10 +09:00
KiHoLee c31e6a3fe0 Four-scheme jamming comparison and a fully generated refresh table
Give the orthogonal-access jammer its own Rayleigh channel in
oma_ser_jammed, matching the convention every simulated scheme already
used. Without it the closed-form curve faced a jammer at full power in
every frame while the Monte Carlo curves faced a fading one, which
inverted the ordering of the comparison.

Measure the outsider error rate for the fixed-key and naive-refresh
cases as well, and emit the two refresh tables from make_tables.py, so
no cell of the paper is hand-typed.
2026-08-13 22:22:18 +09:00
KiHoLee 057c555374 Add the key-refresh layer
Derives each block key from the transformations that leave the decision
statistic invariant: a global sign per frame entry, a relabeling of the
frame entries applied to keys and codebook together, and a permutation
of which user holds which row. The legitimate error rate is unchanged
at 0.257 across 24 blocks while a refresh that installs fresh
orthogonal keys reaches 0.710, and a key recovered by known plaintext
returns to the random-guess level one block later.
2026-08-13 21:46:45 +09:00
KiHoLee 37392bc38f Keyed masking for secure multi-user semantic communication
Reproducibility package for the TIFS submission: transmit and receive
core, security stages (eavesdropper, jamming, key families, attack
difficulty, known-plaintext), real BERT token streams, closed-form
verification, and the scripts that regenerate every figure and table
from the released CSVs.
2026-08-13 21:01:32 +09:00