# Marc's kleines neuronales Stegolabor

**Start: `index.html` in einem aktuellen Chromium-/Chrome-/Edge-Browser öffnen.**
Das komplette Verzeichnis zusammenhalten. Kein Server, kein Python-Prozess und
keine Internetverbindung sind für die Benutzung erforderlich. Inferenz läuft
ausschließlich nach einer Aktion im Browser. Auch Mikrofonaufnahmen starten nur
auf Klick und mit der üblichen Browserfreigabe.

Die Hauptseite enthält acht Kacheln: sieben aktive Anwendungen und einen geplanten Platzhalter:

| App | Erzeugung und Empfang | Protokoll |
| --- | --- | --- |
| **Visual Security Token / Green Test Token 1** | Bis14ASCII-Bytes als256×256RGB-Token; PNG/Druckkarte, Bildimport, Basis-Perspektivkorrektur, trainiertes Reparaturfilter, Pixel-/Bit-/Payloadstatistik | PCCC, Rate 1/2: K=128/N=256 (112Nutzbits+16CRC), AES-256-CTR; Schlüssel64Hexzeichen,IV32Hexzeichen |
| **EMNIST-Stegoletter** | ASCII-Nachricht in generierten Handschrift-BMPs; echter Pixel-Empfang mit bekanntem Glyphenlayout;36Analyzer | PCCC K=102/N=640, effektive Rate51/320,AES-128-CTR; Schlüssel/IV jeweils16wörtlicheASCII-Zeichen |
| **Stegobabble7200** | Sprache/WAV/Mikrofon → Opus → verschlüsselter neuronaler Träger; Rauschregler und 20-Pegel-Sprachhörvergleich | Opus 7200 bit/s, Turbo 7200→9600 (3/4), AES-256-CTR, sechs Bänder, Latents ±0,8 |
| **Brownians** | Faber–Schauder-Pfad mit N/J-Reglern, latenten Kanalbits, Textpayload, AES, Pfaddatei und unabhängigem Empfang | Float64, optional PCCC Rate1/2 Kc128/Nc256 + CRC16, deterministisches AES-SIV |
| **fractional Brownians** | Konstruktive Meyer-ReLU-Modelle, H0,1–0,9, N/J und Kanalbits; Semifinal Meyer Analysis | 36 feste Kernelprofile, J5–8; gleicher optionaler PCCC/AES-Dateikanal |
| **informatives farbiges rauschen** | Erste Differenzen eines fraktionalen Pfads, inverse Summation beim Empfang; abspielbare 1-s-WAV-Hörprobe | Hurst wählbar; AES/PCCC; numerischer Sampledateikanal |
| **linear fractional SDEs** | Geplanter, bewusst leerer Platzhalter | Noch keine Implementierung |
| **Stegobabble3200** | WAV/Mikrofon→Codec2→neuronaler Audioträger→Sprachrekonstruktion; Hörvergleich, Sekundenstatistik,JSON/CSV/Softwerte | Codec2-3200/WASM, PCCC K=3200/N=6400, Rate1/2;keineVerschlüsselung/CRC |

Aktive Apps besitzen eigene Seiten zu Bedienung/Protokoll, Theorie, Mathematik,
Architektur und Betrieb/Prüfungen. Trainierte Modellfamilien dokumentieren
zusätzlich ihre ursprünglichen Trainingslogs. Die gemeinsame Beschreibung lautet
„Visuelle und akustische Nachrichtenkanäle“. Blau/Weiß/Grün/Orange, dunkle
Terminalflächen. Keine Animationen, dekorativen Hintergrundeffekte,
Übergangsanimationen oder fliegenden Figuren. Fortschrittsanzeigen bleiben statisch.
Der gewünschte DPMAregister-Link steht auf der Hauptseite; externe Links werden
nur bewusst aufgerufen, nie für den Appbetrieb geladen.

## Benutzung

**Token-Robustheit:** Der archivierte vollständige AES-Pipelinetest ergab bei
6.000 zufällig gestörten Pixeln 1.000/1.000 exakte CRC-gültige Wiederherstellungen.
Bei 8.000 waren es 993/1.000 (99,3 %), bei 9.000 noch 839/1.000 (83,9 %).
Das Trainingsniveau des unveränderten Filters betrug 1.000 gestörte Pixel pro
Bild und ist keine Belastbarkeitsgrenze. Die Messung betrifft verstreute digitale
Pixelfehler; sie ist keine Garantie für beliebige Störungen oder Druck/Scan.

