package crypto
- Alphabetic
- By Inheritance
- crypto
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- abstract class BcDlogGroup extends DlogGroup
Base class for EC-based groups where DLOG problem is hard (with bouncycastle-like interface).
- abstract class CryptoContext extends AnyRef
A context for cryptographic operations over elliptic curve group.
- class CryptoContextJvm extends CryptoContext
JVM implementation of context for cryptographic operations using Bouncycastle.
- type Curve = crypto.Platform.Curve
Instance of Elliptic Curve descriptor.
- 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.
- type ECFieldElem = crypto.Platform.ECFieldElem
Instance of Elliptic Curve field element.
- type EcPointType = crypto.Platform.Ecp
Type of group elements used in the signature scheme.
- type Ecp = crypto.Platform.Ecp
Instance of Elliptic Curve point.
- type SecureRandom = java.security.SecureRandom
A cryptographically strong random number generator.
Value Members
- val groupSize: Int
Number of bytes to represent any group element as byte array
- val hashLength: Int
Length of hash in bytes.
- 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.
- object BigIntegers
Re-implementation in Scala of select set of utility methods from org.bouncycastle.util.BigIntegers.
- object CryptoConstants
Constants used in crypto operations implementation.
- object CryptoContext
- 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.
- object HmacSHA512
A utility object to compute HMAC-SHA512 hashes.
- object Platform
JVM specific implementation of crypto methods
- object SecP256K1Group extends BcDlogGroup
Implementation of BcDlogGroup using SecP256K1 curve.