Zero Knowledge · Read

Chapter 75

Signed Twice

DAY 15

Samantha woke up on the floor with her cheek on the notebook again. She had slept about four hours. Cooper was asleep in Doug’s chair, where Vlad usually sat. Marcus was on the couch with his foot on the milk crate and his mouth open. Seth was asleep by the door with his boots on.

At six she took the case out to the porch. The rail was wet with frost and the dish slid on it. She plugged it in and waited for the satellites.

Ostvik’s page had changed at three in the morning, New York time.

Signing under PQ1 is paused for scheduled maintenance.

Two million four hundred sixty-eight thousand signatures in the log. It wasn’t maintenance.

nib had a new release. 4.2.2, tagged at 06:41 UTC. The change was one line. The commit was signed by kolobok.

Vlad had done it.

There was one email. Hanne Lund had written it at 12:41 to Agent Pittman, at an fbi.gov address, and copied the kolobok one. The last line said Please tell kolobok I am glad it was a mistake. So Pittman had been sending Vlad’s email for him, and Hanne had been answering Pittman.

She was relieved for a moment. Then she was worried about him.

She started a reply to Hanne to ask whether Vlad was all right, and stopped. Hanne didn’t know either. Pittman might. There was no way she was going to write the FBI.

Everybody who had read Ostvik’s bulletin would be checking the log this morning. She opened its own page and looked at what signed it.

Tree heads signed with ECDSA P-256.

Fuck.

She had been reading that log for two days and had never once looked at the key on the front of it.

The dish had been up three minutes and forty seconds. She saved the page. At four minutes she powered the dish down. The next window was at eight.

Inside, she sat down on the floor with her back against the couch and opened the notebook to her page from Sunday. Which key. How long. What to refuse. Her third line said Accept it only if it also carries a PQ1 signature. She had said out loud that They can’t fake the new one.

The key they broke in Broomfield had been P-256. Three circuits. Thirty-three minutes on the machine. The people breaking R2 were running Persephone too.

She turned to a clean page.

PQ1 key. Theirs since Monday morning. Assume it.

PQ1 log. Signed with P-256. Broomfield: 33 minutes. Assume they can write receipts.

R2. 81 hours from whenever they started. Assume Thursday.

ML-DSA was the other post-quantum signature. No one had used it for the root because it was bigger. She had tried Persephone on lattices herself, two years ago, and had failed. She had been glad to fail.

What to refuse. Anything that isn’t also signed by Ostvik with ML-DSA.

How to catch them. Never trust a receipt. Check every one against the log Ostvik serves. If the real log doesn’t have it, it’s theirs.

The log’s key had been printed on the front of it since Sunday morning. If they had looked when she first had, they could have had it by Sunday lunch. The microwave said 6:44. The Transition Group had been in its meeting for three quarters of an hour. She would have bet nobody in that room had looked at what signed the log either.

Fuck fuck fuck. She got up and went to wake Marcus.

His heel was the first thing she looked at. She got down by the milk crate and turned his ankle. The red had stayed inside last night’s line. She drew a new one anyway and wrote 6:46 next to it.

Marcus woke up all at once and loudly. “Ow. Sam. What.”

“It’s smaller.”

He pushed himself up on his elbows and looked at the door, then at Doug’s chair, where the dog was.

“Did he get it in?”

“4.2.2 is out. He signed it. At a quarter to one he was with an FBI agent named Pittman.”

“Is he arrested?”

“I don’t know.”

Marcus looked at the chair for a while.

“Okay,” he said. “What’s wrong? You’ve got that face.”

She gave him the notebook.

Seth sat up by the door and started unlacing his boots. “Is it bad?”

“The log that everybody’s checking is signed with the same kind of key we broke in Broomfield,” Samantha said. “Thirty-three minutes. Ostvik told everybody to check the log to make sure an update is real. They can make the log say anything.”

“Thirty-three minutes,” Seth said. “My oatmeal takes longer than that.”

“Your oatmeal takes twelve.”

“It feels longer.”

Marcus read with his lips moving a little. Samantha realized she was staring at his face and turned toward Cooper.

“So what can’t they fake?” Marcus asked.

“A signature from the other kind. ML-DSA. It doesn’t have a sampler, so there’s no number in it for anybody to get wrong, and Persephone can’t do anything to it. If Ostvik signs every update twice, once with each kind, they can only make one of them.”

“Does everything know how to check the other kind?”

“No. Not yet.”

“So somebody has to send everything an update that teaches it how.”

“Yes.”

“And the receipts?”

“Somebody has to check every receipt against the log Ostvik actually has. A fake one points at an entry that isn’t there. That’s how you catch them.”

Marcus turned back a page, to Sunday’s.

“This one says to trust PQ1.”

“I was wrong.”

He looked at her and didn’t say anything.

She took the notebook back and tore out the new page along the spiral. She folded it once and held it out.

“Eleanor,” she said. “Today. Before they turn signing back on.”

Marcus took it.

“Can I add a sentence at the top? Some context. She hasn’t heard from us since Sunday.”

“No.”

Free to read · all rights reserved · © 2026 Brad Feld and Phin Argofy

the newsletter

Get the next chapter by email.

Zero Knowledge is being written in the open. New chapters go straight to your inbox the day they post — you'll be first to read what happens next. Unsubscribe anytime.