**Token-Anwendungen:** Token oder Varianten können etwa auf Eintrittskarten,
Tagesausweisen sowie als Brief- oder Zertifikatshintergrund verwendet werden.
Mögliche Payloads sind Signaturinformationen, biometrische Daten oder
Identitätsinformationen. Das aktuelle Referenzprofil fasst 14 ASCII-Bytes;
größere Datensätze benötigen eine Variante oder kompakte Referenzkennungen.

**Token:** Payload und AES-Werte setzen, Token erzeugen, PNG/Druckkarte speichern.
Unten Original/Foto/Scan importieren und decodieren; bei Bedarf Marken oder vier
Ecken zur Perspektivkorrektur verwenden. Öffentliche Testwerte: `deadbeef`
achtmal als Schlüssel und viermal als IV. Referenzprojekt und CSV/JSON speichern.
Weitere reale Scan-/Fotooptimierung bleibt wie gewünscht zurückgestellt.

**Stegoletter:** Decktext A–Z/0–9/Leerzeichen/Zeilenumbrüche, geheime ASCII-Nachricht,
16-Zeichen-Schlüssel und IV eingeben. Vorgaben: Neujahrsbrief als Decktext, `Hello World!`,
`0123456789ABCDEF`, `FEDCBA9876543210`. Brief erzeugen, BMP speichern und BMP
analysieren. Layout und Zeichenklassen bleiben bekannt; dies ist keine OCR.
Referenzprojekte enthalten das Testgeheimnis und Layout, aber keine Zugangswerte.

**Stegobabble3200:** Sprachdatei wählen oder aufnehmen, Codec2 vorbereiten, Träger
erzeugen und decodieren. Vier Signale anhören, Statistik/Dateien exportieren.
Unabhängige Träger: ganze Sekunden, mono,PCM16,16kHz, ursprüngliche Ausrichtung.
Keine automatische Synchronisation einer Lautsprecher-/Mikrofonstrecke. Codec2
ist verlustbehaftet; Referenz und Original werden getrennt angeboten.

**Stegobabble7200:** Sprachdatei laden/aufnehmen, Opus vorbereiten, AES-Schlüssel
erzeugen oder eingeben, Träger generieren und decodieren. Der optionale
Rauschregler verändert die exportierte Trägerdatei. Schlüssel separat aufbewahren.
Ein unabhängiger Empfang benötigt den gespeicherten r34-v2-Träger und denselben
Schlüssel. [Anleitung und Hörbeispiele](apps/stegobabble7200/README.md).
Stegobabble3200 bleibt als graue, anklickbare Kachel ganz unten erhalten.

Die Vorgabezugangswerte der älteren Apps sind öffentliche Testdaten. Token/Letter verwenden AES
zur Maskierung; Letter und beide Audio-Pipelines besitzen keine CRC oder Authentifizierung.
Ohne Senderreferenz bleibt eine unbekannte Bitfehlerrate unbekannt. Referenzen
gelangen erst nach dem Decoder in die Statistik. Keine Erfolgsgarantie aus
einzelnen fehlerfreien Referenzläufen ableiten.

## Neue Wavelet-Pfad-Labore

[Brownians](apps/brownians/index.html), [fractional Brownians](apps/fractional-brownians/index.html)
und [informatives farbiges rauschen](apps/colored-noise/index.html) verwenden
mathematisch konstruierte feste Modelle aus WaveletsBrowniansV2A-Codes.
Es wurden keine Modelle trainiert. Brownian verwendet Faber–Schauder und eine
strukturierte tridiagonale Analyse; fractional verwendet den konstruktiven
Meyer-ReLU-Generator und scaffolding_biorthogonal (Semifinal Meyer Analysis).

Alle drei Labore bieten Schieberegler für **N = Anzahl Punkte** und
**J = Wavelet-Skalentiefe**, ein exaktes N-Zahlenfeld, automatisch aus allen Gauß-Koordinaten abgeleitete
Kanalbits, UTF-8-Text, AES-256-Masterschlüssel, Pfadansicht und unabhängigen JSON-Import.
K=2^(J+1) bezeichnet die Gauß-Koeffizientenzahl. Es gilt zwingend B=K;
eine Bitzahl-Auswahl gibt es nicht. Gleiche Nachricht und gleicher Schlüssel
liefern bei gleichen Synthese-/Code-Einstellungen identische Koordinaten
und bei gleichem N identische Pfaddateien. N ändert nur die Abtastung. Der optionale PCCC schützt je
256 Kanalbits14 Nutzbytes; Direktmodus ohne FEC/CRC ist wählbar. Schlüssel
werden nicht exportiert. BER ohne Senderreferenz bleibt unbekannt.

