Crypt::ECDSA::Blind - Blind ECDSA Signatures
$Revision: 1.015 $ $Date: Tue Oct 16 22:40:55 PDT 2018 $
This module implements the blind ECDSA signature protocol outlined in [1].
use Crypt::ECDSA::Blind; my $ecdsab = new Crypt::ECDSA::Blind; my ($pubkey, $seckey) = $ecdsab->keygen; my $msg = 'Hello, world!'; my $init = $ecdsab->init; my $req = $ecdsab->request( Key => $pubkey, Init => $init, Message => $msg ); my $blindsig = $ecdsab->sign( Key => $seckey, Init => $init, Plaintext => $req ); my $sig = $ecdsab->unblind( Key => $pubkey, Init => $init, Signature => $blindsig ); print "Verified\n" if $ecdsab->verify( Key => $pubkey, Message => $msg, Signature => $sig );
Creates and returns a new Crypt::ECDSA::Blind object. The following optional named parameters can be provided:
DB - Full pathname of a file to use for the database of initialization vectors. This can also be the special filename ':memory:' in which case the database will be in RAM rather than on a disk file. The default is '/tmp/ceb.db'.
Generates and returns an ECDSA key-pair for blind signing.
Generates and returns an initialization vector for blind signing. The initialization vector should be passed in to the request(), sign() and unblind() methods in the Init named parameter.
Generates and saves an initialization vector for later retrieval by init. Keeping pre-prepared initialization vectors available for use on demand will speed up calls to init.
Generates and returns a blind signing request. The following named parameters are required:
Init - The initialization vector from init()
Key - The public key of the signer
Message - The message to be blind signed
Generates and returns a blind signature. The following named parameters are required:
Key - The private key of the signer
Plaintext - The blind-signing request
Unblinds a blind signature and returns a verifiable signature. The following named parameters are required:
Signature - The blind signature
Verify a signature. The dollowing named parameters are required:
Message - The message that was signed
Accessors can be called with no arguments to query the value of an object property, or with a single argument, to set the property to a specific value (unless it is read-only).
The filename of the file to use for the database of initialization vectors. Default is '/tmp/ceb.db'.
Set true to emit helpful messages for debugging purposes, false otherwise. Default is false.
1. A blind digital signature scheme using elliptic curve digital signature algorithm, Ismail Butun, Mehmet Demirer. http://journals.tubitak.gov.tr/elektrik/abstract.htm?id=13855
Ashish Gulhati, <crypt-ecdsab at hash.neo.tc>
<crypt-ecdsab at hash.neo.tc>
Please report any bugs or feature requests to bug-crypt-ecdsa-blind at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Crypt-ECDSA-Blind. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
bug-crypt-ecdsa-blind at rt.cpan.org
You can find documentation for this module with the perldoc command.
perldoc Crypt::ECDSA::Blind
You can also look for information at:
RT: CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Crypt-ECDSA-Blind
AnnoCPAN: Annotated CPAN documentation
http://annocpan.org/dist/Crypt-ECDSA-Blind
CPAN Ratings
http://cpanratings.perl.org/d/Crypt-ECDSA-Blind
Search CPAN
http://search.cpan.org/dist/Crypt-ECDSA-Blind/
Copyright (c) Ashish Gulhati.
This software package is Open Software; you can use, redistribute, and/or modify it under the terms of the Open Artistic License 2.0.
Please see http://www.opensoftwr.org/oal20.txt for the full license terms, and ensure that the license grant applies to you before using or modifying this software. By using or modifying this software, you indicate your agreement with the license terms.
To install Crypt::ECDSA::Blind, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Crypt::ECDSA::Blind
CPAN shell
perl -MCPAN -e shell install Crypt::ECDSA::Blind
For more information on module installation, please visit the detailed CPAN module installation guide.