Package org.bouncycastle.crypto

Examples of org.bouncycastle.crypto.AsymmetricCipherKeyPair


            if (!initialised)
            {
                init(new GOST3410ParameterSpec(CryptoProObjectIdentifiers.gostR3410_94_CryptoPro_A.getId()), new SecureRandom());
            }
           
            AsymmetricCipherKeyPair   pair = engine.generateKeyPair();
            GOST3410PublicKeyParameters  pub = (GOST3410PublicKeyParameters)pair.getPublic();
            GOST3410PrivateKeyParameters priv = (GOST3410PrivateKeyParameters)pair.getPrivate();
           
            return new KeyPair(new JDKGOST3410PublicKey(pub, gost3410Params), new JDKGOST3410PrivateKey(priv, gost3410Params));
        }
View Full Code Here


            if (!initialised)
            {
                throw new IllegalStateException("EC Key Pair Generator not initialised");
            }

            AsymmetricCipherKeyPair     pair = engine.generateKeyPair();
            ECPublicKeyParameters       pub = (ECPublicKeyParameters)pair.getPublic();
            ECPrivateKeyParameters      priv = (ECPrivateKeyParameters)pair.getPrivate();

            if (ecParams instanceof ECParameterSpec)
            {
                ECParameterSpec p = (ECParameterSpec)ecParams;
               
View Full Code Here

            engine.init(param);

            initialised = true;
        }

        AsymmetricCipherKeyPair pair = engine.generateKeyPair();
        DHPublicKeyParameters pub = (DHPublicKeyParameters)pair.getPublic();
        DHPrivateKeyParameters priv = (DHPrivateKeyParameters)pair.getPrivate();

        return new KeyPair(new BCDHPublicKey(pub),
            new BCDHPrivateKey(priv));
    }
View Full Code Here

  public static ECKeyPair createNew (boolean compressed)
  {
    ECKeyPairGenerator generator = new ECKeyPairGenerator ();
    ECKeyGenerationParameters keygenParams = new ECKeyGenerationParameters (domain, secureRandom);
    generator.init (keygenParams);
    AsymmetricCipherKeyPair keypair = generator.generateKeyPair ();
    ECPrivateKeyParameters privParams = (ECPrivateKeyParameters) keypair.getPrivate ();
    ECPublicKeyParameters pubParams = (ECPublicKeyParameters) keypair.getPublic ();
    ECKeyPair k = new ECKeyPair ();
    k.priv = privParams.getD ();
    k.compressed = compressed;
    k.pub = pubParams.getQ ().getEncoded (compressed);
    return k;
View Full Code Here

        sessionId = "-";
      }
      session.getDataMap().put(VanillaProtocol.SESSION_ID, sessionId);
      int keySize = VanillaConfiguration.ENCRYPT_KEY_SIZE.getInt();
      String keyAlgorithm = VanillaConfiguration.ENCRYPT_KEY_ALGORITHM.getString();
      AsymmetricCipherKeyPair keys = SecurityHandler.getInstance().getKeyPair(keySize, keyAlgorithm);
      byte[] randombyte = new byte[4];
      random.nextBytes(randombyte);
      session.getDataMap().put("verifytoken", randombyte);
      byte[] secret = SecurityHandler.getInstance().encodeKey(keys.getPublic());
      session.send(Session.SendType.FORCE, new EncryptionKeyRequestMessage(sessionId, false, secret, randombyte));
    } else {
      session.disconnect("Handshake already exchanged.");
    }
  }
