As we move further towards the official senior project presentation, the project seems to go on an excellent pace so far.
Starting the demo application, I am working with many components at once, including Wireless Networking, Cryptography, Abstraction, and Cross-Platform Optimization. All these concepts need to work seamlessly in tandem, and I hope to stabilize the program by end of the senior project.
This week, I spent lots of time figuring out the logistical part of the demo application. Although cryptography is the core of the project, we need a medium to actually transport the encrypted ciphers from one computer to the other. Researching online and speaking with my advisors, I realized that there is two types of techniques I can use. The first one, being wireless communication such as setting up a Wi-Fi mock ad-hoc network from one computer and connecting the other one with that, using Bluetooth, or touching Android smartphones together with NFC. On the other hand, we can also use wired connections such as connecting a USB or Ethernet cable to both computers to easily transfer data.
The most optimal way to setup the demo application would be to have the JAVA app automatically make the ad-hoc network and then have a way for only the peer computers to be able to connect. It will be the most versatile and port-free method, as it can be done within a very long range and is a fairly standard technology. I will be spending time trying to implement this in my application, as well as having a way for the second computer to securely connect. This is different from connecting all computers to one router, as we want decentralization from all areas, including a local Intranet setup with a router as middleman.
There’s lots of progress so far, many things left to accomplish, and loads of new discoveries to be made!