17. LEO
SEVENTEEN
LEO
My body is too hot.
Before going back to work, I go to the bathroom. I turn on the sink. I wash my face, my neck, my hair, my fucking chest—because everything smells like him, feels like him.
Fucking hell.
No one ever cared about what I eat. No one ever showed the kind of worry he had. No one ever had the guts to question my work, to try to force me to sleep, to tell me I can't go back to an overpass. No one ever made me want to survive, not even for an hour more.
No one but him.
He fucking kisses me, and suddenly I want to eat fucking vegetables and sleep every fucking night.
I want to exist in this shitty life just so I can touch him again, I want to survive for a thousand more touches like that.
I want him to be my fucking reason. I want him to tell me that if I do that, if I eat and sleep and stop being so dead , I can have more.
That if I exist, he'll touch me again; that if I obey him, I can be rewarded.
I want to be the fucking air he breathes.
The thoughts are too much, too absurd, too needy . And yet I don't try to push them back. I let them come.
I go back to the computer. Dante's tablet is on the desk, displaying the encrypted data. My hands, still damp and with his residual scent, hover over the keyboard. There's no time to waste, not when every second brings me closer to more .
I open my preferred code editor.
AES encryption is a vault with trillions, if not quintillions , of possible combinations.
The security of an algorithm is never absolute—it's just a matter of time, resources, and creativity.
But to break something that has never shown vulnerabilities before, a military-grade standard, considered secure enough to be used with classified government data, in one hour …
AES was used. Whoever applied it was someone who couldn't mask themselves—therefore, someone who isn't as good as the encryption they used.
While Dante was here, a basic forensic analysis on the file's wrapper gave me the message's digital birth certificate: the exact timestamp of its creation, down to the millisecond.
It's fragmented—that increases the noise, but not the security, if they were lazy with key management. And they always are.
I write a script, line by line. My main clue is the timestamp.
I'm missing the complement. The process ID?
The software name? Every variable they ignored is a potential door.
A flaw in the way they used this encryption, a habit, a detail in the message's metadata—these are pieces of information that reveal the recipe to create the key, not the key itself.
I go back to typing. I forge the weapon Dante needs until the first version of the script is ready. I execute it.
The screen turns into a green and white cascade. Lines and lines of text scroll by, a flood of attempts.
Testing combination [timestamp: 1720282800, PID: 1234]... FAILED .
Testing combination [timestamp: 1720282800, PID: 1235]... FAILED .
Testing combination [timestamp: 1720282800, PID: 1236]... FAILED .
Failures. Hundreds of them. Thousands. It's not working. Not yet. I let the script run for a few minutes, exhausting the simplest combinations, the obvious ones, the ones Sal would have tried for days.
I stop the process. I look at the code again. The timestamp + PID combination is too simple. I need another variable, something the programmer thought would be a good unique identifier. Something static. Fixed to the machine.
I refine the script. The new recipe to be tested will be the physical address of the network card. A hardware fingerprint. It's a gamble.
I run the script again. The screen comes back to life, testing the new logic against the different message fragments.
Testing [timestamp: 1720282800, MAC: 00:1A:2B:3C:4D:5E, software: SecureChat_v1.2_beta]... FAILED .
Testing [timestamp: 1720282800, MAC: 00:1A:2B:3C:4D:5F, software: SecureChat_v1.2_beta]... FAILED .
Testing [timestamp: 1720282800, MAC: 00:1A:2B:3C:4D:6A, software: SecureChat_v1.2_beta]... SUCCESS .
The script stops. The word SUCCESS flashes, solitary and triumphant.
I found the key—the same for all messages that used that same machine.
I type a command line in the terminal, applying the newly forged key to the set of fragmented files. The decryption process is almost instantaneous, a blink of an eye. The screen, once full of code lines and errors, is cleared.
And then, in crisp, clear letters, the text appears.
Fragment 1 decrypted: Call me Ishmael. Some years ago—never mind how long precisely—having little or no money in my purse, and nothing particular to interest me on shore, I thought I would sail about a little and see the watery part of the world.
Fragment 2 decrypted: Look not too long in the face of the fire, O man! Never dream with thy hand on the helm! Turn not thy back to the compass; accept the first hint of the hitching tiller; believe not the artificial fire, when its redness makes all things look ghastly.
Fragment 3 decrypted: Now, take away the awful fear, and my sensations at feeling the supernatural hand in mine were very similar, in their strangeness, to those which I experienced on waking up and seeing Queequeg's pagan arm thrown round me.
But at length all the past night's events soberly recurred, one by one, in fixed reality, and then I lay only alive to the comical predicament.
Fragment 4 decrypted: at night, in the mid-watch, when the old man —as his wont at intervals—stepped forth from the scuttle in which he leaned, and went to his pivot-hole, he suddenly thrust out his face fiercely, snuffing up the sea air as a sagacious ship's dog will, in drawing nigh to some barbarous isle.
The first line is… Herman Melville ?
Is that it? The digital rat, the traitor Svetlana is looking for, is using a high-security encrypted transmission to... send chapters of Moby Dick ?
No. Worse. Fragments . And out of order.
I've seen this before. A massive amount of data camouflages a real message in a random fragment—or fragmented among several.
If there's a message hidden in the text, it has a different format.
Geographic coordinate patterns, date and time formats, IP addresses…
but defining a script that checks a list of baits won't work if the message is inserted in the middle of the original text.
A sentence, a word. A subtle alteration.
I need this text complete and ordered.
I look at the clock. I have twenty minutes.
They need an index among several disordered fragments, a sequence number so the receiver can assemble the puzzle.
So, I search the metadata—a simple script that ignores the text and renames each file according to its ID.
I join them. The chaos of random fragments is now a single, gigantic text file, perfectly in order.
I try to download a copy of the original Moby Dick text, but the mob's network blocks me—a red page with ACCESS DENIED . I forgot for a moment that they think they have me on a leash.
I glance at the clock again. I don't have time to ask for permission.
A reverse SSH tunnel solves it. They always leave port 443 open for traffic that looks legitimate.
I type the command from memory, and in thirty seconds, I have access through a straw they don't know exists. The text file downloads in the blink of an eye. No one will notice.
I place the two files side-by-side in my system: the original Moby Dick and the organized version of the interception. The script will compare the two, letter by letter, and show me any discrepancy, no matter how small.
diff moby_dick_original.txt moby_dick_intercepted.txt
I press Enter. There's no immediate result. The computer is working, comparing millions of characters.
The seconds drag on. A minute. Two.
The screen fills with text. A massive block of 'deletions', entire chapters missing.
For a moment, I consider the possibility of a failed interception. But the idea dies before it's even born. I myself verified the sequence of IDs the organizing script collected: from 1 to 5.428, without a single number missing.
No. We got everything. They didn't even bother to send the whole book.
And, in the parts we have , the diff confirms that there are no alterations compared to an original PDF turned to TXT of Moby Dick. None, not even a single homoglyph.
Right.
If there's a message, it's not in the visible content—it can only be in the invisible structure of the data itself. Steganography.
I open my arsenal of forensic analysis. A scan of the least significant bits. I run the tool on the files. A graph appears, analyzing the data distribution. If there were a hidden message, there would be a peak, an anomaly in the randomness. The graph I see is flat. Clean.
Nothing.
Then, an analysis of extended metadata. Maybe the message is hidden in file information fields that aren't normally visible. I run another script.
CHECKING EXTENDED METADATA...
NO HIDDEN FIELDS FOUND.
I try everything. I search for alternative data streams, I analyze the slack space of each file for residual bytes. Every test returns the same result: negative. Clean. Empty.
I lean back in my chair.
Nothing.
There's nothing here.
Military-grade encryption. Content that's trash. Data structure impeccably clean, not a single byte out of place. No hidden code, no image, no coordinates. Just… emptiness.
There's no message. And that is the message.
The person behind this used the best available encryption to create an impressive, empty vault. The sequential IDs in the fragments weren't for the message to be reassembled; they were to make it seem like it.
They wanted to buy time. They wanted the Volkov elite to occupy themselves with a complicated and useless task.
And the sophistication…
The sound of the room door being unlocked cuts short my reasoning.
I don't need to turn around. I feel his presence.
The door opens. Him , and a soft floral scent—Svetlana.