She also resisted looking through the gigs and gigs of personal stuff. Andrea Thomson and her people at Five would undoubtedly comb through all of that, but Bridge wasn’t sure she wanted to see it. The more she knew about Declan O’Riordan, the more her own image of Tenebrae_Z slipped away. She wanted to hold on to that image for a while longer.
Instead, she went straight for the desktop directory named ‘ASCII posts’. Inside were text-file copies of all the Usenet posts Ten had found, just like Bridge’s own copies. But he’d found almost a dozen more files than she had, and more importantly, the folder also contained several files Ten had written himself. And one of them was called Master_Decode.txt.
It contained a list of fourteen entries, one for each ASCII post, labelled ‘Date — clues — message’.
Apr 28 - Thatcher/Wellington - ☺May 1/2100/Holland☺
May 15 - Pastime/Raccoon - ☺Cavendish-17-05-1230-urgent☺
Jun 18 - Recalcitrant/Fallujah - ☺June 20/2200/Gladstone☺
‘Recalcitrant’ and ‘Fallujah’. Those were the answers from the Times crossword of June 18th. So that was the paper they were using. But how had Ten decoded all of these posts? How was this information hidden in ASCII art? And what on earth did the crossword answers have to do with it?
Bridge stared at the file, turning the questions over and over in her mind, letting her thoughts drift out of focus and waiting for the answers to surface.
Perhaps they used the Times out of a sense of tradition. Or perhaps because it was one of the few newspapers you could be sure to find in every major city of the world. Or, as she’d previously thought, perhaps the man posting the ASCII art was a genuine old-school spy from the days of the Cold War, and the Times was simply one of the few papers that had endured.
The dates and times meant the codes were probably rendezvous arrangements, but she had no idea what the other words and names could mean. Some were formatted strictly, some were more haphazard. More than one sender? They all used the same black-hole email address, but that didn’t mean it was the same person using that email every time. Some messages read like instructions more than meeting appointments. They were all different character lengths, yet every ASCII art post was the same 78 x 78 grid. That was puzzling, though she also noted each post had a varying number of whitespace characters, owing to the arrangement of text into the ‘pictures’. So it was possible they all had different character lengths, too, once you removed the blanks. Perhaps those message lengths related to the post length, somehow. A substitution code? But that would be too simple. If it was just ROT-13 or a similar sub cipher, Bridge and Ten would both have spotted it within minutes. Character appearance frequency alone would give it away. There had to be something more complex here.
Was it possible the posts were mostly a red herring, where the crossword reference was the only real information in each, and the remainder really was plain old ASCII art? Ceci n’est pas une pipe, and all that. But Ten said he’d found a phone number in one of the posts, and there it was, right in the decoded entry from two nights ago. How could you get that, and all these other messages, from two crossword puzzle answers? She thought of book lookups, where both messengers had a copy of the same edition of the same book, and looked up words in the book to render a message. But that would require much more than two words, and there were no number references in the crossword answers themselves. It all came back to these bloody crosswords, and how on earth you could combine them with the ASCII to decode a block of text…
Bridge groaned, then laughed, as the answer came to the surface.
Symmetric keys.
Modern cryptography contained a multitude of methods for encoding messages. The most common was public/private key pairing, where one half of the ‘key’ that would unlock a secret message was publicly known, because it was useless without the other half — the private half, which was kept secret. Millions of secure online connections and internet transactions around the world relied on public/private key pairing every day. But there was another kind, simpler though no less hard to break if the parties involved were careful. Symmetric-key encryption, in which the same key was used both to encode and decode a piece of data…or a message.
Without the key the message was garbage, impossible to decode using even the most powerful supercomputers in the world. But if you possessed the key, and knew which method had been used to encode it, the least powerful computer in the world could combine the two and decode it instantly. That was the weakness in symmetric keys; only one piece of information needed to leak for the data to become vulnerable. But the delivery method here was obscure, and the decoded messages filled with jargon. The sender must have been very confident the key wouldn’t be discovered, and even if it was, the encoded messages would mean nothing.
They weren’t entirely wrong. With the contents in front of her, courtesy of Ten’s decoding efforts, Bridge still didn’t really know what she was looking at.
A plethora of encryption algorithms was available to encoders, most of them based around calculations using enormous prime numbers. But then she remembered that only a few had one important thing in common; no matter what message you put in, you could ask the encoder to output an encrypted result of fixed length. One word, two words, a whole paragraph, it didn’t matter. Whatever you put in, you’d get back a coded message of fifty characters,