Slide 15
Slide 15 text
Introduction Secure Scala Evaluation Conclusion
Define Base Functor for Operations
sealed trait CryptoF[+K]
case class Plus[K](
lhs: EncInt,
rhs: EncInt,
k: PaillierEnc => K
) extends CryptoF[K]
def plus(lhs: EncInt, rhs: EncInt) =
Free.lift(Plus(lhs,rhs,identity))
type Crypto[A] = Free[CryptoF,A]
define infix operators: +,*,. . .
Markus Hauck - SecureScala: Scala Embedding of Secure Computations 10