A new project to make bitcoin enthusiast life easier.
Fast Sign & Verify "FSV"This tool can sign or verify a bitcoin signature really easily. It provides one-click checking of signed messages.
It is like Brainwallet but in your PC, no need to have an Internet connection nor to open a web-browser.
This is a open-source software for PC which is focused on ECDSA Bitcoin signature. Some similar tools can exist but this one is really fast, small and easy to use.
The goal is to have a little software that everyone can rely on, to check signature in an easy manner, or sign a message and generate a "PGP like" code ready to paste on forum, in emails, in private message, etc... Then one can verify it just pasting it and click to verify.
Installation :LinuxUbuntu (Debian, Xubuntu, Mint, …)
sudo apt-get install python-wxgtk2.8 python-wxtools wx2.8-i18n
wget http://github.com/antonio-fr/Fast_Sign_Verify/archive/0.40.tar.gz
tar -xvzf v0.40.tar.gz
Fedora / CentOS (Red Hat Linux)
sudo yum install wxPython
curl -OL http://github.com/antonio-fr/Fast_Sign_Verify/archive/0.40.tar.gz
tar -xvzf v0.40.tar.gz
Then run
main.py in
Fast_Sign_Verify-0.40 directory like:
cd Fast_Sign_Verify-0.40
python2.7 main.py
Windows : Get the zip here: ( For XP, Vista, 7, 8, and 8.1 )
http://github.com/antonio-fr/Fast_Sign_Verify/releases/download/0.40/FSV_v040.zipUnzip and run FSV.exe
On
other platforms:
Needs Python 2.7 and WxPython >= 2.8
Usage:For signing:Enter a message and a private key (
WIF, base58chk).
The private key (for now) cannot be compressed, WIF form "5xPyRzIaVbAcTdEeKfEgY..." is required.
You can chose deterministic signing or standard random signature.
Signature will appear in "signature" field after clicking on "SIGN".
( For now, I don't recommend signing without deterministic in Windows. )
You can copy in clipboard the signature alone (
COPY button) or the full signature with "
Copy ALL". This will fill the clipboard with "PGP style" signature that you can copy directly in your email, forum message, messenger, etc...
For checking:Enter :
- The message
- A public key (base58chk)
- A signature (base64)
You can also paste a full message "PGP like" in message field (no need to fill Address nor Signature field.)
It automagically detects the format between these two:
1) Simple "input.io" style---- MESSAGE HEADER ----
message signed
is here
---- SIG HEADER ----
1AddressBitcoin
SignatureBase64=
---- END FOOTER ----
2) "Qt1.0" style, Multibit---- MESSAGE HEADER ----
message signed
is here
---- SIG HEADER ----
Version: Info
Address: 1AddressBitcoin
SignatureBase64=
---- END FOOTER ----
If you have any other format, you have to enter in the dedicated fields. For example when message is signed with Electrum or official bitcoin client, most of the time you have to enter in 3 fields (message, address and signature).
Speed Comparison : (time in seconds, lower is better)
Software | Signature | Checking |
Electrum | 5.90 | 2.00 |
FSV 0.12 | 1.10 | 1.90 |
FSV 0.14 | 1.10 | 1.60 |
FSV 0.30 | 0.75 | 1.25 |
FSV 0.40 | 0.61 | 0.97 |
| | |
Electrum is not the fastest avalaible,
it is used as a reference since this is also pure python software.
Why trust this software about reliability, security and accuracy?
I use this tool, I design it for myself. In a way you need to trust me, but also you can look at the code to see everything is right. For message signature or checking this is excellent: easy to use and reliable.
Why is it written in Python? In C it could be 10000x faster?
- With Python everybody can check and trust this software from sources.
- This is multi-platform, no need binary compilation for each platform.
- I have some skills in Python btw.
Future Improvements - Private key import wizard (wallet.dat, DER, ...)
- Signature export and import options (format, PKCS,...)
- Private key, address, options saving
- BTChip integration (signing with USB keycard)
I need to know what is your main source of private key.
Every remarks, ideas, improvement needs are welcome!
Licence
GPLv3Sources:
https://github.com/antonio-fr/Fast_Sign_Verify