package
1.4.3
Repository: https://github.com/ldsec/unlynx.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Functions

AbstractPointsToBytes converts an array of kyber.Point to a byte array.
AddInMap permits to add a filtered response with its deterministic tag in a map.
ArrayCipherVectorToBytes converts an array of CipherVector to an array of bytes (plus an array of byte lengths).
CipherTextByteSize return the length of one CipherText element transform into []byte.
CreateDecryptionTable generated the lookup table for decryption of all the integers in [-limit, limit].
DecryptCheckZero check if the encrypted value is a 0.
DecryptCheckZeroVector checks if encrypted values are 0 or not without doing the complete decryption.
DecryptInt decrypts an integer from an ElGamal cipher text where integer are encoded in the exponent.
DecryptIntVector decrypts a cipherVector.
DecryptIntVectorWithNeg decrypts a cipherVector.
DecryptIntWithNeg decrypts an integer from an ElGamal cipher text where integer are encoded in the exponent.
DeserializePoint deserializes a point using base64 encoding.
DeserializeScalar deserializes a scalar using base64 encoding.
EncryptDpClearResponse encrypts a DP response.
EncryptInt encodes i as iB, encrypt it into a CipherText and returns a pointer to it.
EncryptIntGetR encodes i as iB, encrypt it into a CipherText and returns a pointer to it.
EncryptIntVector encrypts a []int into a CipherVector and returns a pointer to it.
EncryptIntVectorGetRs encrypts a []int into a CipherVector and returns a pointer to it.
EncryptScalar encodes i as iB, encrypt it into a CipherText and returns a pointer to it.
EncryptScalarVector encrypts a []scalar into a CipherVector and returns a pointer to it.
EndParallelize waits for a number of threads to finish.
EndTimer finishes measurement of time.
FromBytesToAbstractPoints converts a byte array to an array of kyber.Point.
FromBytesToArrayCipherVector converts bytes to an array of CipherVector.
GenKey generate an ElGamal public/private key pair.
GenKeys generates ElGamal public/private key pairs.
IntArrayToCipherVector converts an array of int to a CipherVector.
IntToCipherText converts an int into a ciphertext.
IntToPoint maps an integer to a point in the elliptic curve.
Key allows to transform non-encrypted grouping attributes to a tag (groupingkey).
MapBytesToMapCipherText transform objects in a map from bytes to ciphertexts.
NewCipherText creates a ciphertext of null elements.
NewCipherTextFromBase64 creates a ciphertext of null elements.
NewCipherVector creates a ciphervector of null elements.
NewDeterministicCipherText create determinist cipher text of null element.
NewDeterministicCipherVector creates a vector of determinist ciphertext of null elements.
NewFilteredResponse creates a new client response with chosen grouping and aggregating number of attributes.
NullCipherVector encrypts an 0-filled slice under the given public key.
PointToCipherText converts a point into a ciphertext.
RandomPermutation shuffles a slice of int.
RandomScalarSlice creates a random slice of chosen size.
SerializeElement serializes a BinaryMarshaller-compatible element using base64 encoding (e.g.
SerializePoint serializes a point.
SerializeScalar serializes a scalar.
SplitScalar splits a given scalar into multiple n+1 scalars The sum of the returned slice of scalars equals the given `rootScalar`.
StartParallelize starts parallelization by instanciating number of threads.
StartTimer starts measurement of time.
UnKey permits to go from a tag non-encrypted grouping attributes to grouping attributes.

# Constants

DIFFPRI enables the DRO protocol (Distributed Results Obfuscation).
MaxHomomorphicInt is upper bound for integers used in messages, a failed decryption will return this value.
SEPARATOR is a string used in the transformation of some struct in []byte.
VPARALLELIZE allows to choose the level of parallelization in the vector computations.

# Variables

PointToInt creates a map between EC points and integers.
SuiTe in this case is the ed25519 curve.
TIME is true if we use protocols with time measurements of computations.
TIMEOUT ddefines the default channel timeout.

# Structs

CipherText is an ElGamal encrypted point.
DeterministCipherText deterministic encryption of a point.
DpClearResponse represents a DP response when data is stored in clear at each server/hospital.
DpResponse represents an encrypted DP response (as it is sent to a server).
DpResponseToSend is a DpResponse formatted such that it can be sent with protobuf.
FilteredResponse is a response after the filtering step of the proto and until the end.
FilteredResponseDet is a FilteredResponse with its deterministic tag.
ProcessResponse is a response in the format used for shuffling and det tag.
ProcessResponseDet represents a DP response associated to a det.
PublishedSimpleAdditionProof contains the two added ciphervectors and the resulting ciphervector.
WhereQueryAttribute is the name and encrypted value of a where attribute in the query.
WhereQueryAttributeTagged is WhereQueryAttributes deterministically tagged.

# Type aliases

CipherVector is a slice of ElGamal encrypted points.
DeterministCipherVector slice of deterministic encrypted points.
GroupingKey is an ID corresponding to grouping attributes.