byte[] k = new BigInteger("6140507067065001063065065565667405560006161556565665656654").toByteArray();
byte[] vals = new BigInteger("6140507067065001063065065565667405560006161556565665656654").toByteArray();
    private void testECDSA192bitPrime()    {        BigInteger r = new BigInteger("3342403536405981729393488334694600415596881826869351677613");        BigInteger s = new BigInteger("5735822328888155254683894997897571951568553642892029982342");        SecureRandom    k = new SecureRandom()        {            public void nextBytes(byte[] bytes)            {                byte[] k = new BigInteger("6140507067065001063065065565667405560006161556565665656654").toByteArray();                System.arraycopy(k, k.length-bytes.length, bytes, 0, bytes.length);            }        };        ECCurve.Fp curve = new ECCurve.Fp(            new BigInteger("6277101735386680763835789423207666416083908700390324961279"), // q            new BigInteger("fffffffffffffffffffffffffffffffefffffffffffffffc", 16), // a            new BigInteger("64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1", 16)); // b        ECDomainParameters params = new ECDomainParameters(                curve,                curve.decodePoint(Hex.decode("03188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012")), // G                new BigInteger("6277101735386680763835789423176059013767194773182842284081")); // n        ECPrivateKeyParameters priKey = new ECPrivateKeyParameters(            new BigInteger("651056770906015076056810763456358567190100156695615665659"), // d            params);        ParametersWithRandom param = new ParametersWithRandom(priKey, k);        ECDSASigner ecdsa = new ECDSASigner();        ecdsa.init(true, param);        byte[] message = new BigInteger("968236873715988614170569073515315707566766479517").toByteArray();        BigInteger[] sig = ecdsa.generateSignature(message);        if (!r.equals(sig[0]))        {            fail("r component wrong." + System.getProperty("line.separator")                + " expecting: " + r + System.getProperty("line.separator")                + " got      : " + sig[0]);        }        if (!s.equals(sig[1]))        {            fail("s component wrong." + System.getProperty("line.separator")                + " expecting: " + s + System.getProperty("line.separator")                + " got      : " + sig[1]);        }        // Verify the signature        ECPublicKeyParameters pubKey = new ECPublicKeyParameters(            curve.decodePoint(Hex.decode("0262b12d60690cdcf330babab6e69763b471f994dd702d16a5")), // Q            params);        ecdsa.init(false, pubKey);        if (!ecdsa.verifySignature(message, sig[0], sig[1]))        {            fail("verification fails");        }    }