The attacker in the gap.
Data-center fabrics spread traffic across parallel links by hashing each flow with a secret salt. Guess that salt and you can hand-pick flows that all hash to the same link — then a single host, no botnet, floods that one link and starves a victim, slipping clean under the rate limits and connection caps built to stop volumetric floods.
The fix is to keep moving the target: rotate the salt faster than the attacker can reconstruct it — a cadence you can actually compute, not folklore. This live lab lets you watch the attack land under a weak, guessable salt, then dissolve the moment the salt becomes strong and fresh. Serving that entropy through QEaaS adds the last piece: every salt draw ships a signed receipt proving where the randomness came from.
QRNG (per-switch): Each switch pulls an independent salt from QRNG entropy delivered by QEaaS (qeaas.eu). Traffic fans out and the attack scatters — and every draw ships with a signed provenance receipt (entropy epoch, request id, attestable quantum source), shown below. Provably-sourced, auditable randomness delivered as a service: the piece the fabric was missing.
computing routes…Fairness
Signed entropy provenance receipt
Every QRNG salt served to the fabric arrives with this attestable receipt — proof of a real quantum source, which epoch it came from, and a verifiable signature. This is the deployable product: auditable randomness as a service.
loading recorded provenance...Footnote: a strong CSPRNG blunts this attack just as well; the signed receipt is what CSPRNG cannot give you.
Draw your own signed entropy at qeaas.eu ↗What am I looking at?
The topology (top to bottom). Hosts sit at the bottom. Each host connects up to one edge switch (top-of-rack). Edge switches connect up to the aggregation switches in their pod, which connect up to the core spine that links pods together. At the very top, the core uplinks to a small WAN gateway tier — the border routers that carry internet-bound (north-south) traffic out of the datacenter. There are multiple parallel links at every tier — that redundancy is exactly what ECMP is meant to load-balance across.
The packets. Each moving dot is a flow being forwarded. It climbs host → edge → agg → (for cross-pod traffic) core, then descends the mirror path down to the destination host. The route each packet takes is notrandom per-packet — it is the deterministic ECMP hash of that flow's 5-tuple, keyed by each switch's salt. Same flow, same path every time (flow affinity).
The attacker. When launched, the red-ringed host (ATTACKER) floods the VICTIM with crafted flows — all share one destination, only the source port varies. It sweeps source ports offline to find a collision set: ports whose ECMP hash steers the flow onto the same deep core→aggregation link (the dashed target link), chosen deep in the fabric precisely because that is the tier ECMP is meant to spread load across (9 equal-cost paths into the victim's pod here). Under a predictable salt every crafted flow converges there — a red funnel collapses onto the victim while the rest of the fabric stays calm. Under CSPRNG/QRNG the attacker's guessed salt is wrong, the same ports hash to random paths, and the flood sprays across all 9 links — each carrying a negligible slice. A single host targeting one link, no botnet.
The link colours. A link's tint shows its cumulative share of traffic: green = lightly used, amber = busy, red = saturated. Links also thicken with live packet occupancy. Under the weak shared salt you will see a handful of links go red while others stay dim — that is hash polarization: correlated hash choices across stacked switches funnel unrelated flows onto the same physical links. Under CSPRNG/QRNG the whole fabric stays evenly warm.
The fairness numbers. Jain's index is 1.0 when every link carries an equal share and drops toward 0 as load concentrates. Polarizationis the busiest link's load divided by the mean — 1.0 is perfect, higher means worse hot spots. Both are computed live from the real delivered-packet counts, not scripted. Note: because the traffic itself is skewed (popular servers), even CSPRNG won't hit a perfect 1.0 — what matters is the gap: the weak PRNG is clearly worse, adding hash polarization on top of the natural skew.
Where QEaaS comes in. Weak entropy is the root cause of both failures above — the polarized fabric and the landed attack. Fixing it means every switch needs an independent, strong, fresh salt, and in a regulated or multi-tenant setting you also need to prove it was. QEaaS serves exactly that: per-switch quantum entropy over a simple API, each draw stamped with a signed provenance receipt (entropy epoch, request id, attestable source) you can hand an auditor. Select QRNG above to see the receipt live — strong balancing, scattered attack, and a paper trail for the randomness underneath it.
Footnotes (honest scope). (1) Single-switch caveat: entropy quality is invisible at one hop — SHA-256 spreads uniformly for any salt; polarization is a multi-stage effect that only appears when switches on a path share a salt. (2) In this threat model a good CSPRNG spreads traffic and blunts the attack just as well as QRNG; QRNG's distinguishing contribution here is attestable provenance and deliver-as-a-service deployability, not a better hash.
Precision beats volume
A single host spreads a crafted collision set across compliant sources, saturates one link, and collapses a victim from 10 to 0.4 Mbps — while per-source rate-limit and connection-throttle defences never fire.
Rotation is the fix — on a clock
Rotating the ECMP salt disperses the crafted set and restores fairness. How fast is not folklore: it is a computable bound, rotate faster than the attacker can reconstruct the salt (T_bf).
Quantum buys provenance, not a bigger hammer
An honest null result: QRNG and a strong CSPRNG defend identically (Δ within run-to-run noise). QRNG's real edge is a signed, per-draw provenance receipt a CSPRNG cannot produce.
The missing piece is auditable entropy as a service.
QEaaS serves per-switch quantum salts over a plain HTTP API — strong enough to spread traffic and scatter the attacker, and every draw ships a signed receipt (entropy epoch, request id, Ed25519 signature) you can hand an auditor. Exactly the capability this lab shows a fabric is missing.
$ curl -H "X-API-Key: $KEY" \
"https://api.qeaas.eu/v1/random/bytes?size=32&format=hex"
{
"request_id": "11f1500a…",
"entropy_epoch": 30,
"data": "fb81abcd…",
"receipt": "qeaas1.eyJ…" # Ed25519, verifiable
}