BouncyCastle valida la generación de clave pública secp256k1

Tengo el siguiente código Java usando la biblioteca bounce castle:

byte[] privKey = new byte[32];
privKey[31] = 1;


ECNamedCurveParameterSpec spec = ECNamedCurveTable.getParameterSpec("secp256k1");
ECPoint pointQ = spec.getG().multiply(new BigInteger(1, privKey));

System.out.println(pointQ.getRawXCoord());
System.out.println(pointQ.getRawYCoord());

Para estar seguro, quería validar los valores calculados de X e Y en un vector de prueba secp256k1. https://chuckbatson.wordpress.com/2014/11/26/secp256k1-test-vectors/

Esto solo funciona para k = 1.

Pero cuando uso k = 2 como en

byte[] privKey = new byte[32];
privKey[31] = 2;

Obtengo valores completamente diferentes para X e Y. ¿Estoy haciendo algo mal aquí?

Respuesta 1

Tengo una aplicación de cliente de Android que se comunica con el servidor usando Socket. En mi máquina de desarrollo, SocketServer (el servidor también está escrito en Java) está escuchando en 127.0.1.1 en el puerto 8666. También tengo ...

Estoy usando la integración de Spring para almacenar datos en una base de datos mongo. Estoy usando las clases java (MongoDbStoringMessageHandler), no la configuración xml y no puedo encontrar la forma de obtener los resultados cuando ...

El método Picture recibe un int al azar. Quiero agregar i al R.drawable.pic + i para elegir aleatoriamente entre varios dibujables en la carpeta de recursos (pic0, pic1, pic2, ...) y configurarlos como ...

Tengo un archivo con una cadena larga y me gustaría dividirlo por elemento específico, es decir, Línea de cadena = "{{[Metadatos {" este, es mi primero, cadena "}]}, {[Metadatos {" este, es mi segundo, cadena "}]}, {[Metadatos {" ...