⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dopc2

📁 Netscape公司提供的安全套接字层
💻
字号:
#!/usr/local/bin/perl

@PC2_C=(14,17,11,24, 1, 5,
     3,28,15, 6,21,10,
    23,19,12, 4,26, 8,
    16, 7,27,20,13, 2,
    );

@PC2_D=(41,52,31,37,47,55,
    30,40,51,45,33,48,
    44,49,39,56,34,53,
    46,42,50,36,29,32,
    );

$i=0;
foreach (@PC2_C) {
    $_--;
#   printf "%2d,",$_;
    $C{$_}=$i;
    ++$i;
#   print "\n" if ((($i) % 8) == 0);
    }
$i=0;
#print "\n";
foreach (@PC2_D) {
    $_-=28;
    $_--;
#   printf "%2d,",$_;
    $D{$_}=$i;
    $i++;
#   print "\n" if ((($i) % 8) == 0);
    }

#print "\n";
foreach $i (0 .. 27)
    {
    $_=$C{$i};
#   printf "%2d,",$_;
    $i++;
#   print "\n" if ((($i) % 8) == 0);
    }
#print "\n";

#print "\n";
foreach $i (0 .. 27)
    {
    $_=$D{$i};
#   printf "%2d,",$_;
    $i++;
#   print "\n" if ((($i) % 8) == 0);
    }
#print "\n";

print "static ulong skb[8][64]={\n";
&doit("C",*C, 0, 1, 2, 3, 4, 5);
&doit("C",*C, 6, 7, 9,10,11,12);
&doit("C",*C,13,14,15,16,18,19);
&doit("C",*C,20,22,23,25,26,27);

&doit("D",*D, 0, 1, 2, 3, 4, 5);
&doit("D",*D, 7, 8,10,11,12,13);
&doit("D",*D,15,16,17,18,19,20);
&doit("D",*D,21,22,23,24,26,27);
print "};\n";

sub doit
    {
    local($l,*A,@b)=@_;
    local(@out);

    printf("/* for $l bits (numbered as per FIPS 46) %d %d %d %d %d %d */\n",
        $b[0]+1, $b[1]+1, $b[2]+1, $b[3]+1, $b[4]+1, $b[5]+1);
    for ($i=0; $i<64; $i++)
        {
        $out[$i]=0;
        $j=1;
#print "\n";
        for ($k=0; $k<6; $k++)
            {
            $l=$A{$b[$k]};
#print"$l - ";
            if ((1<<$k) & $i)
                {
                $ll=int($l/6)*8+($l%6);
                $out[$i]|=1<<($ll);
                }
            }
        $pp=$out[$i];
        $pp=($pp&0xff0000ff)|   (($pp&0x00ff0000)>>8)|
                    (($pp&0x0000ff00)<<8);
        printf("0x%08X,",$pp);
        print "\n" if (($i+1) % 4 == 0);
        }
    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -