From 55e417276db873ad00c413222a698207930a69a2 Mon Sep 17 00:00:00 2001 From: KiHoLee Date: Wed, 19 Aug 2026 17:32:28 +0900 Subject: [PATCH] Covariance attack at the main configuration, stored to data/ The ciphertext-only check trained its own L=16 model and printed only a verdict; it now attacks the main configuration and writes data/cov_attack.csv, which the manuscript cites. --- code/check_cov_attack.py | 21 +++++++++++++++------ code/replot_security.py | 10 +++++----- data/cov_attack.csv | 7 +++++++ fig/fig_sec_brute.pdf | Bin 34249 -> 34245 bytes fig/fig_sec_jam.pdf | Bin 40330 -> 40293 bytes fig/fig_sec_keylen.pdf | Bin 31385 -> 31360 bytes fig/fig_sec_kpa.pdf | Bin 35222 -> 35187 bytes fig/fig_sec_real.pdf | Bin 37845 -> 37823 bytes fig/fig_sec_sens.pdf | Bin 30391 -> 30382 bytes fig/fig_sec_snr.pdf | Bin 39800 -> 39825 bytes 10 files changed, 27 insertions(+), 11 deletions(-) create mode 100644 data/cov_attack.csv diff --git a/code/check_cov_attack.py b/code/check_cov_attack.py index accd361..6a53278 100644 --- a/code/check_cov_attack.py +++ b/code/check_cov_attack.py @@ -18,16 +18,18 @@ Procedure, using nothing the threat model keeps secret: 6. report the recovered-entry fraction and the eavesdropper SER, both WITHOUT ever using a known index -Run under WSL. Prints a verdict; writes nothing to data/. +Run under WSL. Writes data/cov_attack.csv so the manuscript sentence +it supports is traceable to a stored artifact. """ from __future__ import annotations import itertools import math +from pathlib import Path import numpy as np import torch from sse_lib import rayleigh_gain, DEVICE -from exp_full import get_model, hadamard, eval_ser_eve +from exp_full import main_model, hadamard, eval_ser_eve def collect_frames(m, n, snr_db, seed): @@ -94,18 +96,25 @@ def attack(m, snr_db, n_frames, seed): def main(): - U, L = 4, 16 - K0 = torch.tensor(hadamard(L)[1:U + 1], dtype=torch.float32) - m = get_model(iters=4000, freeze_W=K0) + import csv + m = main_model() m.eval() chance = 1.0 - (1.0 / m.vu) ** m.P - print(f"chance SER = {chance:.5f}, legitimate reference ~0.276") + print(f"chance SER = {chance:.5f} at the main configuration") print("ciphertext-only (NO known plaintext):") + rows = [] for snr in (10.0, 20.0): for nf in (300, 1000, 10000): frac, ser = attack(m, snr, nf, seed=1234 + nf) + rows.append((snr, nf, "%.4f" % frac, "%.4f" % ser)) print(f" {snr:4.0f} dB N={nf:6d} " f"key-entry recovery={frac:.3f} eve SER={ser:.4f}") + out = Path(__file__).resolve().parents[1] / "data" / "cov_attack.csv" + with open(out, "w", newline="") as f: + w = csv.writer(f) + w.writerow(["snr_db", "n_frames", "entry_recovery", "eve_ser"]) + w.writerows(rows) + print("[csv]", out) if __name__ == "__main__": diff --git a/code/replot_security.py b/code/replot_security.py index 0977790..4d837a7 100644 --- a/code/replot_security.py +++ b/code/replot_security.py @@ -34,10 +34,10 @@ FIG.mkdir(exist_ok=True) plt.rcParams.update({ "font.family": "serif", "font.serif": ["DejaVu Serif", "Times New Roman"], - # The manuscript includes each result figure at 0.70 of a 3.455 in - # column while the canvas is 3.15 in, a printed scale of 0.768. Every + # The manuscript includes each result figure at 0.62 of a 3.455 in + # column while the canvas is 3.15 in, a printed scale of 0.680. Every # size below is therefore pre-divided by that scale so the PRINTED - # sizes are 9 pt labels, 8 pt ticks and a 6.6 pt legend. Change the + # sizes are 8 pt labels, 7 pt ticks and a 5.5 pt legend. Change the # include width and these must change with it. "font.size": 10.4, "axes.labelsize": 10.4, @@ -50,7 +50,7 @@ plt.rcParams.update({ "grid.alpha": 0.6, "lines.linewidth": 1.5, "lines.markersize": 5.2, - "figure.figsize": (3.15, 2.36), + "figure.figsize": (3.15, 2.25), # shorter canvas: same printed width and font size, less page height "pdf.fonttype": 42, }) AXES_RECT = dict(left=0.205, right=0.970, top=0.955, bottom=0.215) @@ -283,7 +283,7 @@ def fig_snr(): ax.set_xlim(min(x), max(x)) # most of a decade below the data leaves the lower-left genuinely # empty, which is what gives the four-entry legend a clear berth - ax.set_ylim(bottom=8e-4) + ax.set_ylim(bottom=2e-4) place_legend(ax) save(fig, "fig_sec_snr") diff --git a/data/cov_attack.csv b/data/cov_attack.csv new file mode 100644 index 0000000..88a6ca1 --- /dev/null +++ b/data/cov_attack.csv @@ -0,0 +1,7 @@ +snr_db,n_frames,entry_recovery,eve_ser +10.0,300,0.9023,0.2583 +10.0,1000,0.8047,0.6036 +10.0,10000,0.8477,0.4613 +20.0,300,0.7852,0.6494 +20.0,1000,0.7734,0.7093 +20.0,10000,0.8164,0.4676 diff --git a/fig/fig_sec_brute.pdf b/fig/fig_sec_brute.pdf index 78c42101a5ecd8ff8bb6f737cc343e8b73c5a10d..45ff5819ced9bba34fa15348aff1edeb44872a63 100644 GIT binary patch delta 3221 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 BlI;Kh delta 3250 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 WC=`kU<%T7pIZ<44at7vxT>k-^BgK#a diff --git a/fig/fig_sec_jam.pdf b/fig/fig_sec_jam.pdf index ed3bd4938b0c64b0788ec74070463fd7ed4ef1d8..bc66afd2f8de2974fc651bcb198897d6b649540d 100644 GIT binary patch delta 3355 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 delta 2992 zcmZXWc{J4f8^{%p7%MQbDldZY-uZO<%iioJgP=cj&4Mp zR{+Qw1l_+d7)k{L0#H~LEDU4|N|s@BrHbhbuP$xhqaeC#hHPzb2Ze`&o<>{T$<@%& zDCPr$A(q#~QmC)&S8QsWKQL!7mh7}H>`3qxTiZ2Hd&Dc!gB`ZKPC7 zV7RVn{^UfP^)>}ItkE!^(J=P8HblNZ)EM0(msMC2URFxob~{dyR5>-C8-GocdIDov zO2$0{OoYJFZRz5Z&gX+q8(`09_gM3|-5kldkI4$V9~b+?6<$lytV4}t*tbtz5az5S zH^NYhVGFeES|hTZ1iCIMzIP+tMkUs^^!w5N$Z?EbZa{O2Rb$Lp+O7DN*VSX_o^;OZ zq^(d%A@NXOhE$|}`OcHEbG!c3X?7IShAc$e*16yrytO&>;|tz~gk2YH?=2czJn2;^ z>$5W9P0-`KKkYEoIP-$SIVj|=q>;uO>b$+N`>>hFAn{_@78SI#zD^S@!*jCUU(&h~>{lz!LH0={1=Z!lFT zfD|qzXKZj^THd%gwyySydfC`acIL|K`R&Q}?K6RSIGvcodmhHjO-Y9qCbGkrQe!^g zVP#Lb@Xl<6l34wS7Tu}doK!J8AfvEFKmE?DQ4jrCLL5o%8IiIZ1Kh*t^)7o@~m@U$~4wa)%jz&1jkPiu-=3*##i)?=D z4)m??b)fHD`_N&hq0Pex0?eQo`9R9*dWh)5s4}Xi*mA{E#f+f0Mor+R9Nt<9<@l(I z6gK;dZ)W=un^jE)#JZ$js?H?!pVCN z^!PWMthuI6^BS^&FA*9YIb1GhN2v2T!Qau!APxM|8A%uu23a|uOsHrr?UeA%;lSS8 zct~}UK?gz{!t=|V__~fk*RJ>slxkfx-~CPf79shGgz{Wg30#`z7%$kQzVf2aMkd^T zuc|XlS?H-lxGU^fcwAUJ@toju>Fx!|9t+0UY~ZJdhD^X6*~TW3fPx3^)o6>! zXoBw-Ms9V>U|>AY?bfK{0gh{(@uzcWGz-OL(*~_?ElL?Nr#{ z%Jlx%AVh#%mLK=+zLh*-%03_{!##>Sb1Ss(dVjVT-3q4s?nwOTki*w}Js*X(i11g9 zLmbkici3h6!y)M)kzVhVyStCv2YNQOQJ3xIc{mpC?OY908(`7{U+68RK~l#II_-rug<+_P#+7etN55ut@?ct9Di3ct#Mk2VfcLg z5Z>>oLd#7pd?FEXCGmPX=kLl2D59P=m|)T>Ig%Cy!P#17n-CuKh3P%jevqqJS=pt@ z!RUM4tWnzgNBYyRx?3k+obYB+$HSQ)q$brKk+#@*VG1|TwY3!gFw&>pSLmwXtol?- z)52>=tm=)3-2IQax#Z-$fa`=&-<@Y7(Nlx$^*s``Cq|d5n>4?!_y3WwHDC#6R*&AN z6EXe3Z2ysIn{$e8MKy0;RE7yR6m#EFJL8BYR-YP+WpHnECJf+RVRiy|s+6VQXS+;* zU>J!z8#`q-GQqHW0N_Z2%EEYjt9+`s{H~st9R9u6=d`tYP#=l6xG~K_Cl(}`^V&U8 zC|Pz^)Pt7Vf6OS-qHuiu1v9fo`G`r z%Z?6;Czr)L8HM})W!=MytL@Q^V6K*0(^yrZH2$tTyF;Hs!Dib2g|(rNJKhsDdFR`f zxf;J_!gr=sOMLR+{gv&@aVv&>%n^i#>Z}gI-Qot17HwCf2t&=KzonVDU5$T!mv?wU z|FtfC%AQMe$Fr`zv-84j|EK8E^q|A1)I2GSaqoP(8#S(mS?6ye zijFzosmc{2d57eTNa8?bCNM`!Wi5;Xu zVJH+dSu_Abg|ouZFboR_i#-U3LjmN$JSY;$(gYL>}wOO4clsCCM@oMOnsDwufvP z`%a2B8Ob_`khkY~KfLcR=l*j4&V9~xUFZ6ApL7ZvGnK8JgH;lG+Q`*~J|r z@5Qy{@XG-deP-_uSbT=4E^K;!o>YCW&ZHLenYnDgyZLji{qs42QHPwsx$e=~&U+(A zcN@$uH@5W4>wOcvX&)qRH7-e8mbqCk4#@Ox*(L4oS&cV-?>nZoCj$gZ1&#f{*|>Tg zOH{x3)TAqE+=_`+nc|Ejj^vin8h<=P>9(vJ(~hf4JpQ?&vqxyOm=mz(IN?`U>$~%m zI{kWh+IE9CJ9PTvc!6T5B(**Jn~n2X;p!lAaBxb`QlLp)?r2zoYczM0cxSwr!0?f- z7t*?oDWTT{B36o)G=2f2-!z*EI4Af(%HLuLIwfQLeJgK7V{LQ;LA1Y~dCZ_NXSBV0 zX&Qgy34A*6g-M5XrG6O86lY7o2>aDw(@~p^o%p3W^$4|QO4Txjner(?SGrD+y7L6& zY$z_}euD0NlVrNRq#gA1T8HVE!?AjSXwz#(i?`yms}#B%eyss{Z`C-{V#9{GW35(3 zlbQJyFrmRWF+F>s~dkf=|T6~}7{awXGym@M zFMy=SJM(l&=5}}b!8!6s8G&D%;koTyep((J)x5jm_H#G?-y7oKoKEJy_)+(EEj`CfLc=s~0STxj>M~N-LDa z2>$@`gvN+I?qvR={p-GwojYwDY5C1G@HE!|eImxg+mq8w#|nz&0f{Y>6G^*qnc@Pk z1){IS&L3}pJSnW;9;S~;J&C@wE%xa4A+!3-A@0m?Lc>2QTP=RLnq%DMt~2ri{5A4% zou)57nD=*lTnm}$4w*h2MV79#2INxnAa8){I=p_%4`(WQaf~lAUz-gLy*UNphl&$Y z!d`XgoTr)ld2^@EwFbn1HfPh?aai#v$oq9Et6cu0}~K%qT(UXnP5!_UYWplkiB;d0W?@T$VGg zt+>q`NN;3J7D?Ip`bwSpQaj=*S)~h5+$Nvx z@a|97@i85pv#Jk?BBQ11GFD%=1uVO4mEy7&B7+w(RZ-ztif0IudSgz*?(C zKcT2?HYKgd)8$$U+Y^BD+abGGtlsQqYc5{uAZ!)Ch&mDf@@Zp@5n@4Wbs|2O_z-L@ z#5xtEwtO*(P!Fgkjm7oyJE(xFNBn;F-N4js5^BRWTikm?A!TVDiNtM+N4-deW42e z>FBJKvk6lz_yk!;N268)DYZ+V#SPcElV7E#7Pswyw~j@l$*SS6f`M4lWmsD=Y~4D7q2l?V0taz5j3cm@VWm|x2fFo#&e@#Q+OU6W97_vbT;`P94>EJ{T#qoi!gUG{i6&I~r1aQ|pL!@J$!0gow< zSFgcw{ji5G9SiaX$yEurGx4gU34dXdy}7uvNCTzZ+)YIz;8YVAkErA-7e8GC{}|yZ zk*>$}ZzLwbLPc@OBHu?Hzn{`kB~@>7k?fVKn9f-%AnC(EPdD+<9JPx0{JL zXtmS$TlZ3Z0Vo&C~!@e|iCK~L|K(XRtC!A>Eg zXrxEAA(H|GHeebem7oa^eFT3e*fboIm>@rO(*5Fp{1FS}38**Eh;v z!vmqAEg-_MOR$2G@#Ct}d&zI3f1W(1zTq!&Xo%g?_FIX!sI$&?kbaD9-$OUGjpJgOJS@J%OJ9{)N z+-*u8zBkGEL?bW@8PGd zRWo@k%U-R-Us1RU;Uh9@s=xmxI@dL8_d61f3r=XW8r?^XD#dDKZdX2hasFPU+|ej4 zdu>RCMP^!Eemfnp5)x{oil=uBeI7WsCM&~MVRD(aZJ5;v4x@RktUnX#9aiiRa|7Px z1uEteHNM}=sgu&&E{QCsBv~sE7u1xMJV>d+cNeahhs$I<6Te<7y|3GU%+rTY{LbVB zul7TijS2LWAH=Z_9UBAMpr4f^6*3wI74ChB@?ONf*h^VV9uN7suZ9Kci45>q0_)Xz z^_`XuB>^t^cSg@DC0r^&Fw*R~vuJ>NSgPVuh~!Q)(RUE;mU){V4G{_HF{_YHgK-U8 zyj^=9ugh8jlacn8Jvw%ii2qn^>Ny)U&5lJY6&#Ve)1XyWeg$f`b?Nzqk3ki2?R@b^ zX5x~Nc7eZc_=i+m+*EV*SRGv79?A690`NyA z+5LW@K)vZa1usS*GmI)`lQl43$ge7-LTxFq_{GpQAJ~INQXkF`VCi?u)R)RQc78y_ zSdFT?H0f&8arai-HD4`zpGFOel*gsWLMzXtCU5nt;XP%#)g~?ZkbY;y&}xf$3?baQ z$%8ICCNZ>>EsS%mazQL2fK84l*jiSL;kKlNm1SuDEN}MY_?%{ZP?$RdrPn59jdYzeTG+=rac_IzLjgg+O4=cAnE^g=4L#u~ z@8uwq(Ut_88(^OPRAQ)Pmv7WEHv1u2tT#Q$ZG!ffJ}5@l#!Q4$Am)@zfRmJv6$q}+ zv&ugt_95H6^p~I93~T6X+$Udg032I^WXD~^xx3W%z1e>ubbhw%mK9{BRQk5VLnTtc z`ui1?KKr-iU^DN_zkJN@H>ZEu(Gst2@>Y73zFfPwh)cRKGAEHy8vLw~5y!=Py(P+rJkJW2(DrO={{0E{ve@lQa>P@aD;XfzUuJeb2`4&=~i{J|XdARZd8 z@<-ioA{_SL90j-wI)eK18I8pwDb%}i0QUEi^iTYsIt=EZ5G2k3Dq^ndGs{}Cf_80?>b2&^*pKr5Hu36a=>W}8o{be(T~;V!Qk*bCr;>@ H==1ysOsb8b delta 3827 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 AO#lD@ diff --git a/fig/fig_sec_real.pdf b/fig/fig_sec_real.pdf index bdd93355cb0eb251a83b911ace6c740135db2559..b9daf2fb58950882212b53ce731eb9309483d25a 100644 GIT binary patch delta 2938 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 X3WH)qrMai+umMPRDJgBktL*;*m=_qL diff --git a/fig/fig_sec_sens.pdf b/fig/fig_sec_sens.pdf index f210c584601b67d81c00cab7d4d925a96ccf78cd..d2fb5a0c514b250e4a46c13564fca72950ecfb06 100644 GIT binary patch delta 2903 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 TGRehXmje#xl$O>u(&79Er9wN_ delta 2874 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 kA&y7R_MZA!!!vcdUvPes7o9M9o2XEk5dH?_b delta 3095 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