DisPass / dispass.1

.TH "DISPASS" "1" "November 24, 2012" "0.1" "DisPass"
.SH NAME
dispass \- DisPass Documentation
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.\" Man page generated from reStructuredText.
.
.SH SYNOPSIS
.SS dispass
.sp
dispass [\-ghoV?] [\-f <labelfile>] [\-s <string>] [\-\-script]
.sp
dispass [\-co] [\-l <length>] [\-a <algo>] [\-n <sequence\-number>] [\-\-script] <label> [<label2>] [label3]  [...]
.sp
gdispass
.SS dispass\-label
.sp
dispass\-label [\-hlV] [\-f <labelfile>] [\-\-script]
.SH SUMMARY
.sp
DisPass is a passphrase generator for GNU/Linux, *BSD, MacOS X and Windows.
It enables you to generate unique passphrases formed from a master password
and a label, helping you get rid of the bad habit of using a single password
for multiple websites. When using a different passphrase for every website,
the chance of abuse of your password on other sites (when a website leaks it)
is eliminated.
Dispass is a console application, but also has a simple graphical interface.
.SH DOCUMENTATION
.INDENT 0.0
.TP
.B label
A label is a string that you use to identify the passphrase.
This can be a domainname of the service the passphrase is used for,
e.g. \(aqgoogle.com\(aq.
.UNINDENT
.sp
Since this program asks for a password/passphrase to generate another
password/passphrase, things may get a bit confusing. I\(aqve dediced to use the
words \(aqpassword\(aq and \(aqpassphrase\(aq diffently and consistent.
.INDENT 0.0
.TP
.B password
Use of the word \(aqpassword\(aq is dedicated to the input password, i.e. the
password you are asked to enter and only you know. Whenever you read
password, this is the one I mean. The password needs to be at least 8
characters long and does not have a maximum length.
.TP
.B passphrase
With \(aqpassphrase\(aq I always mean the output passphrase, i.e. the passphrase
that is unique and generated from a label, password and sequence number.
Generated passphrases are 30 characters long. The length can be optionally
changed.
.UNINDENT
.sp
When DisPass is executed as \(aqgdispass\(aq or \(aqdispass \-g\(aq,
the graphical version will be started.
.SS Using dispass to create one or more passphrases
.sp
You can start using dispass for e.g. google.com like this:
.sp
.nf
.ft C
$ dispass google.com
.ft P
.fi
.sp
The passphrases created are 30 characters long by default, but some
website\(aqs may not validate such a long passphrase or you might want to
make it even longer. You can easily set a desired passphrase length
using the \fB\-l\fP flag. Hotmail passwords are limited to 16 characters:
.sp
.nf
.ft C
$ dispass \-l 18 hotmail
.ft P
.fi
.sp
Generating passphrases for multiple labels is just as easy:
.sp
.nf
.ft C
$ dispass google hotmail YaHo0 "P0551bly*a81t)H4rd2rmbr"
.ft P
.fi
.sp
Labels are case\-sensitive and digits and special characters can be used.
You should try to name labels in a way that you can easily \(aqdispass\(aq a
passphrase on any computer/device that has DisPass at any given moment.
You are encouraged to store your labels in a labelfile for convenience
though.
.SS Labelfile location
.sp
When dispass is run without arguments it will try to find a labelfile.
The location of this file varies and depends on the platform type you use,
the file flag and the environment variables that may be set:
.sp
You can override the location of the labelfile using the \fB\-f\fP flag.
This can be a way for you to use different sets of labels/passphrases
with a different \(aqmaster\(aq password for each set.
.INDENT 0.0
.IP 1. 3
If \-f flag is given, that value is used.
.IP 2. 3
If environment var DISPASS_LABELFILE is set, that value is used.
.IP 3. 3
If environment var XDG_DATA_HOME is set,
\fB$XDG_DATA_HOME/dispass/labels\fP is used.
.IP 4. 3
If none of the above applies, the labelfile will default to the following
locations:
.INDENT 3.0
.IP \(bu 2
\fBGNU/Linux and Mac OS X\fP: \fB~/.dispass/labels\fP
.IP \(bu 2
\fB*BSD and other Unixen\fP: \fB~/.dispass/labels\fP
.IP \(bu 2
\fBWindows\fP:   \fBC:\eUsers\e<username>\edispass\elabels\fP
.UNINDENT
.UNINDENT
.sp
You can edit the labelfile(s) by using the \fBdispass\-label\fP program.
.SS Creating and searching stored labels
.sp
When creating a new label/password combination you can store the label
and it\(aqs arguments by using the \fB\-c\fP flag, this will ask for your
password twice so you can be asured to avoid typing errors:
.sp
.nf
.ft C
$ dispass \-c \-l 16 hotmail.com
.ft P
.fi
.sp
Now you will be asked to enter a password twice and after that your
passphrase will be shown on the screen. It can be re\-created everytime you
need it by searching for a label using the \fB\-s\fP flag:
.sp
.nf
.ft C
$ dispass \-s hotm
.ft P
.fi
.sp
Only part of the label is needed, as long as the (sub)string is unique.
.SH OPTIONS
.SS dispass
.sp
Options (general):
.INDENT 0.0
.TP
.B \-c,  \-\-create
use if this passphrase is new (check input PW)
.TP
.B \-g,  \-\-gui
start guided graphical version of DisPass
.TP
.B \-h,  \-\-help
show this help and exit
.TP
.B \-o,  \-\-output
output passphrases to stdout
(instead of the more secure way of displaying via curses)
.TP
.B \-V,  \-\-version
show full version information and exit
.TP
.B \-\-script
optimize input/output for \(aqwrapping\(aq dispass
.UNINDENT
.sp
Options (when using labelfile):
.INDENT 0.0
.TP
.BI \-s \ <string>, \ \-\-search\fB= <string>
dispass label from file that uniquely
matches <string>
.TP
.BI \-f \ <labelfile>, \ \-\-file\fB= <labelfile>
set location of labelfile
.UNINDENT
.sp
Options (when passing labels as arguments):
.INDENT 0.0
.TP
.BI \-l \ <length>, \ \-\-length\fB= <length>
set length of passphrase
(default: 30, max: 171)
.TP
.BI \-a \ <algorithm>, \ \-\-algo\fB= <algorithm>
override algorithm for generating
passphrase(s)
.TP
.BI \-n \ <number>, \ \-\-number\fB= <number>
override sequence number (default = 1)
.UNINDENT
.SS dispass\-label
.INDENT 0.0
.TP
.B \-h,  \-\-help
show help and exit
.TP
.B \-l,  \-\-list
print all labels and options found in
labelfile
.TP
.B \-V,  \-\-version
show full version information and exit
.TP
.BI \-f \ <labelfile>, \ \-\-file\fB= <labelfile>
set location of labelfile
.TP
.B \-\-script
optimize input/output for \(aqwrapping\(aq
dispass\-label
.UNINDENT
.SH USING THE GRAPHICAL GDISPASS APPLICATION
.sp
You can start using gDisPass by running the \fBgdispass\fP executable.
Fill in a name for the label that you can easily remember.
.sp
To generate a passphrase for a new label, i.e. a label that you have never
used before, check the appropiate checkbox. This will allow you to enter the
(master) password twice. gDisPass will then compare the passwords to see if
they are the same. This is needed to minimize the risk of typos. It is advised
that you check the box everytime you create a passphrase for a new label.
.sp
Subsequential generation of passphrases for the same label most probably do
not need this check. You will likely be warned when/if you made a typo by
the system or website you want to authenticate for.
.sp
If you correctly entered a label and password, you can generate the passphrase
by pressing <Return> or by clicking the appropiate button. The resulting
passphrase will be focused and selected. On platforms that support it
(e.g. *BSD or GNU/Linux) the passphrase will be automatically placed into
your copy/paste buffer.
.sp
Resetting all fields when you are done or when you need to quickly cancel the
generation (because someone is watching over your shoulders) can be done by
pressing <Escape> or by clicking the appropiate button.
.SH WRAPPING / SCRIPTING DISPASS
.sp
You can use dispass entirely as you wish and create different interfaces
by using the appropiate libraries as long as it is allowed by the ISC license.
.sp
Dispass provides a way to make the behaviour and IO more suitable for
scripting by passing the \fB\-\-script\fP option.
.SS dispass
.sp
If the \fB\-\-script\fP flag is passed together with \fB\-o\fP or \fB\-\-output\fP
the output will be optimized for easy parsing by other programs
and scripts by always printing one entry on a single line using
the following positions:
.sp
.nf
.ft C
Column  1\-50 : label
.ft P
.fi
.SS dispass\-label
.sp
If the \fB\-\-script\fP flag is passed together with \fB\-l\fP or \fB\-\-list\fP
the output will be optimized for easy parsing by other programs
and scripts by not printing the header and always printing one
entry on a single line using the following positions:
.sp
.nf
.ft C
Column  1\-50: label           (50 chars wide)
Column 52\-54: length           (3 chars wide)
Column 56\-70: hash algo       (15 chars wide)
Column 72\-74: sequence number  (3 chars wide)
.ft P
.fi
.sp
Otherwise an ascii table is printed with a variable width depending
on the length of the longest label. The table has a header but does
not display the hash algo until support for multiple hashing algos
is added.
.SH ACKNOWLEDGEMENTS
.sp
Many thanks go out to Tom (ryuslash) Willemsen for valuable contributions to
gdispass and the new algorithm. He also wrote an awesome wrapper for Emacs so
you can use DisPass in your favorite editor.
.SH SEE ALSO
.INDENT 0.0
.TP
.B Main website with full documentation
\fI\%http://dispass.babab.nl\fP
.TP
.B The cheeseshop (PyPI) project page
\fI\%http://pypi.python.org/pypi/DisPass/\fP
.TP
.B Github repository and Issue tracker
\fI\%https://github.com/babab/DisPass/\fP
.TP
.B IRC
#dispass at Freenode (chat.freenode.net)
.TP
.B Emacs wrapper
\fI\%http://ryuslash.org/projects/dispass.el/\fP
.UNINDENT
.SH AUTHOR
Benjamin Althues
.SH COPYRIGHT
2011-2012, Benjamin Althues
.\" Generated by docutils manpage writer.
.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.