adv-mixer-3: harness (index census, sac, diff, lin, lin0, rx, cnf), run-box.sh, eight queue files
Internal adversarial pass, not an independent review. igneum-pow by path; the plant shapes one, nomul, weak, weak0. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
93532e5ee2
commit
c969914afe
12 changed files with 1209 additions and 0 deletions
14
tools/attack/adv-mixer-3/Cargo.lock
generated
Normal file
14
tools/attack/adv-mixer-3/Cargo.lock
generated
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 4
|
||||
|
||||
[[package]]
|
||||
name = "adv-mixer-3"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"igneum-pow",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "igneum-pow"
|
||||
version = "0.2.0"
|
||||
21
tools/attack/adv-mixer-3/Cargo.toml
Normal file
21
tools/attack/adv-mixer-3/Cargo.toml
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
[package]
|
||||
name = "adv-mixer-3"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
description = "Adversarial lane adv-mixer-3: the statistical distinguisher and the round margin of the mixer M_r (index census, avalanche, differential, linear, rotational-XOR, SAT model)"
|
||||
license = "MIT"
|
||||
publish = false
|
||||
|
||||
[[bin]]
|
||||
name = "adv-mixer-3"
|
||||
path = "src/main.rs"
|
||||
|
||||
[dependencies]
|
||||
igneum-pow = { path = "../../../igneum-pow" }
|
||||
|
||||
[workspace]
|
||||
|
||||
[profile.release]
|
||||
opt-level = 3
|
||||
lto = true
|
||||
codegen-units = 1
|
||||
11
tools/attack/adv-mixer-3/queue/01-adv-mixer-3-index-20729.sh
Normal file
11
tools/attack/adv-mixer-3/queue/01-adv-mixer-3-index-20729.sh
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
#!/usr/bin/env bash
|
||||
# adv-mixer-3 queue file (owner: adv-mixer-3). Self-contained: binary, args, logs. Runs at nice 10 on cores 8-95 via run-box.sh.
|
||||
set -uo pipefail
|
||||
X=/srv/builds/_adv-mixer-3/bin/adv-mixer-3; L=/srv/builds/_adv-mixer-3/logs; mkdir -p "$L"
|
||||
echo "start $(hostname) $(date -u +%FT%TZ) $(sha256sum $X)"
|
||||
for k in 0 1 2 3 4 5 6 7 8; do
|
||||
echo "== index day 20729 k=$k $(date -u +%FT%TZ)"
|
||||
$X index --day 20729 --apps $k --threads 64 > "$L/index-20729-k$k.log" 2>&1; echo "rc=$?"; grep -E 'chi2=|verdict' "$L/index-20729-k$k.log"
|
||||
done
|
||||
echo "== index nomul plant k=1"; $X index --day 20729 --apps 1 --plant nomul --threads 64 > "$L/index-20729-nomul-k1.log" 2>&1; grep -E 'chi2=|verdict' "$L/index-20729-nomul-k1.log"
|
||||
echo "end $(date -u +%FT%TZ)"
|
||||
11
tools/attack/adv-mixer-3/queue/02-adv-mixer-3-index-20733.sh
Normal file
11
tools/attack/adv-mixer-3/queue/02-adv-mixer-3-index-20733.sh
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
#!/usr/bin/env bash
|
||||
# adv-mixer-3 queue file (owner: adv-mixer-3). Self-contained: binary, args, logs. Runs at nice 10 on cores 8-95 via run-box.sh.
|
||||
set -uo pipefail
|
||||
X=/srv/builds/_adv-mixer-3/bin/adv-mixer-3; L=/srv/builds/_adv-mixer-3/logs; mkdir -p "$L"
|
||||
echo "start $(hostname) $(date -u +%FT%TZ) $(sha256sum $X)"
|
||||
for k in 0 1 2 3 4 5 6 7 8; do
|
||||
echo "== index day 20733 k=$k $(date -u +%FT%TZ)"
|
||||
$X index --day 20733 --apps $k --threads 64 > "$L/index-20733-k$k.log" 2>&1; echo "rc=$?"; grep -E 'chi2=|verdict' "$L/index-20733-k$k.log"
|
||||
done
|
||||
echo "== index nomul plant k=1"; $X index --day 20733 --apps 1 --plant nomul --threads 64 > "$L/index-20733-nomul-k1.log" 2>&1; grep -E 'chi2=|verdict' "$L/index-20733-nomul-k1.log"
|
||||
echo "end $(date -u +%FT%TZ)"
|
||||
16
tools/attack/adv-mixer-3/queue/03-adv-mixer-3-sac-20729.sh
Normal file
16
tools/attack/adv-mixer-3/queue/03-adv-mixer-3-sac-20729.sh
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
#!/usr/bin/env bash
|
||||
# adv-mixer-3 queue file (owner: adv-mixer-3). Self-contained: binary, args, logs. Runs at nice 10 on cores 8-95 via run-box.sh.
|
||||
set -uo pipefail
|
||||
X=/srv/builds/_adv-mixer-3/bin/adv-mixer-3; L=/srv/builds/_adv-mixer-3/logs; mkdir -p "$L"
|
||||
echo "start $(hostname) $(date -u +%FT%TZ) $(sha256sum $X)"
|
||||
echo "== sac plant weak k=8"; $X sac --day 20729 --apps 8 --plant weak --states 65536 --threads 64 > "$L/sac-20729-weak-k8.log" 2>&1; grep -E 'holes=|verdict' "$L/sac-20729-weak-k8.log"
|
||||
echo "== sac plant one k=8"; $X sac --day 20729 --apps 8 --plant one --states 65536 --threads 64 > "$L/sac-20729-one-k8.log" 2>&1; grep -E 'holes=|verdict' "$L/sac-20729-one-k8.log"
|
||||
for k in 1 2 3 4 5 6 7 8; do
|
||||
echo "== sac day 20729 k=$k states 2^24 $(date -u +%FT%TZ)"
|
||||
$X sac --day 20729 --apps $k --states 2^24 --threads 64 > "$L/sac-20729-k$k.log" 2>&1; echo "rc=$?"; grep -E 'holes=|line index|verdict' "$L/sac-20729-k$k.log"
|
||||
done
|
||||
for k in 2 3 4; do
|
||||
echo "== sac day 20729 k=$k states 2^27 $(date -u +%FT%TZ)"
|
||||
$X sac --day 20729 --apps $k --states 2^27 --threads 64 > "$L/sac-20729-k$k-n27.log" 2>&1; echo "rc=$?"; grep -E 'holes=|line index|verdict' "$L/sac-20729-k$k-n27.log"
|
||||
done
|
||||
echo "end $(date -u +%FT%TZ)"
|
||||
16
tools/attack/adv-mixer-3/queue/04-adv-mixer-3-sac-20733.sh
Normal file
16
tools/attack/adv-mixer-3/queue/04-adv-mixer-3-sac-20733.sh
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
#!/usr/bin/env bash
|
||||
# adv-mixer-3 queue file (owner: adv-mixer-3). Self-contained: binary, args, logs. Runs at nice 10 on cores 8-95 via run-box.sh.
|
||||
set -uo pipefail
|
||||
X=/srv/builds/_adv-mixer-3/bin/adv-mixer-3; L=/srv/builds/_adv-mixer-3/logs; mkdir -p "$L"
|
||||
echo "start $(hostname) $(date -u +%FT%TZ) $(sha256sum $X)"
|
||||
echo "== sac plant weak k=8"; $X sac --day 20733 --apps 8 --plant weak --states 65536 --threads 64 > "$L/sac-20733-weak-k8.log" 2>&1; grep -E 'holes=|verdict' "$L/sac-20733-weak-k8.log"
|
||||
echo "== sac plant one k=8"; $X sac --day 20733 --apps 8 --plant one --states 65536 --threads 64 > "$L/sac-20733-one-k8.log" 2>&1; grep -E 'holes=|verdict' "$L/sac-20733-one-k8.log"
|
||||
for k in 1 2 3 4 5 6 7 8; do
|
||||
echo "== sac day 20733 k=$k states 2^24 $(date -u +%FT%TZ)"
|
||||
$X sac --day 20733 --apps $k --states 2^24 --threads 64 > "$L/sac-20733-k$k.log" 2>&1; echo "rc=$?"; grep -E 'holes=|line index|verdict' "$L/sac-20733-k$k.log"
|
||||
done
|
||||
for k in 2 3 4; do
|
||||
echo "== sac day 20733 k=$k states 2^27 $(date -u +%FT%TZ)"
|
||||
$X sac --day 20733 --apps $k --states 2^27 --threads 64 > "$L/sac-20733-k$k-n27.log" 2>&1; echo "rc=$?"; grep -E 'holes=|line index|verdict' "$L/sac-20733-k$k-n27.log"
|
||||
done
|
||||
echo "end $(date -u +%FT%TZ)"
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
#!/usr/bin/env bash
|
||||
# adv-mixer-3 queue file (owner: adv-mixer-3). Self-contained: binary, args, logs. Runs at nice 10 on cores 8-95 via run-box.sh.
|
||||
set -uo pipefail
|
||||
X=/srv/builds/_adv-mixer-3/bin/adv-mixer-3; L=/srv/builds/_adv-mixer-3/logs; mkdir -p "$L"
|
||||
echo "start $(hostname) $(date -u +%FT%TZ) $(sha256sum $X)"
|
||||
echo "== diff plant nomul k=1"; $X diff --day 20729 --apps 1 --plant nomul --samples 65536 --threads 64 > "$L/diff-20729-nomul-k1.log" 2>&1; grep -E 'max mult|determin|verdict' "$L/diff-20729-nomul-k1.log"
|
||||
for k in 1 2 3 4 5 6 7 8; do
|
||||
echo "== diff day 20729 k=$k $(date -u +%FT%TZ)"
|
||||
$X diff --day 20729 --apps $k --samples 2^20 --threads 64 > "$L/diff-20729-k$k.log" 2>&1; echo "rc=$?"; grep -E 'max mult|determin|zero out|verdict' "$L/diff-20729-k$k.log"
|
||||
done
|
||||
echo "== lin identity plant k=0"; $X lin --day 20729 --apps 0 --samples 2^20 --threads 64 > "$L/lin-20729-k0.log" 2>&1; grep -E 'worst|verdict' "$L/lin-20729-k0.log"
|
||||
for k in 1 2 3 4 5 6 7 8; do
|
||||
echo "== lin day 20729 k=$k $(date -u +%FT%TZ)"
|
||||
$X lin --day 20729 --apps $k --samples 2^26 --threads 64 > "$L/lin-20729-k$k.log" 2>&1; echo "rc=$?"; grep -E 'worst|verdict' "$L/lin-20729-k$k.log"
|
||||
done
|
||||
echo "== lin0 identity-ish plant k=0"; $X lin0 --day 20729 --apps 0 --samples 2^20 --threads 64 > "$L/lin0-20729-k0.log" 2>&1; grep -E 'worst|verdict' "$L/lin0-20729-k0.log"
|
||||
for k in 1 2 3 4 5 6 7 8; do
|
||||
echo "== lin0 day 20729 k=$k $(date -u +%FT%TZ)"
|
||||
$X lin0 --day 20729 --apps $k --samples 2^26 --threads 64 > "$L/lin0-20729-k$k.log" 2>&1; echo "rc=$?"; grep -E 'worst|verdict' "$L/lin0-20729-k$k.log"
|
||||
done
|
||||
echo "== rx plant weak0 k=1"; $X rx --day 20729 --apps 1 --plant weak0 --samples 2^20 > "$L/rx-20729-weak0-k1.log" 2>&1; grep -E 'rx r=|verdict' "$L/rx-20729-weak0-k1.log"
|
||||
for k in 1 2 3 4; do
|
||||
echo "== rx day 20729 k=$k $(date -u +%FT%TZ)"
|
||||
$X rx --day 20729 --apps $k --samples 2^22 > "$L/rx-20729-k$k.log" 2>&1; echo "rc=$?"; grep -E 'rx r=|verdict' "$L/rx-20729-k$k.log"
|
||||
done
|
||||
echo "end $(date -u +%FT%TZ)"
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
#!/usr/bin/env bash
|
||||
# adv-mixer-3 queue file (owner: adv-mixer-3). Self-contained: binary, args, logs. Runs at nice 10 on cores 8-95 via run-box.sh.
|
||||
set -uo pipefail
|
||||
X=/srv/builds/_adv-mixer-3/bin/adv-mixer-3; L=/srv/builds/_adv-mixer-3/logs; mkdir -p "$L"
|
||||
echo "start $(hostname) $(date -u +%FT%TZ) $(sha256sum $X)"
|
||||
echo "== diff plant nomul k=1"; $X diff --day 20733 --apps 1 --plant nomul --samples 65536 --threads 64 > "$L/diff-20733-nomul-k1.log" 2>&1; grep -E 'max mult|determin|verdict' "$L/diff-20733-nomul-k1.log"
|
||||
for k in 1 2 3 4 5 6 7 8; do
|
||||
echo "== diff day 20733 k=$k $(date -u +%FT%TZ)"
|
||||
$X diff --day 20733 --apps $k --samples 2^20 --threads 64 > "$L/diff-20733-k$k.log" 2>&1; echo "rc=$?"; grep -E 'max mult|determin|zero out|verdict' "$L/diff-20733-k$k.log"
|
||||
done
|
||||
echo "== lin identity plant k=0"; $X lin --day 20733 --apps 0 --samples 2^20 --threads 64 > "$L/lin-20733-k0.log" 2>&1; grep -E 'worst|verdict' "$L/lin-20733-k0.log"
|
||||
for k in 1 2 3 4 5 6 7 8; do
|
||||
echo "== lin day 20733 k=$k $(date -u +%FT%TZ)"
|
||||
$X lin --day 20733 --apps $k --samples 2^26 --threads 64 > "$L/lin-20733-k$k.log" 2>&1; echo "rc=$?"; grep -E 'worst|verdict' "$L/lin-20733-k$k.log"
|
||||
done
|
||||
echo "== lin0 identity-ish plant k=0"; $X lin0 --day 20733 --apps 0 --samples 2^20 --threads 64 > "$L/lin0-20733-k0.log" 2>&1; grep -E 'worst|verdict' "$L/lin0-20733-k0.log"
|
||||
for k in 1 2 3 4 5 6 7 8; do
|
||||
echo "== lin0 day 20733 k=$k $(date -u +%FT%TZ)"
|
||||
$X lin0 --day 20733 --apps $k --samples 2^26 --threads 64 > "$L/lin0-20733-k$k.log" 2>&1; echo "rc=$?"; grep -E 'worst|verdict' "$L/lin0-20733-k$k.log"
|
||||
done
|
||||
echo "== rx plant weak0 k=1"; $X rx --day 20733 --apps 1 --plant weak0 --samples 2^20 > "$L/rx-20733-weak0-k1.log" 2>&1; grep -E 'rx r=|verdict' "$L/rx-20733-weak0-k1.log"
|
||||
for k in 1 2 3 4; do
|
||||
echo "== rx day 20733 k=$k $(date -u +%FT%TZ)"
|
||||
$X rx --day 20733 --apps $k --samples 2^22 > "$L/rx-20733-k$k.log" 2>&1; echo "rc=$?"; grep -E 'rx r=|verdict' "$L/rx-20733-k$k.log"
|
||||
done
|
||||
echo "end $(date -u +%FT%TZ)"
|
||||
17
tools/attack/adv-mixer-3/queue/07-adv-mixer-3-days.sh
Normal file
17
tools/attack/adv-mixer-3/queue/07-adv-mixer-3-days.sh
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
#!/usr/bin/env bash
|
||||
# adv-mixer-3 queue file (owner: adv-mixer-3). Self-contained: binary, args, logs. Runs at nice 10 on cores 8-95 via run-box.sh.
|
||||
set -uo pipefail
|
||||
X=/srv/builds/_adv-mixer-3/bin/adv-mixer-3; L=/srv/builds/_adv-mixer-3/logs; mkdir -p "$L"
|
||||
echo "start $(hostname) $(date -u +%FT%TZ) $(sha256sum $X)"
|
||||
# eight day indices drawn from SplitMix64(0x6164762d6d697833) mod 100000 + 20729, fixed here
|
||||
for d in 20730 20745 21057 23311 27406 33333 50000 99999; do
|
||||
for k in 2 3 4 8; do
|
||||
echo "== index day $d k=$k $(date -u +%FT%TZ)"
|
||||
$X index --day $d --apps $k --threads 64 > "$L/index-$d-k$k.log" 2>&1; grep -E 'chi2=|verdict' "$L/index-$d-k$k.log"
|
||||
done
|
||||
for k in 2 3 4; do
|
||||
echo "== sac day $d k=$k $(date -u +%FT%TZ)"
|
||||
$X sac --day $d --apps $k --states 2^24 --threads 64 > "$L/sac-$d-k$k.log" 2>&1; grep -E 'holes=|verdict' "$L/sac-$d-k$k.log"
|
||||
done
|
||||
done
|
||||
echo "end $(date -u +%FT%TZ)"
|
||||
14
tools/attack/adv-mixer-3/queue/08-adv-mixer-3-sat.sh
Normal file
14
tools/attack/adv-mixer-3/queue/08-adv-mixer-3-sat.sh
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
#!/usr/bin/env bash
|
||||
# adv-mixer-3 queue file (owner: adv-mixer-3). Self-contained: binary, args, logs. Runs at nice 10 on cores 8-95 via run-box.sh.
|
||||
set -uo pipefail
|
||||
X=/srv/builds/_adv-mixer-3/bin/adv-mixer-3; L=/srv/builds/_adv-mixer-3/logs; mkdir -p "$L"
|
||||
echo "start $(hostname) $(date -u +%FT%TZ) $(sha256sum $X)"
|
||||
C=/srv/builds/_adv-mixer-3/cnf; S=$HOME/adv-mixer-3-tools/cadical/build/cadical
|
||||
for d in 20729 20733; do for k in 1 2 3 4; do
|
||||
echo "== cnf day $d k=$k $(date -u +%FT%TZ)"
|
||||
$X cnf --day $d --apps $k --t0 0x12345678 --out "$C/d$d-k$k.cnf" > "$L/cnf-$d-k$k.log" 2>&1; grep -E 'target|cnf:' "$L/cnf-$d-k$k.log"
|
||||
/usr/bin/time -f "wall=%e s maxrss=%M KB" timeout 3600 $S -q "$C/d$d-k$k.cnf" > "$L/sat-$d-k$k.log" 2>&1; echo "cadical rc=$? (10 sat, 20 unsat, 124 timeout)"
|
||||
grep -E '^s |wall=' "$L/sat-$d-k$k.log"
|
||||
if grep -q '^s SATISFIABLE' "$L/sat-$d-k$k.log"; then T=$($X model --file "$L/sat-$d-k$k.log" | sed 's/.*t=\(0x[0-9a-f]*\).*/\1/'); echo "model $T"; $X verify --day $d --apps $k --t $T; fi
|
||||
done; done
|
||||
echo "end $(date -u +%FT%TZ)"
|
||||
16
tools/attack/adv-mixer-3/run-box.sh
Executable file
16
tools/attack/adv-mixer-3/run-box.sh
Executable file
|
|
@ -0,0 +1,16 @@
|
|||
#!/usr/bin/env bash
|
||||
# adv-mixer-3 runner (box side). Launches one queue file detached at nice 10 on cores 8 to 95 (cores 0 to 7 are
|
||||
# reserved for release builds, the seed and the observer; build-server lane rule of 7 October 2026, 19:4x BST, which
|
||||
# also dropped the SIGSTOP yield to builds: the scheduler arbitrates). Log and pid file live OUTSIDE the worktree
|
||||
# mirror, under /srv/builds/_adv-mixer-3/logs/ (the mirror is wiped by every source sync). Kill by pid file only:
|
||||
# `kill -- -$(cat <pid>)` (setsid makes the script its own process group).
|
||||
#
|
||||
# run-box.sh <queue-file> launch; prints the pid and the log path
|
||||
set -euo pipefail
|
||||
Q="$1"; B=$(basename "$Q" .sh)
|
||||
ROOT=/srv/builds/_adv-mixer-3; mkdir -p "$ROOT/logs" "$ROOT/cnf"
|
||||
LOG="$ROOT/logs/$B.log"; PID="$ROOT/logs/$B.pid"
|
||||
if [ -f "$PID" ] && kill -0 "$(cat "$PID")" 2>/dev/null; then echo "already running: pid $(cat "$PID")"; exit 1; fi
|
||||
nohup setsid nice -n 10 taskset -c 8-95 bash "$Q" > "$LOG" 2>&1 &
|
||||
echo $! > "$PID"
|
||||
echo "launched $B pid $(cat "$PID") log $LOG host $(hostname) utc $(date -u +%FT%TZ)"
|
||||
1021
tools/attack/adv-mixer-3/src/main.rs
Normal file
1021
tools/attack/adv-mixer-3/src/main.rs
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue