package recrypt
- Alphabetic
- By Inheritance
- recrypt
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Package Members
Type Members
- class Api extends CoreApi
An instance of the recrypt Api.
- sealed abstract class ApiError extends AnyRef
- type AuthHash = recrypt.internal.AuthHash
- class CoreApi extends AnyRef
A version of the API that does not have scala specific features in it.
- final case class DecryptedSymmetricKey(bytes: ByteVector) extends Product with Serializable
- type Ed25519Signing = recrypt.internal.Ed25519Signing
- implicit class EitherSyntax[A] extends AnyRef
- final case class EncryptedElement(bytes: ByteVector) extends Product with Serializable
Should be 384 bytes, an FP12Elem.
- final case class EncryptedMessage(bytes: ByteVector) extends Product with Serializable
Newtype for an encrypted plaintext, which is an FP12Elem
- final case class EncryptedOnceValue(ephemeralPublicKey: PublicKey, encryptedMessage: EncryptedMessage, authHash: AuthHash, publicSigningKey: PublicSigningKey, signature: Signature) extends EncryptedValue with Product with Serializable
- sealed abstract class EncryptedValue extends AnyRef
ADT defining a value which is Encrypted.
ADT defining a value which is Encrypted. If it's only been encrypted once, it'll be an EncryptedOnceValue, if it's been transformed (delegated) to another person then it'll be a TransformedValue.
- type Hashable[A] = recrypt.internal.Hashable[A]
- sealed abstract case class HashedValue extends Product with Serializable
A value (which is a point on the elliptic curve in the extension field) and is valid by construction.
A value (which is a point on the elliptic curve in the extension field) and is valid by construction. bytes - Concatenated bytes of the 2 FP2Elems that make up the point.
- final case class InvalidHashedValue(message: String) extends ApiError with Product with Serializable
- final case class InvalidTransformKey(message: String) extends ApiError with Product with Serializable
- final case class Plaintext(bytes: ByteVector) extends Product with Serializable
DecryptedSymmetricKey, which is an FP12Elem.
- case class PrivateKey(bytes: ByteVector) extends Product with Serializable
- type PrivateSigningKey = recrypt.internal.PrivateSigningKey
- sealed abstract case class PublicKey extends Product with Serializable
Public key which can be encrypted to.
Public key which can be encrypted to. Ideally this would just be the internal public key, but for now that is backed by AffinePoint, which means it's a pain.
This is guarenteed to be a valid point on the curve by construction.
- type PublicSigningKey = recrypt.internal.PublicSigningKey
- final case class SchnorrMessage(bytes: ByteVector) extends Product with Serializable
- sealed abstract case class SchnorrSignature extends Product with Serializable
Functions and types for working with the Schnorr signature.
Functions and types for working with the Schnorr signature. Similar to the Ed25519 signing, but we use our existing PRE public and private keys for Schnorr signing and verification, so this type only includes the Signature.
A Schnorr signature is actually two parts, r and s. Each of them will fit into a 32-byte ByteVector; r will convert to a BigInt in the range [1 .. Curve.Order), and s will convert to a BigInt in the range [0 .. Curve.Order). But we keep that detail internal; externally, the signature is just a single 64-byte ByteVector.
- type Signature = recrypt.internal.Signature
- final case class TransformBlock(publicKey: PublicKey, encryptedTempKey: EncryptedElement, randomTransformPublicKey: PublicKey, randomTransformEncryptedTempKey: EncryptedElement) extends Product with Serializable
- final case class TransformKey(ephemeralPublicKey: PublicKey, toPublicKey: PublicKey, encryptedTempKey: EncryptedElement, hashedTempKey: HashedValue, publicSigningKey: PublicSigningKey, signature: Signature) extends Product with Serializable
- final case class TransformedValue(ephemeralPublicKey: PublicKey, encryptedMessage: EncryptedMessage, authHash: AuthHash, transformBlocks: NonEmptyVector[TransformBlock], publicSigningKey: PublicSigningKey, signature: Signature) extends EncryptedValue with Product with Serializable
Value Members
- val AuthHash: recrypt.internal.AuthHash.type
- val Ed25519Signing: recrypt.internal.Ed25519Signing.type
- val Hashable: recrypt.internal.Hashable.type
- val PrivateSigningKey: recrypt.internal.PrivateSigningKey.type
- val PublicSigningKey: recrypt.internal.PublicSigningKey.type
- val Signature: recrypt.internal.Signature.type
- object CoreApi
- object EncryptedElement extends Serializable
- object HashedValue extends Serializable
- case object InvalidPublicKey extends ApiError with Product with Serializable
- object Plaintext extends Serializable
- object PrivateKey extends Serializable
- object PublicKey extends Serializable
- object SchnorrMessage extends Serializable
- object SchnorrSignature extends Serializable
- object Sha256 extends (ByteVector) => ByteVector
- object TransformKey extends Serializable