![JAR search and dependency download from the Maven repository](/logo.png)
org.bouncycastle.crypto.internal.params.EcDhuPrivateParameters 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 EcDhuPrivateParameters
implements CipherParameters
{
private EcPrivateKeyParameters staticPrivateKey;
private EcPrivateKeyParameters ephemeralPrivateKey;
private EcPublicKeyParameters ephemeralPublicKey;
public EcDhuPrivateParameters(
EcPrivateKeyParameters staticPrivateKey,
EcPrivateKeyParameters ephemeralPrivateKey)
{
this(staticPrivateKey, ephemeralPrivateKey,
new EcPublicKeyParameters(ephemeralPrivateKey.getParameters().getG().multiply(ephemeralPrivateKey.getD()), ephemeralPrivateKey.getParameters()));
}
public EcDhuPrivateParameters(
EcPrivateKeyParameters staticPrivateKey,
EcPrivateKeyParameters ephemeralPrivateKey,
EcPublicKeyParameters 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 EcPrivateKeyParameters getStaticPrivateKey()
{
return staticPrivateKey;
}
public EcPrivateKeyParameters getEphemeralPrivateKey()
{
return ephemeralPrivateKey;
}
public EcPublicKeyParameters getEphemeralPublicKey()
{
return ephemeralPublicKey;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy