Controlled functional encryption