Package

org.ergoplatform.wallet

secrets

Permalink

package secrets

Visibility
  1. Public
  2. All

Type Members

  1. final case class DerivationPath(decodedPath: Seq[Int], publicBranch: Boolean) extends Product with Serializable

    Permalink

    HD key derivation path (see: https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki)

  2. case class DhtSecretKey(privateInput: DiffieHellmanTupleProverInput) extends PrimitiveSecretKey with Product with Serializable

    Permalink

    Secret exponent of a Diffie-Hellman tuple, i.e.

    Secret exponent of a Diffie-Hellman tuple, i.e. secret w such as u = gw and v = hw, where g and h are group generators, (g,h,u,v) is a public input (public key).

    privateInput

    - secret (in form of a sigma-protocol private input)

  3. case class DlogSecretKey(privateInput: DLogProverInput) extends PrimitiveSecretKey with Product with Serializable

    Permalink

    Secret exponent of a group element, i.e.

    Secret exponent of a group element, i.e. secret w such as h = g^^w, where g is group generator, h is a public key.

    privateInput

    - secret (in form of a sigma-protocol private input)

  4. final case class EncryptedSecret(cipherText: String, salt: String, iv: String, authTag: String, cipherParams: EncryptionSettings, usePre1627KeyDerivation: Option[Boolean]) extends Product with Serializable

    Permalink

    Describes structure of file storing encrypted seed.

    Describes structure of file storing encrypted seed.

    cipherText

    - encrypted seed

    salt

    - sequence of bits, known as a cryptographic salt

    iv

    - cipher initialization vector

    authTag

    - message authentication tag

    cipherParams

    - cipher params

    usePre1627KeyDerivation

    - use incorrect(previous) BIP32 derivation, expected to be false for new wallets, and true for old pre-1627 wallets (see https://github.com/ergoplatform/ergo/issues/1627 for details)

  5. trait ExtendedKey[T <: ExtendedKey[T]] extends AnyRef

    Permalink

    Description from https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki :

    Description from https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki :

    We extend both private and public keys first with an extra 256 bits of entropy. This extension, called the chain code, is identical for corresponding private and public keys and consists of 32 bytes. We represent an extended private key as (k, c), with k the normal private key, and c the chain code. An extended public key is represented as (K, c), with K = point(k) and c the chain code.

    Each extended key has 231 normal child keys, and 231 hardened child keys. Each of these child keys has an index. The normal child keys use indices 0 through 231-1. The hardened child keys use indices 231 through 2^32-1.

  6. final class ExtendedPublicKey extends ExtendedKey[ExtendedPublicKey]

    Permalink

    Public key, its chain code and path in key tree.

    Public key, its chain code and path in key tree. (see: https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki)

  7. final class ExtendedSecretKey extends ExtendedKey[ExtendedSecretKey] with SecretKey

    Permalink

    Secret, its chain code and path in key tree.

    Secret, its chain code and path in key tree. (see: https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki)

  8. final class JsonSecretStorage extends SecretStorage

    Permalink

    Secret storage backend.

    Secret storage backend. Stores encrypted seed in json file (structure is described by EncryptedSecret). Responsible for managing access to the secrets. (detailed storage specification: https://github.com/ergoplatform/ergo-wallet/wiki/Ergo-Secret-Storage)

  9. sealed trait PrimitiveSecretKey extends SecretKey

    Permalink

    Basic trait for a secret which does not have a derivation scheme.

  10. trait SecretKey extends AnyRef

    Permalink

    Basic trait for secret data, encapsulating a corresponding private inputs for a Sigma protocol.

  11. trait SecretStorage extends AnyRef

    Permalink

    Secret storage trait.

    Secret storage trait. All keys dedicated to a wallet are being derived from a single seed which is stored in a file system in encrypted form in a file which can be accessed through this interface. Using SecretString for critical parts to be erased after use.

Value Members

  1. object DerivationPath extends Serializable

    Permalink
  2. object DerivationPathSerializer extends Serializer[DerivationPath, DerivationPath, Reader, Writer] with ErgoWalletSerializer[DerivationPath]

    Permalink
  3. object EncryptedSecret extends Serializable

    Permalink
  4. object ExtendedPublicKey

    Permalink
  5. object ExtendedPublicKeySerializer extends Serializer[ExtendedPublicKey, ExtendedPublicKey, Reader, Writer] with ErgoWalletSerializer[ExtendedPublicKey]

    Permalink
  6. object ExtendedSecretKey

    Permalink
  7. object ExtendedSecretKeySerializer extends Serializer[ExtendedSecretKey, ExtendedSecretKey, Reader, Writer] with ErgoWalletSerializer[ExtendedSecretKey]

    Permalink
  8. object Index

    Permalink
  9. object JsonSecretStorage

    Permalink
  10. object PrimitiveSecretKey

    Permalink

Ungrouped