GithubHelp home page GithubHelp logo

dicepass's Introduction

NAME

dicepass - generate strong, pronouncable, rememberable passwords

SYNOPSIS

dicepass

DESCRIPTION

dicepass generates strong passwords you can remember by stringing together dictionary words. It balances security with convenience to ensure you, the user, will use good passwords.

Simply run the program from a command line and it will give you a pretty good password. Don't like it? Run it again.

Some example passwords generated by dicepass:

laceless.ours.magneoptic
against.Cogswellia.mila
sobering.rukh.bromomania
gundy.consonance.tonetic

FAQ

Development

I want to help!

Great! We're on Github. Send us an issue and consider making a contribution.

I have an idea to make dicepass even better!

Great! Tell us about it!

I want to help, but I don't know how to use Git.

That's ok, you can edit this file in your browser and Github will take care of the rest.

I found a bug!

Great! Well... not great... but tell us about it!

I'm not sure it's a bug...

Tell us about it anyway!

Don't wait until you have a solution, don't worry if you don't have all the information, tell us as soon as you have the problem. Any problem, concern, improvement, feature, annoyance, typo... we want to hear from you. Really! Nothing can be improved unless we know about it.

Security

Aren't dictionary words insecure?

Yes, if your password is just a dictionary word. Even with easy to guess replacements (the letter o to 0, for example) they can be easily brute forced. The standard OS X dictionary of 200,000 words means only 200,000 passwords need to be checked, multipled by each common letter replacement trick. Nothing for modern computers.

But with each word added, the problem becomes exponentially harder to brute force. Picking three words at random from a 200,000 word dictionary leads to 8,000,000,000,000,000 possibilities which is pretty good.

Why use this instead of a random string?

A bunch of random characters is effectively impossible to crack, but security is not just about numbers. The biggest security hole is you the human.

A good security system must be both secure and convenient. If it is not convenient, the users will simply circumvent it. If your passwords are all impossible difficult to remember gobblty gook you will use weaker passwords, or start reusing passwords.

Why use this instead of a browser based app?

Short version, you could be giving your password to an attacker.

Passwords are typically not directly stored, even encrypted. It is "hashed", converted to a bunch of apparently random characters but in such a way that only your password will produce that same bunch of characters and the process cannot be reversed. This is also known as a "checksum".

This is why a well run organization cannot tell you what your password was if you forget it, they actually do not know. When you log in, the password you enter is hashed and compared against the hash in their database. If they match, they know you entered the right password without knowing what your password is.

Attackers pass around huge lists of common passwords and common variations. First, they will steal the hashed password file from an organization. Then they will try everything on their list and see what matches. If your password gets on that list, it doesn't matter how clever or random it is, it doesn't matter if they don't know your username, it is compromised.

A clever attacker would set up a web site to generate strong passwords for users. Every password they hand out would go straight onto their list, your password would be pre-compromised. Even if the site is setup with the best of intentions, your connection to that site may be insecure, or the site may have been quietly compromised, or your browser could be compromised.

It's a simple risk to avoid.

The NSA has computers that can hack a million Gibsons!

Yes, with enough time and money you can brute force this system in a not unreasonable amount of time. Quite honestly, you're not likely worth the effort. If you are worth the effort, you shouldn't be picking your passwords using a program you downloaded off the internet.

In addition, if a security organization wants to access your accounts, having a stronger password is unlikely to save you. There are a hundred faster and cheaper ways to crack your account than brute forcing your password.

COPYRIGHT AND LICNESE

Copyright 2012 by Michael G Schwern [email protected].

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See http://dev.perl.org/licenses/

dicepass's People

Contributors

schwern avatar yozlet avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.