One-time programs, formulated by Goldwasser et al. are a flexible and powerful cryptographic primitive. Unfortunately, instantiating this primitive requires specialized "one-time memory" hardware that is not widely available. In this talk we investigate the possibility of realizing one-time programs from a more common hardware functionality: the "counter lockbox." A counter lockbox is a stateful functionality that protects an encryption key under a user-specified password, while enforcing a limited number of incorrect guesses; such hardware-backed functionalities have recently been made available in many consumer devices and cloud platforms. We show that counter lockboxes can be used to emulate the functionality of one-time memory, and thus implement one-time programs. We develop a number of techniques to reduce the number of counter lockboxes required for our constructions, that may be of independent interest.
=========
https://umd.zoom.us/j/97585901703
Meeting ID: 975 8590 1703