Skip to content

Cryptographic Primitives

Juvix imports

module arch.node.types.crypto;

import prelude open;

Cryptographic primitives

Public key

Public key for public-key cryptography.

type PublicKey := Curve25519PubKey ByteString;

instance
PublicKeyOrd : Ord PublicKey :=
mkOrd@{
cmp := \{_ _ := Equal};
};

Private key

Private key for public-key cryptography.

type PrivateKey := Curve25519PrivKey ByteString;

instance
PrivateKeyOrd : Ord PrivateKey :=
mkOrd@{
cmp := \{_ _ := Equal};
};

Secret key

Secret key for secret-key cryptography.

type SecretKey := ChaCha20Key;

Signature

Cryptographic signature.

type Signature := Ed25519Signature ByteString;

Digest

Message digest. Output of a cryptographic hash function.

type Digest := Blake3Digest ByteString;