config root man

Current Path : /usr/local/lib/perl5/site_perl/5.8.9/Net/SSH/Perl/Util/

FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64
Upload File :
Current File : //usr/local/lib/perl5/site_perl/5.8.9/Net/SSH/Perl/Util/SSH2MP.pm

# $Id: SSH2MP.pm,v 1.4 2005/01/16 21:05:18 dbrobins Exp $

package Net::SSH::Perl::Util::SSH2MP;
use strict;

use Math::Pari qw( PARI floor pari2num Mod lift );

sub bitsize {
    return pari2num(floor(Math::Pari::log($_[0])/Math::Pari::log(2)) + 1);
}

sub bin2mp {
    my $s = shift;
    my $p = PARI(0);
    my $base = PARI(256);
    for my $b (split //, $s) {
        $p = $p * $base + ord $b;
    }
    $p;
}

sub mp2bin {
    my($p, $l) = @_;
    $l ||= 0;
    my $base = PARI(256);
    my $res = '';
    {
        my $r = $p % $base;
        my $d = PARI($p-$r) / $base;
        $res = chr($r) . $res;
        if ($d >= $base) {
            $p = $d;
            redo;
        }
        elsif ($d != 0) {
            $res = chr($d) . $res;
        }
    }
    $res = "\0" x ($l-length($res)) . $res
        if length($res) < $l;
    $res;
}

sub mod_inverse {
    my($a, $n) = @_;
    my $m = Mod(1, $n);
    lift($m / $a);
}

1;

Man Man