calcpass

module
v0.0.0-...-df1f2e6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 15, 2018 License: GPL-3.0

README

Calcpass

Calculate your website passwords from a seed instead of storing them in a file or the cloud. Since passwords are calculated, there are no files to keep syncrhonized between your devices.

The seed lives out of reach from hackers on a printed card in your wallet or purse (which you are already good at protecting). Even if the card is lost or stolen it is useless without your "card lock" password which you keep in your head.

Passwords can be calculated from any computer with a JavaScript enabled web browser. No servers are involved in the actual calculation. No software installation is necessary. Your full seed does not enter computer memory in this mode.

For convenience, on computers and devices which you trust, you can install a browser plugin or app which stores your seed in encrypted form.

For even greater convenience and security, a small, low-power, device can be installed on your home network. This device will act as a secure element which stores your seed and calculates passwords. Because this is a single-function device it would be extremely difficult for hackers or malware to reach.

Directories

Path Synopsis
golang
calcpass/card
* Code for generating a printable wallet-sized card containing random password characters.
* Code for generating a printable wallet-sized card containing random password characters.
calcpass/parallel_bcrypt
*Run bcrypt password hash in parallel threads and combine the results.
*Run bcrypt password hash in parallel threads and combine the results.
calcpass/type2017a
The type 2017a password is calculated like so (pseudo-code): stretchedmaster = StretchMasterPassword(yourMasterPassword, yourEmailAddress) sitekey = MakeSiteKey(stretchedmaster, 'example.com', 0) //revision 0 cardCoordinate1, cardCoordinate2 = MakeSiteCoordinates(sitekey, 2) eightCharsFromCard = youGoLookup(cardCoordinate1, cardCoordinate2) finalSeed = StretchSiteCardMix(MixSiteAndCard(sitekey, eightCharsFromCard)) finalPassword = MakeFriendlyPassword12a(finalSeed) This construction achieves these goals: 1.
The type 2017a password is calculated like so (pseudo-code): stretchedmaster = StretchMasterPassword(yourMasterPassword, yourEmailAddress) sitekey = MakeSiteKey(stretchedmaster, 'example.com', 0) //revision 0 cardCoordinate1, cardCoordinate2 = MakeSiteCoordinates(sitekey, 2) eightCharsFromCard = youGoLookup(cardCoordinate1, cardCoordinate2) finalSeed = StretchSiteCardMix(MixSiteAndCard(sitekey, eightCharsFromCard)) finalPassword = MakeFriendlyPassword12a(finalSeed) This construction achieves these goals: 1.
calcpass/util
*Utility functions needed by calcpass.
*Utility functions needed by calcpass.
typescript

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL