<?xml version="1.0" encoding="windows-1252"?>
<node id="87315" title="Polyglot (crypto)" created="2001-06-10 16:56:56" updated="2005-08-11 06:14:42">
<type id="1748">
sourcecode</type>
<author id="70819">
beretboy</author>
<data>
<field name="doctext">
&lt;CODE&gt;
$switch = @ARGV[0];
if ($switch eq "-d")
{
$plaintext = &lt;STDIN&gt;;
@text = split(/ /, $plaintext);
$length = @text;
$i = 0;
$w = 0;
while ($w &lt;= $length) {
if ($i == 0) {
@text[$w] =~ tr/seklbvrfzijdqypcnowmtxuagh/a-z/; 
$i++;
$w++;
next;
}
if ($i == 1) {
@text[$w] =~ tr/elbtjpwdvzqaorfiyxnukmghsc/a-z/; 
$i++;
$w++;
next;
}
if ($i == 2) {
@text[$w] =~ tr/velukbiyxnordctjgpwhzqafms/a-z/; 
$i++;
$w++;
next;
}
if ($i == 3) {
@text[$w] =~ tr/orsdvejwmcbiyhfzlukxntqgpa/a-z/; 
$i++;
$w++;
next;
}
if ($i == 4) {
@text[$w] =~ tr/yxsdicvejqfbhmpluaorgkztwn/a-z/; 
$i++;
$w++;
next;
}
if ($i == 5) {
@text[$w] =~ tr/ejqyxsdkziurgtwcaovfbhmpln/a-z/; 
$i++;
$w++;
next;
}
if ($i == 6) {
@text[$w] =~ tr/jqyhcaxsdlkziuevfrgtwobmpn/a-z/; 
$i++;
$w++;
next;
}
if ($i == 7) {
@text[$w] =~ tr/atdvnsirekmfqhwobjclgypxuz/a-z/; 
$w++;
$i = 0;
next;
}
}
reverse @text;
$ciphertext = join (" ", @text);
print $ciphertext;
} else {
$plaintext = &lt;STDIN&gt;;
$plaintext =~ tr/A-Z/a-z/;
@text = split(/ /, $plaintext);
$length = @text;
$i = 0;
$w = 0;
while ($w &lt;= $length) {
if ($i == 0) {
@text[$w] =~ tr/a-z/seklbvrfzijdqypcnowmtxuagh/; 
$i++;
$w++;
next;
}
if ($i == 1) {
@text[$w] =~ tr/a-z/elbtjpwdvzqaorfiyxnukmghsc/; 
$i++;
$w++;
next;
}
if ($i == 2) {
@text[$w] =~ tr/a-z/velukbiyxnordctjgpwhzqafms/; 
$i++;
$w++;
next;
}
if ($i == 3) {
@text[$w] =~ tr/a-z/orsdvejwmcbiyhfzlukxntqgpa/; 
$i++;
$w++;
next;
}
if ($i == 4) {
@text[$w] =~ tr/a-z/yxsdicvejqfbhmpluaorgkztwn/; 
$i++;
$w++;
next;
}
if ($i == 5) {
@text[$w] =~ tr/a-z/ejqyxsdkziurgtwcaovfbhmpln/; 
$i++;
$w++;
next;
}
if ($i == 6) {
@text[$w] =~ tr/a-z/jqyhcaxsdlkziuevfrgtwobmpn/; 
$i++;
$w++;
next;
}
if ($i == 7) {
@text[$w] =~ tr/a-z/atdvnsirekmfqhwobjclgypxuz/; 
$w++;
$i = 0;
next;
}
}
reverse @text;
$ciphertext = join (" ", @text);
print $ciphertext;
}
&lt;/CODE&gt;</field>
<field name="codedescription">
polyalphabetic encryption algoritm. CANNOT HANDLE MULTILINE. enter on line to be encoded and it will spit out cipher text. run with -d and it will decipher ciphertext</field>
<field name="codecategory">
Cryptography</field>
<field name="codeauthor">
Written by beretboy</field>
</data>
</node>
