online tool to play around with ECDSA public keys, message signature verification?

4

2

I realize that this question may be borderline bannable because it's asking for suggestions on tools, but it will really help newbies. This online tool allowed me to play around with hashes and to really understand them at a deeper level: http://www.fileformat.info/tool/hash.htm

I can't find a similar tool (that works) for ECDSA cryptography where I can play around with public and private keys, and do digital signatures on messages, and test signature verification.

I've found these 2 sites that claim to do this but didn't work for me:

  1. http://dbis.rwth-aachen.de/~renzel/mobsos/lib/js/jsrsasign/sample-ecdsa.html

  2. http://extranet.cryptomathic.com/ecc/index

Thoughts? Suggestions?


UPDATE: Great suggestions below. Some tools I found:

for hashing: http://www.fileformat.info/tool/hash.htm

generating public private key pairs and decrypting ciphers: https://8gwifi.org/rsafunctions.jsp

Generating EC public private key pairs and signing Verifying the Message https://8gwifi.org/ecsignverify.jsp

generating public private key pairs and testing signing: https://kjur.github.io/jsrsasign/sample/sample-ecdsa.html

thanks_in_advance

Posted 2017-05-15T21:20:42.530

Reputation: 363

For generating EC Keys https://8gwifi.org/ecfunctions.jsp

anish 2018-08-07T02:51:47.177

Answers

3

Here are a few I'd recommend:

Or play with pybitcointools at the command line (not online):

$ git clone https://github.com/vbuterin/pybitcointools.git
$ cd pybitcointools
$ python
>>> from bitcoin import *
>>> sk = random_key()  # Generate a private key
>>> vk = privtopub(sk) # Generate a public key
>>> msg = 'hello world' # Create a simple message
>>> sig = ecdsa_sign(msg, sk) # Sign the message using your private key
>>> print sig
GxXGAt...2L/eJk=
>>> print ecdsa_verify(msg, sig, vk) # Use sig and public key to verify
True
>>> msg = 'hello mars' # Change the message
>>> print ecdsa_verify(msg, sig, vk) # Changing the msg invalidates sig
False

http://showterm.io/203b168061b0156c4d1dd

HD Wallet stuff:

If you're looking to learn more about ECDSA suggest checking out: https://jeremykun.com/2014/02/08/introducing-elliptic-curves/

Justin O'Brien

Posted 2017-05-15T21:20:42.530

Reputation: 106

Question: In the first link (bitcore.io), they provide a private-public key pair, and an 'Address'. I presume the 'Address' is the SHA-256 hash of the public key. But when I try to hash the public key on this site (http://www.fileformat.info/tool/hash.htm) I don't get the same SHA-256 hash. Could you help me understand what the 'Address' is in that case?

thanks_in_advance 2017-05-22T05:28:46.573

1

Address creation is a bit more complicated. It's really a series of steps as shown here: http://gobittest.appspot.com/Address. Though there are two types (compressed vs. uncompressed) and I believe you will get different addresses if you use the gobittest vs. bitcore.

Justin O'Brien 2017-05-24T02:10:31.613

1

Using this private key: 2b1f14de0bc7b8d71a6409749e9e88d6e227c6516943713ed08448343722ae85 Bitcore generates: 1JmAEL8KbzVXFc15KUb9YXjgTop321WiC6 Gobittest generates: 1JsnjS7t8JW5CDi1UMwp6BSG2rJ3Xm94BF For more see: https://github.com/bitcoin-bootcamp/bitcoin-exercises/tree/master/addresses $ python address.py --secret '2b1...e85' Bitcoin Address (Compressed): 1JmAEL8KbzVXFc15KUb9YXjgTop321WiC6 $ python address.py --secret '2b1...e85' --u Bitcoin Address (Uncompressed): 1JsnjS7t8JW5CDi1UMwp6BSG2rJ3Xm94BF

Justin O'Brien 2017-05-24T02:18:36.483

Interesting - good to know. I thought a bitcoin address was simply the hash of a public key. Turns out it's more complicated.thanks_in_advance 2017-05-24T12:17:06.493

2

closest I can come up with are these:

http://coinig.com/

http://gobittest.appspot.com/Address

https://www.bitaddress.org/bitaddress.org-v3.2.0-SHA256-ad4fd171c647772aa76d0ce828731b01ca586596275d43a94008766b758e8736.html

https://coinb.in/

not exactly ECDSA, but served me alot for Bitcoin undertsanding/testing.

Security hint: you would never provide/use a private key to/from such a public website, unless you are really sure of what you are doing. Be extremly careful.

pebwindkraft

Posted 2017-05-15T21:20:42.530

Reputation: 4 568

The first link lets me verify a public key + message + signature combination. Do you know of some online site that will generate a signature given a private key and a message (just for playing around purposes of course -- your fair warning is very apt).thanks_in_advance 2017-05-16T01:05:29.617

1

no, I don't know a webpage that provides this ... when I was playing with signatures, I used the command line: https://bitcoin.stackexchange.com/questions/46455/verifying-a-bitcoin-trx-on-the-unix-cmd-line-with-openssl

pebwindkraft 2017-05-16T09:44:46.400

1

Here's a site that lets you play around with ECDSA.

https://crypto-utils.com/

user2259659

Posted 2017-05-15T21:20:42.530

Reputation: 111

0

Here is an ECC calculator for the Secp256k1 curve that I'm programming in Java. https://github.com/MrMaxweII/Secp256k1-Calculator

MixMAx123

Posted 2017-05-15T21:20:42.530

Reputation: 1

for build modern GUI swing you can use this library

vincenzopalazzo 2019-11-17T11:37:41.640