scalus.crypto

package scalus.crypto

Members list

Packages

Type members

Classlikes

object Hmac

HMAC (Hash-based Message Authentication Code) implementation.

HMAC (Hash-based Message Authentication Code) implementation.

Implementation follows RFC 2104. Provides HMAC-SHA512 for use in BIP-39 and SLIP-0010.

Attributes

See also
Supertypes
class Object
trait Matchable
class Any
Self type
Hmac.type
object Keccak

Pure Scala implementation of Keccak-256 and SHA3-256 hash functions.

Pure Scala implementation of Keccak-256 and SHA3-256 hash functions.

Implementation follows NIST FIPS 202 and is cross-checked with BouncyCastle.

The Keccak-f[1600] permutation operates on a 1600-bit state (25 × 64-bit lanes). For 256-bit output with capacity 512, the rate is 1088 bits (136 bytes).

The only difference between Keccak-256 and SHA3-256 is the domain separation suffix:

  • Keccak-256: suffix 0x01
  • SHA3-256: suffix 0x06

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Keccak.type
object Pbkdf2

Pure Scala implementation of PBKDF2 (Password-Based Key Derivation Function 2).

Pure Scala implementation of PBKDF2 (Password-Based Key Derivation Function 2).

Implementation follows RFC 8018. Uses HMAC-SHA512 as the pseudorandom function (PRF).

Attributes

See also
Supertypes
class Object
trait Matchable
class Any
Self type
Pbkdf2.type
object Ripemd160

Pure Scala implementation of RIPEMD-160 hash function.

Pure Scala implementation of RIPEMD-160 hash function.

Implementation follows the RIPEMD-160 specification by Dobbertin, Bosselaers, and Preneel. Cross-checked with BouncyCastle and official test vectors.

RIPEMD-160 processes 512-bit (64-byte) blocks and produces a 160-bit (20-byte) digest. It uses two parallel processing lines (left and right) that are combined after 80 rounds.

Attributes

See also
Supertypes
class Object
trait Matchable
class Any
Self type
Ripemd160.type