DONKEY(1)

πŸ’– DONKEY(1) πŸ’–

okay bestie, gather round, we're talking about donkey today and honestly? it's giving ✨old-school crypto royalty✨. this is the manual page for the donkey and key commands, and you're gonna understand every single word of it. no cap. 🫢


✨ NAME ✨

donkey β€” the alternative for S/KEY's key command. that's it, that's the name, iconic behavior πŸ’…


🌸 SYNOPSIS 🌸

donkey [options] sequence seed
donkey -i

key [option] sequence seed
key -i

so like, you either give it sequence and seed, or you hit it with -i and it takes you on a little journey. the key versions are literally the same thing, just the original's name. both slay πŸ’–


πŸ¦‹ DESCRIPTION πŸ¦‹

this manual page documents, briefly, the donkey and key commands. it was written for the Debian GNU/Linux distribution because the original program does not have a manual page β€” it just has documentation sitting in /usr/share/doc/donkey. so yeah, we wrote one. you're welcome πŸŽ€

donkey is an alternative for S/KEY's "key" command. and the new feature that the original key does not have? it prints an entry for skeykeys, like this:

kazu 0099 al02004          115d83956f1089b6  Apr 26,1995 22:13:27

which means donkey is also an alternative for "keyinit". and here's the part that's lowkey genius: since that entry gets printed to stdout (and not to /etc/skeykeys), you can just... send it to a remote operator by e-mail, with a PGP signature or something. so it's literally possible to initiate S/KEY without logging onto the console of the host. main character energy fr fr πŸ‘‘


πŸ’… OPTIONS πŸ’…

here's the summary of options, bestie:

  • -n num β€” specify the number of keys to be calculated.
  • -f func β€” choose a hash function, and it's one of MD4 or MD5.

that's the whole list. short, sweet, powerful. periodt ✨


🌈 EXAMPLES 🌈

(1) Calculate an One-Time-Password 🌸

execute Donkey with a sequence number and a seed, then input your passphrase:

% donkey 80 is12345
Enter passphrase : xxxxxxxxxxxxxxxxxxxxxxx
SOFT O SAW SWAB CON RODE

and you can choose the hash function:

% donkey 80 is12345
Enter passphrase : xxxxxxxxxxxxxxxxxxxxxxx
SOFT O SAW SWAB CON RODE

%donkey -f md5 80 is12345
Enter passphrase : xxxxxxxxxxxxxxxxxxxxxxx
LACK WIN ROSE ANNA STUN REEK
ngl the default hash function is MD4 β€” due to historical reasons. so if you don't say anything, that's what you're getting 🫢

(2) Calculate several One-Time-Passwords at once πŸ’œ

just use the -n option, bestie:

% donkey -n 10 80 is12345
Enter passphrase : xxxxxxxxxxxxxxxxxxxxxxx
71: WORE HELL CUB FAR DORA MALE
72: SAIL DAN DONE BEER DAYS MOS
73: PAN TONE THAT TOUT BURY EST
74: KEN ROAM HEAT NAN MEAN HEN
75: MINI MARS HASH BOTH SITU SING
76: TOW SHIN FLUE ARID AHOY NE
77: SLID LEEK NO TREE STOW BEY
78: RUDY WINE GIFT FUSS AGEE SUE
79: GELD THIN MAID THIN BUD TURF
80: SOFT O SAW SWAB CON RODE
πŸ’€ note this: even though "Enter passphrase" gets printed out to the standard error stream, the One-Time-Passwords are written to the standard output stream. so you can redirect the output safely. that's the whole point, don't @ me.

(3) Print an skeykeys entry πŸŽ€

use the -i option with no arguments. then enter the login name, the sequence number and the seed. input your passphrase twice to get the entry:

% donkey -i
Enter login name [default kazu]:
Enter sequence 1 to 999 [default 99]:
Enter new seed [default ur18122]:
Please choose passphrase between 8 and 256 characters.
Enter passphrase : xxxxxxxxxxxxxxxxxxxxxxxxxxx
Re-enter passphrase : xxxxxxxxxxxxxxxxxxxxxxxxxxx
kazu 0099 ur18122          fc5b023e684968ff  Oct 02,1995 16:15:30
WINK SEAM GRAB ROAD HELL FEST

look at that. beautiful. a whole entry. we ate πŸ”₯


πŸ™ˆ BUGS πŸ™ˆ

things to do:

  • Support other one time passwords such as OTP.
  • Support other secure hash functions.

so basically, it's a to-do list, not a bug list. growth mindset bestie 🌱


πŸ‘‘ AUTHOR πŸ‘‘

this program is developed by Kazuhiko Yamamoto <kazu@is.aist-nara.ac.jp>. this manual page was written by Fumitoshi UKAI <ukai@debian.or.jp>, based on the documentation of this program, for the Debian GNU/Linux system β€” but it may be used by others, so like, go off πŸ’–


and that's the whole page, bestie!! written for Debian GNU/Linux, dated April 17, 2016, filed under DONKEY(1) 🌈 mwah, go calculate some one-time-passwords, you've got this πŸ¦‹βœ¨πŸ’