Programmable privacy: how zk and FHE can coexist in smart contracts