![JAR search and dependency download from the Maven repository](/logo.png)
org.bouncycastle.crypto.internal.params.MqvPrivateParameters Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bc-fips-debug Show documentation
Show all versions of bc-fips-debug Show documentation
The FIPS 140-2 Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms certified to FIPS 140-2 level 1. This jar contains the debug version JCE provider and low-level API for the BC-FJA version 1.0.2.3, FIPS Certificate #3514. Please note the debug jar is not certified.
package org.bouncycastle.crypto.internal.params;
import org.bouncycastle.crypto.IllegalKeyException;
import org.bouncycastle.crypto.internal.CipherParameters;
public class MqvPrivateParameters
implements CipherParameters
{
private DhPrivateKeyParameters staticPrivateKey;
private DhPrivateKeyParameters ephemeralPrivateKey;
private DhPublicKeyParameters ephemeralPublicKey;
public MqvPrivateParameters(
DhPrivateKeyParameters staticPrivateKey,
DhPrivateKeyParameters ephemeralPrivateKey)
{
this(staticPrivateKey, ephemeralPrivateKey, new DhPublicKeyParameters(
ephemeralPrivateKey.getParameters().getG().modPow(ephemeralPrivateKey.getX(), ephemeralPrivateKey.getParameters().getP()), ephemeralPrivateKey.getParameters()));
}
public MqvPrivateParameters(
DhPrivateKeyParameters staticPrivateKey,
DhPrivateKeyParameters ephemeralPrivateKey,
DhPublicKeyParameters ephemeralPublicKey)
{
this.staticPrivateKey = staticPrivateKey;
this.ephemeralPrivateKey = ephemeralPrivateKey;
this.ephemeralPublicKey = ephemeralPublicKey;
if (!staticPrivateKey.getParameters().equals(ephemeralPrivateKey.getParameters())
|| !staticPrivateKey.getParameters().equals(ephemeralPublicKey.getParameters()))
{
throw new IllegalKeyException("Static and ephemeral keys have different domain parameters");
}
}
public DhPrivateKeyParameters getStaticPrivateKey()
{
return staticPrivateKey;
}
public DhPrivateKeyParameters getEphemeralPrivateKey()
{
return ephemeralPrivateKey;
}
public DhPublicKeyParameters getEphemeralPublicKey()
{
return ephemeralPublicKey;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy