Interface SignatureAlgorithmForTransactionRequests


public interface SignatureAlgorithmForTransactionRequests
An algorithm that signs transaction requests and verifies such signatures back.
  • Method Summary

    Static Methods
    Modifier and Type
    Method
    Description
    static io.hotmoka.crypto.api.SignatureAlgorithm<SignedTransactionRequest>
    Yields the ed25519 signature algorithm for transaction requests.
    static io.hotmoka.crypto.api.SignatureAlgorithm<SignedTransactionRequest>
    Yields a signature algorithm for transaction requests that uses the ed25519 cryptography.
    static io.hotmoka.crypto.api.SignatureAlgorithm<SignedTransactionRequest>
    Yields an empty signature algorithm that signs all transaction requests with an empty array of bytes.
    static io.hotmoka.crypto.api.SignatureAlgorithm<SignedTransactionRequest>
    Yields the signature algorithm for transaction requests with the given type.
    static io.hotmoka.crypto.api.SignatureAlgorithm<SignedTransactionRequest>
    mk(String name)
    Yields the signature algorithm for transaction requests with the given name.
    static io.hotmoka.crypto.api.SignatureAlgorithm<SignedTransactionRequest>
    Yields the qTESLA-p-I signature algorithm for transaction requests.
    static io.hotmoka.crypto.api.SignatureAlgorithm<SignedTransactionRequest>
    Yields the qTESLA-p-III signature algorithm for transaction requests.
    static io.hotmoka.crypto.api.SignatureAlgorithm<SignedTransactionRequest>
    Yields a signature algorithm for transaction requests that uses the SHA256 hashing algorithm and then the DSA algorithm.
  • Method Details

    • sha256dsa

      static io.hotmoka.crypto.api.SignatureAlgorithm<SignedTransactionRequest> sha256dsa() throws NoSuchAlgorithmException
      Yields a signature algorithm for transaction requests that uses the SHA256 hashing algorithm and then the DSA algorithm.
      Returns:
      the algorithm
      Throws:
      NoSuchAlgorithmException - if the installation of Java does not include the SHA256withDSA algorithm
    • ed25519

      static io.hotmoka.crypto.api.SignatureAlgorithm<SignedTransactionRequest> ed25519() throws NoSuchAlgorithmException
      Yields the ed25519 signature algorithm for transaction requests.
      Returns:
      the algorithm
      Throws:
      NoSuchAlgorithmException - if the installation does not include the ed25519 algorithm
    • ed25519det

      static io.hotmoka.crypto.api.SignatureAlgorithm<SignedTransactionRequest> ed25519det() throws NoSuchAlgorithmException
      Yields a signature algorithm for transaction requests that uses the ed25519 cryptography. It generates keys in a deterministic order, hence must NOT be used in production. It is useful instead for testing, since it makes deterministic the sequence of keys of the accounts in the tests and consequently also the gas costs of such accounts when they are put into maps, for instance.
      Throws:
      NoSuchAlgorithmException
    • qtesla1

      static io.hotmoka.crypto.api.SignatureAlgorithm<SignedTransactionRequest> qtesla1() throws NoSuchAlgorithmException
      Yields the qTESLA-p-I signature algorithm for transaction requests.
      Returns:
      the algorithm
      Throws:
      NoSuchAlgorithmException - if the installation does not include the qTESLA-p-I algorithm
    • qtesla3

      static io.hotmoka.crypto.api.SignatureAlgorithm<SignedTransactionRequest> qtesla3() throws NoSuchAlgorithmException
      Yields the qTESLA-p-III signature algorithm for transaction requests.
      Returns:
      the algorithm
      Throws:
      NoSuchAlgorithmException - if the installation does not include the qTESLA-p-III algorithm
    • empty

      static io.hotmoka.crypto.api.SignatureAlgorithm<SignedTransactionRequest> empty()
      Yields an empty signature algorithm that signs all transaction requests with an empty array of bytes.
      Returns:
      the algorithm
    • mk

      static io.hotmoka.crypto.api.SignatureAlgorithm<SignedTransactionRequest> mk(String name) throws NoSuchAlgorithmException
      Yields the signature algorithm for transaction requests with the given name. It looks for a factory method with the given name and invokes it.
      Parameters:
      name - the name of the algorithm, case-insensitive
      Returns:
      the algorithm
      Throws:
      NoSuchAlgorithmException - if the installation does not include the given algorithm
    • mk

      static io.hotmoka.crypto.api.SignatureAlgorithm<SignedTransactionRequest> mk(SignatureAlgorithms.TYPES type) throws NoSuchAlgorithmException
      Yields the signature algorithm for transaction requests with the given type.
      Parameters:
      type - the type of the algorithm
      Returns:
      the algorithm
      Throws:
      NoSuchAlgorithmException - if the installation does not include the given algorithm