Inspiration

We both wanted to do a cybersecurity related project, and had been discussing ideas. We really liked this idea as we could do both encryption and steganography in one, and we also really liked the idea of using a framework such as Tauri to make a native application that works on all major desktop platforms. We also felt like using rust would be a fun challenge and be something unique to our project.

What it does

Audicrypt can encrypt and hide date inside of audio files, and decrypt and show the plaintext messages afterwards.

How we built it

Audicrypt is built on Tauri, a framework for building cross-platform applications with a web front end. We used a mixture of languages for both front-end and back-end; Rust, JavaScript, HTML, and CSS. We also used Python to encrypt and obfuscate the data. We used the symmetric-key method (Fernet) from the cryptography library for the encryption and decryption, which uses a combination of AES and other methods to result in the final output when encrypting. We then use the LSB method to hide the data inside the audio.

Challenges we ran into

While the project works perfectly in our development environment, we are unable to run our python script when the app is built for the native operating systems. Tauri is a relatively new framework, so while the documentation was helpful, it lacks examples for certain use-cases, one of which being embedding external python binaries into the app.

Accomplishments that we're proud of

We both became somewhat familiar with both rust and Tauri with this project. This was also our first hackathon, and our first time building a cross-platform application, so we are happy with the outcome considering that and the time constraint. We were able to incorporate both encryption and steganography, making what we feel is a great first project in the cybersecurity realm.

What we learned

The whole project was a learning experience, with both rust and Tauri being completely new to us. We used python libraries that we were not familiar with including pydub and cryptography.

What's next for Audicrypt

We would like to be able to send and receive the encrypted files over the local network. We also want to have a more robust method for both encryption and obfuscation, using asymmetric encryption instead of symmetric.

Share this project:

Updates