GithubHelp home page GithubHelp logo

ykankaya / abbrase Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rmmh/abbrase

0.0 1.0 0.0 13.4 MB

password generation based on abbreviating phrases made with markov chains

License: Other

Makefile 4.26% C 37.64% JavaScript 16.43% Python 34.76% HTML 6.90%

abbrase's Introduction

#Abbrase#

Abbrase is an abbreviated passphrase generator. An abbrase is one of the passwords it produces. It generates a password and a phrase like "phyeigdolrejutt" and "physical eight dollars rejected utterly".

Try the web version.

Creating secure passwords is easy. Remembering them is hard. Pwgen makes them memorable though prounouncability. XKCD suggests using a series of random common words, but memorizing series of unrelated words can be difficult, and typing long phrases can be tedious.

Abbrase is an experiment in generating probable phrases using markov chains, and abbreviating each word to the first few letters. This strikes a balance between excessive password length and excessive mnemonic length. Passwords generated by Abbrase are as secure as a number with the same length. "122079103" and "toldulbal" (tolerably dull ball) are equally hard to attack.

The wordlist and bigram graph are generated with data from Google NGrams dataset, used under the Creative Commons Attribution 3.0 Unported License.

##Theory##

Language is the most information-dense thing people memorize. Brains don't operate on bits.

Pi recitation record-holders don't have thousands of digits in their minds. They map clusters of digits to far more mentally palatable words, memorizing a long story instead of a sequence of digits.

Memorizing a grammatically-sensible sentence fragment is easier than a sequence of randomly chosen words.

Picking a favorite phrase from the ones generated by Abbrase could make them very slightly easier to attack. A sophisticated attacker could check passwords that are likely to be picked before others. If the attacker can perfectly model which passwords you would prefer, this reduces the security of your password in a proportioanl amount to the number of passwords you selected it from -- if you picked from 32 passwords generated by abbrase, it makes your password 32x easier to attack (5 bits of security lost).

##Building##

git clone https://github.com/rmmh/abbrase.git
cd abbrase
make
./abbrase

The abbrase executable can optionally be supplied with length (a number), count (a number), and hook (a word).

##FAQ##

Q: Isn't using a phrase more secure than abbreviating it?

A: Not at all for phrases Abbrase generates. Displayed phrases are generated deterministically from the password, so they have no added security. Otherwise yes, 4 words have more security than 4 abbreviated words, but they're less convenient to type, and the added characters aren't as valuable as the first few characters.

##Sample output##

(don't actually use any of these passwords!)

Generating 32 passwords with 50 bits of entropy
Password           Phrase
---------------    --------------------
fibpsygotetemol    fibres psychology got eternal molecules
crohismacwrosiz    cross his machine wrong size
haswrigooalsarm    has written good also army
livfoctelduerow    living focus telescope due row
achtexmeaimiela    achieved text means imitation elaborate
poiatmengdocpea    point atmospheric engine doctor pearson
phosinwayladpha    photographs since way laden phagocytes
henraptopsawgif    henry rapidly top saw gifford
sednaravameaago    sed narrative available means agony
roomecgammedgoo    room mechanical game medical good
iniglouncmomkey    initial gloomy uncomfortable moment key
taswirhalpetgue    task wire hall peter guessed
nutdauliemesaba    nutrition daughter lie messenians abandoned
vanashairnumedi    van ashamed air number edited
groiniyarcampec    group initial yards came peculiarly
putmetvilburbor    put methodist village burnt borax
iniporadaneradh    initial portion adapted nerves adhere
liqpriproreapeo    liquid principle process reason people
nodnotmanpetedi    nodded not man peters edition
negfaslawelsbec    negative fashion law else because
nosyesroosoiask    nose yes room soissons asked
somextdiestumea    some extent die study means
vietumunrenapop    view tumultuous unrest enable popular
phyeigdolrejutt    physical eight dollars rejected utterly
somtoptexguibri    some top text guides bring
beyhabtoldulbal    beyond habit tolerably dull ball
timsirskyeldske    time sir sky elder sketch
bigownupoavolak    big own upon avon lake
phinowdirunalac    philosophy now direction unavoidable lack
darexppotegggat    dark experience potential eggs gathered
floalibadwhyour    flow alike bad why our
darmanfirpopnoi    dark man first popular noise

abbrase's People

Contributors

rmmh avatar

Watchers

 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.