# NAME

Crypt::Trifid - Interface to the Trifid cipher.

Version 0.10

# DESCRIPTION

In classical cryptography, the trifid cipher is a cipher invented around 1901 by Felix Delastelle, which extends the concept of the bifid cipher to a third dimension, allowing each symbol to be fractionated into 3 elements instead of two.

While the bifid uses the Polybius square to turn each symbol into coordinates on a 5x5 (or 6x6) square, the trifid turns them into coordinates on a 3x3x3 cube.

As with the bifid, this is then combined with transposition to achieve diffusion.

However a higher degree of diffusion is achieved because each output symbol depends on 3 input symbols instead of two.

Thus the trifid was the first practical trigraphic substitution.

Source: Wikipedia

# SYNOPSIS

``````    use strict; use warnings;
use Crypt::Trifid;

my \$crypt   = Crypt::Trifid->new;
my \$message = 'TRIFID';
my \$encoded = \$crypt->encode(\$message);
my \$decoded = \$crypt->decode(\$encoded);

print "Encoded message: [\$encoded]\n";
print "Decoded message: [\$decoded]\n";``````

# METHODS

## encode(\$message)

It takes message as scalar string and returns the encoded message.

``````    use strict; use warnings;
use Crypt::Trifid;

my \$crypt   = Crypt::Trifid->new;
my \$message = 'TRIFID';
my \$encoded = \$crypt->encode(\$message);

print "Encoded message: [\$encoded]\n";``````

## decode(\$encoded_message)

It takes an encoded message as scalar string and returns the decoded message.

``````    use strict; use warnings;
use Crypt::Trifid;

my \$crypt   = Crypt::Trifid->new;
my \$message = 'TRIFID';
my \$encoded = \$crypt->encode(\$message);
my \$decoded = \$crypt->decode(\$encoded);

print "Encoded message: [\$encoded]\n";
print "Decoded message: [\$decoded]\n";``````

# AUTHOR

Mohammad S Anwar, `<mohammad.anwar at yahoo.com>`

# REPOSITORY

https://github.com/manwar/Crypt-Trifid

# BUGS

Please report any bugs/feature requests to `bug-crypt-trifid at rt.cpan.org` or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Crypt-Trifid. I will be notified & 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 Crypt::Trifid``

You can also look for information at:

This program is free software; you can redistribute it and/or modify it under the terms of the the Artistic License (2.0). You may obtain a copy of the full license at: