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 © 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> | <a 8href="../../../toc.md">Table Of Contents</a> | <a 9href="../../../../index.md">Keyword Index</a> | <a 10href="../../../../toc0.md">Categories</a> | <a 11href="../../../../toc1.md">Modules</a> | <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 © 2006, Pat Thoyts <patthoyts@users\.sourceforge\.net> 138