.bddd40f2.png)
Splinter Cell is a tactical stealth game franchise developed by Ubisoft, first released in 2002. The series follows Sam Fisher, an elite operative assigned to carry out covert missions under the "Third Echelon" black-ops division within the NSA. The games emphasize stealth and strategic planning, rewarding players for remaining undetected in hostile environments.
Although I have not completed every title in the franchise, I was particularly drawn to Splinter Cell: Deathwatch, an adult animated adaptation available on Netflix. In one memorable sequence, a hacker was tasked with decrypting a file composed of multiple components, one of which involved extracting and analyzing a song. While I have not extensively studied cybersecurity, this scene sparked my interest in translating the concept and methodology into practical, real-world applications.
While I aimed to stay true to the original concept, I made several adjustments for practicality and clarity. I decided to begin with text file encryption as a simpler starting point. The user uploads a text file to be encrypted, along with a .wav audio file that serves as the primary encryption medium.
The user may provide a custom key, or the program can default to the name of the audio file (excluding the .wav extension). The audio file is divided into discrete blocks, with the number of blocks determined by the size of the input file. Each byte of the input file maps to one audio block. For each block, the program hashes the audio content together with the key, producing the final encrypted value for that block. By repeating this process across all blocks, the system generates the complete encrypted output.
After looking into it a bit more, I realized that there was a major flaw in this intial encryption algorithm. The algorithm boiled down to a hashed key that could be brute forced with unique decryption algorithm. While I wanted to keep everything as custom as possible, I realized encryption takes years and careers to master. Somthing I would not be able to learn or recreate in a weekend. *face palm*. With this new realization the following process was create while still trying to stay true to the original design.
The .wav file is still separated into blocks. Each block is encrypted using SHA256. These blocks are added to a bufffer which is encrypted with the key. This is then hashed into a 32byte key that cannot be brute forced. This, unfortunatley, changed the key into a long string of values instead of a word.
While sacrifices were made, I still kept my two inital goals:
1. Be able to encode a file with audio and a key.
2.Have a cryptographically secure algorithm that could not be brute force and would be able to provide some security in modern computing