Class FipsDH.MQVAgreementParameters

  • All Implemented Interfaces:
    Parameters
    Enclosing class:
    FipsDH

    public static final class FipsDH.MQVAgreementParameters
    extends FipsAgreementParameters
    Parameters for Diffie-Hellman based key agreement using MQV.
    • Method Detail

      • getEphemeralPublicKey

        public AsymmetricDHPublicKey getEphemeralPublicKey()
        Return our ephemeral public key, if present.
        Returns:
        our ephemeral public key, or null.
      • getEphemeralPrivateKey

        public AsymmetricDHPrivateKey getEphemeralPrivateKey()
        Return our ephemeral private key.
        Returns:
        our ephemeral private key.
      • getOtherPartyEphemeralKey

        public AsymmetricDHPublicKey getOtherPartyEphemeralKey()
        Return the other party's ephemeral public key.
        Returns:
        the other party's ephemeral public key.
      • withDigest

        public FipsDH.MQVAgreementParameters withDigest​(FipsAlgorithm digestAlgorithm)
        Add a digest algorithm to process the Z value with.
        Parameters:
        digestAlgorithm - digest algorithm to use.
        Returns:
        a new parameter set, including the digest algorithm
      • withPRF

        public FipsDH.MQVAgreementParameters withPRF​(FipsKDF.PRF prfAlgorithm,
                                                     byte[] salt)
        Add a PRF algorithm and salt to process the Z value with (as in SP 800-56C)
        Parameters:
        prfAlgorithm - PRF represent the MAC/HMAC algorithm to use.
        salt - the salt to use to initialise the PRF
        Returns:
        a new parameter set, including the digest algorithm
      • withKDF

        public FipsDH.MQVAgreementParameters withKDF​(FipsKDF.AgreementKDFParametersBuilder kdfType,
                                                     byte[] iv,
                                                     int outputSize)
        Add a KDF to process the Z value with. The outputSize parameter determines how many bytes will be generated.
        Parameters:
        kdfType - KDF algorithm type to use for parameter creation.
        iv - the iv parameter for KDF initialization.
        outputSize - the size of the output to be generated from the KDF.
        Returns:
        a new parameter set, the KDF definition.