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.
638 B
638 B
| 1 | L | d | legit_ser | eve_ser | mask_xcorr | oma |
|---|---|---|---|---|---|---|
| 2 | 4 | 16 | 0.9997925 | 0.999963 | 0.01188752614 | 0.961963405 |
| 3 | 6 | 24 | 0.9921175 | 0.9996935 | 0.09415384382 | nan |
| 4 | 8 | 32 | 0.9297855 | 0.999972 | 0.007307400461 | 0.4769767714 |
| 5 | 10 | 40 | 0.6965535 | 0.9999585 | 0.006223429926 | nan |
| 6 | 12 | 48 | 0.416604 | 0.999781 | 0.005153660662 | nan |
| 7 | 14 | 56 | 0.3323575 | 0.999695 | 0.005685989745 | nan |
| 8 | 16 | 64 | 0.2762895 | 0.9999285 | 0.007116591092 | 0.2747696909 |
| 9 | 20 | 80 | 0.2076175 | 0.9996245 | 0.003162040841 | 0.2289444229 |
| 10 | 24 | 96 | 0.1829615 | 0.999975 | 0.002973971656 | 0.1961714033 |
| 11 | 32 | 128 | 0.131901 | 0.9998895 | 0.005575809628 | 0.1524639978 |
| 12 | 48 | 192 | 0.090206 | 0.999845 | 0.005743456539 | 0.1054308944 |
| 13 | 64 | 256 | 0.0635265 | 0.9997915 | 0.006678360514 | 0.08056383667 |