diff options
Diffstat (limited to 'core/src/test/java/org/bouncycastle/crypto/test/ECNRTest.java')
-rw-r--r-- | core/src/test/java/org/bouncycastle/crypto/test/ECNRTest.java | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/core/src/test/java/org/bouncycastle/crypto/test/ECNRTest.java b/core/src/test/java/org/bouncycastle/crypto/test/ECNRTest.java deleted file mode 100644 index d4cf7419..00000000 --- a/core/src/test/java/org/bouncycastle/crypto/test/ECNRTest.java +++ /dev/null @@ -1,99 +0,0 @@ -package org.bouncycastle.crypto.test; - -import java.math.BigInteger; -import java.security.SecureRandom; - -import org.bouncycastle.crypto.params.ECDomainParameters; -import org.bouncycastle.crypto.params.ECPrivateKeyParameters; -import org.bouncycastle.crypto.params.ECPublicKeyParameters; -import org.bouncycastle.crypto.params.ParametersWithRandom; -import org.bouncycastle.crypto.signers.ECNRSigner; -import org.bouncycastle.math.ec.ECConstants; -import org.bouncycastle.math.ec.ECCurve; -import org.bouncycastle.util.BigIntegers; -import org.bouncycastle.util.encoders.Hex; -import org.bouncycastle.util.test.FixedSecureRandom; -import org.bouncycastle.util.test.SimpleTest; - -/** - * ECNR tests. - */ -public class ECNRTest - extends SimpleTest -{ - /** - * a basic regression test with 239 bit prime - */ - BigInteger r = new BigInteger("308636143175167811492623515537541734843573549327605293463169625072911693"); - BigInteger s = new BigInteger("852401710738814635664888632022555967400445256405412579597015412971797143"); - - byte[] kData = BigIntegers.asUnsignedByteArray(new BigInteger("700000017569056646655505781757157107570501575775705779575555657156756655")); - - SecureRandom k = new FixedSecureRandom(true, kData); - - private void ecNR239bitPrime() - { - BigInteger n = new BigInteger("883423532389192164791648750360308884807550341691627752275345424702807307"); - - ECCurve.Fp curve = new ECCurve.Fp( - new BigInteger("883423532389192164791648750360308885314476597252960362792450860609699839"), // q - new BigInteger("7fffffffffffffffffffffff7fffffffffff8000000000007ffffffffffc", 16), // a - new BigInteger("6b016c3bdcf18941d0d654921475ca71a9db2fb27d1d37796185c2942c0a", 16), // b - n, ECConstants.ONE); - - ECDomainParameters params = new ECDomainParameters( - curve, - curve.decodePoint(Hex.decode("020ffa963cdca8816ccc33b8642bedf905c3d358573d3f27fbbd3b3cb9aaaf")), // G - n); - - ECPrivateKeyParameters priKey = new ECPrivateKeyParameters( - new BigInteger("876300101507107567501066130761671078357010671067781776716671676178726717"), // d - params); - - ECNRSigner ecnr = new ECNRSigner(); - ParametersWithRandom param = new ParametersWithRandom(priKey, k); - - ecnr.init(true, param); - - byte[] message = new BigInteger("968236873715988614170569073515315707566766479517").toByteArray(); - BigInteger[] sig = ecnr.generateSignature(message); - - if (!r.equals(sig[0])) - { - fail("r component wrong.", r, sig[0]); - } - - if (!s.equals(sig[1])) - { - fail("s component wrong.", s, sig[1]); - } - - // Verify the signature - ECPublicKeyParameters pubKey = new ECPublicKeyParameters( - curve.decodePoint(Hex.decode("025b6dc53bc61a2548ffb0f671472de6c9521a9d2d2534e65abfcbd5fe0c70")), // Q - params); - - ecnr.init(false, pubKey); - if (!ecnr.verifySignature(message, sig[0], sig[1])) - { - fail("signature fails"); - } - } - - public String getName() - { - return "ECNR"; - } - - public void performTest() - { - ecNR239bitPrime(); - } - - public static void main( - String[] args) - { - runTest(new ECNRTest()); - } -} - |