public int getFieldSize() { return (key.getParameters().getP().bitLength() + 7) / 8; }
public AsymmetricKeyParameter readKey(InputStream stream) throws IOException { byte[] V = new byte[(dhParams.getP().bitLength() + 7) / 8]; Streams.readFully(stream, V, 0, V.length); return new DHPublicKeyParameters(new BigInteger(1, V), dhParams); } }
static int getStrength(DHParameters params) { return params.getL() != 0 ? params.getL() : params.getP().bitLength(); } }
public int hashCode() { return getP().hashCode() ^ getG().hashCode() ^ (getQ() != null ? getQ().hashCode() : 0); } }
static int getStrength(DHParameters params) { return params.getL() != 0 ? params.getL() : params.getP().bitLength(); } }
BigInteger calculatePublic(DHParameters dhParams, BigInteger x) { return dhParams.getG().modPow(x, dhParams.getP()); } }
BigInteger calculatePublic(DHParameters dhParams, BigInteger x) { return dhParams.getG().modPow(x, dhParams.getP()); } }
public static DHPublicKeyParameters validateDHPublicKey(DHPublicKeyParameters key) throws IOException { DHParameters params = validateDHParameters(key.getParameters()); BigInteger Y = key.getY(); if (Y.compareTo(TWO) < 0 || Y.compareTo(params.getP().subtract(TWO)) > 0) { throw new TlsFatalAlert(AlertDescription.illegal_parameter); } // TODO See RFC 2631 for more discussion of Diffie-Hellman validation return key; }
protected DHParameters validateDHParameters(DHParameters params) throws IOException { if (params.getP().bitLength() < getMinimumPrimeBits()) { throw new TlsFatalAlert(AlertDescription.insufficient_security); } return TlsDHUtils.validateDHParameters(params); } }
public CramerShoupParameters generateParameters(DHParameters dhParams) { BigInteger p = dhParams.getP(); BigInteger g1 = dhParams.getG(); // now we just need a second generator BigInteger g2 = ParametersHelper.selectGenerator(p, random); while (g1.equals(g2)) { g2 = ParametersHelper.selectGenerator(p, random); } return new CramerShoupParameters(p, g1, g2, new SHA256Digest()); }
JCEDHPublicKey( DHPublicKeyParameters params) { this.y = params.getY(); this.dhSpec = new DHParameterSpec(params.getParameters().getP(), params.getParameters().getG(), params.getParameters().getL()); }
JCEDHPrivateKey( DHPrivateKeyParameters params) { this.x = params.getX(); this.dhSpec = new DHParameterSpec(params.getParameters().getP(), params.getParameters().getG(), params.getParameters().getL()); }
BCDHPrivateKey( DHPrivateKeyParameters params) { this.x = params.getX(); this.dhSpec = new DHParameterSpec(params.getParameters().getP(), params.getParameters().getG(), params.getParameters().getL()); }
BCDHPublicKey( DHPublicKeyParameters params) { this.y = params.getY(); this.dhSpec = new DHParameterSpec(params.getParameters().getP(), params.getParameters().getG(), params.getParameters().getL()); }
JCEDHPublicKey( DHPublicKeyParameters params) { this.y = params.getY(); this.dhSpec = new DHParameterSpec(params.getParameters().getP(), params.getParameters().getG(), params.getParameters().getL()); }
BCDHPrivateKey( DHPrivateKeyParameters params) { this.x = params.getX(); this.dhSpec = new DHParameterSpec(params.getParameters().getP(), params.getParameters().getG(), params.getParameters().getL()); }
BCDHPublicKey( DHPublicKeyParameters params) { this.y = params.getY(); this.dhSpec = new DHParameterSpec(params.getParameters().getP(), params.getParameters().getG(), params.getParameters().getL()); this.dhPublicKey = params; }
JCEDHPrivateKey( DHPrivateKeyParameters params) { this.x = params.getX(); this.dhSpec = new DHParameterSpec(params.getParameters().getP(), params.getParameters().getG(), params.getParameters().getL()); }