Search in sources :

Example 1 with DHPrivateKeyParameters

use of org.gudy.bouncycastle.crypto.params.DHPrivateKeyParameters in project BiglyBT by BiglySoftware.

the class DHKeyPairGenerator method generateKeyPair.

@Override
public AsymmetricCipherKeyPair generateKeyPair() {
    BigInteger p, g, x, y;
    int qLength = param.getStrength() - 1;
    DHParameters dhParams = param.getParameters();
    p = dhParams.getP();
    g = dhParams.getG();
    // 
    // calculate the private key
    // 
    x = new BigInteger(qLength, param.getRandom());
    // 
    // calculate the public key.
    // 
    y = g.modPow(x, p);
    return new AsymmetricCipherKeyPair(new DHPublicKeyParameters(y, dhParams), new DHPrivateKeyParameters(x, dhParams));
}
Also used : DHPublicKeyParameters(org.gudy.bouncycastle.crypto.params.DHPublicKeyParameters) DHParameters(org.gudy.bouncycastle.crypto.params.DHParameters) DHPrivateKeyParameters(org.gudy.bouncycastle.crypto.params.DHPrivateKeyParameters) BigInteger(java.math.BigInteger) AsymmetricCipherKeyPair(org.gudy.bouncycastle.crypto.AsymmetricCipherKeyPair)

Example 2 with DHPrivateKeyParameters

use of org.gudy.bouncycastle.crypto.params.DHPrivateKeyParameters in project BiglyBT by BiglySoftware.

the class DHBasicKeyPairGenerator method generateKeyPair.

@Override
public AsymmetricCipherKeyPair generateKeyPair() {
    BigInteger p, g, x, y;
    int qLength = param.getStrength() - 1;
    DHParameters dhParams = param.getParameters();
    p = dhParams.getP();
    g = dhParams.getG();
    // 
    // calculate the private key
    // 
    x = new BigInteger(qLength, param.getRandom());
    // 
    // calculate the public key.
    // 
    y = g.modPow(x, p);
    return new AsymmetricCipherKeyPair(new DHPublicKeyParameters(y, dhParams), new DHPrivateKeyParameters(x, dhParams));
}
Also used : DHPublicKeyParameters(org.gudy.bouncycastle.crypto.params.DHPublicKeyParameters) DHParameters(org.gudy.bouncycastle.crypto.params.DHParameters) DHPrivateKeyParameters(org.gudy.bouncycastle.crypto.params.DHPrivateKeyParameters) BigInteger(java.math.BigInteger) AsymmetricCipherKeyPair(org.gudy.bouncycastle.crypto.AsymmetricCipherKeyPair)

Aggregations

BigInteger (java.math.BigInteger)2 AsymmetricCipherKeyPair (org.gudy.bouncycastle.crypto.AsymmetricCipherKeyPair)2 DHParameters (org.gudy.bouncycastle.crypto.params.DHParameters)2 DHPrivateKeyParameters (org.gudy.bouncycastle.crypto.params.DHPrivateKeyParameters)2 DHPublicKeyParameters (org.gudy.bouncycastle.crypto.params.DHPublicKeyParameters)2