Object.AdvancedCrypto (object v0.1.2)
Advanced cryptographic capabilities including post-quantum cryptography, zero-knowledge proofs, and homomorphic encryption for AAOS.
Features
- CRYSTALS-Kyber (post-quantum key encapsulation)
- CRYSTALS-Dilithium (post-quantum digital signatures)
- zk-SNARKs for privacy-preserving computation
- Homomorphic encryption for computation on encrypted data
- Threshold cryptography for distributed trust
- Verifiable delay functions for consensus
- Ring signatures for anonymity
Summary
Functions
Returns a specification to start this module under a supervisor.
Creates a ring signature for anonymous authentication.
Creates a threshold secret sharing scheme.
Creates a verifiable delay function proof.
Creates a zero-knowledge proof.
Generates post-quantum cryptographic keypairs.
Performs homomorphic addition on encrypted data.
Encrypts data using homomorphic encryption.
Performs post-quantum key decapsulation.
Performs post-quantum key encapsulation.
Reconstructs a secret from threshold shares.
Starts the advanced cryptography service.
Verifies a zero-knowledge proof.
Types
@type homomorphic_ciphertext() :: %{ ciphertext: binary(), public_key_hash: binary(), noise_level: non_neg_integer(), scheme: :bfv | :ckks | :bgv }
@type state() :: %{ pq_identity: %{kyber_keypair: pq_keypair(), dilithium_keypair: pq_keypair()}, zksnark_circuits: %{required(binary()) => map()}, homomorphic_keys: %{required(binary()) => map()}, threshold_schemes: %{required(binary()) => map()}, vdf_parameters: map(), ring_signatures: %{required(binary()) => map()} }
Functions
Returns a specification to start this module under a supervisor.
See Supervisor
.
Creates a ring signature for anonymous authentication.
@spec create_threshold_scheme(binary(), non_neg_integer(), non_neg_integer()) :: {:ok, [threshold_share()]} | {:error, term()}
Creates a threshold secret sharing scheme.
@spec create_vdf_proof(binary(), non_neg_integer()) :: {:ok, {binary(), binary()}} | {:error, term()}
Creates a verifiable delay function proof.
Creates a zero-knowledge proof.
Generates post-quantum cryptographic keypairs.
@spec homomorphic_add(homomorphic_ciphertext(), homomorphic_ciphertext()) :: {:ok, homomorphic_ciphertext()} | {:error, term()}
Performs homomorphic addition on encrypted data.
@spec homomorphic_encrypt(binary(), binary()) :: {:ok, homomorphic_ciphertext()} | {:error, term()}
Encrypts data using homomorphic encryption.
Performs post-quantum key decapsulation.
Performs post-quantum key encapsulation.
@spec reconstruct_threshold_secret([threshold_share()]) :: {:ok, binary()} | {:error, term()}
Reconstructs a secret from threshold shares.
Starts the advanced cryptography service.
Verifies a zero-knowledge proof.