Privacy and utility in secure computations: optimal trade-offs through quantitative information flow