1Crypt::Mac::Poly1305(3)User Contributed Perl DocumentatioCnrypt::Mac::Poly1305(3)
2
3
4
6 Crypt::Mac::Poly1305 - Message authentication code Poly1305 (RFC 7539)
7
9 ### Functional interface:
10 use Crypt::Mac::Poly1305 qw( poly1305 poly1305_hex );
11
12 # calculate MAC from string/buffer
13 $poly1305_raw = poly1305($key, 'data buffer');
14 $poly1305_hex = poly1305_hex($key, 'data buffer');
15 $poly1305_b64 = poly1305_b64($key, 'data buffer');
16 $poly1305_b64u = poly1305_b64u($key, 'data buffer');
17
18 ### OO interface:
19 use Crypt::Mac::Poly1305;
20
21 $d = Crypt::Mac::Poly1305->new($key);
22 $d->add('any data');
23 $d->addfile('filename.dat');
24 $d->addfile(*FILEHANDLE);
25 $result_raw = $d->mac; # raw bytes
26 $result_hex = $d->hexmac; # hexadecimal form
27 $result_b64 = $d->b64mac; # Base64 form
28 $result_b64u = $d->b64umac; # Base64 URL Safe form
29
31 Provides an interface to the Poly1305 message authentication code (MAC)
32 algorithm.
33
35 Nothing is exported by default.
36
37 You can export selected functions:
38
39 use Crypt::Mac::Poly1305 qw(poly1305 poly1305_hex );
40
41 Or all of them at once:
42
43 use Crypt::Mac::Poly1305 ':all';
44
46 poly1305
47 Logically joins all arguments into a single string, and returns its
48 Poly1305 message authentication code encoded as a binary string.
49
50 $poly1305_raw = poly1305($key, 'data buffer');
51 #or
52 $poly1305_raw = poly1305($key, 'any data', 'more data', 'even more data');
53
54 poly1305_hex
55 Logically joins all arguments into a single string, and returns its
56 Poly1305 message authentication code encoded as a hexadecimal string.
57
58 $poly1305_hex = poly1305_hex($key, 'data buffer');
59 #or
60 $poly1305_hex = poly1305_hex($key, 'any data', 'more data', 'even more data');
61
62 poly1305_b64
63 Logically joins all arguments into a single string, and returns its
64 Poly1305 message authentication code encoded as a Base64 string.
65
66 $poly1305_b64 = poly1305_b64($key, 'data buffer');
67 #or
68 $poly1305_b64 = poly1305_b64($key, 'any data', 'more data', 'even more data');
69
70 poly1305_b64u
71 Logically joins all arguments into a single string, and returns its
72 Poly1305 message authentication code encoded as a Base64 URL Safe
73 string (see RFC 4648 section 5).
74
75 $poly1305_b64url = poly1305_b64u($key, 'data buffer');
76 #or
77 $poly1305_b64url = poly1305_b64u($key, 'any data', 'more data', 'even more data');
78
80 new
81 $d = Crypt::Mac::Poly1305->new($key);
82
83 clone
84 $d->clone();
85
86 reset
87 $d->reset();
88
89 add
90 $d->add('any data');
91 #or
92 $d->add('any data', 'more data', 'even more data');
93
94 addfile
95 $d->addfile('filename.dat');
96 #or
97 $d->addfile(*FILEHANDLE);
98
99 mac
100 $result_raw = $d->mac();
101
102 hexmac
103 $result_hex = $d->hexmac();
104
105 b64mac
106 $result_b64 = $d->b64mac();
107
108 b64umac
109 $result_b64url = $d->b64umac();
110
112 • CryptX
113
114 • <https://www.ietf.org/rfc/rfc7539.txt>
115
116
117
118perl v5.38.0 2023-10-04 Crypt::Mac::Poly1305(3)