Projects
This page contains descriptions of 5 interesting projects I have built over the last few years. Projects contain a link to my GitHub repository. The repos contain source code, full written reports of experimental results, and instructions on how to run all the code. [GitHub]
​Towards More Efficient and Practical Oblivious Computation
2022
This project uses novel techniques to improve four state-of-the-art oblivious RAM (ORAM) constructions. Improvements include restructuring key architecture elements for multithreading. ORAMs improved include: [TreeORAM], [PathORAM], [RingORAM], and [CircuitORAM].
​

Oblivious Computing FAQS
1. What is ORAM (Oblivious RAM)?
​
ORAM algorithms hide memory access patterns from the operating system when programs are executed and data is accessed.
​
2. What is an ODS (Oblivious Data Structure)?
​
ODSs are data structures that hide the operands, operants, and memory access patterns from the operating system when programs are executed and data is accessed.
​
3. Why is oblivious computing important?
​
Researchers are constantly finding new ways to attack and infiltrate computer systems. Recently, researchers reported they could accurately infer ~80% of the search queries over an encrypted email repository by observing memory access patterns and knowing a small amount of metadata. Encrypting sensitive data is not enough to protect it. We must also hide memory access patterns using oblivious computing constructions.
​
4. Why now?
​
The field of oblivious computing is only 35 years old (started in the late 1980s). The first efficient ORAM construction (TreeORAM) was created in 2011. Since this breakthrough, various papers have innovated new variations of tree-based ORAMs optimized for different workloads.
Cryptographically Secure Messaging Interface
2021
Built a secure messaging app using standard cryptographic tools. Messages are hashed, digitally signed, and encrypted using SHA3 512, the NIST P-521 Elliptic Curve, and Simon Block Cipher. Message payloads include future key material (Key Racheting). Messages are stored in an AWS S3 bucket.
​

Building Chord
2021
Implemented a state-of-the-art computer network topography in C++. Chord is a highly scaleable peer-to-peer distributed hash table that uses consistent hashing for improved performance. Created by researchers at MIT.

Analysis of Twitter's Trending Topics
2020
Data analytics project on the Twitter Trending dataset. Results show that the platform prioritizes pop culture over critical news for trending topics. Built in Python using Google Facets data visualization library.

Satellite Image Segmentation
2020
This project dives into the techniques used to classify and segment satellite images at great levels of detail. The research was used in a larger project to build procedurally generated virtual road infrastructure for testing autonomous vehicle algorithms.
Techniques covered include: classification via color distribution of pixels, Canny Edge Detection optimized via Otsu's Method and a zero parameter method, and K Means Clustering optimized via the Elbow Method and a Silhouette Score.
​
