EDGE Toolkit Technical Guideline

Elliptic Curve Schnorr Digital Signature Algorithm

EC-SDSA Key Pair Generation

edgetk -pkey keygen -algorithm ecsdsa -curve brainpoolp256r1 -prv "Private.pem" -pass nil -pub "Public.pem"
EC-SDSA key pair generated successfully:
Private key saved to: albanese.atwebpages.com/directrix/Private.pem
Public key saved to: albanese.atwebpages.com/directrix/Public.pem
Fingerprint: dwNFBNhJatQ0HVZCNxzKaMEn3LKCZrvc4xKNF2ja46w=
ECSDSA (256-bit)
+-----------------+
|     =^^^^^^^^^^^|
|    .EB^^^^^##&^^|
|     .BoX^^&**XB@|
|     o .B#B++ ++ |
|    . o S O.. . .|
|     * B O +   o |
|    . X o o . .  |
|       o     .   |
|                 |
+-----------------+

Private Key Details

edgetk -pkey text -key "Private.pem"
Private key details:
-----BEGIN ECSDSA PRIVATE KEY-----
MIGGAgEAMBIGBij0KAMACwYIKyQDAwIBAQcEbTBrAgEBBCB8SCWO6nOlxYH6MOf4
Sc92tgvxbwy07EkmzdpnrqX4Y6FEA0IABBDkXFBwQMz2o/7gdedFW+WV/BGnLrzu
JMh3Fdj//5cmm/XJWyRvY3j5Kv2P40raKAGppoPkjeSLQuisvqGgwNw=
-----END ECSDSA PRIVATE KEY-----
Private-Key: (256-bit)
priv:
    7c:48:25:8e:ea:73:a5:c5:81:fa:30:e7:f8:49:cf:
    76:b6:0b:f1:6f:0c:b4:ec:49:26:cd:da:67:ae:a5:
    f8:63
pub:
    04:10:e4:5c:50:70:40:cc:f6:a3:fe:e0:75:e7:45:
    5b:e5:95:fc:11:a7:2e:bc:ee:24:c8:77:15:d8:ff:
    ff:97:26:9b:f5:c9:5b:24:6f:63:78:f9:2a:fd:8f:
    e3:4a:da:28:01:a9:a6:83:e4:8d:e4:8b:42:e8:ac:
    be:a1:a0:c0:dc
Curve: brainpoolP256r1

KeyID: edc658f9a4eb83037ab5aa59bc443483be7cf4c8

Public Key Details

edgetk -pkey text -key "Public.pem"
Public key details:
-----BEGIN PUBLIC KEY-----
MFgwEgYGKPQoAwALBggrJAMDAgEBBwNCAAQQ5FxQcEDM9qP+4HXnRVvllfwRpy68
7iTIdxXY//+XJpv1yVskb2N4+Sr9j+NK2igBqaaD5I3ki0LorL6hoMDc
-----END PUBLIC KEY-----
Public-Key: (256-bit)
pub.X:
    10:e4:5c:50:70:40:cc:f6:a3:fe:e0:75:e7:45:5b:
    e5:95:fc:11:a7:2e:bc:ee:24:c8:77:15:d8:ff:ff:
    97:26
pub.Y:
    9b:f5:c9:5b:24:6f:63:78:f9:2a:fd:8f:e3:4a:da:
    28:01:a9:a6:83:e4:8d:e4:8b:42:e8:ac:be:a1:a0:
    c0:dc
pub:
    04:10:e4:5c:50:70:40:cc:f6:a3:fe:e0:75:e7:45:
    5b:e5:95:fc:11:a7:2e:bc:ee:24:c8:77:15:d8:ff:
    ff:97:26:9b:f5:c9:5b:24:6f:63:78:f9:2a:fd:8f:
    e3:4a:da:28:01:a9:a6:83:e4:8d:e4:8b:42:e8:ac:
    be:a1:a0:c0:dc
Curve: brainpoolP256r1

Digital Signature Generation

edgetk -pkey sign -algorithm ecsdsa -md shavite256 -key "Private.pem" "test.txt" > sign.txt
Digital signature generated successfully:
30450220228047237efb39006ab635a03bd3c57d2144a3324cde15c9d5563abe25fc557b02210083c0bba2f00bafe3c65d10204c951045acaa67be281fffe01b13c6deb966a963

Digital Signature Verification

edgetk -pkey verify -algorithm ecsdsa -md shavite256 -key "Public.pem" -signature "30450220228047237efb39006ab635a03bd3c57d2144a3324cde15c9d5563abe25fc557b02210083c0bba2f00bafe3c65d10204c951045acaa67be281fffe01b13c6deb966a963" "test.txt"
Signature verified successfully:
Verified: true