Smart Contract security
Health policy compliance using blockchain smart contracts
Classification of Consensus Mechanisms for MPI and HPC
A novel classification of common consensus mechanisms based on common factors such as the network model, failure types, and based on use cases (e.g., fault detection, synchronization) of the consensus in the computation process, including crash fault tolerance as one category.
My dissertation presents a methodology that provides a roadmap to guide developers during the design phase of consensus algorithms that considers the liveness, safety, and byzantine tolerance assumptions that render consensus algorithms more secure and robust. It is also used to evaluate existing leader-based byzantine consensus algorithms for their key behavior/properties, and hence their suitability for particular purposes or use cases.
GRA 2017- 2021 University of Tennessee at Chattanooga
System security and reliability, and design system simulation
Developed an innovative technique that combines various factors that achieve the overall ability to test and improve the quality of a given consensus algorithm for a blockchain. This work included developing a time-advancing algorithm to simulate a lightweight mining consensus algorithm behavior in the presence of one or more malicious miners. I examined how trust is achieved in a decentralized (distributed) data structure including the availability, and reliability of the systems by studying malicious miner delays and slowdown, as well as byzantine fault tolerance. The methodology addressed integrity, non-repudiation, and availability using Communicating Sequential Processes, Stochastic Petri Nets, and a Queuing Theory Model.
Trust-building/distribution framework
As a team, we applied blockchain technology to establish trust and ensure the safety and validity of the information exchanged between vehicles in the system. I designed the behavioral model and scenarios to simulate the system to assess tradeoffs between mining time, the number of blocks being generated, and the effect of the vehicle speed on the number of generated blocks.
High-Performance CUDA AES Implementation
Applied several techniques to achieve high-performance encryption for the AES-128, AES192, and AES-256 encryption algorithms. In this work, I applied techniques to optimize memory usage and increase encryption algorithm speed and efficiency. Achieved memory usage optimization and synchronization by storing the lookup tables in the shared memory in the GPU, respectively. The encryption algorithm speed and efficiency increased by pre-computing the encryption keys in the CPU, copying the keys array to the global GPU memory GPU, and running the algorithm to optimize the best number of threads per block to achieve maximum efficiency.
GRA 2017 Auburn University
Websites testing tool
Developed an enhanced web-based tool with our team to test any list of website’s susceptibility to various types of breaches (such as Poodle 1 and 2, Drown, Heartbleed, and others). The vulnerabilities for each root website and its active subdomains are recorded for further analysis. This tool also allows the user to save the collected data (such as IP addresses, all opened, filtered, and closed ports and subdomains) in its database for reference and further analysis. This work was developed in collaboration with Clemson University.
Car Jamming detection
Studied jamming signal behavior with regard to regular transmission signal to detect signal jamming. Our approach was based on reading the received signal strength to understand the behavior of the jamming signal with regards to the regular transmission signal strength. My collaborators and I designed and built the transmitter and receiver units to simulate both the regular transmission communication and the jamming behavior. We collected and analyzed data with and without jamming over different distances to determine signal behavior to detect the presence of jamming.