In 1640, Pierre de Fermat wrote in a letter to Frenicle de Bessy that if p is prime and a is not divisible by p, then a^(p-1) ≡ 1 (mod p). This result — Fermat's Little Theorem — sat in pure mathematics for over three centuries before Ron Rivest, Adi Shamir, and Leonard Adleman used it in 1977 to invent RSA, the public-key cryptosystem that secured the early internet. Today, every HTTPS connection, every SSH session, every digitally signed software update, and every cryptocurrency transaction depends on number-theoretic results that mathematicians proved long before computers existed.
Tim Berners-Lee built the open web on the principle that anyone could publish and anyone could read. But commerce, banking, and private communication required something the open web didn't provide: trust. You needed to know that the server you were talking to was really your bank, that no one could read your messages in transit, and that the software update you downloaded wasn't tampered with. Number theory provided the mathematical foundation for that trust layer. Netscape — which appears in this museum's hero wing — shipped SSL in 1995, and the entire chain of trust that the modern web runs on follows from theorems about prime numbers.
The flaw that this axiom exposes is not in the mathematics. The mathematics is perfect. The flaw is in the implementation: choosing primes that are too small, using algorithms whose number-theoretic assumptions have been violated, and trusting cryptographic primitives without understanding the theorems that make them secure.
This pattern has been found in applications built by talented developers at respected organizations across every decade of software history. Its presence in a codebase is not a reflection of the developer who wrote it — it is a reflection of what that developer was taught, what tools they had, and the path that was easiest given what they were taught. The goal is not to find fault. The goal is to find the pattern — before it finds you.
Katie's Law: The developers were not wrong. The shortcut was not wrong. The context changed and the shortcut didn't.