Packages

trait HkdfOps extends AnyRef

The expansion step of the HMAC-based key derivation function (HKDF) as defined in: https://tools.ietf.org/html/rfc5869

Self Type
HkdfOps with HmacOps
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. HkdfOps
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def computeHkdfInternal(keyMaterial: ByteString, outputBytes: Int, info: HkdfInfo, salt: ByteString = ByteString.EMPTY, algorithm: HmacAlgorithm = defaultHmacAlgorithm): Either[HkdfError, SecureRandomness]
    Attributes
    protected
  2. abstract def hkdfExpandInternal(keyMaterial: SecureRandomness, outputBytes: Int, info: HkdfInfo, algorithm: HmacAlgorithm = defaultHmacAlgorithm): Either[HkdfError, SecureRandomness]
    Attributes
    protected

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  6. def computeHkdf(keyMaterial: ByteString, outputBytes: Int, info: HkdfInfo, salt: ByteString = ByteString.EMPTY, algorithm: HmacAlgorithm = defaultHmacAlgorithm): Either[HkdfError, SecureRandomness]

    Produce a new secret from the given key material using the HKDF from RFC 5869 with both extract and expand phases.

    Produce a new secret from the given key material using the HKDF from RFC 5869 with both extract and expand phases.

    keyMaterial

    Input key material from which to derive another key.

    outputBytes

    The length of the produced secret. May be at most 255 times the size of the output of the selected hashing algorithm. If you need to derive multiple keys, set the info parameter to different values, for each key that you need.

    info

    Specify the purpose of the derived key (optional). Note that you can derive multiple independent keys from the same key material by varying the purpose.

    salt

    Optional salt. Should be set if the input key material is not cryptographically secure, uniformly random.

    algorithm

    The hash algorithm to be used for the HKDF construction

  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  11. def hkdfExpand(keyMaterial: SecureRandomness, outputBytes: Int, info: HkdfInfo, algorithm: HmacAlgorithm = defaultHmacAlgorithm): Either[HkdfError, SecureRandomness]

    Produce a new secret from the given secret and purpose.

    Produce a new secret from the given secret and purpose. Only performs the expand step of the HKDF from RFC 5869.

    keyMaterial

    Cryptographically secure, uniformly random initial key material. Must be at least as long as the length of the hash function chosen for the HMAC scheme.

    outputBytes

    The length of the produced secret. May be at most 255 times the size of the output of the selected hashing algorithm. If you need to derive multiple keys, set the info parameter to different values, for each key that you need.

    info

    Specify the purpose of the derived key (optional). Note that you can derive multiple independent keys from the same key material by varying the purpose.

    algorithm

    The hash algorithm to be used for the HKDF construction

  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  16. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  20. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from AnyRef

Inherited from Any

Ungrouped