Versions in this module Expand all Collapse all v1 v1.9.0 Jul 12, 2023 Changes in this version + const DigestSize + func ExtractBitFromByteVector(vector []byte, index int) byte + func NewPipeWrappers() (*pipeWrapper, *pipeWrapper) + func ReceiverStreamOTRun(receiver *Receiver, rw io.ReadWriter) error + func SenderStreamOTRun(sender *Sender, rw io.ReadWriter) error + type ChallengeOpening = [keyCount][DigestSize]byte + type OneTimePadDecryptionKey = [DigestSize]byte + type OneTimePadEncryptionKeys = [keyCount][DigestSize]byte + type OtChallenge = [DigestSize]byte + type OtChallengeResponse = [DigestSize]byte + type Receiver struct + Output *ReceiverOutput + func NewReceiver(curve *curves.Curve, batchSize int, uniqueSessionId [DigestSize]byte) (*Receiver, error) + func (receiver *Receiver) Round2VerifySchnorrAndPadTransfer(proof *schnorr.Proof) ([]ReceiversMaskedChoices, error) + func (receiver *Receiver) Round4RespondToChallenge(challenge []OtChallenge) ([]OtChallengeResponse, error) + func (receiver *Receiver) Round6Verify(challengeOpenings []ChallengeOpening) error + func (receiver *Receiver) Round8Decrypt(ciphertext [][keyCount][DigestSize]byte) ([][DigestSize]byte, error) + type ReceiverOutput struct + OneTimePadDecryptionKey []OneTimePadDecryptionKey + PackedRandomChoiceBits []byte + RandomChoiceBits []int + func (r *ReceiverOutput) Decrypt(ciphertexts [][keyCount][DigestSize]byte) ([][DigestSize]byte, error) + type ReceiversMaskedChoices = []byte + type Sender struct + Output *SenderOutput + func NewSender(curve *curves.Curve, batchSize int, uniqueSessionId [DigestSize]byte) (*Sender, error) + func (sender *Sender) Round1ComputeAndZkpToPublicKey() (*schnorr.Proof, error) + func (sender *Sender) Round3PadTransfer(compressedReceiversMaskedChoice []ReceiversMaskedChoices) ([]OtChallenge, error) + func (sender *Sender) Round5Verify(challengeResponses []OtChallengeResponse) ([]ChallengeOpening, error) + func (sender *Sender) Round7Encrypt(messages [][keyCount][DigestSize]byte) ([][keyCount][DigestSize]byte, error) + type SenderOutput struct + OneTimePadEncryptionKeys []OneTimePadEncryptionKeys + func (s *SenderOutput) Encrypt(plaintexts [][keyCount][DigestSize]byte) ([][keyCount][DigestSize]byte, error)