Developing a Steganographic Wallet for Cryptocurrencies (available)

Starting Date: Summer 2021
Duration: 12 weeks
Time commitment: 25 hours a week
Prerequisites: You should feel confident with a programming language, preferably Javascript. You should also be willing to learn new concepts and techniques such as Image Steganography

Steganography is a well-known mechanism that has been used for centuries (with different levels of sophistication) to avoid censorship and enable secret communications. Cryptocurrency wallets are normally protected by different levels of encryption and can even be stored into hardware wallets with different levels of security. Carrying one of this wallets can be problematic in certain scenarios such as crossing borders, avoiding duress, escaping authoritarian governments, banning of cryptocurrencies, etc. Being able to hide wallets into images (or other objects) would allow cryptocurrency owners to hide the mere existence of their wallets avoiding some of these scenarios.  

The purpose of our project is to hide the existence of a cryptowallet by using steganography on images. There have been a few attempts at this but they have been mostly amateurish and recreational. James Stanley created a tool to encode Bitcoin wallet seeds and generate sentences to hide their content [1]. There have also been some attempts at hiding this information into fractals and similar structures [2]. Of course, users could use standard steganographic tools on their own and hide wallets into images. However, there are a certain set of requirements that would need to be fulfilled by the image selected as cover and not all steganographic algorithms offer the same levels of security.

The goal of this project is to develop a simple html-based application that is capable of hiding a wallet into an image. The application will make use of javascript so all actions can be executed on the browser or client. The project will require the student to develop the application in such a way that it can be deployed as a static website but also integrated into a smartphone application by using frameworks such as React Native. There are some examples of steganographic algorithms already implemented on Javascript. This project should explore these algorithms and improve them to provide a framework that can work on as many browsers as possible.

[1] Steganographic Bitcoin seeds: Hiding cash in plain sight, James Stanley.  Accessed on Feb. 2021.

[2] Hiding Bitcoins in Steganographic Fractals, Osama Hosan, 2018 IEEE International Symposium on Signal Processing and Information Technology (ISSPIT).