Auth::Yubikey_Decrypter - Decrypting the output from the yubikey token
The decryption module does only one thing - decrypt the AES encrypted OTP from
the Yubikey. To this, it requires the OTP, and the AES key.
Please note - this module does not perform authentication - it is a required
component to decrypt the token first before authentication can be performed.
my $fulltoken = "dteffujehknhfjbrjnlnldnhcujvddbikngjrtgh";
my $aeskey = "ecde18dbe76fbd0c33330f1c354871db";
my ($publicID,$secretid_hex,$counter_dec,$timestamp_dec,$session_use_dec,$random_dec,$crc_dec,$crc_ok) =
print "publicID : $publicID\n";
print "Secret id : $secretid_hex\n";
print "Counter : $counter_dec\n";
print "Timestamp : $timestamp_dec\n";
print "Session : $session_use_dec\n";
print "Random : $random_dec\n";
print "crc : $crc_dec\n";
print "crc ok? : $crc_ok\n";
Input : token aeskey
Token - received by the Yubikey aeskey - either the modhex or hex AES key for
your Yubikey (contact Yubico if you don't have the AES key)
$publicID $secretid_hex $counter_dec $timestamp_dec $session_use_dec $random_dec
Input : the modhex code Output : decoded modhex code in hex
Performs a crc check on the decoded data
Perl 5, Crypt::Rijndael
Order your Yubikey from <http://www.yubico.com>
Please report any bugs or feature requests to "bug-auth-yubikey_decrypter
at rt.cpan.org", or through the web interface at
I will be notified, and then you'll automatically be notified of progress on
your bug as I make changes.
You can find documentation for this module with the perldoc command.
You can also look for information at:
- RT: CPAN's request tracker
- AnnoCPAN: Annotated CPAN documentation
- CPAN Ratings
- Search CPAN
Phil Massyn, "<phil at massyn.net>"
Based a lot on PHP code by : PHP yubikey decryptor v0.1 by Alex Skov Jensen
Thanks to almut from <http://perlmonks.org> for code guidance Thanks to
Mark Foobar <http://blog.maniac.nl> for reporting the -32 bug on line 91
Copyright 2008 Phil Massyn, all rights reserved.
This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.