View Full Code Here

      int keySize = VanillaConfiguration.ENCRYPT_KEY_SIZE.getInt();
      String keyAlgorithm = VanillaConfiguration.ENCRYPT_KEY_ALGORITHM.getString();
      String keyPadding = VanillaConfiguration.ENCRYPT_KEY_PADDING.getString();
      AsymmetricBlockCipher cipher = SecurityHandler.getInstance().getAsymmetricCipher(keyAlgorithm, keyPadding);

      AsymmetricCipherKeyPair pair = SecurityHandler.getInstance().getKeyPair(keySize, keyAlgorithm);
      cipher.init(SecurityHandler.DECRYPT_MODE, pair.getPrivate());
      final byte[] initialVector = SecurityHandler.getInstance().processAll(cipher, message.getSecretArray());

      String sessionId = session.getDataMap().get(VanillaProtocol.SESSION_ID);

      final byte[] validateToken = SecurityHandler.getInstance().processAll(cipher, message.getVerifyTokenArray());

      if (validateToken.length != 4) {
        kickInvalidUser(session);
        return;
      }
      final byte[] savedValidateToken = (byte[]) session.getDataMap().get("verifytoken");

      for (int i = 0; i < validateToken.length; i++) {
        if (validateToken[i] != savedValidateToken[i]) {
          kickInvalidUser(session);
          return;
        }
      }

      byte[] publicKeyEncoded = SecurityHandler.getInstance().encodeKey(pair.getPublic());

      String sha1Hash = sha1Hash(new Object[] {sessionId, initialVector, publicKeyEncoded});
      session.getDataMap().put(VanillaProtocol.SESSION_ID, sha1Hash);

      String handshakeUsername = session.getDataMap().get(VanillaProtocol.HANDSHAKE_USERNAME);
View Full Code Here

    Security.addProvider(new BouncyCastleProvider());

    // generate RSA keys
    RSAKeyPairGenerator gen = new RSAKeyPairGenerator();
    gen.init(new RSAKeyGenerationParameters(new BigInteger("10001", 16), new SecureRandom(), 2048, 80));
    AsymmetricCipherKeyPair keyPair = gen.generateKeyPair();

    // some data where first entry is 0
    byte[] data = { 10, 122, 12, 127, 35, 58, 87, 56, -6, 73, 10, -13, -78, 4, -122, -61 };

    // encrypt data asymmetrically
    AsymmetricBlockCipher cipher = new RSAEngine();
    cipher = new PKCS1Encoding(cipher);
    cipher.init(true, keyPair.getPublic());
    byte[] rsaEncryptedData = cipher.processBlock(data, 0, data.length);

    Assert.assertFalse(Arrays.equals(data, rsaEncryptedData));

    // decrypt data asymmetrically
    cipher.init(false, keyPair.getPrivate());
    byte[] dataBack = cipher.processBlock(rsaEncryptedData, 0, rsaEncryptedData.length);

    assertTrue(Arrays.equals(data, dataBack));

    long stopTime = System.currentTimeMillis();
View Full Code Here

         // Generate a keypair
         DHBasicKeyPairGenerator dhGen = new DHBasicKeyPairGenerator();
         dhGen.init(new DHKeyGenerationParameters(random, dhParams));

         AsymmetricCipherKeyPair dhPair = dhGen.generateKeyPair();

         // Store the public value to send to server
         this.Yc = ((DHPublicKeyParameters)dhPair.getPublic()).getY();

         // Calculate the shared secret
         DHBasicAgreement dhAgree = new DHBasicAgreement();
         dhAgree.init(dhPair.getPrivate());

         BigInteger agreement = dhAgree.calculateAgreement(new DHPublicKeyParameters(Ys, dhParams));

         this.pms = BigIntegers.asUnsignedByteArray(agreement);
    }
View Full Code Here

        DHParameters dhp = new DHParameters(egp.getP(), egp.getG(), null, egp.getL())

        BigInteger x = helper.calculatePrivate(dhp, param.getRandom());
        BigInteger y = helper.calculatePublic(dhp, x);

        return new AsymmetricCipherKeyPair(
            new ElGamalPublicKeyParameters(y, egp),
            new ElGamalPrivateKeyParameters(x, egp));
    }
View Full Code Here

        DHParameters dhp = param.getParameters();

        BigInteger x = helper.calculatePrivate(dhp, param.getRandom());
        BigInteger y = helper.calculatePublic(dhp, x);

        return new AsymmetricCipherKeyPair(
            new DHPublicKeyParameters(y, dhp),
            new DHPrivateKeyParameters(x, dhp));
    }
View Full Code Here

TOP

Related Classes of org.bouncycastle.crypto.AsymmetricCipherKeyPair

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.