Rafael R. Sevilla


Tiger - Perl interface to the Tiger Hash Algorithm


    use Tiger;

    $context = new Tiger;


    $digest = $context->digest();
    $string = $context->hexdigest();

    $digest = $context->hash($string);
    $string = $context->hexhash($string);


The Tiger module allows you to use the Tiger hash algorithm developed by Ross Anderson and Eli Biham in Perl programs.

A new Tiger context object is created with the new operation. Multiple simultaneous digest context can be maintained if desired. The context is updated with the add operation which adds the strings contained in the LIST parameter.

The final message digest value is returned by the digest operation as a 24-byte binary string. This operation delivers the result of operations since the last new or reset operation. Once the operation has been performed, the context must be reset before being used to calculate another digest value.

Several convenience functions are also provided. The addfile operation takes an open file-handle and reads it until end-of file in 8192-byte blocks adding the contents to the context. The hexdigest operation calls digest and returns the result as a printable string of hexadecimal digits in eight-digit groups. The hash operation performs the complete series of steps: reset, add, digest on the supplied scalar value, and returns the result as a 24-byte binary string. The hexhash operation does the same thing, but returns the result in the format of the hexdigest operation.


The Tiger extension may be redistributed either under the GPL or the Perl Artistic License. The Tiger code has been appropriated from the GNU Privacy Guard, and slightly modified to interface with Perl.


The Tiger interface was written by Rafael Sevilla (dido@pacific.net.ph), shamelessly stealing from the SHA interface written by Uwe Hollerbach (uh@alumni.caltech.edu).

For more information on Tiger see: