… | |
… | |
6 | |
6 | |
7 | my $c1 = new Crypt::Spritz; |
7 | my $c1 = new Crypt::Spritz; |
8 | |
8 | |
9 | for (1..3) { |
9 | for (1..3) { |
10 | for ( |
10 | for ( |
11 | [ABC => "779a8e01f9e9cbc0", "028fa2b48b934a18", "eb4765b22caa38ab", "60f948978ca09dc3"], |
11 | [ABC => "779a8e01f9e9cbc0", "028fa2b48b934a18", "eb4765b22caa38ab", "a25b6e57fb35481b", "75ea088baadc803e"], |
12 | [spam => "f0609a1df143cebf", "acbba0813f300d3a", "433a025805dbb3b1", "e8f9b8d505523cfc"], |
12 | [spam => "f0609a1df143cebf", "acbba0813f300d3a", "433a025805dbb3b1", "e1eed00911069b9d", "782cf66ae9d1fdea"], |
13 | [arcfour => "1afa8b5ee337dbc7", "ff8cf268094c87b9", "c72e6cfc08b27d4a", "40627eab27586e33"], |
13 | [arcfour => "1afa8b5ee337dbc7", "ff8cf268094c87b9", "c72e6cfc08b27d4a", "cac713dfba93cd79", "413397b795a75abf"], |
14 | ) { |
14 | ) { |
15 | my ($a, $r, $h, $m, $e) = @$_; |
15 | my ($a, $r, $h, $m, $ec, $em) = @$_; |
16 | |
16 | |
17 | $c1->absorb ($a); |
17 | $c1->absorb ($a); |
18 | my $s = unpack "H*", $c1->squeeze (0.5 * length $r); |
18 | my $s = unpack "H*", $c1->squeeze (0.5 * length $r); |
19 | print $s eq $r ? "" : "not ", "ok ", ++$n, " # AS1 $a => $s (= $r)\n"; |
19 | print $s eq $r ? "" : "not ", "ok ", ++$n, " # AS1 $a => $s (= $r)\n"; |
20 | |
20 | |
… | |
… | |
47 | Crypt::Spritz::Cipher::XOR->new ($a)->crypt_inplace ($cx2); |
47 | Crypt::Spritz::Cipher::XOR->new ($a)->crypt_inplace ($cx2); |
48 | $cx2 = unpack "H*", $cx2 ^ "98765432"; |
48 | $cx2 = unpack "H*", $cx2 ^ "98765432"; |
49 | print $r eq $cx2 ? "" : "not ", "ok ", ++$n, " # CX2 $a => $cx2 (= $r)\n"; |
49 | print $r eq $cx2 ? "" : "not ", "ok ", ++$n, " # CX2 $a => $cx2 (= $r)\n"; |
50 | |
50 | |
51 | my $ae = new Crypt::Spritz::AEAD::XOR $a; |
51 | my $ae = new Crypt::Spritz::AEAD::XOR $a; |
|
|
52 | $ae->nonce (12); |
|
|
53 | $ae->associated_data (34); |
52 | my $ar = unpack "H*", $ae->crypt ("A2345678") ^ "A2345678"; |
54 | my $ar = unpack "H*", $ae->crypt ("A2345678") ^ "A2345678"; |
53 | print $r eq $ar ? "" : "not ", "ok ", ++$n, " # AE1 $a => $ar (= $r)\n"; |
55 | print $ec eq $ar ? "" : "not ", "ok ", ++$n, " # AE1 $a => $ar (= $ec)\n"; |
54 | $ae = unpack "H*", $ae->finish (8); |
56 | $ae = unpack "H*", $ae->finish (8); |
55 | print $e eq $ae ? "" : "not ", "ok ", ++$n, " # AE2 $a => $ae (= $e)\n"; |
57 | print $em eq $ae ? "" : "not ", "ok ", ++$n, " # AE2 $a => $ae (= $em)\n"; |
56 | } |
58 | } |
57 | } |
59 | } |
58 | |
60 | |
59 | print "ok 82\n"; |
61 | print "ok 82\n"; |
60 | |
62 | |
61 | |
|
|