… | |
… | |
74 | =cut |
74 | =cut |
75 | |
75 | |
76 | package Crypt::Ed25519; |
76 | package Crypt::Ed25519; |
77 | |
77 | |
78 | BEGIN { |
78 | BEGIN { |
79 | $VERSION = '0.9'; |
79 | $VERSION = 1.04; |
80 | |
80 | |
81 | require XSLoader; |
81 | require XSLoader; |
82 | XSLoader::load Crypt::Ed25519::, $VERSION; |
82 | XSLoader::load Crypt::Ed25519::, $VERSION; |
83 | } |
83 | } |
84 | |
84 | |
… | |
… | |
141 | your secret key. |
141 | your secret key. |
142 | |
142 | |
143 | =item $public_key = Crypt::Ed25519::eddsa_public_key $secret_key |
143 | =item $public_key = Crypt::Ed25519::eddsa_public_key $secret_key |
144 | |
144 | |
145 | Takes a secret key generated by C<Crypt::Ed25519::eddsa_secret_key> |
145 | Takes a secret key generated by C<Crypt::Ed25519::eddsa_secret_key> |
146 | and returns the corresponding C<$public_key>. The derivation ios |
146 | and returns the corresponding C<$public_key>. The derivation is |
147 | deterministic, i.e. the C<$public_key> generated for a specific |
147 | deterministic, i.e. the C<$public_key> generated for a specific |
148 | C<$secret_key> is always the same. |
148 | C<$secret_key> is always the same. |
149 | |
149 | |
150 | This public key corresponds to the public key in the Ed25519 API above. |
150 | This public key corresponds to the public key in the Ed25519 API above. |
151 | |
151 | |
… | |
… | |
186 | derive the public key as needed. On the other hand, signing using the |
186 | derive the public key as needed. On the other hand, signing using the |
187 | private key is faster than using the secret key, so converting the secret |
187 | private key is faster than using the secret key, so converting the secret |
188 | key to a public/private key pair allows you to sign a small message, or |
188 | key to a public/private key pair allows you to sign a small message, or |
189 | many messages, faster. |
189 | many messages, faster. |
190 | |
190 | |
|
|
191 | =head1 SUPPORT FOR THE PERL MULTICORE SPECIFICATION |
|
|
192 | |
|
|
193 | This module supports the perl multicore specification |
|
|
194 | (L<http://perlmulticore.schmorp.de/>) for key generation (usually the |
|
|
195 | slowest operation), and all signing and verification functions. |
|
|
196 | |
191 | =head1 IMPLEMENTATIOIN |
197 | =head1 IMPLEMENTATIOIN |
192 | |
198 | |
193 | This module currently uses "Nightcracker's Ed25519" implementation, but |
199 | This module currently uses "Nightcracker's Ed25519" implementation, which |
|
|
200 | is unmodified except for some portability fixes and static delcarations, |
194 | the interface is kept implementation-agnostic to allow usage of other |
201 | but the interface is kept implementation-agnostic to allow usage of other |
195 | implementations in the future. |
202 | implementations in the future. |
196 | |
203 | |
197 | =head1 AUTHOR |
204 | =head1 AUTHOR |
198 | |
205 | |
199 | Marc Lehmann <schmorp@schmorp.de> |
206 | Marc Lehmann <schmorp@schmorp.de> |