packages feed

lol-apps-0.2.0.0: SHE.proto

// proto messages for key switch hints and secret keys from SymmSHE

import "Lol.proto";

// run this:

// hprotoc -I ../lol -a Lol.proto=Crypto.Proto -p Crypto.Proto SHE.proto

message SecretKey {
  required R sk              = 1; // ring element
  required double v          = 2; // scaled variance
}

// internally used in KSHint
message RqPolynomial {
  repeated RqProduct coeffs  = 1; // constant coefficient first, then linear, etc.
}

// linear or quadratic key switch hint
message KSHint {
  repeated RqPolynomial hint = 1;
  required TypeRep gad       = 2; // gadget used for key switching
}

// information for a single ring switch
message TunnelInfo {
  required LinearRq func     = 1; // linear function to apply
  repeated KSHint hint       = 2;
  required uint32 e          = 3; // index of greatest common subring of r and s
  required uint32 r          = 4; // input ring index
  required uint32 s          = 5; // output ring index
  required uint64 p          = 6; // plaintext modulus
}