EXHIBIT 08

REGENERATION-AND-COMPARE STEGANALYSIS

A difference is a clue. It is not yet a conclusion.

Decode a received QR, regenerate what a clean symbol should look like, then compare modules. The method catches real changes, but its answer depends on what the analyst assumes “clean” means.

CONTROLLED EXPERIMENT / TWO INDEPENDENT ENCODERS

THE EXPERIMENT

Hold the overt message constant

The analyst regenerates with HideAndSeen. Each caption exposes the received symbol's actual version, ECC, mask, and encoder.

Predict first

In the third scenario the symbol is innocent — nothing is hidden — but it came from a different encoder. Will regeneration-and-compare report a difference?

RECEIVED
REGENERATED
DIFFERENCE MAP
1Decode

2Regenerate

3Compare

4Interpret

Choose a scenario.

THE FOUR QUESTIONS

Ask four questions of the received symbol.

WHAT THE SCANNER SEES

The same overt message in all three scenarios. The payload alone never separates them.

WHAT CHANGED UNDERNEATH

Scenario-dependent: nothing at all, or pad codewords after the terminator, or a second encoder's equally legal choice of version, mask and segmentation.

WHAT A SECOND READER CAN RECOVER

Only in the hidden scenario, where the pad codewords carry a message. In the clean and encoder-mismatch scenarios there is nothing to recover.

HOW AN ANALYST CAN NOTICE

Regenerate a reference symbol and compare modules. The test detects difference, not intent — it fires on the innocent encoder mismatch too, which is why the reference encoder has to match the issuer's.

FINDING

A detector needs a model of normal behavior.

When the issuer and analyst use the same implementation, regeneration can isolate deliberate modification. When two honest encoders make different legal choices, the same difference test can produce an alert without hidden data.

If “normal” is underspecified, difference is not evidence of maliciousness.

Research basis: Chen et al., “A General Steganalysis Method of QR Codes” (2023) [FULL], doi:10.1007/978-3-031-36574-4_28. The repository experiment implements regeneration and comparison at codeword/module level and tests an encoder-mismatch condition. This does not establish that the published method is wrong in general; it establishes a false-positive condition for this implementation and these encoder assumptions.

Read the research note