herramienta en línea para jugar con claves públicas ECDSA, verificación de firma de mensaje?

Me doy cuenta de que esta pregunta puede estar en el límite de la prohibición porque pide sugerencias sobre herramientas, pero realmente ayudará a los novatos. Esta herramienta en línea me permitió jugar con hashes y comprenderlos realmente a un nivel más profundo: http://www.fileformat.info/tool/hash.htm

No puedo encontrar una herramienta similar (que funcione) para la criptografía ECDSA en la que pueda jugar con claves públicas y privadas, hacer firmas digitales en mensajes y probar la verificación de firmas.

Encontré estos 2 sitios que afirman hacer esto pero no funcionaron para mí:

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

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

¿Pensamientos? ¿Sugerencias?


ACTUALIZACIÓN: Excelentes sugerencias a continuación. Algunas herramientas que encontré:

para hash: http://www.fileformat.info/tool/hash.htm

generar pares de claves públicas y privadas y descifrar cifrados: https://8gwifi.org/rsafunctions.jsp

Generación de pares de claves públicas privadas EC y firma Verificación del mensaje https://8gwifi.org/ecsignverify.jsp

generar pares de claves públicas y privadas y probar la firma: https://kjur.github.io/jsrsasign/sample/sample-ecdsa.html

Para generar EC Keys 8gwifi.org/ecfunctions.jsp

Respuestas (3)

Aquí hay algunos que recomendaría:

O juega con pybitcointoolsla línea de comando (no en línea):

$ 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

Material de la billetera HD:

Si desea obtener más información sobre ECDSA, sugiera consultar: https://jeremykun.com/2014/02/08/introducing-elliptic-curves/

Pregunta: En el primer enlace (bitcore.io), proporcionan un par de claves públicas y privadas y una 'Dirección'. Supongo que la 'Dirección' es el hash SHA-256 de la clave pública. Pero cuando trato de hacer un hash de la clave pública en este sitio ( fileformat.info/tool/hash.htm ) no obtengo el mismo hash SHA-256. ¿Podría ayudarme a entender cuál es la 'Dirección' en ese caso?
La creación de direcciones es un poco más complicada. Es realmente una serie de pasos como se muestra aquí: gobittest.appspot.com/Address . Aunque hay dos tipos (comprimido vs. sin comprimir) y creo que obtendrá diferentes direcciones si usa gobittest vs. bitcore.
Using this private key: 2b1f14de0bc7b8d71a6409749e9e88d6e227c6516943713ed08448343722ae85 Bitcore generates: 1JmAEL8KbzVXFc15KUb9YXjgTop321WiC6 Gobittest generates: 1JsnjS7t8JW5CDi1UMwp6BSG2rJ3Xm94BF For more see: github.com/bitcoin-bootcamp/bitcoin-exercises/tree/master/… $ python address.py --secret '2b1...e85' Dirección de Bitcoin (comprimida): 1JmAEL8KbzVXFc15KUb9YXjgTop321WiC6 $ python address.py --secret '2b1...e85' --u Dirección de Bitcoin (sin comprimir): 1JsnjS7t8JW5CDi1UMwp6BSG2rJ3Xm94BF
Interesante - bueno saberlo. Pensé que una dirección de bitcoin era simplemente el hash de una clave pública. Resulta que es más complicado.

lo más cercano que se me ocurre son estos:

http://coinig.com/

http://gobittest.appspot.com/Dirección

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

https://coinb.in/

no es exactamente ECDSA, pero me sirvió mucho para entender/probar Bitcoin.

Sugerencia de seguridad : nunca proporcionaría/utilizaría una clave privada hacia/desde un sitio web tan público, a menos que esté realmente seguro de lo que está haciendo. Sea extremadamente cuidadoso.

El primer enlace me permite verificar una combinación de clave pública + mensaje + firma. ¿Conoce algún sitio en línea que genere una firma dada una clave privada y un mensaje (solo para jugar, por supuesto, su advertencia justa es muy adecuada).
no, no conozco una página web que proporcione esto... cuando estaba jugando con firmas, usé la línea de comando: bitcoin.stackexchange.com/questions/46455/…

Aquí hay una calculadora ECC para la curva Secp256k1 que estoy programando en Java. https://github.com/MrMaxweII/Secp256k1-Calculadora

para construir un swing de GUI moderno, puede usar esta biblioteca