This repository contains my completed machine projects (MPs) for CS 463 / ECE 424: Computer Security II at the University of Illinois Urbana-Champaign. The course focuses on practical cybersecurity topics including data privacy, blockchain analysis, malware detection, and password security.
Each project involves hands-on coding assignments using Python or Java, with an emphasis on real-world applications and secure system design.
Use social network structures to infer private home locations. Implemented naive and improved inference algorithms based on friend data and shared locations.
Develop the server-side implementation of a PSI protocol using homomorphic encryption (Paillier). Enables two parties to find common data without revealing their full datasets.
Analyze Bitcoin transactions using real blockchain data. Cluster addresses based on shared control, generate a user transaction graph, and explore network-level insights.
Classify Android APKs as benign or malicious using static analysis and machine learning. Train an SVM, perform feature selection, and create adversarial samples to bypass detection.
Model password reuse behavior by identifying transformation patterns (e.g., leetspeak, substring edits). Use Naive Bayes classification and rule-based sequential guessing to simulate real-world password attacks.
- Python 3.8+
- Java 8
- scikit-learn, apktool, blockchain.info API
- Homomorphic encryption, SVMs, Naive Bayes
These projects were completed as part of a university course and reflect academic work. All solutions are my own and intended for educational use only.