lol-0.6.0.0: Lol.proto
// Proto messages for cyclotomic rings and other basic types in Lol
// run this:
// hprotoc -p Crypto.Proto Lol.proto
// coeffs contains the function output corresponding to the decoding basis in R
message LinearRq {
required uint32 e = 1;
required uint32 r = 2;
repeated RqProduct coeffs = 3;
}
// For each of the following, the "xs" array is with respect to the
// decoding basis.
message R {
required uint32 m = 1;
repeated sint64 xs = 2;
}
// only holds a single modulus. This type was used to serialize cyclotomic ring
// elements in the RLWE/RLWR challenges.
message Rq1 {
required uint32 m = 1;
required uint64 q = 2;
repeated sint64 xs = 3;
}
// only holds a single modulus. This type was used to serialize cyclotomic ring
// elements in the RLWE challenges.
message Kq1 {
required uint32 m = 1;
required uint64 q = 2;
repeated double xs = 3;
}
// cyclotomic ring mod the product of one or more moduli
message RqProduct {
repeated Rq1 rqlist = 1;
}
// cyclotomic ring mod the product of one or more moduli
message KqProduct {
repeated Kq1 kqlist = 1;
}
// used to serialize GHC.Fingerprint.Fingerprint. Obviously not intended to be
// platform independent.
message TypeRep {
required uint64 a = 1;
required uint64 b = 2;
}