Package edu.iu.crypt

Class EphemeralKeys

java.lang.Object
edu.iu.crypt.EphemeralKeys

public class EphemeralKeys extends Object
Generates ephemeral keys.

Ephemeral keys are generated using JDK 21 compliant standard algorithms with registered JCE providers

  • Method Details

    • rand

      public static final byte[] rand(int bytes)
      Securely generates pseudorandom data.
      Parameters:
      bytes - number of bytes to generate
      Returns:
      securely generated pseudorandom data.
    • secret

      public static final byte[] secret(String algorithm, int size)
      Generates a random secret key.
      Parameters:
      algorithm - KeyGenerator algorithm
      size - key size in bits
      Returns:
      AES key
    • ec

      public static final KeyPair ec(AlgorithmParameterSpec param)
      Generates a random Elliptic Curve (EC) key.
      Parameters:
      param - EC parameter spec
      Returns:
      KeyPair
    • rsa

      public static final KeyPair rsa(String algorithm, int size)
      Generates a random RSA key
      Parameters:
      algorithm - RSA KeyPairGenerator algorithm: RSA or RSASSA-PSS
      size - RSA key size in bits
      Returns:
      KeyPair
    • contentEncryptionKey

      public static final byte[] contentEncryptionKey(int size)
      Generates a content encryption key for AES/GCM.
      Parameters:
      size - key size
      Returns:
      content encryption key
    • contentEncryptionKey

      public static final byte[] contentEncryptionKey(String mac, int size)
      Generates a content encryption key.
      Parameters:
      mac - MAC algorithm for AES/CBC/HMAC; null for AES/GCM
      size - key size
      Returns:
      content encryption key