summaryrefslogtreecommitdiffstats
path: root/crypto/libdes/shifts.pl
diff options
context:
space:
mode:
authormarkm <markm@FreeBSD.org>2000-02-24 19:35:08 +0000
committermarkm <markm@FreeBSD.org>2000-02-24 19:35:08 +0000
commit443e3df9fc8fe20ccfddd689f7dc254ad0194b75 (patch)
tree6c0d0142a7ec56eaaf7b7eb20b8a2955ee24a506 /crypto/libdes/shifts.pl
parent2cbf93e2b4f618912104456777d6a9335a25ee6a (diff)
downloadFreeBSD-src-443e3df9fc8fe20ccfddd689f7dc254ad0194b75.zip
FreeBSD-src-443e3df9fc8fe20ccfddd689f7dc254ad0194b75.tar.gz
RIP libdes. All hail libcrypto!
Diffstat (limited to 'crypto/libdes/shifts.pl')
-rw-r--r--crypto/libdes/shifts.pl198
1 files changed, 0 insertions, 198 deletions
diff --git a/crypto/libdes/shifts.pl b/crypto/libdes/shifts.pl
deleted file mode 100644
index ba686d8..0000000
--- a/crypto/libdes/shifts.pl
+++ /dev/null
@@ -1,198 +0,0 @@
-#!/usr/local/bin/perl
-
-sub lab_shift
- {
- local(*a,$n)=@_;
- local(@r,$i,$j,$k,$d,@z);
-
- @r=&shift(*a,$n);
- foreach $i (0 .. 31)
- {
- @z=split(/\^/,$r[$i]);
- for ($j=0; $j <= $#z; $j++)
- {
- ($d)=($z[$j] =~ /^(..)/);
- ($k)=($z[$j] =~ /\[(.*)\]$/);
- $k.=",$n" if ($k ne "");
- $k="$n" if ($k eq "");
- $d="$d[$k]";
- $z[$j]=$d;
- }
- $r[$i]=join('^',@z);
- }
- return(@r);
- }
-
-sub shift
- {
- local(*a,$n)=@_;
- local(@f);
-
- if ($n > 0)
- {
- @f=&shiftl(*a,$n);
- }
- else
- {
- @f=&shiftr(*a,-$n);
- }
- return(@f);
- }
-
-sub rotate
- {
- local(*a,$n)=@_;
- local(@f);
-
- if ($n > 0)
- { @f=&rotatel(*a,$n); }
- else
- { @f=&rotater(*a,-$n); }
- return(@f);
- }
-
-sub rotater
- {
- local(*a,$n)=@_;
- local(@f,@g);
-
- @f=&shiftr(*a,$n);
- @g=&shiftl(*a,32-$n);
- $#f=31;
- $#g=31;
- return(&or(*f,*g));
- }
-
-sub rotatel
- {
- local(*a,$n)=@_;
- local(@f,@g);
-
- @f=&shiftl(*a,$n);
- @g=&shiftr(*a,32-$n);
- $#f=31;
- $#g=31;
- return(&or(*f,*g));
- }
-
-sub shiftr
- {
- local(*a,$n)=@_;
- local(@r,$i);
-
- $#r=31;
- foreach $i (0 .. 31)
- {
- if (($i+$n) > 31)
- {
- $r[$i]="--";
- }
- else
- {
- $r[$i]=$a[$i+$n];
- }
- }
- return(@r);
- }
-
-sub shiftl
- {
- local(*a,$n)=@_;
- local(@r,$i);
-
- $#r=31;
- foreach $i (0 .. 31)
- {
- if ($i < $n)
- {
- $r[$i]="--";
- }
- else
- {
- $r[$i]=$a[$i-$n];
- }
- }
- return(@r);
- }
-
-sub printit
- {
- local(@a)=@_;
- local($i);
-
- foreach $i (0 .. 31)
- {
- printf "%2s ",$a[$i];
- print "\n" if (($i%8) == 7);
- }
- print "\n";
- }
-
-sub xor
- {
- local(*a,*b)=@_;
- local(@r,$i);
-
- $#r=31;
- foreach $i (0 .. 31)
- {
- $r[$i]=&compress($a[$i].'^'.$b[$i]);
-# $r[$i]=$a[$i]."^".$b[$i];
- }
- return(@r);
- }
-
-sub and
- {
- local(*a,$m)=@_;
- local(@r,$i);
-
- $#r=31;
- foreach $i (0 .. 31)
- {
- $r[$i]=(($m & (1<<$i))?($a[$i]):('--'));
- }
- return(@r);
- }
-
-sub or
- {
- local(*a,*b)=@_;
- local(@r,$i);
-
- $#r=31;
- foreach $i (0 .. 31)
- {
- $r[$i]='--' if (($a[$i] eq '--') && ($b[$i] eq '--'));
- $r[$i]=$a[$i] if (($a[$i] ne '--') && ($b[$i] eq '--'));
- $r[$i]=$b[$i] if (($a[$i] eq '--') && ($b[$i] ne '--'));
- $r[$i]='++' if (($a[$i] ne '--') && ($b[$i] ne '--'));
- }
- return(@r);
- }
-
-sub compress
- {
- local($s)=@_;
- local($_,$i,@a,%a,$r);
-
- $s =~ s/\^\^/\^/g;
- $s =~ s/^\^//;
- $s =~ s/\^$//;
- @a=split(/\^/,$s);
-
- while ($#a >= 0)
- {
- $_=shift(@a);
- next unless /\d/;
- $a{$_}++;
- }
- foreach $i (sort keys %a)
- {
- next if ($a{$i}%2 == 0);
- $r.="$i^";
- }
- chop($r);
- return($r);
- }
-1;
OpenPOWER on IntegriCloud