Main configuration d=256, L=64: all data, figures and checks re-run

Every OMA reference takes the L/16 combining gain so the comparison
stays resource matched, four hardcoded copies of the configuration are
replaced by MAIN_D or the main curve, and stage_J's K-by-L Gaussian
draw becomes its exact scalar Beta equivalent.
This commit is contained in:
KiHoLee
2026-08-18 14:40:48 +09:00
parent fef629a218
commit 8f26bf9bc9
34 changed files with 691 additions and 544 deletions
+47 -27
View File
@@ -47,15 +47,24 @@ lg = [float(x["legit"]) for x in sn]
om = [float(x["oma"]) for x in sn] om = [float(x["oma"]) for x in sn]
rel = [(a - b) / b * 100 for a, b in zip(lg, om)] rel = [(a - b) / b * 100 for a, b in zip(lg, om)]
chk("legit below OMA at every SNR", max(rel) < 0, "max relative %+.2f%%" % max(rel)) chk("legit below OMA at every SNR", max(rel) < 0, "max relative %+.2f%%" % max(rel))
chk("gain 1.3 to 7.9 percent", chk("gain 24 to 35 percent",
round(-max(rel), 1) == 1.3 and round(-min(rel), 1) == 7.9, round(-max(rel)) == 24 and round(-min(rel)) == 35,
"%.2f to %.2f percent" % (-max(rel), -min(rel))) "%.2f to %.2f percent" % (-max(rel), -min(rel)))
chk("1.3 and 7.9 in tex", "$1.3$ to\n$7.9$~percent" in tex or "$1.3$ to $7.9$~percent" in tex, chk("24 and 35 in tex", "$24$ to\n$35$~percent" in tex or "$24$ to $35$~percent" in tex,
"searched tex", needs_tex=True) "searched tex", needs_tex=True)
ew = [float(x["eve_wrong"]) for x in sn] ew = [float(x["eve_wrong"]) for x in sn]
ch = float(sn[0]["chance"]) ch = float(sn[0]["chance"])
chk("outsider at chance to 2e-5", max(abs(x - ch) for x in ew) < 2e-5, dev = max(abs(x - ch) for x in ew)
"max deviation %.2e" % max(abs(x - ch) for x in ew)) chk("outsider at chance to 3.5e-4", dev < 3.6e-4, "max deviation %.2e" % dev)
chk("3.5e-4 in tex", "$3.5\\times10^{-4}$" in tex, "searched tex",
needs_tex=True)
# the main configuration's legitimate rate, the reference every later
# assertion compares against; taken from the curve the main
# configuration produced rather than looked up by key length
MAIN_LEGIT = [float(x["legit"]) for x in sn if float(x["snr_db"]) == 10][0]
chk("main legitimate 0.053", round(MAIN_LEGIT, 3) == 0.053,
"%.4f" % MAIN_LEGIT)
# --- Fig. 3: key-length ratio ---------------------------------------- # --- Fig. 3: key-length ratio ----------------------------------------
k = rows("sec_keylen.csv") k = rows("sec_keylen.csv")
@@ -70,11 +79,10 @@ chk("keys exactly orthogonal in the sweep",
# --- Fig. 4: jamming -------------------------------------------------- # --- Fig. 4: jamming --------------------------------------------------
g = col("sec_jam_gap.csv", "gap_db") g = col("sec_jam_gap.csv", "gap_db")
chk("gap 5.5-6.3 dB", round(min(g), 1) == 5.5 and round(max(g), 1) == 6.3, chk("gap 10.1-11.1 dB", round(min(g), 1) == 10.1 and round(max(g), 1) == 11.1,
"%.3f to %.3f" % (min(g), max(g))) "%.3f to %.3f" % (min(g), max(g)))
lin = (10 ** (min(g) / 10), 10 ** (max(g) / 10)) lin = (10 ** (min(g) / 10), 10 ** (max(g) / 10))
chk("about four times power", lin[0] < 4.5 and lin[1] > 3.4, chk("more than ten times power", lin[0] > 10.0, "%.2f to %.2f" % lin)
"%.2f to %.2f" % lin)
j = rows("sec_jam_cmp.csv") j = rows("sec_jam_cmp.csv")
dmax = max(abs(float(r["blind"]) - float(r["perm_blind"])) for r in j) dmax = max(abs(float(r["blind"]) - float(r["perm_blind"])) for r in j)
chk("within 0.002", dmax <= 0.002, "%.5f" % dmax) chk("within 0.002", dmax <= 0.002, "%.5f" % dmax)
@@ -83,32 +91,40 @@ chk("no stale 8.1 dB", "$8.1$~dB" not in tex, "searched tex", needs_tex=True)
# --- Fig. 6: brute force --------------------------------------------- # --- Fig. 6: brute force ---------------------------------------------
b = rows("sec_brute_cmp.csv") b = rows("sec_brute_cmp.csv")
sm = float(b[-1]["ser_mask"]) sm = float(b[-1]["ser_mask"])
chk("brute 0.59 at 1e6", round(sm, 2) == 0.59, "%.4f" % sm) chk("brute 0.67 at 1e6", round(sm, 2) == 0.67, "%.4f" % sm)
chk("0.59 in tex", "$0.59$" in tex, "searched tex", needs_tex=True) chk("0.67 in tex", "$0.67$" in tex, "searched tex", needs_tex=True)
pad0 = next((x["K"] for x in b if float(x["ser_pad"]) < 0.27), None) closed = (ch - sm) / (ch - MAIN_LEGIT)
chk("brute closes about a third", 0.30 < closed < 0.40, "%.3f" % closed)
bf = float(b[-1]["best_frac"]) * 100
chk("permutation 3.4 percent of positions", round(bf, 1) == 3.4, "%.2f" % bf)
pad0 = next((x["K"] for x in b if float(x["ser_pad"]) < 0.1), None)
chk("index cipher collapses at 65536", pad0 == "65536", str(pad0)) chk("index cipher collapses at 65536", pad0 == "65536", str(pad0))
# --- Fig. 7: known plaintext ----------------------------------------- # --- Fig. 7: known plaintext -----------------------------------------
kp = rows("kpa.csv") kp = rows("kpa.csv")
legit = float([x for x in k if int(x["L"]) == 16][0]["legit_ser"]) legit = MAIN_LEGIT
thr = legit * 1.02 thr = legit * 1.02
first20 = next((x["n_frames"] for x in kp first20 = next((x["n_frames"] for x in kp
if int(x["snr_db"]) == 20 and float(x["eve_ser"]) <= thr), None) if int(x["snr_db"]) == 20 and float(x["eve_ser"]) <= thr), None)
first10 = next((x["n_frames"] for x in kp first10 = next((x["n_frames"] for x in kp
if int(x["snr_db"]) == 10 and float(x["eve_ser"]) <= thr), None) if int(x["snr_db"]) == 10 and float(x["eve_ser"]) <= thr), None)
chk("KPA five frames at 20 dB", first20 == "5", "first N = %s" % first20) chk("KPA three frames at 20 dB", first20 == "3", "first N = %s" % first20)
chk("KPA twenty-four frames at 10 dB", first10 == "24", "first N = %s" % first10) chk("KPA ten frames at 10 dB", first10 == "10", "first N = %s" % first10)
kp0 = [x for x in kp if int(x["snr_db"]) == 0]
w0 = float(kp0[-1]["eve_ser"]) / legit
chk("0 dB no longer holds", w0 < 1.03, "64 frames reach %.3f of legitimate" % w0)
pk = rows("pkpa.csv") pk = rows("pkpa.csv")
p6 = float([x for x in pk if x["n_frames"] == "6"][0]["eve_ser"]) p6 = float([x for x in pk if x["n_frames"] == "6"][0]["eve_ser"])
chk("perm KPA at N=6 near its own 0.258", abs(p6 - 0.258) < 0.005, "%.4f" % p6) chk("perm KPA at N=6 near its own legitimate",
abs(p6 - MAIN_LEGIT) < 0.005, "%.4f" % p6)
# --- refresh ---------------------------------------------------------- # --- refresh ----------------------------------------------------------
rs = {x["scheme"]: x for x in rows("refresh_summary.csv")} rs = {x["scheme"]: x for x in rows("refresh_summary.csv")}
chk("refresh 64.8 bits", chk("refresh 364.6 bits",
round(float(rs["Invariant"]["entropy_bits"]), 1) == 64.8, round(float(rs["Invariant"]["entropy_bits"]), 1) == 364.6,
"%.3f" % float(rs["Invariant"]["entropy_bits"])) "%.3f" % float(rs["Invariant"]["entropy_bits"]))
chk("fixed key 15.0 bits", chk("fixed key 23.8 bits",
round(float(rs["None (fixed key)"]["entropy_bits"]), 1) == 15.0, round(float(rs["None (fixed key)"]["entropy_bits"]), 1) == 23.8,
"%.4f" % float(rs["None (fixed key)"]["entropy_bits"])) "%.4f" % float(rs["None (fixed key)"]["entropy_bits"]))
chk("invariant refresh free", chk("invariant refresh free",
abs(float(rs["Invariant"]["legit"]) - float(rs["None (fixed key)"]["legit"])) abs(float(rs["Invariant"]["legit"]) - float(rs["None (fixed key)"]["legit"]))
@@ -119,8 +135,8 @@ chk("invariant refresh free",
import json import json
st = json.loads((base / "data" / "real_sec_stats.json").read_text()) st = json.loads((base / "data" / "real_sec_stats.json").read_text())
rec = st["recovery"]["28"] rec = st["recovery"]["28"]
chk("headline recovery 78 vs 76 percent", chk("headline recovery 96 vs 93 percent",
round(rec["legit"] * 100) == 78 and round(rec["oma"] * 100) == 76, round(rec["legit"] * 100) == 96 and round(rec["oma"] * 100) == 93,
"%.1f vs %.1f" % (rec["legit"] * 100, rec["oma"] * 100)) "%.1f vs %.1f" % (rec["legit"] * 100, rec["oma"] * 100))
chk("legit leads OMA at every point", chk("legit leads OMA at every point",
all(st["recovery"][s]["legit"] > st["recovery"][s]["oma"] all(st["recovery"][s]["legit"] > st["recovery"][s]["oma"]
@@ -137,19 +153,23 @@ chk("L=8 crowding, proposal behind OMA",
chk("0.949 and 0.685 in tex", "0.949" in tex and "0.685" in tex, chk("0.949 and 0.685 in tex", "0.949" in tex and "0.685" in tex,
"searched tex", needs_tex=True) "searched tex", needs_tex=True)
# the Fig. 2 inset plots this ratio, so its stated span must hold # the OMA-to-proposed ratio the narration quotes
sr = rows("sec_snr.csv") sr = rows("sec_snr.csv")
rt = [float(r["oma"]) / float(r["legit"]) for r in sr] rt = [float(r["oma"]) / float(r["legit"]) for r in sr]
chk("inset ratio spans 1.01 to 1.09", 1.005 < min(rt) and max(rt) < 1.095, chk("ratio spans 1.32 to 1.54", round(min(rt), 2) == 1.32
"%.3f to %.3f" % (min(rt), max(rt))) and round(max(rt), 2) == 1.54, "%.3f to %.3f" % (min(rt), max(rt)))
# the three secrets named in the setup # the three secrets named in the setup
chk("secret sizes UL=64, perm 64, pad 16", chk("secret sizes UL=256, perm 256, pad 16",
all(t in tex for t in ["$UL=64$ key entries", all(t in tex for t in ["$UL=256$ key entries",
"one permutation of $64$ positions", "one permutation of $256$ positions",
"$16$ pad\nbits per user"]), "$16$ pad\nbits per user"]),
"searched tex", needs_tex=True) "searched tex", needs_tex=True)
chk("no stale d=64 configuration in tex",
"$d=64$ real dimensions" not in tex and "$d/U=16$" not in tex,
"searched tex", needs_tex=True)
# Fig. 5 shows the permutation curve tracking the mask curve # Fig. 5 shows the permutation curve tracking the mask curve
sc = rows("sec_sens_cmp.csv") sc = rows("sec_sens_cmp.csv")
dv = max(abs(float(r["ser_mask"]) - float(r["ser_perm"])) for r in sc) dv = max(abs(float(r["ser_mask"]) - float(r["ser_perm"])) for r in sc)
+8 -9
View File
@@ -1,12 +1,12 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""Where does the legitimate advantage over OMA go? """Where does the legitimate advantage over OMA go?
An ideal M-ary receiver at the main configuration should reach 0.199 at The legitimate curve sits above the single-user M-ary bound, and this
10 dB against the 0.275 of resource-matched OMA, a factor of 1.38, while script splits the distance into its two possible causes: residual
the system measures 0.257, a factor of 1.07. This script splits the multi-user interference, which orthogonal keys need not remove because
shortfall into its two causes: residual multi-user interference, which masking is elementwise, and the distance the trained unit codebook falls
orthogonal keys do not remove because masking is elementwise, and the short of an orthogonal set. Run it against whichever configuration
distance the trained unit codebook falls short of an orthogonal set. exp_full.MAIN_D currently names.
""" """
import math import math
import sys import sys
@@ -17,7 +17,7 @@ import torch
sys.path.insert(0, str(Path(__file__).resolve().parent)) sys.path.insert(0, str(Path(__file__).resolve().parent))
import sse_lib as L import sse_lib as L
from sse_lib import DEVICE, snr_to_sigma2, rayleigh_gain from sse_lib import DEVICE, snr_to_sigma2, rayleigh_gain
from exp_full import main_model from exp_full import main_model, oma_ser_keylen
SNR_DB = 10.0 SNR_DB = 10.0
FRAMES = 400_000 FRAMES = 400_000
@@ -80,8 +80,7 @@ def main():
print("user-0 SER, all four users transmitting : %.4f" % four) print("user-0 SER, all four users transmitting : %.4f" % four)
print("user-0 SER, other users silent : %.4f" % solo) print("user-0 SER, other users silent : %.4f" % solo)
print("OMA, resource matched (closed form) : %.4f" print("OMA, resource matched (closed form) : %.4f"
% L.oma_ser([SNR_DB])[0]) % oma_ser_keylen(m.L, SNR_DB))
print("ideal 16-ary orthogonal (separate MC) : 0.1986")
if __name__ == "__main__": if __name__ == "__main__":
+63
View File
@@ -0,0 +1,63 @@
# -*- coding: utf-8 -*-
"""Does unconstrained key training still degenerate at the main configuration?
The manuscript justifies fixing the keys by a measured failure: with the
keys free, training drives them to disjoint sparse supports, which is an
orthogonal slot allocation rather than a superposition, and which shrinks
the key space to the choice of a support. That was measured at d=64 and
has to be re-measured whenever the configuration moves, because it is
the reason the structured family is the main one.
Reported per user key: the number of entries holding 99 percent of the
energy, and the pairwise overlap of those supports. A dense key spreads
its energy over most of the L entries and the supports coincide; a
degenerate one concentrates on a few and the supports are disjoint.
"""
import sys
from pathlib import Path
import torch
sys.path.insert(0, str(Path(__file__).resolve().parent))
from exp_full import get_model, main_model, MAIN_D
def support99(w):
"""Smallest set of entries carrying 99 percent of the key energy."""
e = w.pow(2)
order = torch.argsort(e, descending=True)
c = torch.cumsum(e[order], 0) / e.sum()
k = int((c < 0.99).sum()) + 1
return set(order[:k].tolist()), k
def describe(name, W):
L = W.shape[1]
sups, ks = [], []
for u in range(W.shape[0]):
sup, k = support99(W[u])
sups.append(sup)
ks.append(k)
ov = []
for i in range(len(sups)):
for j in range(i + 1, len(sups)):
ov.append(len(sups[i] & sups[j]) / max(1, min(len(sups[i]),
len(sups[j]))))
print("%-14s L=%3d 99%%-energy entries per key: %s "
"mean pairwise support overlap %.2f"
% (name, L, ks, sum(ov) / len(ov)))
def main():
print("main configuration d=%d" % MAIN_D)
m_free = get_model(iters=4000) # keys learned, nothing frozen
describe("learned", m_free.masks().detach().cpu())
m_fix = main_model()
describe("Walsh-Hadamard", m_fix.masks().detach().cpu())
print()
print("A degenerate key set shows few entries per key and near-zero")
print("overlap; a dense one shows most entries and overlap near one.")
if __name__ == "__main__":
main()
+14 -13
View File
@@ -1,11 +1,11 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
"""Does an orthogonal unit codebook recover the shortfall? """Does an orthogonal unit codebook recover the shortfall?
diag_interference shows the gap to the ideal M-ary receiver is not diag_interference shows the gap to the single-user M-ary bound is not
multi-user interference but the geometry of the trained unit codebook, multi-user interference but the geometry of the trained unit codebook,
whose Gram matrix carries a root-mean-square off-diagonal of 0.45 where whose Gram matrix carries a large root-mean-square off-diagonal where an
an orthogonal set would carry zero. Vu = L = 16 admits an exactly orthogonal set would carry zero. Vu <= L admits an exactly orthogonal
orthogonal set, so this measures what installing one buys. set, so this measures what installing one buys.
Two orthogonal sets are tried, because the choice is not free. The Two orthogonal sets are tried, because the choice is not free. The
Walsh-Hadamard set collides with the keys: the rows are closed under the Walsh-Hadamard set collides with the keys: the rows are closed under the
@@ -22,7 +22,7 @@ import torch
sys.path.insert(0, str(Path(__file__).resolve().parent)) sys.path.insert(0, str(Path(__file__).resolve().parent))
import sse_lib as L import sse_lib as L
from sse_lib import DEVICE, SSE from sse_lib import DEVICE, SSE
from exp_full import hadamard, base_keys from exp_full import hadamard, base_keys, oma_ser_keylen, MAIN_D
from diag_interference import ser from diag_interference import ser
SNR = [0.0, 10.0, 20.0] SNR = [0.0, 10.0, 20.0]
@@ -39,13 +39,13 @@ def fixed_model(B, P=4, vu=16, d=64, U=4):
return m return m
def hadamard_book(vu=16, Lp=16): def hadamard_book(vu=16, Lp=MAIN_D // 4):
B = torch.zeros(vu, Lp) B = torch.zeros(vu, Lp)
B[:, :vu] = torch.tensor(hadamard(vu).copy(), dtype=torch.float32) B[:, :vu] = torch.tensor(hadamard(vu).copy(), dtype=torch.float32)
return B return B
def random_ortho_book(vu=16, Lp=16, seed=7): def random_ortho_book(vu=16, Lp=MAIN_D // 4, seed=7):
g = torch.Generator().manual_seed(seed) g = torch.Generator().manual_seed(seed)
A = torch.randn(Lp, Lp, generator=g) A = torch.randn(Lp, Lp, generator=g)
Q, _ = torch.linalg.qr(A) Q, _ = torch.linalg.qr(A)
@@ -68,13 +68,14 @@ def main():
% ("unit codebook", "max|off|", "0 dB", "10 dB", "20 dB")) % ("unit codebook", "max|off|", "0 dB", "10 dB", "20 dB"))
report("Walsh-Hadamard", fixed_model(hadamard_book())) report("Walsh-Hadamard", fixed_model(hadamard_book()))
report("random orthogonal", fixed_model(random_ortho_book())) report("random orthogonal", fixed_model(random_ortho_book()))
print("%-22s %-10s %-9s %-9s %-9s" from exp_full import main_model
% ("trained (paper)", "0.887", "0.8822", "0.2576", "0.0307")) report("trained", main_model())
Lp = MAIN_D // 4
print("%-22s %-10s %-9s %-9s %-9s" print("%-22s %-10s %-9s %-9s %-9s"
% ("OMA, resource matched", "-", % ("OMA, resource matched", "-",
"%.4f" % L.oma_ser([0.0])[0], "%.4f" % oma_ser_keylen(Lp, 0.0),
"%.4f" % L.oma_ser([10.0])[0], "%.4f" % oma_ser_keylen(Lp, 10.0),
"%.4f" % L.oma_ser([20.0])[0])) "%.4f" % oma_ser_keylen(Lp, 20.0)))
@@ -97,7 +98,7 @@ def solo_check():
print("%-22s %-12.4f %-12.4f" print("%-22s %-12.4f %-12.4f"
% (name, ser(m, 10.0, FRAMES, solo=True), % (name, ser(m, 10.0, FRAMES, solo=True),
ser(m, 10.0, FRAMES, solo=False))) ser(m, 10.0, FRAMES, solo=False)))
print("single-user ideal M-ary bound (separate MC): 0.1986") print("(solo isolates the candidate set from the superposition)")
if __name__ == "__main__": if __name__ == "__main__":
+30 -21
View File
@@ -2,7 +2,7 @@
Reuses the SSE transmit/receive core from sse_lib.py and adds an Reuses the SSE transmit/receive core from sse_lib.py and adds an
eavesdropper receiver, a jammer channel, and structured mask families. eavesdropper receiver, a jammer channel, and structured mask families.
Main configuration d=64, P=4, Vu=16 (V=Vu^P=65,536), U=4 users, matching Main configuration d=256, P=4, Vu=16 (V=Vu^P=65,536), U=4 users, matching
the language-model token vocabulary scale. the language-model token vocabulary scale.
Stages (each writes a CSV to ../data; figures come from replot_security.py Stages (each writes a CSV to ../data; figures come from replot_security.py
@@ -136,7 +136,11 @@ def eve_wrong_mask(U, Lp, seed):
return W / W.norm(dim=1, keepdim=True) * math.sqrt(Lp) return W / W.norm(dim=1, keepdim=True) * math.sqrt(Lp)
def get_model(P=4, vu=16, d=64, U=4, iters=4000, seed=1, freeze_W=None, tag=""): MAIN_D = 256 # embedding dimension of the main configuration
def get_model(P=4, vu=16, d=MAIN_D, U=4, iters=4000, seed=1,
freeze_W=None, tag=""):
"""Train an SSE model, optionally with fixed (frozen) masks.""" """Train an SSE model, optionally with fixed (frozen) masks."""
set_seed(seed) set_seed(seed)
m = SSE(P=P, vu=vu, d=d, users=U).to(DEVICE) m = SSE(P=P, vu=vu, d=d, users=U).to(DEVICE)
@@ -169,7 +173,7 @@ def base_keys(U: int, Lp: int) -> torch.Tensor:
return torch.tensor(H[1:U + 1, :Lp].copy(), dtype=torch.float32) return torch.tensor(H[1:U + 1, :Lp].copy(), dtype=torch.float32)
def main_model(iters=4000, P=4, vu=16, d=64, U=4): def main_model(iters=4000, P=4, vu=16, d=MAIN_D, U=4):
"""The main configuration used by every stage below. """The main configuration used by every stage below.
The keys are frozen to the structured Walsh-Hadamard family rather The keys are frozen to the structured Walsh-Hadamard family rather
@@ -195,7 +199,7 @@ def stage_A():
# conventional public-mask scheme: the eavesdropper holds the same # conventional public-mask scheme: the eavesdropper holds the same
# (public) masks and decodes exactly like a legitimate user # (public) masks and decodes exactly like a legitimate user
eve_p = eval_ser_eve(m, m.masks().detach().cpu(), snr, frames=frames) eve_p = eval_ser_eve(m, m.masks().detach().cpu(), snr, frames=frames)
oma = oma_ser(snr, bits=int(math.log2(m.V))) oma = [oma_ser_keylen(m.L, s, bits=int(math.log2(m.V))) for s in snr]
chance = 1.0 - (1.0 / m.vu) ** m.P chance = 1.0 - (1.0 / m.vu) ** m.P
write_csv(DATA / "sec_snr.csv", write_csv(DATA / "sec_snr.csv",
["snr_db", "legit", "eve_wrong", "eve_none", "eve_public", ["snr_db", "legit", "eve_wrong", "eve_none", "eve_public",
@@ -236,7 +240,7 @@ def train_sse_reg(m: SSE, iters=4000, batch=256, lr=3e-3, seed=1,
return m return m
def get_model_reg(P=4, vu=16, d=64, U=4, iters=4000, seed=1): def get_model_reg(P=4, vu=16, d=MAIN_D, U=4, iters=4000, seed=1):
set_seed(seed) set_seed(seed)
m = SSE(P=P, vu=vu, d=d, users=U).to(DEVICE) m = SSE(P=P, vu=vu, d=d, users=U).to(DEVICE)
train_sse_reg(m, iters=iters, seed=seed) train_sse_reg(m, iters=iters, seed=seed)
@@ -314,7 +318,7 @@ def stage_C():
def stage_D(): def stage_D():
print("[D] mask families ...") print("[D] mask families ...")
P, vu, d, U = 4, 16, 64, 4 P, vu, d, U = 4, 16, MAIN_D, 4
Lp = d // P Lp = d // P
fams = {} fams = {}
# random fixed masks # random fixed masks
@@ -475,8 +479,7 @@ def stage_E():
# is public so the matched jammer remains buildable # is public so the matched jammer remains buildable
rows.append(("index_cipher", lg, chance, chance, jm2)) rows.append(("index_cipher", lg, chance, chance, jm2))
# S5 OMA digital, no encryption: open to everyone # S5 OMA digital, no encryption: open to everyone
from sse_lib import oma_ser lg5 = oma_ser_keylen(m.L, 10.0, bits=int(math.log2(m.V)))
lg5 = oma_ser([10.0], bits=int(math.log2(m.V)))[0]
rows.append(("oma_plain", lg5, lg5, lg5, float("nan"))) rows.append(("oma_plain", lg5, lg5, lg5, float("nan")))
write_csv(DATA / "sec_compare.csv", write_csv(DATA / "sec_compare.csv",
@@ -688,7 +691,7 @@ def stage_J():
mask_arr = np.array([float(r["ser_mask"]) for r in cmp_rows]) mask_arr = np.array([float(r["ser_mask"]) for r in cmp_rows])
perm_arr = np.array([float(r["ser_perm"]) for r in cmp_rows]) perm_arr = np.array([float(r["ser_perm"]) for r in cmp_rows])
d, L, V = 64, 16, 65536 d, L, V = MAIN_D, MAIN_D // 4, 65536
# channel floor of the cipher receiver, read from the stage-I curve # channel floor of the cipher receiver, read from the stage-I curve
# at a fully known pad so both figures share one source # at a fully known pad so both figures share one source
lg1 = 1.0 - (1.0 - float(cmp_rows[-1]["ser_pad"])) lg1 = 1.0 - (1.0 - float(cmp_rows[-1]["ser_pad"]))
@@ -702,9 +705,11 @@ def stage_J():
best_kappa = np.empty(trials) best_kappa = np.empty(trials)
best_frac = np.empty(trials) best_frac = np.empty(trials)
for t in range(trials): for t in range(trials):
g = rng.standard_normal((K, L)) # |first coordinate| of a uniform random unit vector in R^L:
g /= np.linalg.norm(g, axis=1, keepdims=True) # its square is Beta(1/2, (L-1)/2), so the best of K draws
best_kappa[t] = np.abs(g[:, 0]).max() # needs K scalars rather than K*L Gaussians
best_kappa[t] = np.sqrt(rng.beta(0.5, (L - 1) / 2.0,
size=K).max())
# permutation: fraction of fixed points, Binomial(d, 1/d) per # permutation: fraction of fixed points, Binomial(d, 1/d) per
# draw, so the best of K draws is the max of K such counts # draw, so the best of K draws is the max of K such counts
best_frac[t] = rng.binomial(d, 1.0 / d, size=K).max() / d best_frac[t] = rng.binomial(d, 1.0 / d, size=K).max() / d
@@ -726,14 +731,16 @@ def csv_rows(path):
yield from _csv.DictReader(f) yield from _csv.DictReader(f)
def oma_ser_jammed(snr_db, jsr_db_list, bits=16, U=4, n_grid=4096): def oma_ser_jammed(snr_db, jsr_db_list, bits=16, U=4, d=256, n_grid=4096):
"""OMA under a jammer that concentrates on the victim's slots. """OMA under a jammer that concentrates on the victim's slots.
An OMA user occupies d/U exclusive real dimensions that are public, An OMA user occupies L = d/U exclusive real dimensions that are
so a jammer needs no key to put all of its power there. With unit public, and drives its 16 index bits on 16 of them with the whole
energy per real dimension and a total jammer energy of rho times the allocation energy, an amplitude gain of sqrt(L/bits) per bit. A
frame energy, concentrating on d/U of the d dimensions gives a jammer needs no key to put all of its power on those same public
per-dimension jammer variance of U*rho. dimensions. With unit energy per real dimension and a total jammer
energy of rho times the frame energy, concentrating on bits of the d
dimensions gives a per-dimension jammer variance of (d/bits)*rho.
The jammer reaches the victim through its own Rayleigh channel, the The jammer reaches the victim through its own Rayleigh channel, the
same convention eval_scheme uses for every simulated scheme, so the same convention eval_scheme uses for every simulated scheme, so the
@@ -746,11 +753,12 @@ def oma_ser_jammed(snr_db, jsr_db_list, bits=16, U=4, n_grid=4096):
hj2 = h2.clone() # |hJ|^2 ~ Exp(1), independent hj2 = h2.clone() # |hJ|^2 ~ Exp(1), independent
h = h2.sqrt()[:, None] # (n,1) signal amplitude h = h2.sqrt()[:, None] # (n,1) signal amplitude
snr = 10.0 ** (snr_db / 10.0) snr = 10.0 ** (snr_db / 10.0)
gain = math.sqrt((d / U) / bits) # antipodal amplitude
out = [] out = []
for jsr_db in jsr_db_list: for jsr_db in jsr_db_list:
rho = 10.0 ** (jsr_db / 10.0) rho = 10.0 ** (jsr_db / 10.0)
var = (1.0 / snr + U * rho * hj2)[None, :] # (1,n) var = (1.0 / snr + (d / bits) * rho * hj2)[None, :] # (1,n)
arg = (h / var.sqrt()).clamp(0, 38) arg = (h * gain / var.sqrt()).clamp(0, 38)
pe = 0.5 * torch.erfc(arg / math.sqrt(2.0)) # per-bit error pe = 0.5 * torch.erfc(arg / math.sqrt(2.0)) # per-bit error
out.append(float((1.0 - (1.0 - pe) ** bits).mean())) out.append(float((1.0 - (1.0 - pe) ** bits).mean()))
return out return out
@@ -774,7 +782,8 @@ def stage_L():
gp = torch.Generator().manual_seed(11) gp = torch.Generator().manual_seed(11)
perms = torch.randperm(d, generator=gp)[None].repeat(m.users, 1) perms = torch.randperm(d, generator=gp)[None].repeat(m.users, 1)
jsr = [float(v) for v in range(-10, 21, 2)] jsr = [float(v) for v in range(-10, 21, 2)]
oma = oma_ser_jammed(10.0, jsr, bits=int(math.log2(m.V)), U=m.users) oma = oma_ser_jammed(10.0, jsr, bits=int(math.log2(m.V)),
U=m.users, d=m.d)
rows = [] rows = []
for i, j in enumerate(jsr): for i, j in enumerate(jsr):
blind = eval_scheme(m, 10.0, F, jam_w="blind", jsr_db=j) blind = eval_scheme(m, 10.0, F, jam_w="blind", jsr_db=j)
+12 -5
View File
@@ -29,7 +29,7 @@ import torch
import sse_lib as L import sse_lib as L
from sse_lib import (DATA, DEVICE, SSE, rayleigh_gain, snr_to_sigma2, from sse_lib import (DATA, DEVICE, SSE, rayleigh_gain, snr_to_sigma2,
set_seed, write_csv) set_seed, write_csv)
from exp_full import main_model, eve_wrong_mask from exp_full import main_model, eve_wrong_mask, MAIN_D
SNR_GRID = [0, 4, 8, 12, 16, 20, 24, 28] SNR_GRID = [0, 4, 8, 12, 16, 20, 24, 28]
# headline recovery is meaningful only where the legitimate user clears # headline recovery is meaningful only where the legitimate user clears
@@ -101,15 +101,22 @@ def wrong_keyed(model: SSE, digits_all, snr_db, seed, rx_masks=None,
@torch.no_grad() @torch.no_grad()
def wrong_oma(ids_all, snr_db, seed, bits=16): def wrong_oma(ids_all, snr_db, seed, bits=16, d=256, users=4):
"""Antipodal signaling on the actual token bits, same frame energy.""" """Antipodal signaling on the actual token bits, same frame energy.
The OMA user owns d/U exclusive dimensions for its 16 bits and puts
the whole allocation energy on them, so the antipodal amplitude
carries a factor sqrt((d/U)/bits) over the one-bit-per-dimension
case. Without it the reference would spend only a quarter of the
energy the proposed user spends."""
torch.manual_seed(seed) torch.manual_seed(seed)
N, Uu = ids_all.shape N, Uu = ids_all.shape
b = ((ids_all[..., None] >> torch.arange(bits)) & 1).float() * 2 - 1 b = ((ids_all[..., None] >> torch.arange(bits)) & 1).float() * 2 - 1
b = b.to(DEVICE) b = b.to(DEVICE)
sigma = math.sqrt(1.0 / (10.0 ** (snr_db / 10.0))) sigma = math.sqrt(1.0 / (10.0 ** (snr_db / 10.0)))
gain = math.sqrt((d / users) / bits)
h = rayleigh_gain((N, Uu, 1)) h = rayleigh_gain((N, Uu, 1))
y = h * b + sigma * torch.randn(N, Uu, bits, device=DEVICE) y = gain * h * b + sigma * torch.randn(N, Uu, bits, device=DEVICE)
return ((y * b) < 0).any(dim=2).cpu() return ((y * b) < 0).any(dim=2).cpu()
@@ -136,7 +143,7 @@ def main():
f"distinct tokens, max id {int(ids_all.max())}") f"distinct tokens, max id {int(ids_all.max())}")
# keys and codebook trained on uniform indices, reused unchanged # keys and codebook trained on uniform indices, reused unchanged
model = main_model(P=P_MAX, vu=VU, d=64, U=U) model = main_model(P=P_MAX, vu=VU, d=MAIN_D, U=U)
model.eval() model.eval()
eve_m = eve_wrong_mask(U, model.L, seed=20260813) # outsider eve_m = eve_wrong_mask(U, model.L, seed=20260813) # outsider
+3 -3
View File
@@ -26,7 +26,7 @@ orthogonal. Two constructions are compared here.
the codebook together, which is a relabeling, log2(L!) bits the codebook together, which is a relabeling, log2(L!) bits
3. a permutation of which user holds which row, log2(U!) bits 3. a permutation of which user holds which row, log2(U!) bits
At L=16 and U=4 that is 16 + 44.25 + 4.58 = 64.8 bits per block, and At L=64 and U=4 that is 64 + 296.0 + 4.58 = 364.6 bits per block, and
each transformation is verified below to leave the legitimate error each transformation is verified below to leave the legitimate error
rate unchanged. rate unchanged.
@@ -45,7 +45,7 @@ import numpy as np
import torch import torch
from sse_lib import DATA, DEVICE, SSE, write_csv, eval_ser_sse from sse_lib import DATA, DEVICE, SSE, write_csv, eval_ser_sse
from exp_full import (hadamard, get_model, base_keys, eval_ser_eve, from exp_full import (MAIN_D, hadamard, get_model, base_keys, eval_ser_eve,
eve_wrong_mask) eve_wrong_mask)
from exp_kpa import collect_known_plaintext, solve_keys from exp_kpa import collect_known_plaintext, solve_keys
@@ -92,7 +92,7 @@ def install(model: SSE, keys: torch.Tensor, codebook: torch.Tensor,
def main(): def main():
P, VU, D, U = 4, 16, 64, 4 P, VU, D, U = 4, 16, MAIN_D, 4
Lp = D // P Lp = D // P
print(f"[K] refresh: L={Lp}, U={U}, " print(f"[K] refresh: L={Lp}, U={U}, "
f"{entropy_bits(U, Lp):.1f} bits per block from the invariance group") f"{entropy_bits(U, Lp):.1f} bits per block from the invariance group")
+81 -33
View File
@@ -129,6 +129,24 @@ def save(fig, name, insets=()):
raise RuntimeError( raise RuntimeError(
f"{name}: a data curve passes under the legend " f"{name}: a data curve passes under the legend "
f"box; move the legend or shrink it") f"box; move the legend or shrink it")
for t in ax.texts:
tb = t.get_window_extent()
if (lb.x0 < tb.x1 and tb.x0 < lb.x1
and lb.y0 < tb.y1 and tb.y0 < lb.y1):
raise RuntimeError(
f"{name}: the annotation {t.get_text()!r} sits under "
f"the legend box; move one of them")
for t in ax.texts:
tb = t.get_window_extent()
for line in ax.get_lines():
xy = line.get_xydata()
if len(xy) == 0:
continue
for px, py in ax.transData.transform(xy):
if tb.x0 <= px <= tb.x1 and tb.y0 <= py <= tb.y1:
raise RuntimeError(
f"{name}: a curve is drawn through the "
f"annotation {t.get_text()!r}; move it")
for ins in insets: for ins in insets:
ib = ins.get_window_extent() ib = ins.get_window_extent()
for a in fig.axes: for a in fig.axes:
@@ -148,6 +166,53 @@ def save(fig, name, insets=()):
print("[OK]", name) print("[OK]", name)
def main_legit(snr_db="10"):
"""The legitimate SER of the main configuration, read from the curve
the main configuration produced rather than looked up by key length."""
for r in load("sec_snr.csv"):
if float(r["snr_db"]) == float(snr_db):
return float(r["legit"])
raise KeyError("no %s dB row in sec_snr.csv" % snr_db)
def place_legend(ax, cands=("lower left", "center left", "center right",
"lower center", "upper right", "upper center",
"center", "lower right"),
sizes=(6.6, 6.2, 5.8, 5.4, 5.0)):
"""Choose the location and font size whose box the fewest curve points
fall inside, scored on rendered geometry rather than guessed from the
data. The size sweep is what makes a long label set placeable: a
five-entry legend of full scheme names has no clear corner at the
default size on every figure."""
best = None
for size in sizes:
for loc in cands:
leg = ax.legend(loc=loc, prop={"size": size})
ax.figure.canvas.draw()
lb = leg.get_window_extent()
hits = 0
for line in ax.get_lines():
xy = line.get_xydata()
if len(xy) == 0:
continue
for px, py in ax.transData.transform(xy):
if lb.x0 <= px <= lb.x1 and lb.y0 <= py <= lb.y1:
hits += 1
for t in ax.texts:
tb = t.get_window_extent()
if (lb.x0 < tb.x1 and tb.x0 < lb.x1
and lb.y0 < tb.y1 and tb.y0 < lb.y1):
hits += 50 # an annotation hidden is worse than a
# few curve points clipped
if best is None or hits < best[2]:
best = (loc, size, hits)
if hits == 0:
ax.legend(loc=loc, prop={"size": size})
return best
ax.legend(loc=best[0], prop={"size": best[1]})
return best
def fig_snr(): def fig_snr():
r = load("sec_snr.csv") r = load("sec_snr.csv")
x = col(r, "snr_db") x = col(r, "snr_db")
@@ -167,22 +232,8 @@ def fig_snr():
ax.set_xlabel("SNR (dB)") ax.set_xlabel("SNR (dB)")
ax.set_ylabel("SER") ax.set_ylabel("SER")
ax.set_xlim(min(x), max(x)) ax.set_xlim(min(x), max(x))
ax.legend(loc="lower left") place_legend(ax)
save(fig, "fig_sec_snr")
# the gap is a coding gain of a few percent, invisible against two
# decades of SER, so an inset reports it as a ratio
lg, om = col(r, "legit"), col(r, "oma")
ins = ax.inset_axes([0.57, 0.58, 0.39, 0.25])
ins.plot(x, [o / l for l, o in zip(lg, om)], color=C_OMA, lw=1.0,
marker="^", ms=2.4, markevery=2)
ins.axhline(1.0, color="0.55", lw=0.6, ls="--")
ins.set_xlim(min(x), max(x))
ins.set_ylim(0.995, 1.105)
ins.set_yticks([1.00, 1.05, 1.10])
ins.set_xticks([0, 10, 20])
ins.tick_params(labelsize=5.2, length=1.8, pad=1.0)
ins.set_title("OMA / proposed SER", fontsize=5.6, pad=1.5)
save(fig, "fig_sec_snr", insets=[ins])
def fig_keylen(): def fig_keylen():
@@ -204,7 +255,7 @@ def fig_keylen():
ax.set_xscale("log", base=2) ax.set_xscale("log", base=2)
# the curves sweep the upper-left to lower-right diagonal, leaving the # the curves sweep the upper-left to lower-right diagonal, leaving the
# lower-left corner empty # lower-left corner empty
ax.legend(loc="lower left") place_legend(ax)
save(fig, "fig_sec_keylen") save(fig, "fig_sec_keylen")
@@ -228,14 +279,13 @@ def fig_jam():
ax.plot(x, col(r, "perm_blind"), color=C_EVE, marker="s", ls="-.", ax.plot(x, col(r, "perm_blind"), color=C_EVE, marker="s", ls="-.",
markevery=(me // 2, me), label=LBL["perm"] + ", blind", **OVER) markevery=(me // 2, me), label=LBL["perm"] + ", blind", **OVER)
nojam = float(load("sec_jam.csv")[0]["nojam"]) nojam = float(load("sec_jam.csv")[0]["nojam"])
ax.axhline(nojam, color=C_OMA, ls=(0, (1, 3)), lw=0.9) ax.axhline(nojam, color=C_OMA, ls=(0, (1, 3)), lw=0.9,
ax.text(max(x) - 0.6, nojam + 0.02, LBL["nojam"], ha="right", label=LBL["nojam"])
va="bottom", fontsize=7.4, color="#555555")
ax.set_xlabel("JSR (dB)") ax.set_xlabel("JSR (dB)")
ax.set_ylabel("SER") ax.set_ylabel("SER")
ax.set_xlim(min(x), max(x)) ax.set_xlim(min(x), max(x))
ax.set_ylim(0.2, 1.02) ax.set_ylim(0.8 * nojam, 1.02)
ax.legend(loc="center right", bbox_to_anchor=(0.985, 0.47)) place_legend(ax)
save(fig, "fig_sec_jam") save(fig, "fig_sec_jam")
@@ -257,7 +307,7 @@ def fig_sens():
ax.set_xlabel("Fraction of the key recovered") ax.set_xlabel("Fraction of the key recovered")
ax.set_ylabel("Eavesdropper SER") ax.set_ylabel("Eavesdropper SER")
ax.set_xlim(0, 1) ax.set_xlim(0, 1)
ax.legend(loc="lower left") place_legend(ax)
save(fig, "fig_sec_sens") save(fig, "fig_sec_sens")
@@ -273,13 +323,12 @@ def fig_brute():
label=LBL["pad"], **OVER) label=LBL["pad"], **OVER)
ax.semilogx(x, col(r, "ser_mask"), color=C_LEGIT, marker="o", ls="-", ax.semilogx(x, col(r, "ser_mask"), color=C_LEGIT, marker="o", ls="-",
label=LBL["mask"]) label=LBL["mask"])
kl = load("sec_keylen.csv") legit = main_legit()
legit = float([q for q in kl if int(q["L"]) == 16][0]["legit_ser"])
ax.axhline(legit, color=C_OMA, ls=":", lw=0.9, label=LBL["legit"]) ax.axhline(legit, color=C_OMA, ls=":", lw=0.9, label=LBL["legit"])
ax.set_xlabel("Number of key guesses $K$") ax.set_xlabel("Number of key guesses $K$")
ax.set_ylabel("Eavesdropper SER") ax.set_ylabel("Eavesdropper SER")
ax.set_ylim(0.2, 1.05) ax.set_ylim(0.8 * legit, 1.05)
ax.legend(loc="lower left") place_legend(ax)
save(fig, "fig_sec_brute") save(fig, "fig_sec_brute")
@@ -299,7 +348,7 @@ def fig_real():
ax.set_xlabel("SNR (dB)") ax.set_xlabel("SNR (dB)")
ax.set_ylabel("TER") ax.set_ylabel("TER")
ax.set_xlim(min(x), max(x)) ax.set_xlim(min(x), max(x))
ax.legend(loc="lower left") place_legend(ax)
save(fig, "fig_sec_real") save(fig, "fig_sec_real")
@@ -325,10 +374,9 @@ def fig_kpa():
print("[skip] pkpa.csv not present yet") print("[skip] pkpa.csv not present yet")
# legitimate reference measured with the SAME estimator as the # legitimate reference measured with the SAME estimator as the
# eavesdropper curves, namely the four-user average of eval_ser_sse # eavesdropper curves, namely the four-user average of eval_ser_sse
# at L=16, taken from sec_keylen.csv rather than from the user-1 # in the main configuration, rather than the user-1 convention of the
# convention of the scheme-comparison table # scheme-comparison table
kl = load("sec_keylen.csv") legit = main_legit()
legit = float([r for r in kl if int(r["L"]) == 16][0]["legit_ser"])
ax.axhline(legit, color=C_OMA, ls=":", lw=0.9, label=LBL["legit"]) ax.axhline(legit, color=C_OMA, ls=":", lw=0.9, label=LBL["legit"])
ax.set_xlabel("Known-plaintext frames $N$") ax.set_xlabel("Known-plaintext frames $N$")
ax.set_ylabel("Eavesdropper SER") ax.set_ylabel("Eavesdropper SER")
@@ -336,7 +384,7 @@ def fig_kpa():
# the 0 dB curve sweeps the upper-right, so anchor the legend at the # the 0 dB curve sweeps the upper-right, so anchor the legend at the
# top edge past the steep drops, above every curve at large N # top edge past the steep drops, above every curve at large N
ax.set_ylim(top=1.18) ax.set_ylim(top=1.18)
ax.legend(loc="upper right", bbox_to_anchor=(1.0, 1.04)) place_legend(ax)
save(fig, "fig_sec_kpa") save(fig, "fig_sec_kpa")
+1 -1
View File
@@ -35,7 +35,7 @@ DEVICE = torch.device("cuda" if torch.cuda.is_available() else "cpu")
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
# global configuration # global configuration
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
D = 64 # embedding dimension (real) D = 256 # embedding dimension (real)
U = 4 # users U = 4 # users
VU = 16 # unit codebook size VU = 16 # unit codebook size
P_MAX = 4 # periods for the main configuration, V = 16^4 = 65536 P_MAX = 4 # periods for the main configuration, V = 16^4 = 65536
+42 -42
View File
@@ -1,43 +1,43 @@
snr_db,n_frames,kappa,eve_ser snr_db,n_frames,kappa,eve_ser
0,1,0.2506237943,0.998554125 0,1,0.12352509,0.99831525
0,2,0.591645799,0.9303495 0,2,0.5251209017,0.667321375
0,3,0.7079962283,0.8537115 0,3,0.7064555086,0.355686125
0,4,0.7998725504,0.767802875 0,4,0.8180372834,0.153838875
0,5,0.850597313,0.684796 0,5,0.851283282,0.11704475
0,6,0.8767687038,0.6361745 0,6,0.8886688635,0.08632125
0,8,0.9171553269,0.520736875 0,8,0.9222010329,0.071005375
0,10,0.936547631,0.455442125 0,10,0.9411106989,0.065095875
0,12,0.9516445503,0.400028875 0,12,0.9511190057,0.062455
0,16,0.9666089579,0.344806875 0,16,0.9647030935,0.05952275
0,24,0.9785378739,0.3075 0,24,0.9768752605,0.057202125
0,32,0.9843035683,0.29181625 0,32,0.9825294316,0.056090625
0,48,0.989774394,0.27860675 0,48,0.9889646709,0.054879875
0,64,0.9924546674,0.272548625 0,64,0.9916648567,0.05434675
10,1,0.3695881277,0.986553125 10,1,0.1945309106,0.974309875
10,2,0.880338943,0.55928725 10,2,0.8957558513,0.09464225
10,3,0.9474378824,0.4139 10,3,0.9584526971,0.061422375
10,4,0.9692240357,0.339236625 10,4,0.9749164343,0.057618875
10,5,0.9786081538,0.3095635 10,5,0.9840320468,0.055860125
10,6,0.9846392065,0.292632375 10,6,0.9870633438,0.055293125
10,8,0.9900667578,0.278431375 10,8,0.9915206015,0.0545015
10,10,0.9934557095,0.270305 10,10,0.993655026,0.054026875
10,12,0.9948186457,0.267862125 10,12,0.9947692543,0.05398375
10,16,0.9963249952,0.264728875 10,16,0.9961483911,0.05369625
10,24,0.9976470947,0.26182575 10,24,0.9975565806,0.0534085
10,32,0.998370938,0.260598625 10,32,0.9982031986,0.053507125
10,48,0.9989489555,0.259409125 10,48,0.9988671347,0.053128875
10,64,0.9992221802,0.258898125 10,64,0.9991624668,0.05316875
20,1,0.6164694946,0.807168125 20,1,0.4000679564,0.75409875
20,2,0.9846389949,0.29904075 20,2,0.9798189059,0.05720575
20,3,0.9948147267,0.268233 20,3,0.9945692539,0.053949375
20,4,0.9972566783,0.262752625 20,4,0.9968175337,0.053615375
20,5,0.9983854383,0.260594375 20,5,0.9978483543,0.053312375
20,6,0.9988236457,0.259794 20,6,0.9984246671,0.053056125
20,8,0.9991258562,0.259128625 20,8,0.9989141598,0.053266375
20,10,0.9993467629,0.258526 20,10,0.9992120922,0.053062
20,12,0.9994955555,0.25809525 20,12,0.9993801698,0.0532745
20,16,0.9996308014,0.258118625 20,16,0.9995821282,0.053144375
20,24,0.9997742459,0.25761825 20,24,0.9997434661,0.0532995
20,32,0.9998249143,0.25777975 20,32,0.9998255745,0.053043125
20,48,0.9998879731,0.257699625 20,48,0.9998879209,0.05301875
20,64,0.9999218643,0.257602125 20,64,0.9999150276,0.05316375
1 snr_db n_frames kappa eve_ser
2 0 1 0.2506237943 0.12352509 0.998554125 0.99831525
3 0 2 0.591645799 0.5251209017 0.9303495 0.667321375
4 0 3 0.7079962283 0.7064555086 0.8537115 0.355686125
5 0 4 0.7998725504 0.8180372834 0.767802875 0.153838875
6 0 5 0.850597313 0.851283282 0.684796 0.11704475
7 0 6 0.8767687038 0.8886688635 0.6361745 0.08632125
8 0 8 0.9171553269 0.9222010329 0.520736875 0.071005375
9 0 10 0.936547631 0.9411106989 0.455442125 0.065095875
10 0 12 0.9516445503 0.9511190057 0.400028875 0.062455
11 0 16 0.9666089579 0.9647030935 0.344806875 0.05952275
12 0 24 0.9785378739 0.9768752605 0.3075 0.057202125
13 0 32 0.9843035683 0.9825294316 0.29181625 0.056090625
14 0 48 0.989774394 0.9889646709 0.27860675 0.054879875
15 0 64 0.9924546674 0.9916648567 0.272548625 0.05434675
16 10 1 0.3695881277 0.1945309106 0.986553125 0.974309875
17 10 2 0.880338943 0.8957558513 0.55928725 0.09464225
18 10 3 0.9474378824 0.9584526971 0.4139 0.061422375
19 10 4 0.9692240357 0.9749164343 0.339236625 0.057618875
20 10 5 0.9786081538 0.9840320468 0.3095635 0.055860125
21 10 6 0.9846392065 0.9870633438 0.292632375 0.055293125
22 10 8 0.9900667578 0.9915206015 0.278431375 0.0545015
23 10 10 0.9934557095 0.993655026 0.270305 0.054026875
24 10 12 0.9948186457 0.9947692543 0.267862125 0.05398375
25 10 16 0.9963249952 0.9961483911 0.264728875 0.05369625
26 10 24 0.9976470947 0.9975565806 0.26182575 0.0534085
27 10 32 0.998370938 0.9982031986 0.260598625 0.053507125
28 10 48 0.9989489555 0.9988671347 0.259409125 0.053128875
29 10 64 0.9992221802 0.9991624668 0.258898125 0.05316875
30 20 1 0.6164694946 0.4000679564 0.807168125 0.75409875
31 20 2 0.9846389949 0.9798189059 0.29904075 0.05720575
32 20 3 0.9948147267 0.9945692539 0.268233 0.053949375
33 20 4 0.9972566783 0.9968175337 0.262752625 0.053615375
34 20 5 0.9983854383 0.9978483543 0.260594375 0.053312375
35 20 6 0.9988236457 0.9984246671 0.259794 0.053056125
36 20 8 0.9991258562 0.9989141598 0.259128625 0.053266375
37 20 10 0.9993467629 0.9992120922 0.258526 0.053062
38 20 12 0.9994955555 0.9993801698 0.25809525 0.0532745
39 20 16 0.9996308014 0.9995821282 0.258118625 0.053144375
40 20 24 0.9997742459 0.9997434661 0.25761825 0.0532995
41 20 32 0.9998249143 0.9998255745 0.25777975 0.053043125
42 20 48 0.9998879731 0.9998879209 0.257699625 0.05301875
43 20 64 0.9999218643 0.9999150276 0.257602125 0.05316375
+16 -16
View File
@@ -1,17 +1,17 @@
n_frames,perm_frac,eve_ser n_frames,perm_frac,eve_ser
1,0.2545572917,0.9990345 1,0.07789713542,0.9998223333
2,0.7299479167,0.8108416667 2,0.4416992188,0.8047886667
3,0.9266927083,0.4801366667 3,0.8402018229,0.2011701667
4,0.9885416667,0.3021165 4,0.9570963542,0.078129
5,0.9955729167,0.2737706667 5,0.9874674479,0.058565
6,0.9997395833,0.2587145 6,0.998828125,0.05340366667
7,1,0.2575458333 7,0.9992838542,0.05337483333
8,1,0.2575538333 8,0.9998697917,0.05304583333
10,1,0.2575 10,1,0.05286516667
12,1,0.2576706667 12,1,0.05297066667
16,1,0.2577931667 16,1,0.0530215
20,1,0.2578143333 20,1,0.05311583333
24,1,0.2574975 24,1,0.05297233333
32,1,0.2576283333 32,1,0.05296366667
48,1,0.2576288333 48,1,0.05290466667
64,1,0.2575123333 64,1,0.052919
1 n_frames perm_frac eve_ser
2 1 0.2545572917 0.07789713542 0.9990345 0.9998223333
3 2 0.7299479167 0.4416992188 0.8108416667 0.8047886667
4 3 0.9266927083 0.8402018229 0.4801366667 0.2011701667
5 4 0.9885416667 0.9570963542 0.3021165 0.078129
6 5 0.9955729167 0.9874674479 0.2737706667 0.058565
7 6 0.9997395833 0.998828125 0.2587145 0.05340366667
8 7 1 0.9992838542 0.2575458333 0.05337483333
9 8 1 0.9998697917 0.2575538333 0.05304583333
10 10 1 0.2575 0.05286516667
11 12 1 0.2576706667 0.05297066667
12 16 1 0.2577931667 0.0530215
13 20 1 0.2578143333 0.05311583333
14 24 1 0.2574975 0.05297233333
15 32 1 0.2576283333 0.05296366667
16 48 1 0.2576288333 0.05290466667
17 64 1 0.2575123333 0.052919
+6 -6
View File
@@ -10,22 +10,22 @@
"headline_runs": 4, "headline_runs": 4,
"recovery": { "recovery": {
"20": { "20": {
"legit": 0.22112422997946612, "legit": 0.7507700205338809,
"eve": 0.0, "eve": 0.0,
"insider": 0.0, "insider": 0.0,
"oma": 0.19815195071868583 "oma": 0.6463039014373717
}, },
"24": { "24": {
"legit": 0.5395277207392197, "legit": 0.8966889117043121,
"eve": 0.0, "eve": 0.0,
"insider": 0.0, "insider": 0.0,
"oma": 0.5160420944558521 "oma": 0.8390657084188912
}, },
"28": { "28": {
"legit": 0.7804158110882957, "legit": 0.9588039014373717,
"eve": 0.0, "eve": 0.0,
"insider": 0.0, "insider": 0.0,
"oma": 0.7583418891170431 "oma": 0.9319815195071869
} }
} }
} }
+8 -8
View File
@@ -1,9 +1,9 @@
snr_db,ter_legit,ter_eve,ter_insider,ter_oma snr_db,ter_legit,ter_eve,ter_insider,ter_oma
0,0.8789390651,0.9999649972,0.9990586747,0.8927576706 0,0.3971355208,0.9997737319,0.9959146732,0.5232856128
4,0.6421088687,0.9999537463,0.9975273022,0.6680284423 4,0.1907565105,0.9995762161,0.9945970678,0.2740881771
8,0.3651042083,0.9999649972,0.9957384091,0.3898399372 8,0.08179654372,0.9993636991,0.9939007621,0.123424874
12,0.1726488119,0.9999537463,0.9944920594,0.1874349948 12,0.03395771662,0.9992336887,0.9936032383,0.05201666133
16,0.07386590927,0.9999337447,0.9938557585,0.08109648772 16,0.01357608609,0.9991099288,0.9934969798,0.02118419474
20,0.0309237239,0.9999362449,0.9936069886,0.03380395432 20,0.005565445236,0.9991286803,0.9934507261,0.008630690455
24,0.01248849908,0.9999324946,0.9934769782,0.01364484159 24,0.002230178414,0.9991974358,0.9934207237,0.003452776222
28,0.004962897032,0.999924994,0.9934394752,0.005405432435 28,0.0008825706056,0.9992486899,0.9934144732,0.001385110809
1 snr_db ter_legit ter_eve ter_insider ter_oma
2 0 0.8789390651 0.3971355208 0.9999649972 0.9997737319 0.9990586747 0.9959146732 0.8927576706 0.5232856128
3 4 0.6421088687 0.1907565105 0.9999537463 0.9995762161 0.9975273022 0.9945970678 0.6680284423 0.2740881771
4 8 0.3651042083 0.08179654372 0.9999649972 0.9993636991 0.9957384091 0.9939007621 0.3898399372 0.123424874
5 12 0.1726488119 0.03395771662 0.9999537463 0.9992336887 0.9944920594 0.9936032383 0.1874349948 0.05201666133
6 16 0.07386590927 0.01357608609 0.9999337447 0.9991099288 0.9938557585 0.9934969798 0.08109648772 0.02118419474
7 20 0.0309237239 0.005565445236 0.9999362449 0.9991286803 0.9936069886 0.9934507261 0.03380395432 0.008630690455
8 24 0.01248849908 0.002230178414 0.9999324946 0.9991974358 0.9934769782 0.9934207237 0.01364484159 0.003452776222
9 28 0.004962897032 0.0008825706056 0.999924994 0.9992486899 0.9934394752 0.9934144732 0.005405432435 0.001385110809
+24 -24
View File
@@ -1,25 +1,25 @@
block,legit_invariant,legit_naive,eve_invariant,eve_naive block,legit_invariant,legit_naive,eve_invariant,eve_naive
0,0.25722,0.9825916667,0.9998433333,0.999975 0,0.05306083333,0.08038333333,0.9999508333,0.9999683333
1,0.257695,0.7424366667,0.9997983333,0.998495 1,0.05273166667,0.1074658333,0.9999333333,0.9998433333
2,0.2575741667,0.8482983333,0.9999891667,0.9999966667 2,0.05277666667,0.1060591667,0.9996633333,0.9999733333
3,0.2574108333,0.7789558333,0.9997116667,0.9998625 3,0.053255,0.1242133333,0.9999908333,0.9999083333
4,0.2578316667,0.619975,0.9978516667,0.9999391667 4,0.0530325,0.1259233333,0.99994,0.99886
5,0.2575941667,0.6579858333,0.99976,0.9997716667 5,0.05305,0.1073991667,0.9976566667,0.9998183333
6,0.2568508333,0.7788175,0.9997783333,0.9999341667 6,0.05290833333,0.10623,0.9999625,0.9999325
7,0.2574466667,0.6938383333,0.9999633333,0.9989225 7,0.05312583333,0.1075391667,0.9999916667,0.9998858333
8,0.2568958333,0.8399391667,0.9983208333,0.99991 8,0.05348333333,0.1069425,0.99999,0.9981908333
9,0.2572158333,0.6549775,0.9999891667,0.9999816667 9,0.05322833333,0.1036133333,0.9999966667,0.9998841667
10,0.2575733333,0.4789683333,0.9995841667,0.9995091667 10,0.05320666667,0.09874583333,0.99966,0.9998675
11,0.2569025,0.6551183333,0.999925,0.9999741667 11,0.05308583333,0.0826975,0.999985,0.996885
12,0.2582966667,0.8479616667,0.9997208333,0.9999233333 12,0.05284416667,0.1512316667,0.99997,0.9999375
13,0.2579675,0.6551841667,0.9999758333,0.9996183333 13,0.05285916667,0.2648991667,0.9999108333,0.9999933333
14,0.2572158333,0.6582558333,1,0.999915 14,0.05330416667,0.1010783333,0.9996125,0.99999
15,0.2578983333,0.4791275,0.9994441667,0.9999233333 15,0.0528175,0.1194066667,0.99961,0.9998841667
16,0.2570508333,0.7614066667,0.9998991667,0.9993675 16,0.05312166667,0.1301383333,0.9990241667,0.9999683333
17,0.2576233333,0.8045108333,0.9994666667,0.9999475 17,0.05278,0.1393716667,0.9994875,0.9997066667
18,0.2571108333,0.8073525,0.9997158333,0.999985 18,0.05314333333,0.1566191667,0.9998908333,0.9999208333
19,0.257955,0.6890983333,0.9992433333,0.9994441667 19,0.05337666667,0.1165041667,0.9990191667,0.9999958333
20,0.25777,0.5282241667,0.9981,0.9992808333 20,0.05288,0.1321825,0.99927,0.9996708333
21,0.2568141667,0.7426725,0.9999566667,0.999965 21,0.05266333333,0.1290883333,0.9996075,0.9999233333
22,0.2578066667,0.6547841667,0.9997633333,0.9990433333 22,0.05324583333,0.09973166667,0.9991875,0.9997808333
23,0.2575241667,0.68849,0.9998791667,0.99982 23,0.05300833333,0.1198525,0.9979583333,0.999895
1 block legit_invariant legit_naive eve_invariant eve_naive
2 0 0.25722 0.05306083333 0.9825916667 0.08038333333 0.9998433333 0.9999508333 0.999975 0.9999683333
3 1 0.257695 0.05273166667 0.7424366667 0.1074658333 0.9997983333 0.9999333333 0.998495 0.9998433333
4 2 0.2575741667 0.05277666667 0.8482983333 0.1060591667 0.9999891667 0.9996633333 0.9999966667 0.9999733333
5 3 0.2574108333 0.053255 0.7789558333 0.1242133333 0.9997116667 0.9999908333 0.9998625 0.9999083333
6 4 0.2578316667 0.0530325 0.619975 0.1259233333 0.9978516667 0.99994 0.9999391667 0.99886
7 5 0.2575941667 0.05305 0.6579858333 0.1073991667 0.99976 0.9976566667 0.9997716667 0.9998183333
8 6 0.2568508333 0.05290833333 0.7788175 0.10623 0.9997783333 0.9999625 0.9999341667 0.9999325
9 7 0.2574466667 0.05312583333 0.6938383333 0.1075391667 0.9999633333 0.9999916667 0.9989225 0.9998858333
10 8 0.2568958333 0.05348333333 0.8399391667 0.1069425 0.9983208333 0.99999 0.99991 0.9981908333
11 9 0.2572158333 0.05322833333 0.6549775 0.1036133333 0.9999891667 0.9999966667 0.9999816667 0.9998841667
12 10 0.2575733333 0.05320666667 0.4789683333 0.09874583333 0.9995841667 0.99966 0.9995091667 0.9998675
13 11 0.2569025 0.05308583333 0.6551183333 0.0826975 0.999925 0.999985 0.9999741667 0.996885
14 12 0.2582966667 0.05284416667 0.8479616667 0.1512316667 0.9997208333 0.99997 0.9999233333 0.9999375
15 13 0.2579675 0.05285916667 0.6551841667 0.2648991667 0.9999758333 0.9999108333 0.9996183333 0.9999933333
16 14 0.2572158333 0.05330416667 0.6582558333 0.1010783333 1 0.9996125 0.999915 0.99999
17 15 0.2578983333 0.0528175 0.4791275 0.1194066667 0.9994441667 0.99961 0.9999233333 0.9998841667
18 16 0.2570508333 0.05312166667 0.7614066667 0.1301383333 0.9998991667 0.9990241667 0.9993675 0.9999683333
19 17 0.2576233333 0.05278 0.8045108333 0.1393716667 0.9994666667 0.9994875 0.9999475 0.9997066667
20 18 0.2571108333 0.05314333333 0.8073525 0.1566191667 0.9997158333 0.9998908333 0.999985 0.9999208333
21 19 0.257955 0.05337666667 0.6890983333 0.1165041667 0.9992433333 0.9990191667 0.9994441667 0.9999958333
22 20 0.25777 0.05288 0.5282241667 0.1321825 0.9981 0.99927 0.9992808333 0.9996708333
23 21 0.2568141667 0.05266333333 0.7426725 0.1290883333 0.9999566667 0.9996075 0.999965 0.9999233333
24 22 0.2578066667 0.05324583333 0.6547841667 0.09973166667 0.9997633333 0.9991875 0.9990433333 0.9997808333
25 23 0.2575241667 0.05300833333 0.68849 0.1198525 0.9998791667 0.9979583333 0.99982 0.999895
+6 -6
View File
@@ -1,7 +1,7 @@
n_frames,ser_same_block,ser_next_block n_frames,ser_same_block,ser_next_block
2,0.27116875,0.9988428125 2,0.0910125,0.999634375
4,0.260861875,0.998726875 4,0.0540171875,0.999456875
8,0.2588515625,0.99869375 8,0.0532996875,0.9995453125
16,0.2586403125,0.998735625 16,0.0532596875,0.9995365625
32,0.2571871875,0.9986965625 32,0.0530225,0.999555
64,0.25772125,0.99869375 64,0.053059375,0.9995303125
1 n_frames ser_same_block ser_next_block
2 2 0.27116875 0.0910125 0.9988428125 0.999634375
3 4 0.260861875 0.0540171875 0.998726875 0.999456875
4 8 0.2588515625 0.0532996875 0.99869375 0.9995453125
5 16 0.2586403125 0.0532596875 0.998735625 0.9995365625
6 32 0.2571871875 0.0530225 0.9986965625 0.999555
7 64 0.25772125 0.053059375 0.99869375 0.9995303125
+3 -3
View File
@@ -1,4 +1,4 @@
scheme,legit,eve,entropy_bits scheme,legit,eve,entropy_bits
None (fixed key),0.2573025,0.9999908333,14.99964774 None (fixed key),0.05300666667,0.9997075,23.76910417
Fresh orthogonal keys,0.7103737847,0.9996877083,14.99964774 Fresh orthogonal keys,0.1215548611,0.9996535069,23.76910417
Invariant,0.2574685069,0.99957,64.83510297 Invariant,0.05304121528,0.9995528819,364.5801064
1 scheme legit eve entropy_bits
2 None (fixed key) 0.2573025 0.05300666667 0.9999908333 0.9997075 14.99964774 23.76910417
3 Fresh orthogonal keys 0.7103737847 0.1215548611 0.9996877083 0.9996535069 14.99964774 23.76910417
4 Invariant 0.2574685069 0.05304121528 0.99957 0.9995528819 64.83510297 364.5801064
+28 -28
View File
@@ -1,29 +1,29 @@
L,K,best_rho,eve_ser L,K,best_rho,eve_ser
8,1,0.2918601623,0.9945244994 8,1,0.2918601623,0.9066920085
8,10,0.6307837307,0.9550597921 8,10,0.6307837307,0.5210311818
8,100,0.8190062809,0.8147158732 8,100,0.8190062809,0.1464367404
8,1000,0.9077793813,0.5723297059 8,1000,0.9077793813,0.07579906172
8,10000,0.9535904264,0.3866372342 8,10000,0.9535904264,0.06202610787
8,100000,0.9757162716,0.3157766639 8,100000,0.9757162716,0.05732935088
8,1000000,0.9872786315,0.2845244539 8,1000000,0.9872786315,0.05494886822
16,1,0.2228791779,0.9990085712 16,1,0.2228791779,0.9678674777
16,10,0.4570522499,0.9943536935 16,10,0.4570522499,0.8428517805
16,100,0.6321070191,0.9769163907 16,100,0.6321070191,0.5220053649
16,1000,0.7417848118,0.9311708657 16,1000,0.7417848118,0.2575339696
16,10000,0.8164950053,0.8399011082 16,10000,0.8164950053,0.1355546081
16,100000,0.8673534005,0.7274791752 16,100000,0.8673534005,0.0917885764
16,1000000,0.9048131336,0.5915534824 16,1000000,0.9048131336,0.07564447448
32,1,0.1399813941,0.999821061 32,1,0.1399813941,0.9955028264
32,10,0.3205750013,0.9991354579 32,10,0.3205750013,0.9696107631
32,100,0.4660256564,0.996404209 32,100,0.4660256564,0.8637137122
32,1000,0.5620279439,0.991343747 32,1000,0.5620279439,0.694146855
32,10000,0.6393936736,0.9815239297 32,10000,0.6393936736,0.505025831
32,100000,0.6993164916,0.9634132739 32,100000,0.6993164916,0.3443445207
32,1000000,0.7479539255,0.9349306487 32,1000000,0.7479539255,0.2384664588
64,1,0.0987436915,0.9999096477 64,1,0.0987436915,0.9985051621
64,10,0.2263401688,0.9997303409 64,10,0.2263401688,0.9932755581
64,100,0.3389944824,0.9991750164 64,100,0.3389944824,0.9716186298
64,1000,0.4155608514,0.9981802181 64,1000,0.4155608514,0.9321217644
64,10000,0.4757575011,0.9967597446 64,10000,0.4757575011,0.8672182737
64,100000,0.5299797378,0.994275692 64,100000,0.5299797378,0.7724368738
64,1000000,0.5741312045,0.9910114047 64,1000000,0.5741312045,0.6658700504
1 L K best_rho eve_ser
2 8 1 0.2918601623 0.9945244994 0.9066920085
3 8 10 0.6307837307 0.9550597921 0.5210311818
4 8 100 0.8190062809 0.8147158732 0.1464367404
5 8 1000 0.9077793813 0.5723297059 0.07579906172
6 8 10000 0.9535904264 0.3866372342 0.06202610787
7 8 100000 0.9757162716 0.3157766639 0.05732935088
8 8 1000000 0.9872786315 0.2845244539 0.05494886822
9 16 1 0.2228791779 0.9990085712 0.9678674777
10 16 10 0.4570522499 0.9943536935 0.8428517805
11 16 100 0.6321070191 0.9769163907 0.5220053649
12 16 1000 0.7417848118 0.9311708657 0.2575339696
13 16 10000 0.8164950053 0.8399011082 0.1355546081
14 16 100000 0.8673534005 0.7274791752 0.0917885764
15 16 1000000 0.9048131336 0.5915534824 0.07564447448
16 32 1 0.1399813941 0.999821061 0.9955028264
17 32 10 0.3205750013 0.9991354579 0.9696107631
18 32 100 0.4660256564 0.996404209 0.8637137122
19 32 1000 0.5620279439 0.991343747 0.694146855
20 32 10000 0.6393936736 0.9815239297 0.505025831
21 32 100000 0.6993164916 0.9634132739 0.3443445207
22 32 1000000 0.7479539255 0.9349306487 0.2384664588
23 64 1 0.0987436915 0.9999096477 0.9985051621
24 64 10 0.2263401688 0.9997303409 0.9932755581
25 64 100 0.3389944824 0.9991750164 0.9716186298
26 64 1000 0.4155608514 0.9981802181 0.9321217644
27 64 10000 0.4757575011 0.9967597446 0.8672182737
28 64 100000 0.5299797378 0.994275692 0.7724368738
29 64 1000000 0.5741312045 0.9910114047 0.6658700504
+14 -14
View File
@@ -1,15 +1,15 @@
K,ser_mask,ser_perm,ser_pad,best_kappa,best_frac K,ser_mask,ser_perm,ser_pad,best_kappa,best_frac
1,0.9993544844,0.9999768274,0.9999886992,0.1909643153,0.0160546875 1,0.9975735971,0.9999452686,0.9999855534,0.1060014706,0.00373046875
3,0.997243306,0.9999681491,0.9999660976,0.3326517476,0.0281640625 3,0.9939382519,0.999917898,0.9999566603,0.1737056038,0.006982421875
10,0.9938504211,0.999957483,0.9998869919,0.450762326,0.043046875 10,0.9885799467,0.999885267,0.9998555344,0.23239142,0.010859375
30,0.9845428901,0.9999498125,0.9996609756,0.5560672497,0.05375 30,0.9784526651,0.9998643897,0.9995666031,0.2887248616,0.01333984375
100,0.9739208985,0.999941526,0.9988699188,0.6290900875,0.0653125 100,0.9639408295,0.9998383342,0.9985553436,0.3406099894,0.01643554687
300,0.9540369033,0.9999351712,0.9966097565,0.688703621,0.0741796875 300,0.9496426441,0.9998154842,0.9956660309,0.3763731975,0.01915039062
1000,0.9234069553,0.9999275566,0.9886991882,0.7427389508,0.0848046875 1000,0.9229213733,0.9997945248,0.9855534363,0.4126070285,0.021640625
3000,0.884658701,0.9999206979,0.9660975647,0.7822538913,0.094375 3000,0.8778012069,0.9997791545,0.9566603088,0.4459480988,0.02346679688
10000,0.8305012761,0.999914875,0.8869918823,0.8169040678,0.1025 10000,0.8268693567,0.9997572087,0.8555343628,0.4766569871,0.02607421875
30000,0.7833179277,0.9999088001,0.660975647,0.8434367197,0.1109765625 30000,0.7835337024,0.9997399479,0.5666030884,0.502465176,0.028125
65536,0.7451236968,0.9999050488,0.25939,0.8592030095,0.1162109375 65536,0.7563541371,0.9997287696,0.05323,0.5185642041,0.029453125
100000,0.7206406422,0.9999030892,0.25939,0.8678447033,0.1189453125 100000,0.7390554126,0.9997216187,0.05323,0.5289073023,0.03030273438
300000,0.6546171753,0.9998972103,0.25939,0.8874619916,0.1271484375 300000,0.6980880931,0.9997044401,0.05323,0.5526416305,0.03234375
1000000,0.5948033388,0.9998918073,0.25939,0.9034448904,0.1346875 1000000,0.6655177674,0.9996913713,0.05323,0.5720463815,0.03389648438
1 K ser_mask ser_perm ser_pad best_kappa best_frac
2 1 0.9993544844 0.9975735971 0.9999768274 0.9999452686 0.9999886992 0.9999855534 0.1909643153 0.1060014706 0.0160546875 0.00373046875
3 3 0.997243306 0.9939382519 0.9999681491 0.999917898 0.9999660976 0.9999566603 0.3326517476 0.1737056038 0.0281640625 0.006982421875
4 10 0.9938504211 0.9885799467 0.999957483 0.999885267 0.9998869919 0.9998555344 0.450762326 0.23239142 0.043046875 0.010859375
5 30 0.9845428901 0.9784526651 0.9999498125 0.9998643897 0.9996609756 0.9995666031 0.5560672497 0.2887248616 0.05375 0.01333984375
6 100 0.9739208985 0.9639408295 0.999941526 0.9998383342 0.9988699188 0.9985553436 0.6290900875 0.3406099894 0.0653125 0.01643554687
7 300 0.9540369033 0.9496426441 0.9999351712 0.9998154842 0.9966097565 0.9956660309 0.688703621 0.3763731975 0.0741796875 0.01915039062
8 1000 0.9234069553 0.9229213733 0.9999275566 0.9997945248 0.9886991882 0.9855534363 0.7427389508 0.4126070285 0.0848046875 0.021640625
9 3000 0.884658701 0.8778012069 0.9999206979 0.9997791545 0.9660975647 0.9566603088 0.7822538913 0.4459480988 0.094375 0.02346679688
10 10000 0.8305012761 0.8268693567 0.999914875 0.9997572087 0.8869918823 0.8555343628 0.8169040678 0.4766569871 0.1025 0.02607421875
11 30000 0.7833179277 0.7835337024 0.9999088001 0.9997399479 0.660975647 0.5666030884 0.8434367197 0.502465176 0.1109765625 0.028125
12 65536 0.7451236968 0.7563541371 0.9999050488 0.9997287696 0.25939 0.05323 0.8592030095 0.5185642041 0.1162109375 0.029453125
13 100000 0.7206406422 0.7390554126 0.9999030892 0.9997216187 0.25939 0.05323 0.8678447033 0.5289073023 0.1189453125 0.03030273438
14 300000 0.6546171753 0.6980880931 0.9998972103 0.9997044401 0.25939 0.05323 0.8874619916 0.5526416305 0.1271484375 0.03234375
15 1000000 0.5948033388 0.6655177674 0.9998918073 0.9996913713 0.25939 0.05323 0.9034448904 0.5720463815 0.1346875 0.03389648438
+5 -5
View File
@@ -1,6 +1,6 @@
scheme,legit_ser,eve_out,eve_in,jam0_ser scheme,legit_ser,eve_out,eve_in,jam0_ser
proposed,0.257845,1,0.9999775,0.7719425 proposed,0.0529425,0.9999925,0.9999825,0.3634175
public_mask,0.257845,0.257845,0.257845,0.91675 public_mask,0.0529425,0.0529425,0.0529425,0.83882
perm_key,0.2580675,0.99999,0.2580675,0.7721175 perm_key,0.0528525,0.9999925,0.0528525,0.36425
index_cipher,0.257845,0.9999847412,0.9999847412,0.91675 index_cipher,0.0529425,0.9999847412,0.9999847412,0.83882
oma_plain,0.2747696909,0.2747696909,0.2747696909,nan oma_plain,0.08056383667,0.08056383667,0.08056383667,nan
1 scheme legit_ser eve_out eve_in jam0_ser
2 proposed 0.257845 0.0529425 1 0.9999925 0.9999775 0.9999825 0.7719425 0.3634175
3 public_mask 0.257845 0.0529425 0.257845 0.0529425 0.257845 0.0529425 0.91675 0.83882
4 perm_key 0.2580675 0.0528525 0.99999 0.9999925 0.2580675 0.0528525 0.7721175 0.36425
5 index_cipher 0.257845 0.0529425 0.9999847412 0.9999847412 0.91675 0.83882
6 oma_plain 0.2747696909 0.08056383667 0.2747696909 0.08056383667 0.2747696909 0.08056383667 nan
+7 -7
View File
@@ -1,8 +1,8 @@
jsr_db,blind,matched,nojam jsr_db,blind,matched,nojam
-10,0.41313,0.602758,0.257308 -10,0.100512,0.370894,0.053384
-5,0.583948,0.79449,0.257308 -5,0.186312,0.629542,0.053384
0,0.772444,0.917424,0.257308 0,0.364964,0.838068,0.053384
5,0.902872,0.97136,0.257308 5,0.610574,0.94122,0.053384
10,0.964788,0.990494,0.257308 10,0.816206,0.980862,0.053384
15,0.988114,0.99704,0.257308 15,0.929192,0.993638,0.053384
20,0.99617,0.999024,0.257308 20,0.97542,0.997986,0.053384
1 jsr_db blind matched nojam
2 -10 0.41313 0.100512 0.602758 0.370894 0.257308 0.053384
3 -5 0.583948 0.186312 0.79449 0.629542 0.257308 0.053384
4 0 0.772444 0.364964 0.917424 0.838068 0.257308 0.053384
5 5 0.902872 0.610574 0.97136 0.94122 0.257308 0.053384
6 10 0.964788 0.816206 0.990494 0.980862 0.257308 0.053384
7 15 0.988114 0.929192 0.99704 0.993638 0.257308 0.053384
8 20 0.99617 0.97542 0.999024 0.997986 0.257308 0.053384
+16 -16
View File
@@ -1,17 +1,17 @@
jsr_db,blind,matched,perm_blind,oma_targeted jsr_db,blind,matched,perm_blind,oma_targeted
-10,0.4144466667,0.6026633333,0.4142366667,0.6401244609 -10,0.10064,0.37023,0.10146,0.5614379461
-8,0.47322,0.6827466667,0.4749333333,0.7152454705 -8,0.1249233333,0.4708266667,0.12691,0.65563829
-6,0.5445766667,0.7588666667,0.54569,0.7840240868 -6,0.1634766667,0.5763733333,0.16262,0.7407016397
-4,0.6223533333,0.8241966667,0.6225633333,0.8424432091 -4,0.214,0.6803433333,0.21294,0.8120662111
-2,0.7009733333,0.8757933333,0.7011833333,0.8888838836 -2,0.2825866667,0.76744,0.2808,0.8681995366
0,0.7724933333,0.9165966667,0.7720633333,0.9237966241 0,0.3646733333,0.8388366667,0.36478,0.9100289945
2,0.8337533333,0.9441633333,0.8322966667,0.9488822017 2,0.4608633333,0.8904066667,0.4600566667,0.9398716824
4,0.88268,0.9645966667,0.88304,0.9662811712 4,0.5610033333,0.92756,0.5599433333,0.9604546595
6,0.9196833333,0.97682,0.9193566667,0.9780307416 6,0.65865,0.9529333333,0.6570033333,0.9742944207
8,0.9457333333,0.9852033333,0.9457433333,0.9858109157 8,0.7445133333,0.96962,0.74325,0.9834284377
10,0.96429,0.9906933333,0.96467,0.9908905586 10,0.8155633333,0.9808933333,0.8162233333,0.9893770607
12,0.97734,0.9942133333,0.9765066667,0.9941743502 12,0.8720266667,0.98766,0.8727233333,0.9932152779
14,0.98498,0.9962466667,0.9854933333,0.9962827887 14,0.9134533333,0.99211,0.9136866667,0.9956760816
16,0.9904633333,0.9975066667,0.99042,0.9976304229 16,0.94315,0.9950333333,0.9424633333,0.9972471319
18,0.99391,0.99848,0.99382,0.9984893291 18,0.96219,0.9969166667,0.96196,0.9982475299
20,0.99619,0.9990566667,0.9963433333,0.9990359654 20,0.9756633333,0.99808,0.97557,0.9988837869
1 jsr_db blind matched perm_blind oma_targeted
2 -10 0.4144466667 0.10064 0.6026633333 0.37023 0.4142366667 0.10146 0.6401244609 0.5614379461
3 -8 0.47322 0.1249233333 0.6827466667 0.4708266667 0.4749333333 0.12691 0.7152454705 0.65563829
4 -6 0.5445766667 0.1634766667 0.7588666667 0.5763733333 0.54569 0.16262 0.7840240868 0.7407016397
5 -4 0.6223533333 0.214 0.8241966667 0.6803433333 0.6225633333 0.21294 0.8424432091 0.8120662111
6 -2 0.7009733333 0.2825866667 0.8757933333 0.76744 0.7011833333 0.2808 0.8888838836 0.8681995366
7 0 0.7724933333 0.3646733333 0.9165966667 0.8388366667 0.7720633333 0.36478 0.9237966241 0.9100289945
8 2 0.8337533333 0.4608633333 0.9441633333 0.8904066667 0.8322966667 0.4600566667 0.9488822017 0.9398716824
9 4 0.88268 0.5610033333 0.9645966667 0.92756 0.88304 0.5599433333 0.9662811712 0.9604546595
10 6 0.9196833333 0.65865 0.97682 0.9529333333 0.9193566667 0.6570033333 0.9780307416 0.9742944207
11 8 0.9457333333 0.7445133333 0.9852033333 0.96962 0.9457433333 0.74325 0.9858109157 0.9834284377
12 10 0.96429 0.8155633333 0.9906933333 0.9808933333 0.96467 0.8162233333 0.9908905586 0.9893770607
13 12 0.97734 0.8720266667 0.9942133333 0.98766 0.9765066667 0.8727233333 0.9941743502 0.9932152779
14 14 0.98498 0.9134533333 0.9962466667 0.99211 0.9854933333 0.9136866667 0.9962827887 0.9956760816
15 16 0.9904633333 0.94315 0.9975066667 0.9950333333 0.99042 0.9424633333 0.9976304229 0.9972471319
16 18 0.99391 0.96219 0.99848 0.9969166667 0.99382 0.96196 0.9984893291 0.9982475299
17 20 0.99619 0.9756633333 0.9990566667 0.99808 0.9963433333 0.97557 0.9990359654 0.9988837869
+200 -200
View File
@@ -1,201 +1,201 @@
ser,gap_db ser,gap_db
0.6026633333,5.493678481 0.37023,10.11553523
0.6046408543,5.495143167 0.3732723786,10.11830625
0.6066183752,5.496607853 0.3763147571,10.12107727
0.6085958961,5.498072538 0.3793571357,10.12384829
0.6105734171,5.499537224 0.3823995142,10.12661931
0.612550938,5.50100191 0.3854418928,10.12939033
0.614528459,5.502466596 0.3884842714,10.13216136
0.6165059799,5.503931281 0.3915266499,10.13493238
0.6184835008,5.505395967 0.3945690285,10.1377034
0.6204610218,5.506860653 0.397611407,10.14047442
0.6224385427,5.508301835 0.4006537856,10.14324544
0.6244160637,5.509221054 0.4036961642,10.14601646
0.6263935846,5.510140274 0.4067385427,10.14878749
0.6283711055,5.511059493 0.4097809213,10.15155851
0.6303486265,5.511978713 0.4128232998,10.15432953
0.6323261474,5.512897932 0.4158656784,10.15710055
0.6343036683,5.513817151 0.418908057,10.15987157
0.6362811893,5.514736371 0.4219504355,10.16264259
0.6382587102,5.51565559 0.4249928141,10.16541362
0.6402362312,5.516574809 0.4280351926,10.16818464
0.6422137521,5.517494029 0.4310775712,10.17095566
0.644191273,5.518413248 0.4341199497,10.17372668
0.646168794,5.519332468 0.4371623283,10.1764977
0.6481463149,5.520251687 0.4402047069,10.17926873
0.6501238358,5.521170906 0.4432470854,10.18203975
0.6521013568,5.522090126 0.446289464,10.18481077
0.6540788777,5.523009345 0.4493318425,10.18758179
0.6560563987,5.523928564 0.4523742211,10.19035281
0.6580339196,5.524847784 0.4554165997,10.19312383
0.6600114405,5.525767003 0.4584589782,10.19589486
0.6619889615,5.526686223 0.4615013568,10.19814261
0.6639664824,5.527605442 0.4645437353,10.19841844
0.6659440034,5.528524661 0.4675861139,10.19869428
0.6679215243,5.529443881 0.4706284925,10.19897012
0.6698990452,5.5303631 0.473670871,10.20189792
0.6718765662,5.53128232 0.4767132496,10.2050105
0.6738540871,5.532201539 0.4797556281,10.20812308
0.675831608,5.533120758 0.4827980067,10.21123566
0.677809129,5.534039978 0.4858403853,10.21434824
0.6797866499,5.534959197 0.4888827638,10.21746083
0.6817641709,5.535878416 0.4919251424,10.22057341
0.6837416918,5.535503786 0.4949675209,10.22368599
0.6857192127,5.533851599 0.4980098995,10.22679857
0.6876967337,5.532199412 0.5010522781,10.22991115
0.6896742546,5.530547225 0.5040946566,10.23302373
0.6916517755,5.528895037 0.5071370352,10.23613631
0.6936292965,5.52724285 0.5101794137,10.2392489
0.6956068174,5.525590663 0.5132217923,10.24236148
0.6975843384,5.523938475 0.5162641709,10.24547406
0.6995618593,5.522286288 0.5193065494,10.24858664
0.7015393802,5.522063588 0.522348928,10.25169922
0.7035169012,5.525405405 0.5253913065,10.2548118
0.7054944221,5.528747221 0.5284336851,10.25792438
0.707471943,5.532089038 0.5314760637,10.26103697
0.709449464,5.535430855 0.5345184422,10.26414955
0.7114269849,5.538772672 0.5375608208,10.26726213
0.7134045059,5.542114488 0.5406031993,10.27037471
0.7153820268,5.545456305 0.5436455779,10.27348729
0.7173595477,5.548798122 0.5466879564,10.27659987
0.7193370687,5.552139939 0.549730335,10.27971246
0.7213145896,5.555481755 0.5527727136,10.28282504
0.7232921106,5.558823572 0.5558150921,10.28593762
0.7252696315,5.562165389 0.5588574707,10.2890502
0.7272471524,5.565507206 0.5618998492,10.29261998
0.7292246734,5.568849022 0.5649422278,10.29728408
0.7312021943,5.572190839 0.5679846064,10.30194819
0.7331797152,5.575532656 0.5710269849,10.3066123
0.7351572362,5.578874473 0.5740693635,10.3112764
0.7371347571,5.582216289 0.577111742,10.31572832
0.7391122781,5.585558106 0.5801541206,10.31951819
0.741089799,5.588899923 0.5831964992,10.32330805
0.7430673199,5.59224174 0.5862388777,10.32709792
0.7450448409,5.595583557 0.5892812563,10.33088779
0.7470223618,5.598925373 0.5923236348,10.33467765
0.7489998827,5.60226719 0.5953660134,10.33846752
0.7509774037,5.605609007 0.598408392,10.34225739
0.7529549246,5.608950824 0.6014507705,10.34604725
0.7549324456,5.61229264 0.6044931491,10.34983712
0.7569099665,5.615634457 0.6075355276,10.35362698
0.7588874874,5.618885922 0.6105779062,10.35741685
0.7608650084,5.613646281 0.6136202848,10.36120672
0.7628425293,5.608406639 0.6166626633,10.36499658
0.7648200503,5.603166998 0.6197050419,10.36878645
0.7667975712,5.597927356 0.6227474204,10.37257631
0.7687750921,5.592687715 0.625789799,10.37636618
0.7707526131,5.587448073 0.6288321776,10.38015605
0.772730134,5.583317494 0.6318745561,10.38394591
0.7747076549,5.587339621 0.6349169347,10.38773578
0.7766851759,5.591361749 0.6379593132,10.39152564
0.7786626968,5.595383876 0.6410016918,10.39531551
0.7806402178,5.599406004 0.6440440704,10.39910538
0.7826177387,5.603428132 0.6470864489,10.40289524
0.7845952596,5.607450259 0.6501288275,10.40668511
0.7865727806,5.611472387 0.653171206,10.41047497
0.7885503015,5.615494514 0.6562135846,10.41426484
0.7905278224,5.619516642 0.6592559631,10.41975796
0.7925053434,5.62353877 0.6622983417,10.4320994
0.7944828643,5.627560897 0.6653407203,10.44444085
0.7964603853,5.631583025 0.6683830988,10.45678229
0.7984379062,5.635605152 0.6714254774,10.46912373
0.8004154271,5.63962728 0.6744678559,10.48146518
0.8023929481,5.643649408 0.6775102345,10.49380662
0.804370469,5.647671535 0.6805526131,10.50536815
0.8063479899,5.651693663 0.6835949916,10.50637164
0.8083255109,5.65571579 0.6866373702,10.50737513
0.8103030318,5.659737918 0.6896797487,10.50837863
0.8122805528,5.663760046 0.6927221273,10.50938212
0.8142580737,5.667782173 0.6957645059,10.51038561
0.8162355946,5.671804301 0.6988068844,10.51138911
0.8182131156,5.675826428 0.701849263,10.5123926
0.8201906365,5.679848556 0.7048916415,10.51339609
0.8221681575,5.683870684 0.7079340201,10.51439959
0.8241456784,5.687892811 0.7109763987,10.51540308
0.8261231993,5.676216805 0.7140187772,10.51640657
0.8281007203,5.664125326 0.7170611558,10.51741007
0.8300782412,5.652033848 0.7201035343,10.51841356
0.8320557621,5.639942369 0.7231459129,10.51941705
0.8340332831,5.630154814 0.7261882915,10.52042055
0.836010804,5.634337883 0.72923067,10.52142404
0.837988325,5.638520953 0.7322730486,10.52242753
0.8399658459,5.642704022 0.7353154271,10.52343103
0.8419433668,5.646887091 0.7383578057,10.52443452
0.8439208878,5.651070161 0.7414001843,10.52543801
0.8458984087,5.65525323 0.7444425628,10.5264415
0.8478759296,5.6594363 0.7474849414,10.5418762
0.8498534506,5.663619369 0.7505273199,10.55765458
0.8518309715,5.667802439 0.7535696985,10.57343296
0.8538084925,5.671985508 0.7566120771,10.58921134
0.8557860134,5.676168577 0.7596544556,10.60498973
0.8577635343,5.680351647 0.7626968342,10.62076811
0.8597410553,5.684534716 0.7657392127,10.63654649
0.8617185762,5.688717786 0.7687815913,10.64555048
0.8636960972,5.692900855 0.7718239698,10.64596631
0.8656736181,5.697083925 0.7748663484,10.64638213
0.867651139,5.701266994 0.777908727,10.64679796
0.86962866,5.705450063 0.7809511055,10.64721379
0.8716061809,5.709633133 0.7839934841,10.64762962
0.8735837018,5.713816202 0.7870358626,10.64804544
0.8755612228,5.717999272 0.7900782412,10.64846127
0.8775387437,5.704285934 0.7931206198,10.6488771
0.8795162647,5.688192672 0.7961629983,10.64929293
0.8814937856,5.67209941 0.7992053769,10.64970876
0.8834713065,5.666428984 0.8022477554,10.65012458
0.8854488275,5.676382997 0.805290134,10.65054041
0.8874263484,5.68633701 0.8083325126,10.65095624
0.8894038693,5.696291023 0.8113748911,10.65137207
0.8913813903,5.706245035 0.8144172697,10.65178789
0.8933589112,5.716199048 0.8174596482,10.66599377
0.8953364322,5.726153061 0.8205020268,10.68853386
0.8973139531,5.736107074 0.8235444054,10.71107394
0.899291474,5.746061086 0.8265867839,10.73361403
0.901268995,5.756015099 0.8296291625,10.75615411
0.9032465159,5.765969112 0.832671541,10.7786942
0.9052240369,5.775923124 0.8357139196,10.80123429
0.9072015578,5.785877137 0.8387562982,10.82377437
0.9091790787,5.79583115 0.8417986767,10.81441442
0.9111565997,5.805785163 0.8448410553,10.80418892
0.9131341206,5.815739175 0.8478834338,10.79396343
0.9151116415,5.825693188 0.8509258124,10.78373793
0.9170891625,5.824055924 0.853968191,10.77351244
0.9190666834,5.787467425 0.8570105695,10.76328694
0.9210442044,5.781806417 0.8600529481,10.75306144
0.9230217253,5.790159547 0.8630953266,10.74283595
0.9249992462,5.798512677 0.8661377052,10.73261045
0.9269767672,5.806865807 0.8691800838,10.72238495
0.9289542881,5.815218937 0.8722224623,10.71467677
0.930931809,5.823572067 0.8752648409,10.74356673
0.93290933,5.831925197 0.8783072194,10.77245668
0.9348868509,5.840278327 0.881349598,10.80134663
0.9368643719,5.848631457 0.8843919765,10.83023658
0.9388418928,5.856984587 0.8874343551,10.85912654
0.9408194137,5.865337718 0.8904767337,10.88696207
0.9427969347,5.873690848 0.8935191122,10.87006808
0.9447744556,5.866565539 0.8965614908,10.85317409
0.9467519765,5.856412766 0.8996038693,10.8362801
0.9487294975,5.875987642 0.9026462479,10.81938611
0.9507070184,5.895562519 0.9056886265,10.80249212
0.9526845394,5.915137396 0.908731005,10.78559813
0.9546620603,5.934712273 0.9117733836,10.76870414
0.9566395812,5.95428715 0.9148157621,10.77779104
0.9586171022,5.973862027 0.9178581407,10.81891382
0.9605946231,5.993436904 0.9209005193,10.86003661
0.9625721441,6.013011781 0.9239428978,10.90115939
0.964549665,6.044395891 0.9269852764,10.94228217
0.9665271859,6.026989308 0.9300276549,10.92173347
0.9685047069,6.00649273 0.9330700335,10.8868213
0.9704822278,5.985996153 0.9361124121,10.85190914
0.9724597487,5.965499576 0.9391547906,10.81699698
0.9744372697,5.945002998 0.9421971692,10.78208482
0.9764147906,5.924506421 0.9452395477,10.82593689
0.9783923116,5.900370081 0.9482819263,10.90570533
0.9803698325,5.94627134 0.9513243049,10.98547378
0.9823473534,5.9921726 0.9543666834,11.00642719
0.9843248744,6.038073859 0.957409062,10.96135692
0.9863023953,6.081945759 0.9604514405,10.91628665
0.9882799162,6.082821636 0.9634938191,10.92780128
0.9902574372,6.083697512 0.9665361977,11.01476826
0.9922349581,6.152098946 0.9695785762,11.10173524
0.9942124791,6.265817892 0.9726209548,11.01598634
0.99619,6.055737705 0.9756633333,10.92785334
1 ser gap_db
2 0.6026633333 0.37023 5.493678481 10.11553523
3 0.6046408543 0.3732723786 5.495143167 10.11830625
4 0.6066183752 0.3763147571 5.496607853 10.12107727
5 0.6085958961 0.3793571357 5.498072538 10.12384829
6 0.6105734171 0.3823995142 5.499537224 10.12661931
7 0.612550938 0.3854418928 5.50100191 10.12939033
8 0.614528459 0.3884842714 5.502466596 10.13216136
9 0.6165059799 0.3915266499 5.503931281 10.13493238
10 0.6184835008 0.3945690285 5.505395967 10.1377034
11 0.6204610218 0.397611407 5.506860653 10.14047442
12 0.6224385427 0.4006537856 5.508301835 10.14324544
13 0.6244160637 0.4036961642 5.509221054 10.14601646
14 0.6263935846 0.4067385427 5.510140274 10.14878749
15 0.6283711055 0.4097809213 5.511059493 10.15155851
16 0.6303486265 0.4128232998 5.511978713 10.15432953
17 0.6323261474 0.4158656784 5.512897932 10.15710055
18 0.6343036683 0.418908057 5.513817151 10.15987157
19 0.6362811893 0.4219504355 5.514736371 10.16264259
20 0.6382587102 0.4249928141 5.51565559 10.16541362
21 0.6402362312 0.4280351926 5.516574809 10.16818464
22 0.6422137521 0.4310775712 5.517494029 10.17095566
23 0.644191273 0.4341199497 5.518413248 10.17372668
24 0.646168794 0.4371623283 5.519332468 10.1764977
25 0.6481463149 0.4402047069 5.520251687 10.17926873
26 0.6501238358 0.4432470854 5.521170906 10.18203975
27 0.6521013568 0.446289464 5.522090126 10.18481077
28 0.6540788777 0.4493318425 5.523009345 10.18758179
29 0.6560563987 0.4523742211 5.523928564 10.19035281
30 0.6580339196 0.4554165997 5.524847784 10.19312383
31 0.6600114405 0.4584589782 5.525767003 10.19589486
32 0.6619889615 0.4615013568 5.526686223 10.19814261
33 0.6639664824 0.4645437353 5.527605442 10.19841844
34 0.6659440034 0.4675861139 5.528524661 10.19869428
35 0.6679215243 0.4706284925 5.529443881 10.19897012
36 0.6698990452 0.473670871 5.5303631 10.20189792
37 0.6718765662 0.4767132496 5.53128232 10.2050105
38 0.6738540871 0.4797556281 5.532201539 10.20812308
39 0.675831608 0.4827980067 5.533120758 10.21123566
40 0.677809129 0.4858403853 5.534039978 10.21434824
41 0.6797866499 0.4888827638 5.534959197 10.21746083
42 0.6817641709 0.4919251424 5.535878416 10.22057341
43 0.6837416918 0.4949675209 5.535503786 10.22368599
44 0.6857192127 0.4980098995 5.533851599 10.22679857
45 0.6876967337 0.5010522781 5.532199412 10.22991115
46 0.6896742546 0.5040946566 5.530547225 10.23302373
47 0.6916517755 0.5071370352 5.528895037 10.23613631
48 0.6936292965 0.5101794137 5.52724285 10.2392489
49 0.6956068174 0.5132217923 5.525590663 10.24236148
50 0.6975843384 0.5162641709 5.523938475 10.24547406
51 0.6995618593 0.5193065494 5.522286288 10.24858664
52 0.7015393802 0.522348928 5.522063588 10.25169922
53 0.7035169012 0.5253913065 5.525405405 10.2548118
54 0.7054944221 0.5284336851 5.528747221 10.25792438
55 0.707471943 0.5314760637 5.532089038 10.26103697
56 0.709449464 0.5345184422 5.535430855 10.26414955
57 0.7114269849 0.5375608208 5.538772672 10.26726213
58 0.7134045059 0.5406031993 5.542114488 10.27037471
59 0.7153820268 0.5436455779 5.545456305 10.27348729
60 0.7173595477 0.5466879564 5.548798122 10.27659987
61 0.7193370687 0.549730335 5.552139939 10.27971246
62 0.7213145896 0.5527727136 5.555481755 10.28282504
63 0.7232921106 0.5558150921 5.558823572 10.28593762
64 0.7252696315 0.5588574707 5.562165389 10.2890502
65 0.7272471524 0.5618998492 5.565507206 10.29261998
66 0.7292246734 0.5649422278 5.568849022 10.29728408
67 0.7312021943 0.5679846064 5.572190839 10.30194819
68 0.7331797152 0.5710269849 5.575532656 10.3066123
69 0.7351572362 0.5740693635 5.578874473 10.3112764
70 0.7371347571 0.577111742 5.582216289 10.31572832
71 0.7391122781 0.5801541206 5.585558106 10.31951819
72 0.741089799 0.5831964992 5.588899923 10.32330805
73 0.7430673199 0.5862388777 5.59224174 10.32709792
74 0.7450448409 0.5892812563 5.595583557 10.33088779
75 0.7470223618 0.5923236348 5.598925373 10.33467765
76 0.7489998827 0.5953660134 5.60226719 10.33846752
77 0.7509774037 0.598408392 5.605609007 10.34225739
78 0.7529549246 0.6014507705 5.608950824 10.34604725
79 0.7549324456 0.6044931491 5.61229264 10.34983712
80 0.7569099665 0.6075355276 5.615634457 10.35362698
81 0.7588874874 0.6105779062 5.618885922 10.35741685
82 0.7608650084 0.6136202848 5.613646281 10.36120672
83 0.7628425293 0.6166626633 5.608406639 10.36499658
84 0.7648200503 0.6197050419 5.603166998 10.36878645
85 0.7667975712 0.6227474204 5.597927356 10.37257631
86 0.7687750921 0.625789799 5.592687715 10.37636618
87 0.7707526131 0.6288321776 5.587448073 10.38015605
88 0.772730134 0.6318745561 5.583317494 10.38394591
89 0.7747076549 0.6349169347 5.587339621 10.38773578
90 0.7766851759 0.6379593132 5.591361749 10.39152564
91 0.7786626968 0.6410016918 5.595383876 10.39531551
92 0.7806402178 0.6440440704 5.599406004 10.39910538
93 0.7826177387 0.6470864489 5.603428132 10.40289524
94 0.7845952596 0.6501288275 5.607450259 10.40668511
95 0.7865727806 0.653171206 5.611472387 10.41047497
96 0.7885503015 0.6562135846 5.615494514 10.41426484
97 0.7905278224 0.6592559631 5.619516642 10.41975796
98 0.7925053434 0.6622983417 5.62353877 10.4320994
99 0.7944828643 0.6653407203 5.627560897 10.44444085
100 0.7964603853 0.6683830988 5.631583025 10.45678229
101 0.7984379062 0.6714254774 5.635605152 10.46912373
102 0.8004154271 0.6744678559 5.63962728 10.48146518
103 0.8023929481 0.6775102345 5.643649408 10.49380662
104 0.804370469 0.6805526131 5.647671535 10.50536815
105 0.8063479899 0.6835949916 5.651693663 10.50637164
106 0.8083255109 0.6866373702 5.65571579 10.50737513
107 0.8103030318 0.6896797487 5.659737918 10.50837863
108 0.8122805528 0.6927221273 5.663760046 10.50938212
109 0.8142580737 0.6957645059 5.667782173 10.51038561
110 0.8162355946 0.6988068844 5.671804301 10.51138911
111 0.8182131156 0.701849263 5.675826428 10.5123926
112 0.8201906365 0.7048916415 5.679848556 10.51339609
113 0.8221681575 0.7079340201 5.683870684 10.51439959
114 0.8241456784 0.7109763987 5.687892811 10.51540308
115 0.8261231993 0.7140187772 5.676216805 10.51640657
116 0.8281007203 0.7170611558 5.664125326 10.51741007
117 0.8300782412 0.7201035343 5.652033848 10.51841356
118 0.8320557621 0.7231459129 5.639942369 10.51941705
119 0.8340332831 0.7261882915 5.630154814 10.52042055
120 0.836010804 0.72923067 5.634337883 10.52142404
121 0.837988325 0.7322730486 5.638520953 10.52242753
122 0.8399658459 0.7353154271 5.642704022 10.52343103
123 0.8419433668 0.7383578057 5.646887091 10.52443452
124 0.8439208878 0.7414001843 5.651070161 10.52543801
125 0.8458984087 0.7444425628 5.65525323 10.5264415
126 0.8478759296 0.7474849414 5.6594363 10.5418762
127 0.8498534506 0.7505273199 5.663619369 10.55765458
128 0.8518309715 0.7535696985 5.667802439 10.57343296
129 0.8538084925 0.7566120771 5.671985508 10.58921134
130 0.8557860134 0.7596544556 5.676168577 10.60498973
131 0.8577635343 0.7626968342 5.680351647 10.62076811
132 0.8597410553 0.7657392127 5.684534716 10.63654649
133 0.8617185762 0.7687815913 5.688717786 10.64555048
134 0.8636960972 0.7718239698 5.692900855 10.64596631
135 0.8656736181 0.7748663484 5.697083925 10.64638213
136 0.867651139 0.777908727 5.701266994 10.64679796
137 0.86962866 0.7809511055 5.705450063 10.64721379
138 0.8716061809 0.7839934841 5.709633133 10.64762962
139 0.8735837018 0.7870358626 5.713816202 10.64804544
140 0.8755612228 0.7900782412 5.717999272 10.64846127
141 0.8775387437 0.7931206198 5.704285934 10.6488771
142 0.8795162647 0.7961629983 5.688192672 10.64929293
143 0.8814937856 0.7992053769 5.67209941 10.64970876
144 0.8834713065 0.8022477554 5.666428984 10.65012458
145 0.8854488275 0.805290134 5.676382997 10.65054041
146 0.8874263484 0.8083325126 5.68633701 10.65095624
147 0.8894038693 0.8113748911 5.696291023 10.65137207
148 0.8913813903 0.8144172697 5.706245035 10.65178789
149 0.8933589112 0.8174596482 5.716199048 10.66599377
150 0.8953364322 0.8205020268 5.726153061 10.68853386
151 0.8973139531 0.8235444054 5.736107074 10.71107394
152 0.899291474 0.8265867839 5.746061086 10.73361403
153 0.901268995 0.8296291625 5.756015099 10.75615411
154 0.9032465159 0.832671541 5.765969112 10.7786942
155 0.9052240369 0.8357139196 5.775923124 10.80123429
156 0.9072015578 0.8387562982 5.785877137 10.82377437
157 0.9091790787 0.8417986767 5.79583115 10.81441442
158 0.9111565997 0.8448410553 5.805785163 10.80418892
159 0.9131341206 0.8478834338 5.815739175 10.79396343
160 0.9151116415 0.8509258124 5.825693188 10.78373793
161 0.9170891625 0.853968191 5.824055924 10.77351244
162 0.9190666834 0.8570105695 5.787467425 10.76328694
163 0.9210442044 0.8600529481 5.781806417 10.75306144
164 0.9230217253 0.8630953266 5.790159547 10.74283595
165 0.9249992462 0.8661377052 5.798512677 10.73261045
166 0.9269767672 0.8691800838 5.806865807 10.72238495
167 0.9289542881 0.8722224623 5.815218937 10.71467677
168 0.930931809 0.8752648409 5.823572067 10.74356673
169 0.93290933 0.8783072194 5.831925197 10.77245668
170 0.9348868509 0.881349598 5.840278327 10.80134663
171 0.9368643719 0.8843919765 5.848631457 10.83023658
172 0.9388418928 0.8874343551 5.856984587 10.85912654
173 0.9408194137 0.8904767337 5.865337718 10.88696207
174 0.9427969347 0.8935191122 5.873690848 10.87006808
175 0.9447744556 0.8965614908 5.866565539 10.85317409
176 0.9467519765 0.8996038693 5.856412766 10.8362801
177 0.9487294975 0.9026462479 5.875987642 10.81938611
178 0.9507070184 0.9056886265 5.895562519 10.80249212
179 0.9526845394 0.908731005 5.915137396 10.78559813
180 0.9546620603 0.9117733836 5.934712273 10.76870414
181 0.9566395812 0.9148157621 5.95428715 10.77779104
182 0.9586171022 0.9178581407 5.973862027 10.81891382
183 0.9605946231 0.9209005193 5.993436904 10.86003661
184 0.9625721441 0.9239428978 6.013011781 10.90115939
185 0.964549665 0.9269852764 6.044395891 10.94228217
186 0.9665271859 0.9300276549 6.026989308 10.92173347
187 0.9685047069 0.9330700335 6.00649273 10.8868213
188 0.9704822278 0.9361124121 5.985996153 10.85190914
189 0.9724597487 0.9391547906 5.965499576 10.81699698
190 0.9744372697 0.9421971692 5.945002998 10.78208482
191 0.9764147906 0.9452395477 5.924506421 10.82593689
192 0.9783923116 0.9482819263 5.900370081 10.90570533
193 0.9803698325 0.9513243049 5.94627134 10.98547378
194 0.9823473534 0.9543666834 5.9921726 11.00642719
195 0.9843248744 0.957409062 6.038073859 10.96135692
196 0.9863023953 0.9604514405 6.081945759 10.91628665
197 0.9882799162 0.9634938191 6.082821636 10.92780128
198 0.9902574372 0.9665361977 6.083697512 11.01476826
199 0.9922349581 0.9695785762 6.152098946 11.10173524
200 0.9942124791 0.9726209548 6.265817892 11.01598634
201 0.99619 0.9756633333 6.055737705 10.92785334
+4 -4
View File
@@ -1,5 +1,5 @@
family,legit_ser,eve_ser,eve_ones_ser,mask_xcorr family,legit_ser,eve_ser,eve_ones_ser,mask_xcorr
random,0.64962,0.998488,0.999988,0.2709003091 random,0.068322,0.998269,0.999996,0.06645943969
hadamard,0.257299,0.9999905,0.9999755,0 hadamard,0.0530375,0.9997025,0.9999785,0
learned,0.2762895,0.9999285,0.99999,0.007116591092 learned,0.0635265,0.9997915,0.9997865,0.006678360514
learned_reg,0.315952,0.9999555,0.9999175,0.01121100038 learned_reg,0.061412,0.999691,0.9998455,0.002381352475
1 family legit_ser eve_ser eve_ones_ser mask_xcorr
2 random 0.64962 0.068322 0.998488 0.998269 0.999988 0.999996 0.2709003091 0.06645943969
3 hadamard 0.257299 0.0530375 0.9999905 0.9997025 0.9999755 0.9999785 0
4 learned 0.2762895 0.0635265 0.9999285 0.9997915 0.99999 0.9997865 0.007116591092 0.006678360514
5 learned_reg 0.315952 0.061412 0.9999555 0.999691 0.9999175 0.9998455 0.01121100038 0.002381352475
+7 -7
View File
@@ -1,8 +1,8 @@
jsr_db,plain,regularized jsr_db,plain,regularized
-10,0.46703,0.4719866667 -10,0.11818,0.11519
-5,0.6348,0.6301533333 -5,0.2138833333,0.2087733333
0,0.8073133333,0.80122 0,0.40523,0.3974866667
5,0.9191366667,0.91577 5,0.64827,0.6407633333
10,0.9707266667,0.96911 10,0.83815,0.83505
15,0.9901433333,0.99006 15,0.9393566667,0.9379166667
20,0.9968333333,0.9964333333 20,0.97962,0.9787433333
1 jsr_db plain regularized
2 -10 0.46703 0.11818 0.4719866667 0.11519
3 -5 0.6348 0.2138833333 0.6301533333 0.2087733333
4 0 0.8073133333 0.40523 0.80122 0.3974866667
5 5 0.9191366667 0.64827 0.91577 0.6407633333
6 10 0.9707266667 0.83815 0.96911 0.83505
7 15 0.9901433333 0.9393566667 0.99006 0.9379166667
8 20 0.9968333333 0.97962 0.9964333333 0.9787433333
+22 -22
View File
@@ -1,23 +1,23 @@
rho,eve_ser rho,eve_ser
0,0.999985 0,0.9999725
0.1,0.99994625 0.1,0.999645
0.2,0.9998125 0.2,0.9978275
0.3,0.99964375 0.3,0.98789125
0.4,0.99860875 0.4,0.953745
0.5,0.99641875 0.5,0.846655
0.6,0.989405 0.6,0.60245875
0.65,0.9817575 0.65,0.48618375
0.7,0.96633 0.7,0.32927
0.75,0.9402875 0.75,0.23272375
0.8,0.87396 0.8,0.1458875
0.84,0.80818 0.84,0.1059525
0.88,0.7000025 0.88,0.08334375
0.9,0.62012 0.9,0.07761625
0.92,0.51693625 0.92,0.069835
0.94,0.4271675 0.94,0.06505125
0.96,0.3636825 0.96,0.0602775
0.97,0.33119875 0.97,0.0587575
0.98,0.30263125 0.98,0.05626875
0.99,0.2772575 0.99,0.0543425
0.995,0.26772625 0.995,0.054125
1,0.25672125 1,0.05307125
1 rho eve_ser
2 0 0.999985 0.9999725
3 0.1 0.99994625 0.999645
4 0.2 0.9998125 0.9978275
5 0.3 0.99964375 0.98789125
6 0.4 0.99860875 0.953745
7 0.5 0.99641875 0.846655
8 0.6 0.989405 0.60245875
9 0.65 0.9817575 0.48618375
10 0.7 0.96633 0.32927
11 0.75 0.9402875 0.23272375
12 0.8 0.87396 0.1458875
13 0.84 0.80818 0.1059525
14 0.88 0.7000025 0.08334375
15 0.9 0.62012 0.07761625
16 0.92 0.51693625 0.069835
17 0.94 0.4271675 0.06505125
18 0.96 0.3636825 0.0602775
19 0.97 0.33119875 0.0587575
20 0.98 0.30263125 0.05626875
21 0.99 0.2772575 0.0543425
22 0.995 0.26772625 0.054125
23 1 0.25672125 0.05307125
+13 -13
View File
@@ -1,14 +1,14 @@
frac,ser_mask,ser_perm,ser_pad frac,ser_mask,ser_perm,ser_pad
0,0.9999758333,0.9999883333,0.9999886992 0,0.9999716667,0.9999766667,0.9999855534
0.2,0.9998233333,0.999845,0.9998961502 0.2,0.9982225,0.9982933333,0.999867242
0.4,0.998725,0.9983133333,0.9990456633 0.4,0.9558158333,0.9519216667,0.9987800093
0.6,0.98967125,0.9839833333,0.9912300403 0.6,0.61956875,0.6330266667,0.9887887893
0.75,0.9379629167,0.9079,0.953711875 0.75,0.2243020833,0.2672066667,0.940826875
0.85,0.7883508333,0.75701,0.8596806442 0.85,0.09969458333,0.1194716667,0.8206206283
0.9,0.6134920833,0.5836283333,0.7556898116 0.9,0.07701541667,0.0858,0.6876823738
0.92,0.5265704167,0.5003716667,0.6950201284 0.92,0.07021208333,0.07434166667,0.6101243663
0.94,0.43973,0.456195,0.6192843094 0.94,0.06535041667,0.066805,0.5133063362
0.955,0.3805966667,0.3946716667,0.5503775633 0.955,0.06155541667,0.06314,0.4252183547
0.97,0.3297841667,0.3282283333,0.4689992019 0.97,0.05860083333,0.06018333333,0.3211870949
0.985,0.2895645833,0.2584466667,0.3728919542 0.985,0.05551916667,0.05543333333,0.1983269406
1,0.2575758333,0.2577083333,0.25939 1,0.052955,0.05323,0.05323
1 frac ser_mask ser_perm ser_pad
2 0 0.9999758333 0.9999716667 0.9999883333 0.9999766667 0.9999886992 0.9999855534
3 0.2 0.9998233333 0.9982225 0.999845 0.9982933333 0.9998961502 0.999867242
4 0.4 0.998725 0.9558158333 0.9983133333 0.9519216667 0.9990456633 0.9987800093
5 0.6 0.98967125 0.61956875 0.9839833333 0.6330266667 0.9912300403 0.9887887893
6 0.75 0.9379629167 0.2243020833 0.9079 0.2672066667 0.953711875 0.940826875
7 0.85 0.7883508333 0.09969458333 0.75701 0.1194716667 0.8596806442 0.8206206283
8 0.9 0.6134920833 0.07701541667 0.5836283333 0.0858 0.7556898116 0.6876823738
9 0.92 0.5265704167 0.07021208333 0.5003716667 0.07434166667 0.6950201284 0.6101243663
10 0.94 0.43973 0.06535041667 0.456195 0.066805 0.6192843094 0.5133063362
11 0.955 0.3805966667 0.06155541667 0.3946716667 0.06314 0.5503775633 0.4252183547
12 0.97 0.3297841667 0.05860083333 0.3282283333 0.06018333333 0.4689992019 0.3211870949
13 0.985 0.2895645833 0.05551916667 0.2584466667 0.05543333333 0.3728919542 0.1983269406
14 1 0.2575758333 0.052955 0.2577083333 0.05323 0.25939 0.05323
+11 -11
View File
@@ -1,12 +1,12 @@
snr_db,legit,eve_wrong,eve_none,eve_public,oma,chance snr_db,legit,eve_wrong,eve_none,eve_public,oma,chance
0,0.8821684375,0.999989375,0.9999803125,0.8819953125,0.8933480658,0.9999847412 0,0.3976709375,0.999875,0.9999815625,0.398049375,0.5239437084,0.9999847412
2,0.779363125,0.99999125,0.999980625,0.7794809375,0.7973276257,0.9999847412 2,0.280670625,0.9998496875,0.9999834375,0.2805728125,0.3879090701,0.9999847412
4,0.6455015625,0.9999884375,0.9999809375,0.64627375,0.6686275787,0.9999847412 4,0.191034375,0.999809375,0.999985,0.190259375,0.2737289805,0.9999847412
6,0.5016365625,0.9999903125,0.99998,0.5016371875,0.525415822,0.9999847412 6,0.12611875,0.9997775,0.99997875,0.126483125,0.1863040407,0.9999847412
8,0.3675334375,0.999989375,0.9999775,0.3677109375,0.3892153151,0.9999847412 8,0.0821671875,0.9997490625,0.999981875,0.0824515625,0.1235895109,0.9999847412
10,0.2576425,0.99999375,0.999970625,0.2569871875,0.2747696909,0.9999847412 10,0.0531603125,0.9997025,0.99998125,0.0529865625,0.08056383667,0.9999847412
12,0.1741078125,0.99999,0.9999703125,0.17413125,0.1870712987,0.9999847412 12,0.034030625,0.9996815625,0.99997625,0.0339634375,0.05191025407,0.9999847412
14,0.115345,0.9999853125,0.999966875,0.1151475,0.1241256148,0.9999847412 14,0.021604375,0.9996678125,0.999969375,0.021566875,0.03319532309,0.9999847412
16,0.0748184375,0.9999846875,0.9999675,0.0747059375,0.08092517452,0.9999847412 16,0.013683125,0.9996721875,0.99996,0.0138321875,0.02112425659,0.9999847412
18,0.0480371875,0.9999884375,0.9999575,0.0481878125,0.05214810026,0.9999847412 18,0.0087159375,0.999639375,0.999954375,0.0087384375,0.01340080653,0.9999847412
20,0.030745,0.99998875,0.9999559375,0.0308409375,0.03334949917,0.9999847412 20,0.00549625,0.9996415625,0.99996,0.0054996875,0.00848434326,0.9999847412
1 snr_db legit eve_wrong eve_none eve_public oma chance
2 0 0.8821684375 0.3976709375 0.999989375 0.999875 0.9999803125 0.9999815625 0.8819953125 0.398049375 0.8933480658 0.5239437084 0.9999847412
3 2 0.779363125 0.280670625 0.99999125 0.9998496875 0.999980625 0.9999834375 0.7794809375 0.2805728125 0.7973276257 0.3879090701 0.9999847412
4 4 0.6455015625 0.191034375 0.9999884375 0.999809375 0.9999809375 0.999985 0.64627375 0.190259375 0.6686275787 0.2737289805 0.9999847412
5 6 0.5016365625 0.12611875 0.9999903125 0.9997775 0.99998 0.99997875 0.5016371875 0.126483125 0.525415822 0.1863040407 0.9999847412
6 8 0.3675334375 0.0821671875 0.999989375 0.9997490625 0.9999775 0.999981875 0.3677109375 0.0824515625 0.3892153151 0.1235895109 0.9999847412
7 10 0.2576425 0.0531603125 0.99999375 0.9997025 0.999970625 0.99998125 0.2569871875 0.0529865625 0.2747696909 0.08056383667 0.9999847412
8 12 0.1741078125 0.034030625 0.99999 0.9996815625 0.9999703125 0.99997625 0.17413125 0.0339634375 0.1870712987 0.05191025407 0.9999847412
9 14 0.115345 0.021604375 0.9999853125 0.9996678125 0.999966875 0.999969375 0.1151475 0.021566875 0.1241256148 0.03319532309 0.9999847412
10 16 0.0748184375 0.013683125 0.9999846875 0.9996721875 0.9999675 0.99996 0.0747059375 0.0138321875 0.08092517452 0.02112425659 0.9999847412
11 18 0.0480371875 0.0087159375 0.9999884375 0.999639375 0.9999575 0.999954375 0.0481878125 0.0087384375 0.05214810026 0.01340080653 0.9999847412
12 20 0.030745 0.00549625 0.99998875 0.9996415625 0.9999559375 0.99996 0.0308409375 0.0054996875 0.03334949917 0.00848434326 0.9999847412
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.