mta

package
v0.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 21, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ProveAffG

func ProveAffG(group curve.Curve, h *hash.Hash,
	senderSecretShare *saferith.Int, senderSecretSharePoint curve.Point, receiverEncryptedShare *paillier.Ciphertext,
	sender *paillier.SecretKey, receiver *paillier.PublicKey, verifier *pedersen.Parameters) (Beta *saferith.Int, D, F *paillier.Ciphertext, Proof *zkaffg.Proof)

ProveAffG returns the necessary messages for the receiver of the h is a hash function initialized with the sender's ID. - senderSecretShare = aᵢ - senderSecretSharePoint = Aᵢ = aᵢ⋅G - receiverEncryptedShare = Encⱼ(bⱼ) The elements returned are : - Beta = β - D = (aⱼ ⊙ Bᵢ) ⊕ encᵢ(- β, s) - F = encⱼ(-β, r) - Proof = zkaffg proof of correct encryption.

func ProveAffP

func ProveAffP(group curve.Curve, h *hash.Hash,
	senderSecretShare *saferith.Int, senderEncryptedShare *paillier.Ciphertext, senderEncryptedShareNonce *saferith.Nat,
	receiverEncryptedShare *paillier.Ciphertext,
	sender *paillier.SecretKey, receiver *paillier.PublicKey, verifier *pedersen.Parameters) (Beta *saferith.Int, D, F *paillier.Ciphertext, Proof *zkaffp.Proof)

ProveAffP generates a proof for the a specified verifier. This function is specified as to make clear which parameters must be input to zkaffg. h is a hash function initialized with the sender's ID. - senderSecretShare = aᵢ - senderSecretSharePoint = Aᵢ = Encᵢ(aᵢ) - receiverEncryptedShare = Encⱼ(bⱼ) The elements returned are : - Beta = β - D = (aⱼ ⊙ Bᵢ) ⊕ encᵢ(-β, s) - F = encⱼ(-β, r) - Proof = zkaffp proof of correct encryption.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL