FuguOracle

FuguOracle

FuguOracle is a blind PIN oracle service. It holds a key share for each client, and releases the share to the correct PIN alone. The oracle does not learn the PIN, and it does not learn the protected secret. After three bad PIN attempts, the oracle destroys the key share.

A client holds its secret in encrypted form, under a key that the client alone cannot rebuild. The service is a virtual secure element for client devices and client programs.

The service implements version 2 of the Blockstream blind_pin_server protocol, and Blockstream Jade is the reference client. FuguPass is a second client. The design follows OpenBSD principles.

Documentation