Class BCMLKEMPrivateKey

java.lang.Object
org.bouncycastle.jcajce.provider.asymmetric.mlkem.BCMLKEMPrivateKey
All Implemented Interfaces:
Serializable, AsymmetricKey, DEREncodablePREVIEW, Key, PrivateKey, Destroyable, BCKey, MLKEMKey, MLKEMPrivateKey

public class BCMLKEMPrivateKey extends Object implements MLKEMPrivateKey, BCKey
See Also:
  • Constructor Details

  • Method Details

    • equals

      public boolean equals(Object o)
      Compare this ML-KEM private key with another object.
      Overrides:
      equals in class Object
      Parameters:
      o - the other object
      Returns:
      the result of the comparison
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • getAlgorithm

      public final String getAlgorithm()
      Specified by:
      getAlgorithm in interface Key
      Returns:
      name of the algorithm - "ML-KEM"
    • getEncoded

      public byte[] getEncoded()
      Specified by:
      getEncoded in interface Key
    • getPublicKey

      public MLKEMPublicKey getPublicKey()
      Description copied from interface: MLKEMPrivateKey
      Return the public key corresponding to this private key.
      Specified by:
      getPublicKey in interface MLKEMPrivateKey
      Returns:
      a ML-KEM Public Key
    • getPrivateData

      public byte[] getPrivateData()
      Description copied from interface: MLKEMPrivateKey
      Return the long form private data for the ML-KEM private key.
      Specified by:
      getPrivateData in interface MLKEMPrivateKey
      Returns:
      long form private data for private key.
    • getSeed

      public byte[] getSeed()
      Description copied from interface: MLKEMPrivateKey
      Return the seed the private key was generated from (if available).
      Specified by:
      getSeed in interface MLKEMPrivateKey
      Returns:
      the seed for the private key, null if not available.
    • getPrivateKey

      public MLKEMPrivateKey getPrivateKey(boolean preferSeedOnly)
      Description copied from interface: MLKEMPrivateKey
      Return a privateKey which will encode as seed-only or as an expanded-key.
      Specified by:
      getPrivateKey in interface MLKEMPrivateKey
      Parameters:
      preferSeedOnly - if true, return a privateKey which will encode to seed-only if possible.
      Returns:
      a new MLKEMPrivateKey which encodes to either seed-only or expanded-key.
    • getParameterSpec

      public MLKEMParameterSpec getParameterSpec()
      Description copied from interface: MLKEMKey
      Return the parameters for this key.
      Specified by:
      getParameterSpec in interface MLKEMKey
      Returns:
      a MLKEMParameterSpec
    • getFormat

      public String getFormat()
      Specified by:
      getFormat in interface Key
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • destroy

      public void destroy()
      Destroy this key, zeroizing the secret key material it holds.

      After destruction isDestroyed() returns true and the secret-bearing accessors (such as getEncoded(), getPrivateData() and getSeed()) throw IllegalStateException. As the underlying parameter arrays may be shared with keys derived from this one, destruction invalidates those references too.

      Specified by:
      destroy in interface Destroyable
    • isDestroyed

      public boolean isDestroyed()
      Specified by:
      isDestroyed in interface Destroyable