1
2[//000000001]: # (otp \- RFC 2289 A One\-Time Password System)
3[//000000002]: # (Generated from file 'otp\.man' by tcllib/doctools with format 'markdown')
4[//000000003]: # (Copyright &copy; 2006, Pat Thoyts <patthoyts@users\.sourceforge\.net>)
5[//000000004]: # (otp\(n\) 1\.0\.0 tcllib "RFC 2289 A One\-Time Password System")
6
7<hr> [ <a href="../../../../toc.md">Main Table Of Contents</a> &#124; <a
8href="../../../toc.md">Table Of Contents</a> &#124; <a
9href="../../../../index.md">Keyword Index</a> &#124; <a
10href="../../../../toc0.md">Categories</a> &#124; <a
11href="../../../../toc1.md">Modules</a> &#124; <a
12href="../../../../toc2.md">Applications</a> ] <hr>
13
14# NAME
15
16otp \- One\-Time Passwords
17
18# <a name='toc'></a>Table Of Contents
19
20  - [Table Of Contents](#toc)
21
22  - [Synopsis](#synopsis)
23
24  - [Description](#section1)
25
26  - [COMMANDS](#section2)
27
28  - [EXAMPLES](#section3)
29
30  - [REFERENCES](#section4)
31
32  - [Bugs, Ideas, Feedback](#section5)
33
34  - [See Also](#seealso)
35
36  - [Keywords](#keywords)
37
38  - [Category](#category)
39
40  - [Copyright](#copyright)
41
42# <a name='synopsis'></a>SYNOPSIS
43
44package require Tcl 8\.2
45package require otp ?1\.0\.0?
46
47[__::otp::otp\-md4__ ?*\-hex*? ?*\-words*? *\-seed seed* *\-count count* *data*](#1)
48[__::otp::otp\-md5__ ?*\-hex*? ?*\-words*? *\-seed seed* *\-count count* *data*](#2)
49[__::otp::otp\-sha1__ ?*\-hex*? ?*\-words*? *\-seed seed* *\-count count* *data*](#3)
50[__::otp::otp\-rmd160__ ?*\-hex*? ?*\-words*? *\-seed seed* *\-count count* *data*](#4)
51
52# <a name='description'></a>DESCRIPTION
53
54This package is an implementation in Tcl of the One\-Time Password system as
55described in RFC 2289 \(1\)\. This system uses message\-digest algorithms to
56sequentially hash a passphrase to create single\-use passwords\. The resulting
57data is then provided to the user as either hexadecimal digits or encoded using
58a dictionary of 2048 words\. This system is used by OpenBSD for secure login and
59can be used as a SASL mechanism for authenticating users\.
60
61In this implementation we provide support for four algorithms that are included
62in the tcllib distribution: MD5 \(2\), MD4 \(3\), RIPE\-MD160 \(4\) and SHA\-1 \(5\)\.
63
64# <a name='section2'></a>COMMANDS
65
66  - <a name='1'></a>__::otp::otp\-md4__ ?*\-hex*? ?*\-words*? *\-seed seed* *\-count count* *data*
67
68  - <a name='2'></a>__::otp::otp\-md5__ ?*\-hex*? ?*\-words*? *\-seed seed* *\-count count* *data*
69
70  - <a name='3'></a>__::otp::otp\-sha1__ ?*\-hex*? ?*\-words*? *\-seed seed* *\-count count* *data*
71
72  - <a name='4'></a>__::otp::otp\-rmd160__ ?*\-hex*? ?*\-words*? *\-seed seed* *\-count count* *data*
73
74# <a name='section3'></a>EXAMPLES
75
76    % otp::otp-md5 -count 99 -seed host67821 "My Secret Pass Phrase"
77    (binary gibberish)
78    % otp::otp-md5 -words -count 99 -seed host67821 "My Secret Pass Phrase"
79    SOON ARAB BURG LIMB FILE WAD
80    % otp::otp-md5 -hex -count 99 -seed host67821 "My Secret Pass Phrase"
81    e249b58257c80087
82
83# <a name='section4'></a>REFERENCES
84
85  1. Haller, N\. et al\., "A One\-Time Password System", RFC 2289, February 1998\.
86     [http://www\.rfc\-editor\.org/rfc/rfc2289\.txt](http://www\.rfc\-editor\.org/rfc/rfc2289\.txt)
87
88  1. Rivest, R\., "The MD5 Message\-Digest Algorithm", RFC 1321, MIT and RSA Data
89     Security, Inc, April 1992\.
90     \([http://www\.rfc\-editor\.org/rfc/rfc1321\.txt](http://www\.rfc\-editor\.org/rfc/rfc1321\.txt)\)
91
92  1. Rivest, R\., "The MD4 Message Digest Algorithm", RFC 1320, MIT, April 1992\.
93     \([http://www\.rfc\-editor\.org/rfc/rfc1320\.txt](http://www\.rfc\-editor\.org/rfc/rfc1320\.txt)\)
94
95  1. H\. Dobbertin, A\. Bosselaers, B\. Preneel, "RIPEMD\-160, a strengthened
96     version of RIPEMD"
97     [http://www\.esat\.kuleuven\.ac\.be/~cosicart/pdf/AB\-9601/AB\-9601\.pdf](http://www\.esat\.kuleuven\.ac\.be/~cosicart/pdf/AB\-9601/AB\-9601\.pdf)
98
99  1. "Secure Hash Standard", National Institute of Standards and Technology,
100     U\.S\. Department Of Commerce, April 1995\.
101     \([http://www\.itl\.nist\.gov/fipspubs/fip180\-1\.htm](http://www\.itl\.nist\.gov/fipspubs/fip180\-1\.htm)\)
102
103# <a name='section5'></a>Bugs, Ideas, Feedback
104
105This document, and the package it describes, will undoubtedly contain bugs and
106other problems\. Please report such in the category *otp* of the [Tcllib
107Trackers](http://core\.tcl\.tk/tcllib/reportlist)\. Please also report any ideas
108for enhancements you may have for either package and/or documentation\.
109
110When proposing code changes, please provide *unified diffs*, i\.e the output of
111__diff \-u__\.
112
113Note further that *attachments* are strongly preferred over inlined patches\.
114Attachments can be made by going to the __Edit__ form of the ticket
115immediately after its creation, and then using the left\-most button in the
116secondary navigation bar\.
117
118# <a name='seealso'></a>SEE ALSO
119
120[SASL](\.\./sasl/sasl\.md), [md4](\.\./md4/md4\.md), [md5](\.\./md5/md5\.md),
121[ripemd160](\.\./ripemd/ripemd160\.md), [sha1](\.\./sha1/sha1\.md)
122
123# <a name='keywords'></a>KEYWORDS
124
125[hashing](\.\./\.\./\.\./\.\./index\.md\#hashing),
126[message\-digest](\.\./\.\./\.\./\.\./index\.md\#message\_digest),
127[password](\.\./\.\./\.\./\.\./index\.md\#password), [rfc
1282289](\.\./\.\./\.\./\.\./index\.md\#rfc\_2289),
129[security](\.\./\.\./\.\./\.\./index\.md\#security)
130
131# <a name='category'></a>CATEGORY
132
133Hashes, checksums, and encryption
134
135# <a name='copyright'></a>COPYRIGHT
136
137Copyright &copy; 2006, Pat Thoyts <patthoyts@users\.sourceforge\.net>
138