Initial checkin.
[catacomb-perl] / test.pl
CommitLineData
660b443c 1use Catacomb qw(:const);
2
3package EV;
4@ISA = qw(Catacomb::MP::Prime::Gen::Proc);
5sub pgen_begin { my ($me, $ev) = @_; print $ev->name(), ": "; }
6sub pgen_pass { print "*"; }
7sub pgen_fail { print "."; }
8sub pgen_done { print "*\n"; }
9sub new { my $me = bless { FLUSH => $| }, $_[0]; $| = 1; return $me; }
10sub DESTROY { my $me = shift; $| = $me->{FLUSH}; }
11
12package main;
13
14$mm = Catacomb::MP->factorial(16);
15$mm2 = $mm;
16$mm++;
17print join(", ", $mm2->gcd(19)), "\n";
18
19$md5 = Catacomb::HashClass->find("md5");
20$h = $md5->init();
21$h->hash("abc");
22$hh = $h->done();
23print length($hh), "\n";
24print unpack("H*", $hh), "\n";
25
26foreach $i (Catacomb::CipherClass->list()) {
27 print $i->name(), "\n";
28}
29
30$p = Catacomb::MP::Prime::gen("p", $Catacomb::random->mp(512, 3),
31 0, Catacomb::MP::Prime::Filter->stepper(4),
32 5, Catacomb::MP::Prime::Rabin->tester(),
33 EV->new());
34$q = Catacomb::MP::Prime::gen("q", $Catacomb::random->mp(512, 3),
35 0, Catacomb::MP::Prime::Filter->stepper(4),
36 5, Catacomb::MP::Prime::Rabin->tester(),
37 EV->new());
38
39print "p = $p\nq = $q\n";