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,feelslike 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 sodead, 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, tooneedy. 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 tomore.
I open my preferred code editor.
AES encryption is a vault with trillions, if notquintillions, 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, inone hour…
AESwasused. Whoever applied it was someone who couldn't mask themselves—therefore, someone whoisn'tas 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 onesSalwould 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.