diff options
Diffstat (limited to 'libraries/spongycastle/prov/src/test/java/org/spongycastle/jce/provider/test/MQVTest.java')
-rw-r--r-- | libraries/spongycastle/prov/src/test/java/org/spongycastle/jce/provider/test/MQVTest.java | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/libraries/spongycastle/prov/src/test/java/org/spongycastle/jce/provider/test/MQVTest.java b/libraries/spongycastle/prov/src/test/java/org/spongycastle/jce/provider/test/MQVTest.java deleted file mode 100644 index 671f47f0d..000000000 --- a/libraries/spongycastle/prov/src/test/java/org/spongycastle/jce/provider/test/MQVTest.java +++ /dev/null @@ -1,93 +0,0 @@ -package org.spongycastle.jce.provider.test; - -import java.math.BigInteger; -import java.security.KeyPair; -import java.security.KeyPairGenerator; -import java.security.SecureRandom; -import java.security.Security; -import java.security.spec.ECFieldFp; -import java.security.spec.ECParameterSpec; -import java.security.spec.EllipticCurve; - -import javax.crypto.KeyAgreement; - -import org.spongycastle.jce.ECPointUtil; -import org.spongycastle.jce.provider.BouncyCastleProvider; -import org.spongycastle.jce.spec.MQVPrivateKeySpec; -import org.spongycastle.jce.spec.MQVPublicKeySpec; -import org.spongycastle.util.encoders.Hex; -import org.spongycastle.util.test.SimpleTest; - -public class MQVTest - extends SimpleTest -{ - public String getName() - { - return "MQV"; - } - - public void performTest() - throws Exception - { - testECMQV(); - } - - private void testECMQV() - throws Exception - { - KeyPairGenerator g = KeyPairGenerator.getInstance("ECMQV", "SC"); - - EllipticCurve curve = new EllipticCurve( - new ECFieldFp(new BigInteger("883423532389192164791648750360308885314476597252960362792450860609699839")), // q - new BigInteger("7fffffffffffffffffffffff7fffffffffff8000000000007ffffffffffc", 16), // a - new BigInteger("6b016c3bdcf18941d0d654921475ca71a9db2fb27d1d37796185c2942c0a", 16)); // b - - ECParameterSpec ecSpec = new ECParameterSpec( - curve, - ECPointUtil.decodePoint(curve, Hex.decode("020ffa963cdca8816ccc33b8642bedf905c3d358573d3f27fbbd3b3cb9aaaf")), // G - new BigInteger("883423532389192164791648750360308884807550341691627752275345424702807307"), // n - 1); // h - - g.initialize(ecSpec, new SecureRandom()); - - // - // U side - // - KeyPair U1 = g.generateKeyPair(); - KeyPair U2 = g.generateKeyPair(); - - KeyAgreement uAgree = KeyAgreement.getInstance("ECMQV", "SC"); - uAgree.init(new MQVPrivateKeySpec(U1.getPrivate(), U2.getPrivate(), U2.getPublic())); - - // - // V side - // - KeyPair V1 = g.generateKeyPair(); - KeyPair V2 = g.generateKeyPair(); - - KeyAgreement vAgree = KeyAgreement.getInstance("ECMQV", "SC"); - vAgree.init(new MQVPrivateKeySpec(V1.getPrivate(), V2.getPrivate(), V2.getPublic())); - - // - // agreement - // - uAgree.doPhase(new MQVPublicKeySpec(V1.getPublic(), V2.getPublic()), true); - vAgree.doPhase(new MQVPublicKeySpec(U1.getPublic(), U2.getPublic()), true); - - BigInteger ux = new BigInteger(uAgree.generateSecret()); - BigInteger vx = new BigInteger(vAgree.generateSecret()); - - if (!ux.equals(vx)) - { - fail("Agreement failed"); - } - } - - public static void main( - String[] args) - { - Security.addProvider(new BouncyCastleProvider()); - - runTest(new MQVTest()); - } -} |