Packages

  • package root
    Definition Classes
    root
  • package sigma

    The following implicit values are used as type descriptors of all the predefined Sigma types.

    The following implicit values are used as type descriptors of all the predefined Sigma types.

    Definition Classes
    root
    See also

    RType class

  • package ast
    Definition Classes
    sigma
  • package crypto
    Definition Classes
    sigma
  • BcDlogGroup
  • BigIntegers
  • CryptoConstants
  • CryptoContext
  • CryptoContextJvm
  • CryptoFacade
  • DlogGroup
  • HmacSHA512
  • Platform
  • SecP256K1Group
  • package data

    Contains cores definitions which serves as a basis for sigma package implementations.

    Contains cores definitions which serves as a basis for sigma package implementations.

    Definition Classes
    sigma
  • package eval
    Definition Classes
    sigma
  • package exceptions
    Definition Classes
    sigma
  • package impl
    Definition Classes
    sigma
  • package interpreter
    Definition Classes
    sigma
  • package kiama

    Kiama is a Scala library for language processing.

    Kiama is a Scala library for language processing. It is a project of the Programming Languages Research Group at Macquarie University. For full project details see the web site http://github.com/inkytonik/kiama.

    Kiama's main components address tree decoration via attribute grammars (package attribution), tree transformation via strategic term rewriting (package rewriting), dynamic semantics (package machine) and pretty-printing (package output).

    The util package contains support modules for parsing, input/output, read-eval-print loops (REPLs) and pattern matching.

    The examples package (available as part of the Kiama tests) contains many examples of using Kiama to solve small to medium language processing problems.

    Definition Classes
    sigma
  • package reflection

    Contains the Sigma Reflection API.

    Contains the Sigma Reflection API. Sigma reflection is a mechanism for obtaining metadata about classes, methods, fields, etc. at runtime. It is used by kiama to rewrite ErgoTree expressions. It is also used by the ErgoTree interpreter to implement MethodCall nodes.

    The Sigma Reflection API has two implementations: 1) based on the Java Reflection API 2) based on Sigma Reflection metadata declared in the StaticImpl.scala file

    Definition Classes
    sigma
  • package serialization
    Definition Classes
    sigma
  • package util
    Definition Classes
    sigma
  • package utils
    Definition Classes
    sigma
  • package validation
    Definition Classes
    sigma
  • package wrappers
    Definition Classes
    sigma
p

sigma

crypto

package crypto

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. crypto
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. abstract class BcDlogGroup extends DlogGroup

    Base class for EC-based groups where DLOG problem is hard (with bouncycastle-like interface).

  2. abstract class CryptoContext extends AnyRef

    A context for cryptographic operations over elliptic curve group.

  3. class CryptoContextJvm extends CryptoContext

    JVM implementation of context for cryptographic operations using Bouncycastle.

  4. type Curve = crypto.Platform.Curve

    Instance of Elliptic Curve descriptor.

  5. trait DlogGroup extends AnyRef

    This is the general interface for the discrete logarithm prime-order group.

    This is the general interface for the discrete logarithm prime-order group. Every class in the DlogGroup family implements this interface.

    The discrete logarithm problem is as follows: given a generator g of a finite group G and a random element h in G, find the (unique) integer x such that g^x = h.

    In cryptography, we are interested in groups for which the discrete logarithm problem (Dlog for short) is assumed to be hard. The most known groups of that kind are some Elliptic curve groups.

  6. type ECFieldElem = crypto.Platform.ECFieldElem

    Instance of Elliptic Curve field element.

  7. type EcPointType = crypto.Platform.Ecp

    Type of group elements used in the signature scheme.

  8. type Ecp = crypto.Platform.Ecp

    Instance of Elliptic Curve point.

  9. type SecureRandom = java.security.SecureRandom

    A cryptographically strong random number generator.

Value Members

  1. val groupSize: Int

    Number of bytes to represent any group element as byte array

  2. val hashLength: Int

    Length of hash in bytes.

  3. val hashLengthBits: Int

    Length of hash function used in the signature scheme.

    Length of hash function used in the signature scheme. Blake2b hash function is used.

  4. object BigIntegers

    Re-implementation in Scala of select set of utility methods from org.bouncycastle.util.BigIntegers.

  5. object CryptoConstants

    Constants used in crypto operations implementation.

  6. object CryptoContext
  7. object CryptoFacade

    A facade for cryptographic operations.

    A facade for cryptographic operations. The concrete implementation is delegated to the Platform object, which is resolved by the compiler to either JVM or JS implementation. Cross-platform code should use this facade instead of the Platform object directly.

  8. object HmacSHA512

    A utility object to compute HMAC-SHA512 hashes.

  9. object Platform

    JVM specific implementation of crypto methods

  10. object SecP256K1Group extends BcDlogGroup

    Implementation of BcDlogGroup using SecP256K1 curve.

Inherited from AnyRef

Inherited from Any

Ungrouped