Instead she tried to work out what had just happened. Though the intrusion had been detected almost ten minutes ago, she was still inside the computer. If the administrators had bothered to check to see who was connected remotely, they would have found her to be Lady Arkat, their own chief, a fact that would have made them reluctant to disconnect her.
Whatever the case, she still had access to the Records Office computer. She had Lady Arkat’s temporary password, which would be good for the next few hours, until Lady Arkat arrived at the office and changed it. But after that Sula would be frozen out, because the executive file that Sula had ordered to send copies of the new password had been erased.
As long as Sula stayed connected to the computer, she was still able to make changes, at least as long as she avoided whatever error it was that had caused her altered program to be detected in the first place.
She took another sip of her tea, jasmine and citrus honey gone tepid, and wondered what her error could have been.
Sula looked again at the error message.01:15:16. They had her intrusion down to thesecond.
That gave her the first clue. Some rummaging in administration files revealed no less than six automated messages that had been sent toAssistantAdministratorYnagarh, each stating that the executive file had been replaced by one of a later date.
“Ah. Hah,” Sula said.
It had been the file’s date that had given her away. But in that case, why six messages, and not one?
The automated system had sent six messages because she had been detected in no less than six different ways. A second mentioned that the file size had changed. The other four informed Ynagarh that a change in the “hash signature” had been detected.
What the hell arethose? Sula wondered. She turned to ask Spence if she knew, but Spence had long since gone to bed.
First things first, Sula decided. Dates were something she understood.
She checked the date on the executive file that had been loaded over her altered file, and found that it had last been changed nine years before.Nine years. The file itself had been created oversix thousand years ago. It was obviously stable and required very little tweaking. No wonder her executive file had set alarm bells ringing.
Sula reheated her tea again and drank a cup while she contemplated the problem. Could the answer be as simple as changing the date on her file? She had the very high privileges that came with Lady Arkat’s account, and found that it wasn’t a problem: she changed the date on the file to nine years before, and when she made a backup file onto her own computer, the altered date didn’t change back to the real one.
And a message would go to the administrators if the file’s size changed: that was clear from Ynagarh’s messages. The program that she loaded into the Records Office computer would have to be the exact same size as the one there now.
She clenched her fists in a cold frenzy. Now she was going to have to go through the program line by line in hopes she could pare out enough redundant programming to make up for the lines she’d added. This wasmaddening …
Rather than even contemplate this task, she dug for a frantic hour through Lady Arkat’s help files and searched through the program’s architecture, and in time discovered what a hash signature was.
The ancient executive file was compiled into a binary form that, in addition to performing its various tasks, was itself an integer. By performing a calculation that was very easy to do in one direction, but difficult to backtrack—say dividing bypi and using the first thousand digits of the remainder—the resulting arithmetical signature—the “hash”—could identify even tiny changes in the file’s size.
Sula opened the file again and let the lines of code scroll in front of her bewildered eyes. She was too tired to think properly. She rose from her chair, stretched, and flapped her arms in hope of bringing a surge of blood into her weary mind. She stepped to the window and gazed down at the street below, the busy life of day much subdued now, the haunt of street cleaners and Torminel.
Sula’s eyes lifted to the eastern horizon, soon to turn pale green with rising of Shaamah. She had bare hours in which to perform her calculations. Somehow, she had to reverse-engineer the calculation that produced no less than four wildly different hash signatures, without knowing what the algorithms were or where they could be found.
She dragged her weary feet back to her desk. The executive file wasancient, she thought. It was so old it might have been written by theShaa …
And then she stopped dead, as she remembered the fondness of the Shaa for prime numbers…
All weariness sizzled away as she made a galvanic leap into her chair. A list of prime numbers was available in a public database, and she disregarded the first thousand as too small, then seized the next nine thousand and ran them against all values in the executive file.
One…The first match appeared in the display.
Two…
Three…
Four.
All the hash numbers were located in the same part of the program, which was clearly the part of the program having to do with alarms and security. She couldn’t have found the alarm program with a month of random searching.
The Shaa weren’t so damned smart, she concluded.
Sula scanned the program with great interest. There were the access codes, which were the key, and the alarm files, which were the lock, and there were the log files that recorded all changes in the system, which was a record of which key went with which lock, and when.
What she had to do, it turned out, was change both the lockand the key. And then the records had to be changed to read,This has always been the lock, andThis has always been the key.
In the next hour Sula added extra code to the executive file. In order, this set permissions on the log files to unwritable, which would prevent her manipulations from being detected, deleted the last line of the log file, which otherwise would have included her previous command, sent a copy of any new password to Sula’s comm, and then set permissions on the log file back to writable, which returned everything to normal
She prepared all the hashes for the alarm files.
Then Sula created a new program that would load her own executive file into the computer at the Records Office, something that would manage the whole procedure a lot faster than could Sula by giving orders or typing commands.
The program had a number of familiar commands, and some that were new: it set permissions on the log files to unwritable, deleted the last line of the log file, engaged all diagnostic programs, updated size and hash information on all alarms, copied her executive file over the old one, altered the dates of creation and modification on her new file to those of the old one, then ended all diagnostic programs and reset permissions on the log files to writable.
She tested the operation several times in her own computer. Then, holding her breath, she triggered her new program.
Sweat prickled on her forehead as she looked at Assistant Administrator Ynagarh’s messages, and saw no message alerting him to anything amiss with his computer.
She let out a long breath. It seemed that she’d got away with it.
Dawn was greening in the east. Sula made a last, obsessive scan of everything once more, just to make certain the file was as she left it, and then broke the connection. She told the apartment’s system to wake her in the morning just before the Records Office opened for business, so that she could be sure to get into the computer on Lady Arkat’s temporary password before it was changed.
As she prepared for bed Sula looked at herself in the mirror and was appalled. Her eyes had deep shadows under them, her hair was stringy, and there were blooms of sweat under her arms. She couldn’t abide sleeping in such condition, so she took a thorough shower. She went into the bedroom she shared with Spence, groped her way to her bed, and fell into it.