We design and prototype protocols for processing smart-meter readings while preserving user privacy. We provide support for computing non-linear functions on encrypted readings, implemented by adapting to our setting efficient secret-sharing-based secure multi-party computation techniques.

Meter readings are jointly processed by a (public) storage service and a few independent authorities, each owning an additive share of the readings.

For non-linear processing, these parties consume pre-shared materials, produced by an off-line trusted third party. This party never processes private readings; it may be implemented using trusted hardware or somewhat homomorphic encryption.

The protocol involves minimal, off-line support from the meters—a few keyed hash computations and no communication overhead.