packages feed

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;
}