---
name: "Auth::Yubikey_Decrypter"
section: "3pm"
platform: "linux"
package: "libauth-yubikey-decrypter-perl"
version: "0.07-2.1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Auth::Yubikey_Decrypter"
---

# Auth::Yubikey\_Decrypter(3pm)

Decrypting the output from the yubikey token

## NAME

Auth::Yubikey\_Decrypter - Decrypting the output from the yubikey token

## VERSION

Version 0.07

## SYNOPSIS

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.

```
        #!/usr/bin/perl
        use strict;
        use Auth::Yubikey_Decrypter;
        my $fulltoken   = "dteffujehknhfjbrjnlnldnhcujvddbikngjrtgh";
        my $aeskey      = "ecde18dbe76fbd0c33330f1c354871db";
        my ($publicID,$secretid_hex,$counter_dec,$timestamp_dec,$session_use_dec,$random_dec,$crc_dec,$crc_ok) =
                Auth::Yubikey_Decrypter::yubikey_decrypt($fulltoken,$aeskey);
        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";
```

## FUNCTIONS

### yubikey\_decrypt

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)

Output :

`$publicID` `$secretid_hex` `$counter_dec` `$timestamp_dec` `$session_use_dec` `$random_dec` `$crc_dec` `$crc_ok`

### yubikey\_modhex\_decode

Input : the modhex code Output : decoded modhex code in hex

### yubikey\_crc\_check

Performs a crc check on the decoded data

## REQUIRES

Perl 5, Crypt::Rijndael

Order your Yubikey from \<http://www.yubico.com\>

## BUGS

Please report any bugs or feature requests to `"bug-auth-yubikey_decrypter at rt.cpan.org"`, or through the web interface at \<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Auth-Yubikey\_Decrypter\>.  I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

## SUPPORT

You can find documentation for this module with the perldoc command.

```
    perldoc Auth::Yubikey_Decrypter
```

You can also look for information at:

- •

  RT: CPAN's request tracker

  \<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Auth-Yubikey\_Decrypter\>

- •

  AnnoCPAN: Annotated CPAN documentation

  \<http://annocpan.org/dist/Auth-Yubikey\_Decrypter\>

- •

  CPAN Ratings

  \<http://cpanratings.perl.org/d/Auth-Yubikey\_Decrypter\>

- •

  Search CPAN

  \<http://search.cpan.org/dist/Auth-Yubikey\_Decrypter\>

## AUTHOR

Phil Massyn, `"<phil at massyn.net>"`

## ACKNOWLEDGEMENTS

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 and 92.

## COPYRIGHT & LICENSE

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.
