Witness-based cryptographic program checking and robust function sharingYair FrankelPeter Gemmeliet al.1996STOC 1996