How can we get use private output to simulate private input? For example, if a smart card has an integral display unit but no direct input capabilities, customers can privately communicate with the smart card. One way is for the smart card to present a random sequence of digits on its display unit [1]. The customer then sends a sequence of increment, decrement, and next-digit commands to the smart card via the public, unsecure communication channel. These commands alter the smart card's initial random value until the smart card displays the input value desired by the customer. This is effectively a special form of a one-time pad. This approach can be used for both entering a password and transaction amounts. (Note that this method is vulnerable to an adversary that can simultaneously shoulder-surf the display and tap the input stream.)