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

+ 1 more
Share this project:

Updates

Submission history