Die Meyer-Konstruktion ist für0<H<1 parametrisiert, Standard H=0,3. Gebündelt
sind H=0,1–0,9 und J=5–8. [Hurst-Übersicht und historische Abdeckung](apps/fractional-brownians/architecture.html).
Der ältere J7-Lauf ist vollständig, der J8-Lauf nur für H0,1–0,3 vollständig
und H0,4 teilweise. Fehlende Daten sind keine fehlerfreien Messungen.

Farbiges Rauschen speichert N−1 Differenzen. Der Empfänger rekonstruiert den
ursprünglichen Pfad kumulativ und führt danach Analyse/AES/PCCC aus.
Der Knopf für eine Sekunde WAV erzeugt16.000 Samples,mono PCM16/16kHz,
normalisiert ausschließlich die Hörvorschau und spielt sie ab. Geprüft wird
der numerische Sampledateikanal; die WAV-Hörvorschau ist kein zusätzlich
nachgewiesener Audio-Nachrichtenkanal.

## Tatsächliche Prüfungen

- **Visual Security Token:30/30** Browserprüfungen. Original und1.000Pixelfehler,
  unabhängige Python-Codecvektoren/AES-Referenzen, Bildkonverter, Druckmarken/
  synthetische Trapeze, Messreihen, eigene Schlüssel, mobile Darstellung.
  [Prüfbericht](tests/results/REPORT.md).
- **EMNIST-Stegoletter:11/11** Browserprüfungen.16unabhängigePython-Turbovektoren,
  alle36Analyzer,40Glyphen/408Nutzbits fehlerfrei, unveränderteOriginal-Python-BMP,
  falscherSchlüssel, Referenzexport,Logs und Mobilansicht.
  [Prüfbericht](apps/emnist-stegoletter/tests/results/REPORT.md).
- **Stegobabble3200:13/13** Browserprüfungen. Vollständiger10-Sekunden-Dateirundlauf mit0/32.000Nutzbitfehlern
  nach2.144/64.000Rohbitfehlern(3,35%). Original-Python-Träger ebenfalls exakt
  empfangen. Codec2-WASM/Nativepakete im Beispiel byteidentisch. Unabhängige
  NumPy-Log-MAP-, SciPy-Resampling-, Mikrofon-, Import- und Exportprüfungen:
  [Prüfbericht](apps/stegobabble/tests/results/REPORT.md).

- **Stegobabble7200:** neue native und Browserprüfungen für Turbo 3/4, AES-256-CTR,
  dynamische ONNX-Modelle, identische native/WASM-Opus-Pakete, unabhängigen
  WAV-Empfang, wirksamen Rauschregler, Export, Mikrofon, Abbruch/Neustart und
  Mobilansicht. Der 10-s-Browserrundlauf hat 0/79.200 Nutzbitfehler.
  [Prüfbericht](apps/stegobabble7200/tests/results/REPORT.md),
  [20 Pegel / 58 Rundläufe](apps/stegobabble7200/data/pipeline-results.csv),
  [Hörvergleich](apps/stegobabble7200/examples/decoded_speech_noise_sweep_20levels.wav).

- **Wavelet-Pfad-Apps:24/24** Browserprüfungen. Drei Apps, N/J-Regler,
  zwingend volle Atom-Bitzahl, deterministische AES-SIV/PCCC-Rundläufe, unabhängige native Dateien,
  Direktmodus, Fehlerfälle und Abbruch/Neustart. Farbiges Rauschen bei
  H=0,2/0,5/0,8: alle drei Payloads exakt; drei echte Einsekunden-WAVs
  erzeugt und abgespielt. Zusätzlich drei native farbige Träger exakt empfangen.
  [Prüfbericht](apps/wavelet-paths/tests/REPORT.md),
  [Hurst-Übertragungen](apps/colored-noise/validation.html).

Alle Browserprüfungen verwenden echtes `file://`, keinen Server, keine besondere
Dateizugriffsfreigabe. Keine HTTP-Abhängigkeiten. Formatkonvertierung ist keine
Nachrichtengarantie: AVIF wurde korrekt gelesen, beschädigte aber im Token-Test
die Payload. Synthetische Trapeztests ersetzen keine reale Druck-/Kameramessung.
Mikrofonprüfung nutzt ein synthetisches Browser-Audiogerät.

## Verzeichnis und lokale Pakete

