home *** CD-ROM | disk | FTP | other *** search
/ Cuteskunk BBS / cuteskunk.zip / cuteskunk / Folklore / crypto.sig < prev    next >
Text File  |  2003-06-29  |  895b  |  23 lines

  1. perl-RSA: 
  2.  
  3. #!/usr/local/bin/perl -s-- -export-a-crypto-system-sig -RSA-in-3-lines-PERL
  4. # see http://dcs.ex.ac.uk/~aba/rsa-details.html
  5. ($k,$n)=@ARGV;$m=unpack(H.$w,$m."\0"x$w),$_=`echo "16do$w 2+4Oi0$d*-^1[d2%
  6. Sa2/d0<X+d*La1=z\U$n%0]SX$k"[$m*]\EszlXx++p|dc`,s/^.|\W//g,print pack('H*'
  7. ,$_)while read(STDIN,$m,($w=2*$d-1+length($n||die"$0 [-d] k n\n")&~1)/2)
  8.  
  9.  
  10. perl-RC4:
  11.  
  12. #!/usr/local/bin/perl -- -export-a-crypto-system-sig -RC4-in-3-lines-of-PERL
  13. @k=unpack('C*',pack('H*',shift));sub S{@s[$x,$y]=@s[$y,$x];}for(@t=@s=0..255)
  14. {$y=($k[$i++]+$s[$_]+$y)%256;$x=$_;&S;$i%=@k;}$/=$x=$y=0;for(unpack('C*',<>))
  15. {$x++;$y=($s[$x%=256]+$y)%256;&S;print pack(C,$_^=$s[($s[$x]+$s[$y])%256]);}
  16.  
  17.  
  18. perl-Diffie-Hellman:
  19.  
  20. #!/usr/local/bin/perl -- -export-a-crypto-system-sig Diffie-Hellman-2-lines
  21. ($g,$e,$m)=@ARGV,$m||die"$0 gen exp mod\n";print`echo "16dio1[d2%Sa2/d0<X+d
  22. *La1=z\U$m%0]SX$e"[$g*]\EszlXx+p|dc`
  23.