Okay, being on break as I am, I'm generally pretty bored. I just reread
Cryptonimicon and for the hell of it decided to try out "Solitaire" or "Pontifex" crypto system that's described in the book. The following is provided in the book as the perl version of the encryption algorith:
<BLOCKQUOTE><font size="1"face="Geneva, Verdana, Arial">code:</font><HR><pre><font size=1 face=courier>#!/usr/bin/perl -s
$f=$d?<font color = blue>-1</font>:<font color = blue>1</font>;$D=pack('C*',<font color = blue>33.</font>.<font color = blue>86</font>)$p=shift;
$p=~y/a-z/A-Z/;$U='$D=~s/(.*)U$/U$<font color = blue>1</font>/;
$D=~s/U(.)/$1U/;';($V=$U)=~s/U/V/g;
$p=~s/[A-Z]/$k=ord($&)<font color = blue>-64</font>,$e/eg;$k=<font color = blue>0</font>;
while(<> ){y/a-z/A-Z/;y/A-Z<font color = brown>//dc;$o.=$_}$o.='X'</font>
while length ($o)%<font color = blue>5</font>&&!$d;
$o=~s/./chr(($f*&e+ord($&)<font color = blue>-13</font>)%<font color = blue>26</font>+<font color = blue>65</font>)/eg;
$o=~s/X*$<font color = brown>// if $d;$o=~s/.{<font color = blue>5</font>}/$& /g;</font>
print<font color = red>"$o/n"</font>;sub v{$v=ord(substr($D,$_[<font color = blue>0</font>]))<font color = blue>-32</font>;
$v><font color = blue>53</font>?<font color = blue>53</font>:$v}
sub w{$D=~s/(.{$_[<font color = blue>0</font>]})(.*)(.)/$<font color = blue>2</font>$<font color = blue>1</font>$<font color = blue>3</font>/}
sub e{eval<font color = red>"$U$V$V"</font>;$D=~s/(.*)([UV].*[UV])(.*)/$#$@$!/;
&w(&v(<font color = blue>53</font>));$k?(&w(&k))
$c=&v(&v(<font color = blue>0</font>)),$c><font color = blue>52</font>?&e:$c)}</font>[/code]
Knowing absolutely nothing about perl as I do (I intend to teach myself all about it, hopefully soon), I'm at a bit of a loss about what to do after making this into a nice little file in Pico. Obviously I would want to run the script (called, creatively enough, "Pontifex"), but even as root "./ Pontifex" tells me "./: Permission denied". Can anyone offer some advice?