Inspiration
Most people have no idea how exposed their digital credentials really are. I wanted to build a tool that gives instant, honest feedback on password strength and email risk without sending your data anywhere.
What it does
DIFA analyzes passwords and emails entirely on-device using a multi-dimensional security scoring engine. It measures Shannon entropy, pattern vulnerability, length adequacy, complexity, and breach indicators, giving you a 0–100 score, a letter grade, and estimated crack times across four attack scenarios.
How I built it
Built with Kotlin and Jetpack Compose using MVVM architecture. The scoring engine implements Shannon's entropy formula directly, cross-references NIST SP 800-63B length thresholds, and applies a CVSS-inspired penalty multiplier for critical vulnerabilities. Zero External API or Database needed.
Challenges I ran into
Designing a scoring system that felt accurate and not gameable was harder than expected. A long password with a keyboard walks pattern shouldn't score well just because of its length, so I had to implement multiplicative penalties that correctly punish critical weaknesses regardless of other dimension scores.
Accomplishments that we're proud of
Building a genuinely sophisticated security engine with no API dependencies. The crack time estimator, l33t speak decoder, and five-dimensional weighted scoring all run locally in milliseconds.
What I learned
How deep password security theory goes, from information entropy bits to empirical breach dataset statistics. NIST 800-63B is surprisingly nuanced and contradicts a lot of common password advice.
What's next for DIFA
Real-time breach database updates via delta syncing, Markov chain analysis for natural language passwords, 2FA status as a scored dimension, and localized pattern databases for non-English users.
Built With
- android
- android-studio
- kotlin
Log in or sign up for Devpost to join the conversation.