decrypt those messages so that he'll know where to dig. Hence the whole setup with the laptop.
All of Attorney Alejandro's efforts to spring Randy loose will be unavailing until Wing has the information that he wants-or thinks he does. Then, all of a sudden, the ice will break, and Randy will unexpectedly be cut loose on a technicality. Randy's so sure of this that he finds Attorney Alejandro's visits annoying. He would like to explain all of this so that Attorney Alejandro could knock it off with the wild goose chase, and his increasingly bleak and dull situation reports on same. But then Wing, who presumably surveils these attorney/client conferences, would know that Randy had figured out the whole game, and Randy doesn't want Wing to know that. So he nods through these meetings with his lawyer and then, for good measure, goes back and tries to sound convincingly bewildered and depressed as he gives Enoch Root the update.
He gets to the point, conceptually, where his grandfather was when he commenced breaking the Arethusa messages. That is, he has a theory in mind now of how Arethusa worked. If he doesn't know the exact algorithm, he knows what family of algorithms it belongs to, and that gives him a search space with many fewer dimensions than he had before. Certainly few enough for a modern computer to explore. He goes on a forty-eight-hour hacking binge. The nerve damage in his wrists has mounted to the point where he practically has sparks shooting out of his fingertips. His doctor told him never again to work on these nonergonomic keyboards. His eyes start to go out on him too, and he has to invert the screen colors and work with white letters on a black background, gradually increasing the size of the letters as he loses the ability to focus. But at last he gets something that he thinks is going to work, and he fires it up and sets it to running on the Arethusa intercepts, which live inside the computer's memory but have never yet been displayed upon its screen. He falls asleep. When he wakes up, the computer is informing him that he's got a probable break into one of the messages. Actually, three of them, all intercepted on 4 April 1945 and hence all encrypted using the same keystream.
Unlike human codebreakers, computers can't read English. They can't even recognize it. They can crank out possible decrypts of a message at tremendous speed but given two character strings like
SEND HELP IMMEDIATELY
and
XUEBP TOAFF NMQPT
they have no inherent ability to recognize the first as a successful decryption of a message and the second as a failure. But they can do a frequency count on the letters. If the computer finds that E is the most common, followed by T, and so on and so forth, then it's a pretty strong indication that the text is some natural human language and not just random gibberish. By using this and other slightly more sophisticated tests, Randy's come up with a routine that should be pretty good at recognizing success. And it's telling him this morning that 4 April 1945 is broken. Randy dare not display the decrypted messages onscreen for fear that they contain the information that Wing's looking for, and so he cannot actually read these messages, as desperately as he'd like to. But by using a command called
Based on this break, with several more days' work Randy solves Arethusa entirely. He comes up, in other words, with
So now he has decrypted all of the messages. But he cannot actually read them without transmitting their contents to Wing. And so now, the subliminal channel comes into play.
In cryptospeak, a subliminal channel is a trick whereby secret information is subtly embedded in a stream of other stuff. Usually it means something like manipulating the least significant bits of an image file to convey a text message. Randy's drawn inspiration from the concept in his labors here in jail. Yes, he has been working on decrypting Arethusa, and that has involved screwing around with a tremendous number of files and writing a lot of code. The number of separate files he's read, created, and edited in the last few weeks is probably in the thousands. None of them have had title bars on their windows, and so the Van Eck phreakers surveilling him have presumably had a terrible time keeping track of which is which. Randy can open a file by typing its title in a window and hitting the return key, all of which happens so fast that the surveillance people probably don't have time to read or understand what he has typed before it disappears. This, he thinks, may have given him just a bit of leeway. He has kept a subliminal channel going in the background: working on a few other bits of code that have nothing to do with breaking Arethusa.
He got the idea for one of these when he was paging through the
dash dot dot dot (pause) dot dot dash (pause) dash dot (pause) dash dot dot (pause) dash dash dash (pause) dash dot dash
which ought to spell out BUNDOK. He doesn't want to open the resulting file on screen, but later, while he's in the middle of a long series of other cryptic commands he can type
grep ndo (meaningless file name) > (another meaningless file name)
and grep will search through the first-named file to see if it contains the string 'ndo' and put the results into the second-named file, which he can then check quite a bit later. He can also do 'grep bun' and 'grep dok' and if the results of all of these greps are true then he can be pretty confident that he has successfully coded the sequence 'BUNDOK' into that one file. In the same way he can code 'COORDINATES' into some other file and 'LATITUDE' into another, and various numbers into others, and finally by using another command called 'cat' he can slowly combine these one-word files into longer ones. All of these demands the same ridiculous patience as, say, tunneling out of a prison with a teaspoon, or sawing through iron bars with a nail file. But there comes a point, after he's spent about a month in jail, when suddenly he's able to make a window appear on the screen that contains the following message:
COORDINATES OF PRIMARY STORAGE LOCATIONS
SITE BUNDOK: LATITUDE NORTH FOURTEEN DEGREES THIRTY-TWO MINUTES . . . LONGITUDE. EAST ONE TWO ZERO DEGREES FIFTY SIX MINUTES .
SITE MAKATI: (etc.)
SITE ELDORADO: (etc.)
All of which is total bullshit that he just made up. The coordinates given for the Makati site are those of a luxury hotel in Manila, sited at a major intersection that used to be the site of a Nipponese military airbase. Randy happens to have these numbers in his computer because he took them down during his very early days in Manila, when he was doing the GPS survey work for siting Epiphyte's antennas. The coordinates given for SITE ELDORADO are simply the location of the pile of gold bars that he and Doug Shaftoe went to examine, plus a small random error factor. And those given for SITE BUNDOK are the real coordinates of Golgotha plus a couple of random error factors that should have Wing digging a deep hole in the ground about twenty kilometers away from the real site.
How does Randy know that there is a site called Golgotha, and how does he know its real coordinates? His computer told him using Morse code. Computer keyboards have LEDs on them that are essentially kind of useless: one to tell you when NUM LOCK is on, one for CAPS LOCK, and a third one whose purpose Randy can't even remember. And for no reason other than the general belief that every aspect of a computer should be under the control of hackers, someone, some where, wrote some library routines called XLEDS that make it possible for programmers to turn these things on and off at will. And for a month, Randy's been writing a little program that