I have an offline safe at a remote location that I want to give people access to at my discretion. I would like to control who and when they have access, without having to travel to the safe.
- I would like "Peter" to be able to open the safe, which is at a remote location, tomorrow.
- In my office, I sign the text "January 30, 2021" with my private key and give it to Peter.
- Peter travels to the safe and enters the signed text into the safe.
- The safe verifies the signature with a corresponding public key.
- The safe checks the current date and opens itself.
Problem: The signed text is very long. The safe would have a keypad and a small screen, but entering more than 10 or 20 characters would be difficult.
To solve it, I'm thinking about e-banking solutions. They started with cross-off-lists. Such a list could be used where each number on the list could be assigned to a date. Now, I'd like to avoid shared secrets and cross-off lists.
Banks moved to mechanisms like photoTan where they display a QR code to the user; the user scans it with their smartphone, then get a short sequence which they enter back into the banking website.
Such a thing would work. I would like to perform such a "proof" where the safe can send a long challenge to the user, but the user can only respond with a short challenge-response. What are those algorithms?