progs/perftest.c: Use from Glibc syscall numbers.
[catacomb] / pub / ed25519-tvconv
1 #! /usr/bin/perl
2
3 $mode = shift @ARGV;
4
5 if ($mode eq "k") { print "pubkey {\n"; }
6 elsif ($mode eq "s") { print "sign {\n"; }
7 elsif ($mode eq "v") { print "verify {\n"; }
8
9 while (<>) {
10 s/^([^:]{64})([^:]{64}):\2:([^:]*):([^:]{128})\3:$/$1:$2:$3:$4/;
11 my ($k, $K, $m, $s) = ($1, $2, $3, $4);
12 $m = '""' unless length $m;
13 if ($mode eq "k") { print " $k\n $K;\n"; }
14 elsif ($mode eq "s") { print " $k\n $m\n $s;\n"; }
15 elsif ($mode eq "v") {
16 print " $K\n $m\n $s\n 0;\n";
17 (my $Kneg = $K) =~ s/([0-9a-f]{2})$/ sprintf "%02x", hex($1) ^ 0x80 /e;
18 print " $Kneg\n $m\n $s\n -1;\n";
19 (my $Kzap = $K) =~ s/^([0-9a-f]{2})/ sprintf "%02x", hex($1) ^ 0xff /e;
20 print " $Kzap\n $m\n $s\n -1;\n";
21 (my $mzap = $m) =~ s/^([0-9a-f]{2})/ sprintf "%02x", hex($1) ^ 0xff /e;
22 $mzap = "00" unless $m ne '""';
23 print " $K\n $mzap\n $s\n -1;\n";
24 (my $szap = $s) =~ s/^([0-9a-f]{2})/ sprintf "%02x", hex($1) ^ 0xff /e;
25 print " $K\n $m\n $szap\n -1;\n";
26 }
27 }
28
29 print "}\n";