List of usage examples for org.bouncycastle.crypto.params DHParameters getP
public BigInteger getP()
From source file:com.licel.jcardsim.crypto.DHKeyImpl.java
License:Apache License
public void setParameters(CipherParameters params) { DHParameters dhParam = (DHParameters) params; g.setBigInteger(dhParam.getG());//from www . j a va 2s. c om p.setBigInteger(dhParam.getP()); if (dhParam.getQ() != null) { q.setBigInteger(dhParam.getQ()); } }
From source file:de.tsenger.animamea.pace.PaceDH.java
License:Open Source License
public PaceDH(DHParameters dhParameters) { g = dhParameters.getG();//from w w w. j a v a 2s . c o m p = dhParameters.getP(); Random rnd = new Random(); randomGenerator.setSeed(rnd.nextLong()); }
From source file:net.java.otr4j.crypto.DHKeyPairOTR3.java
License:LGPL
/** * Generate a DH key pair.// w w w . j a v a 2 s .c om * * @param random the SecureRandom instance * @return Returns the DH key pair. */ @Nonnull public static DHKeyPairOTR3 generateDHKeyPair(final SecureRandom random) { // Generate a AsymmetricCipherKeyPair using BC. final DHParameters dhParams = new DHParameters(MODULUS, GENERATOR, null, DH_PRIVATE_KEY_MINIMUM_BIT_LENGTH); final DHKeyGenerationParameters params = new DHKeyGenerationParameters(random, dhParams); final DHKeyPairGenerator kpGen = new DHKeyPairGenerator(); kpGen.init(params); final KeyFactory keyFac; try { keyFac = KeyFactory.getInstance(KF_DH); } catch (final NoSuchAlgorithmException ex) { throw new IllegalStateException("DH key factory unavailable.", ex); } final AsymmetricCipherKeyPair pair = kpGen.generateKeyPair(); final DHPublicKeyParameters pub = convertToPublicKeyParams(pair.getPublic()); final DHPublicKeySpec pubKeySpecs = new DHPublicKeySpec(pub.getY(), MODULUS, GENERATOR); final DHPublicKey pubKey; try { pubKey = (DHPublicKey) keyFac.generatePublic(pubKeySpecs); } catch (final InvalidKeySpecException ex) { throw new IllegalStateException("Failed to generate DH public key.", ex); } final DHPrivateKeyParameters priv = convertToPrivateKeyParams(pair.getPrivate()); final DHParameters dhParameters = priv.getParameters(); final DHPrivateKeySpec privKeySpecs = new DHPrivateKeySpec(priv.getX(), dhParameters.getP(), dhParameters.getG()); final DHPrivateKey privKey; try { privKey = (DHPrivateKey) keyFac.generatePrivate(privKeySpecs); } catch (final InvalidKeySpecException ex) { throw new IllegalStateException("Failed to generate DH private key.", ex); } return new DHKeyPairOTR3(privKey, pubKey); }
From source file:net.java.otr4j.crypto.OtrCryptoEngineImpl.java
License:Apache License
@Override public KeyPair generateDHKeyPair() throws OtrCryptoException { // Generate a AsymmetricCipherKeyPair using BC. DHParameters dhParams = new DHParameters(MODULUS, GENERATOR, null, DH_PRIVATE_KEY_MINIMUM_BIT_LENGTH); DHKeyGenerationParameters params = new DHKeyGenerationParameters(new SecureRandom(), dhParams); DHKeyPairGenerator kpGen = new DHKeyPairGenerator(); kpGen.init(params);//ww w.j a v a 2 s.c om AsymmetricCipherKeyPair pair = kpGen.generateKeyPair(); // Convert this AsymmetricCipherKeyPair to a standard JCE KeyPair. DHPublicKeyParameters pub = (DHPublicKeyParameters) pair.getPublic(); DHPrivateKeyParameters priv = (DHPrivateKeyParameters) pair.getPrivate(); try { KeyFactory keyFac = KeyFactory.getInstance("DH"); DHPublicKeySpec pubKeySpecs = new DHPublicKeySpec(pub.getY(), MODULUS, GENERATOR); DHPublicKey pubKey = (DHPublicKey) keyFac.generatePublic(pubKeySpecs); DHParameters dhParameters = priv.getParameters(); DHPrivateKeySpec privKeySpecs = new DHPrivateKeySpec(priv.getX(), dhParameters.getP(), dhParameters.getG()); DHPrivateKey privKey = (DHPrivateKey) keyFac.generatePrivate(privKeySpecs); return new KeyPair(pubKey, privKey); } catch (Exception e) { throw new OtrCryptoException(e); } }
From source file:org.fejoa.library.crypto.AuthProtocolEKE2_SHA3_256_CTR.java
License:Open Source License
private AuthProtocolEKE2_SHA3_256_CTR(String encGroup, byte[] secret) throws CryptoException, InvalidKeySpecException, NoSuchAlgorithmException { DHParameters parameters; switch (encGroup) { case RFC5114_2048_256: { parameters = DHStandardGroups.rfc5114_2048_256; break;/* w w w . j a v a2 s. c om*/ } default: throw new CryptoException("Unsupported group: " + encGroup); } g = parameters.getG(); p = parameters.getP(); symmetric = CryptoSettings.getDefault().symmetric; // Note: no padding might be important to prevent some attacks(?) symmetric.algorithm = "AES/CTR/NoPadding"; symmetric.keyType = "AES"; symmetric.keySize = 256; symmetric.ivSize = 16 * 8; this.secretKey = CryptoHelper.secretKey(secret, symmetric); }
From source file:org.jmrtd.Util.java
License:Open Source License
public static DHParameterSpec toExplicitDHParameterSpec(DHParameters params) { BigInteger p = params.getP(); BigInteger generator = params.getG(); int order = (int) params.getL(); return new DHParameterSpec(p, generator, order); }
From source file:org.xwiki.crypto.internal.asymmetric.generator.BcDHKeyParameterGenerator.java
License:Open Source License
@Override public KeyGenerationParameters generate(KeyParametersGenerationParameters parameters) { if (!(parameters instanceof DHKeyParametersGenerationParameters)) { throw new IllegalArgumentException( "Invalid parameters for DH key parameters generator: " + parameters.getClass().getName()); }// ww w . j ava2 s. co m org.bouncycastle.crypto.params.DHParameters dhParams = getDhParameters(random.get(), (DHKeyParametersGenerationParameters) parameters); org.bouncycastle.crypto.params.DHValidationParameters dhValidParams = dhParams.getValidationParameters(); return new DHKeyGenerationParameters(dhParams.getP(), dhParams.getG(), dhParams.getQ(), dhParams.getM() / 8, dhParams.getL() / 8, dhParams.getJ(), ((dhValidParams != null) ? new DHKeyValidationParameters(dhValidParams.getSeed(), dhValidParams.getCounter()) : null)); }