#!/usr/bin/perl # load this test version, not the installed version: BEGIN { system('perl Makefile.PL') unless -f 'Makefile'; system("make"); unshift @INC, 'blib/arch', 'blib/lib' } use strict; use Crypt::PBC; use Math::BigInt (try => 'GMP'); my $curve = new Crypt::PBC("params_d159.txt"); my $x = $curve->init_Zr->random; my $y = $curve->init_Zr->random; my $xy = $curve->init_Zr->set( $x )->mul( $y ); my $GT1 = $curve->init_GT->random; my $GT2 = $curve->init_GT->set( $GT1 ); $GT1->pow_zn( $xy ); $GT2->pow_zn( $x )->pow_zn( $y ); $| = 1; print "gt_to_xy = ", $GT1->as_base64, "\n"; print "gt_to_x_to_y = ", $GT2->as_base64, "\n";