Hiya! My name’s Jun and I’m excited to share what my science fair partner (Evan Richards) and I have been working on. For the past few weeks, we have been working on developing an algorithm which will utilize a symmetric encryption, in order to secure information which will be sent from the breathalyzer to a user’s phone. We realized that it would be a great idea to turn in all of our research as a science fair project!
First, we kicked off our project by doing research on popular encryption methods. From our studies, we found that Blowfish utilizes a key which can be from 32 to 448 bits long, while AES uses keys of lengths of 128, 192, or 256 bits. For the purpose of the experiment, we decided to use the shortest key size possible for each method (8B for Blowfish, 128B for AES). We also decided to use Python because the language supports libraries such as PyCrypto and Socket. PyCrypto comes with pre-built functions which can help facilitate the process of encrypting and decrypting messages using Blowfish and AES, while Socket enables network socket communication between computers. As Blowfish has a significantly smaller key size, we hypothesized that using Blowfish will allow for faster encryption, decryption, and transmission times.
Next, we began our testing. Together, we developed computer programs which encrypted a number, sent it to a Raspberry Pi 3, and waited for a response back from the machine. The speed at which a number was encrypted, decrypted, and transmitted between two different computers, was recorded into different text files. After a thousand trials, we had finally finished our experiment!
Finally, my team and I analyzed the data we collected and concluded that Blowfish was faster in terms of transmission and encryption time, being faster than AES by 0.00004099941 ms (or about 20.098% faster than that of AES’s average) in terms of encryption speed, and 0.01364900041 ms (or about 32.463% greater than that of AES’s average) in transmission time. On the other hand, using the AES method to decrypt a message was faster than Blowfish by 0.00026415467 ms (or about 68.409% faster than that of Blowfish’s average time). Armed with these exciting new conclusions, Evan and I, plan on finishing our development on the encryption and data transmission algorithm, which will connect the breathalyzer in our invention to users’ phones.