1 |
NAME |
2 |
Crypt::Ed25519 - bare-bones Ed25519 public key signing/verification |
3 |
system |
4 |
|
5 |
SYNOPSIS |
6 |
use Crypt::Ed25519; # no symbols exported |
7 |
|
8 |
# generate a public/private key pair once |
9 |
($pubkey, $privkey) = Crypt::Ed25519::generate_keypair; |
10 |
|
11 |
# sign messages |
12 |
$signature = Crypt::Ed25519::sign $message, $pubkey, $privkey; |
13 |
|
14 |
# verify message |
15 |
$valid = Crypt::Ed25519::verify $message, $pubkey, $signature; |
16 |
|
17 |
# verify, but croak on failure |
18 |
Crypt::Ed25519::verify_croak $message, $pubkey, $signature; |
19 |
|
20 |
DESCRIPTION |
21 |
This module implements Ed25519 public key generation, message signing |
22 |
and verification. It is a pretty bare-bones implementation that |
23 |
implements the standard Ed25519 variant with SHA512 hash. |
24 |
|
25 |
The security target for Ed25519 is to be equivalent to 3000 bit RSA or |
26 |
AES-128. |
27 |
|
28 |
The advantages of Ed25519 over most other signaturer algorithms are: |
29 |
small public/private key and signature sizes (<= 64 octets), good key |
30 |
generation, signing and verification performance, no reliance on random |
31 |
number generators for signing and by-design immunity against branch or |
32 |
memory access pattern side-channel attacks. |
33 |
|
34 |
More detailed praise and other info can be found at |
35 |
<http://ed25519.cr.yp.to/index.html>. |
36 |
|
37 |
IMPLEMENTATIOIN |
38 |
This module currently uses "Nightcracker's Ed25519" implementation, but |
39 |
the interface is kept implementation-agnostic to allow usage of other |
40 |
implementations in the future. |
41 |
|
42 |
AUTHOR |
43 |
Marc Lehmann <schmorp@schmorp.de> |
44 |
http://sfotware.schmorp.de/pkg/Crypt-Ed25519.html |
45 |
|