if (!random.isExhausted()) { return new SimpleTestResult(false, getName() + ": unexpected number of bytes used from 'random'."); }
        public TestResult perform()        {            BigInteger              r = new BigInteger("7c07c8cf035c2a1cb2b7fae5807ac7cd623dfca7a1a68f6d858317822f1ea00d",16);            BigInteger              s = new BigInteger("7e9e036a6ff87dbf9b004818252b1f6fc310bdd4d17cb8c37d9c36c7884de60c",16);            GOST3410ParametersGenerator  pGen = new GOST3410ParametersGenerator();            pGen.init(512, 2, init_random);            GOST3410Parameters           params = pGen.generateParameters();            if (!pValue.equals(params.getP()) || !qValue.equals(params.getQ()))            {                return new SimpleTestResult(false, getName() + ": p or q wrong");            }            GOST3410KeyPairGenerator         GOST3410KeyGen = new GOST3410KeyPairGenerator();            GOST3410KeyGenerationParameters  genParam = new GOST3410KeyGenerationParameters(keyRandom, params);            GOST3410KeyGen.init(genParam);            AsymmetricCipherKeyPair  pair = GOST3410KeyGen.generateKeyPair();            ParametersWithRandom param = new ParametersWithRandom(pair.getPrivate(), random);            GOST3410Signer GOST3410 = new GOST3410Signer();            GOST3410.init(true, param);                        BigInteger[] sig = GOST3410.generateSignature(hashmessage);            if (!r.equals(sig[0]))            {                return new SimpleTestResult(false, getName()                    + ": r component wrong." + System.getProperty("line.separator")                    + " expecting: " + r.toString(16) + System.getProperty("line.separator")                    + " got      : " + sig[0].toString(16));            }            if (!s.equals(sig[1]))            {                return new SimpleTestResult(false, getName()                    + ": s component wrong." + System.getProperty("line.separator")                    + " expecting: " + s.toString(16) + System.getProperty("line.separator")                    + " got      : " + sig[1].toString(16));            }            GOST3410.init(false, pair.getPublic());            if (GOST3410.verifySignature(hashmessage, sig[0], sig[1]))            {                return new SimpleTestResult(true, getName() + ": Okay");            }            else            {                return new SimpleTestResult(false, getName() + ": verification fails");            }        }