```text
index.html
apps/visual-security-token/       Übersicht + Green Test Token 1
apps/emnist-stegoletter/          6 Seiten,37Modelle,Protokoll,Logs,Tests
apps/stegobabble7200/             Opus7200,Turbo3/4,AES,sechsbandigeModelle,Rauschen
apps/brownians/                   Brownian-Pfad-Labor + Theorie/Mathematik
apps/fractional-brownians/         Konstruktive Meyer-Pfade, Hurst-Übersicht
apps/colored-noise/               Informative Inkremente + 1-s-WAV-Hörprobe
apps/wavelet-paths/               Gemeinsame Mathematik, feste Profile, Tests
apps/stegobabble/                 Stegobabble3200:Codec2,alteModelle,Audio,Logs,Tests
assets/                          Gemeinsame Gestaltung und VST-Logik
models/                          VST-Modelle
data/                            VST-Manifest,Benchmarks,41Trainingsläufe
vendor/                          Gemeinsame ONNX/WASM-Laufzeit,Bildkonverter,Lizenzen
tests/                           VST-Testbilder,Prüfberichte,Screenshots
SHA256SUMS                       Prüfsummen des gesamten Pakets
```

Die Letter-App erklärt den Großteil der Paketgröße:36separateAnalyzer und ein
Generator, rund198MiBONNX-Graphdaten vor Base64-Verpackung. Modelle laden erst
bei Bedarf; maximal vier Letter-Analyzer bleiben gleichzeitig im Cache.
Modellgraphen werden vor Inferenz per SHA256 geprüft. Keine Gewichte wurden
nachtrainiert; Exportabweichungen sind in den Architektur-Manifesten dokumentiert.

## Wiederaufbau im Ursprungsprojekt

Buildskripte im dortigen `scripts/`:
`build_visual_security_token.py`, `package_visual_security_vendor.mjs`,
`build_emnist_stegoletter.py`, `package_emnist_stegoletter.mjs`,
`build_stegobabble.py`, `package_stegobabble.mjs`,
`generate_visual_security_pages.py` sowie `test_*browser.mjs`. Für Stegobabble7200 zusätzlich:
`build_stegobabble_r34_runtime.sh`, `export_stegobabble_r34_models.py`,
`package_stegobabble7200.mjs`, `update_stegobabble_r34_pages.py` und
`test_stegobabble7200_browser.mjs`. Die vollständigen aktuellen Quellenkopien
liegen in `apps/stegobabble7200/data/current-source/`.
Build benötigt Python/PyTorch/ONNX/SciPy beziehungsweise Node/Playwright; Betrieb
benötigt diese nicht. Die benachbarten Originalprojekte bleiben unverändert.
Codec2-Quelle, LGPL-Lizenz und separates WASM-Buildskript liegen vollständig
unter `apps/stegobabble/vendor/`; Runtime-Lizenzen unter `vendor/LICENSES/`.

Alle Appseiten nennen den tatsächlich eingesetzten parallel verketteten
Turbocode (PCCC) mit Coderate, Informations-/Codeblocklänge und Decoder.
`scripts/update_stegolabor_content.py` hält diese Angaben und die gemessene
Token-Robustheit nach einem Seitenbuild aktuell.

Neue Wavelet-Builds: `export_wavelet_path_models.py`, `package_wavelet_paths.mjs`,
`build_wavelet_path_pages.py`, `test_wavelet_paths_browser.mjs`. Quellenbeilage
unter `apps/wavelet-paths/data/build-source/`; ursprüngliche Mathematikquellen
unter `apps/wavelet-paths/data/original-source/`.

Wavelet-Profil v2 nutzt RFC5297 AES-SIV und schlüsselabgeleitete Gauß-Beträge,
keine Zufallsbeträge und keine Zufallsnonces. Alte v1-Pfaddateien bleiben als
Legacy lesbar. Details: `apps/wavelet-paths/README.md`.

Alle drei Wavelet-Apps bieten einen expliziten Gauß-Rauschschritt mit fester
absoluter Varianz, Seed und Rücksetzen. Er verändert die tatsächlich exportierten
und analysierten Samples. Die Brownian-Messseite zeigt 38.000 Übertragungen für
fünf N/J/Code-Profile und 16 Varianzen, mit Roh-BER, Kandidaten-Nutzbit-BER und
Nachrichtenausfällen: [Brownian-Messungen](apps/brownians/validation.html).
24 bestehende Browserprüfgruppen und fünf neue Rauschprüfgruppen bestanden;
zusätzlich sechs unabhängig native Rauschfälle und 15 Browser-Messreihen-Dateien.

## Sprachauswahl

Alle 42 Portalseiten bieten oben Deutsch (Standard), Französisch, Englisch,
Hebräisch und Russisch. Die Auswahl bleibt bei Navigation und erneutem Öffnen
erhalten. Hebräisch verwendet Rechts-nach-links-Darstellung. Die Sprachdateien
sind lokal gebündelt; es gibt keinen Übersetzungsdienst zur Laufzeit.
Payloads, Schlüssel, IVs, decodierte Nachrichten und Originalprotokolle bleiben
unverändert. Einzelheiten: [Sprachdateien](data/i18n/README.md).
