A way to circumvent password complexity rules and restrictions while only needing to remember something memorable.
Cross Platform simple and secure password generator / manager that does not require a file/cloud/whatever archive.
- Open Source
- Works on Linux, Mac OS, Windows
- Just a single portable binary file
Passwords become complicated (one capital letter, one number, one punctuation mark, one emoji, etc.)...
- It's impossible to use and remember different passwords for all of your accounts?
- You often reuse the same passwords on various accounts?
- Yes! There are a lot of greats passwords managers tools
Using grasp
all you need to remember are:
your favorite words! anything that is easy for you to remember! (a poem? a song? a sequence of insults? )
brew tap lucasepe/grasp
brew install grasp
Here you can find grasp
already compiled for: MacOS, Linux and Windows.
grasp google.com pinco.pallo@gmail.com vercingetorige
>qhOzrL^*+IF
grasp linkedin.com pinco.pallo@gmail.com hope to find the job of my life!
y@xV4.w$|mIp
grasp -s L --no-symbols amazon.com leonida@sparta.com this is lambda!
sRZg5qOvK2GnDLJ9
Using these parameters grasp
will generate a password:
- unique, complex and safe
- that meets all validation standards (uppercase, lowercase, numbers and special characters)
Using grasp
does not stop you from managing your passwords using a secure 'wallet' and in fact this is encouraged.
What grasp
gives to you is:
- a simple way to generate good quality and safe passwords for websites and other services
- a secure mechanism to retrieve your passwords
- an easy system for managing your passwords
To recreate the same password for a given account you must make sure you don't forget the original words you used.
If you enter different words,
grasp
will produce a different password! (the order of the words and the difference between upper and lower case is also important)
The sequence of words you type after the command is used as salt (the first word) and secret (all remaining words) to generate a secret key using the Argon2 key derivation function.
The result of this encryption is used as key for a cryptographically secure pseudorandom number generator (CSPRNG).
Finally the password is composed picking characters, digits and symbols using the integers generated by this CSPRNG.
- all these calculations are done "on the fly" every time you request it
- this is why
grasp
does not need any archive
A huge thank you to:
Christopher Wellons for his hints about security and help in replacing the Mersenne Twister PRNG algorithm by a
cipher.Stream
CSPRNG with cryptographic AES.